HOpMarkupFreehand
Fields
HC_KEY |
Functions
char const * |
|
int |
|
int |
|
int |
|
void |
|
void |
Detailed Description
-
class HOpMarkupFreehand : public HBaseOperator
The HOpMarkupFreehand inserts a 2D freehand polyline into a markup layer. If a layer is already active, then the operator will use that layer. Otherwise, the operator will create a new unnamed layer.
HOpMarkupFreehand implements three of the mouse event handlers defined on the base class and maps the event information to logic which inserts a polyline into the scene to serve as a ‘MarkupFreehand’.
Left Button Down: operation initiated, markup begins
Left Button Down and Drag: MarkupFreehand is incrementally built and inserted into the construction segment
Left Button Up: depending on existence of an active markup layer it either opens the existing or creates a new markup layer and inserts freehand markup into it
Public Functions
-
HOpMarkupFreehand(HBaseView *view, int DoRepeat = 0, int DoCapture = 1)
Constructs an HOpMarkupFreehand object.
- Parameters
view – A pointer to an HBaseView object
DoRepeat – An integer denoting whether this is a repeatable operator. This parameter has been deprecated.
DoCapture – An integer denoting whether the mouse state should be captured, which means that all mouse events should be received after a mousedown, even if it leaves the window. This parameter has been deprecated.
-
virtual HBaseOperator *Clone()
Creates a new operator which is associated with the same view as the current operator. The user is responsible for deleting the newly created operator.
- Returns
A pointer to an HBaseOperator object
-
virtual char const *GetName()
returns a pointer to a copy of the operator
- Returns
A pointer to a character string denoting the name of the operator, which is ‘HOpMarkupFreehand’.
-
virtual int OnLButtonDownAndMove(HEventInfo &hevent)
OnLButtonDownAndMove computes the line segment to be incrementally added to the existing polyline.
- Parameters
hevent – An HEventInfo object containing information about the current event.
- Returns
An HOperatorReturn indicating the status of the event.
-
virtual int OnLButtonDown(HEventInfo &hevent)
OnLButtonDown records the first pointer position and initializes the redlining mechanism by creating a polyline which will be incrementally built.
- Parameters
hevent – An HEventInfo object containing information about the current event.
- Returns
An HOperatorReturn indicating the status of the event.
-
virtual int OnLButtonUp(HEventInfo &hevent)
OnLButtonUp cleans up the construction segments used during the redling and inserts the polyline representing the ‘MarkupFreehand’ into the scene.
- Parameters
hevent – An HEventInfo object containing information about the current event.
- Returns
An HOperatorReturn indicating the status of the event.
Public Members
-
HC_KEY m_lPolyline
key for HOOPS polyline
Public Static Functions
-
static void CreateMarkupFreehand(HBaseView *pView, char const *segment, unsigned int PolyLineLength, HPoint *pPolyline, bool emit_message)
CreateMarkupFreehand inserts the polyline representing the freehand drawing into the active markup layer. If there is no active markup layer, then it creates a new unnamed layer.
- Parameters
pView – A pointer to the HBaseView object where the markup data should be inserted.
segment – The name of segment within markup layer that the freehand data should be inserted into.
PolyLineLength – Integer value indicating number of points in the freehand polyline.
pPolyline – An array of triplets, each one defining the x, y and z coordinate of a point of the freehand markup respectively.
emit_message – Determines if polyline creation is broadcasted to other HNet clients