HOpMarkupFreehand
Fields
HC_KEY | m_lPolyline |
Functions
HOpMarkupFreehand |
|
HBaseOperator * | Clone |
char const * | GetName |
int | OnLButtonDownAndMove |
int | OnLButtonDown |
int | OnLButtonUp |
void | CreateMarkupFreehand |
void | CreateMarkupFreehand |
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