# HOpConstructPolyline

## Fields

HC_KEY | `m_PolylineKey`

## Functions

| `HOpConstructPolyline`
| `~HOpConstructPolyline`
HBaseOperator * | `Clone`
const char * | `GetName`
int | `OnNoButtonDownAndMove`
int | `OnLButtonDown`
int | `OnLButtonDblClk`

## Detailed Description

class HOpConstructPolyline : public HBaseOperator

  The HOpConstructPolyline class draws a polyline.

  HOpConstructPolyline implements three of the mouse button event handlers defined on the base class and maps the event information to create a polyline. This provides the basic functionality for dynamically creating a temporary, overlayed polyline in the view plane based on pointer input. The polyline points are stored in a protected member array until a double click event is passe. The operation consists of the following steps:

  1. Left Button Down: The operation is initiated and the first point of the polyline is recorded.

  2. No Button Down and Drag: Rubberband line segment to the desired position of the next point.

  3. Left Button Down: The next point in polyline is recorded and continues until the user double clicks the left mouse button.

  4. Left Button Double Click: The polyline is finalized and the geometry is flushed from the scene.

  More Detailed Description: see event methods.

  Subclassed by HOpConstructNurbsCurve, HOpCreatePolyline, HOpSelectPolygon, HOpSelectPolyline

  Public Functions

  HOpConstructPolyline(HBaseView *view, int DoRepeat = 0, int DoCapture = 1)

    Constructs an HOpConstructPolyline 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 ~HOpConstructPolyline()
  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 HOpConstructPolyline object.

  virtual const char *GetName()
    Returns

      A pointer to a character string denoting the name of the operator, which is ‘HOpConstructPolyline’.

  virtual int OnNoButtonDownAndMove(HEventInfo &hevent)

    OnNoButtonDownAndMove draws a rubberbanded line from the previous point in the polyline to the current mouse position.

    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 mouse position and initiates the polyline-drawing mechanism. The function also records each successive point in the polyline in a temp array, and connects the points with a line.

    Parameters

      hevent – An HEventInfo object containing information about the current event.

    Returns

      An HOperatorReturn indicating the status of the event.

  virtual int OnLButtonDblClk(HEventInfo &hevent)

    OnLButtonDblClk places the final mouse position into the temp array. This function also takes care of any cleanup.

    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_PolylineKey

    The key for HOOPS polyline.