HOpConstructRectangle

Detailed Description

class HOpConstructRectangle : public HBaseOperator

The HOpConstructRectangle class draws a rectangle.

HOpConstructRectangle implements three of the mouse button event handlers and uses the event information to draw a rectangle. This provides the basic functionality for drawing a temporary, overlayed 2-D box outline in the view plane based on first and last pointer positions. The operation consists of the following steps:

  1. Left Button Down: Registers the first point of the rectangle.
  2. Left Button Down and Drag: Rubberbands the rectangle to the desired dimensions.
  3. Left Button Up: The rectangle finalized and the polyline primitive used to represent the rectangle is flushed from the scene.
More Detailed Description: see event methods.

Subclassed by HOpCameraZoomBox, HOpCreateRectangle, HOpMarkupRectangle, HOpSelectArea

Public Functions

HOpConstructRectangle(HBaseView *view, int DoRepeat = 0, int DoCapture = 1, bool UseCenterMarker = true)

Constructs an HOpConstructRectangle 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.
  • UseCenterMarker – Pass true if you want HOOPS to render a mark at the center of the rectangle.
virtual ~HOpConstructRectangle()
virtual char const *GetName()
Returns:A pointer to a character string denoting the name of the operator, which is ‘HOpConstructRectangle’.
virtual HBaseOperator *Clone()

Creates a new operator which is a copy of the current operator. The user is responsible for deleting the newly created operator.

Returns:A pointer to the newly created HOpConstructRectangle object.
virtual int OnLButtonDown(HEventInfo &hevent)

OnLButtonDown records the first mouse position and initiates the rectangle-drawing mechanism.

Parameters:hevent – An HEventInfo object containing information about the current event.
Returns:An HOperatorReturn indicating the status of the event.
virtual int OnLButtonDownAndMove(HEventInfo &hevent)

OnLButtonDownAndMove draws a rubberbanded line from the first point in the rectangle to the current mouse position. Note that the basic drawing work is done by HUtility::InsertRectangle, while OnLButtonDownAndMove keeps track of the current points and draws the rubberband centroid.

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 finalizes the size of the rectangle and cleans up.

Parameters:hevent – An HEventInfo object containing information about the current event.
Returns:An HOperatorReturn indicating the status of the event.
virtual int OnRButtonUp(HEventInfo &hevent)

OnRButtonUp passes a right-button up event to OnLButtonUp.

Parameters:hevent – An HEventInfo object containing information about the current event.
Returns:An HOperatorReturn indicating the status of the event.