# HOpConstructPolyline

## Fields

HC_KEY | `m_PolylineKey`

## Functions

| `HOpConstructPolyline`
| `~HOpConstructPolyline`
HBaseOperator * | `Clone`
char const * | `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 char const *`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.

Conversation saved
HOOPSY BETA

### Hello! I'm HOOPSY

Your multilingual generative AI assistant for documentation. Ask me anything about HOOPS Visualize 3DF in your own language, or choose a sample question below to start a conversation:

What is HOOPS Visualize 3DF?
What are the latest release notes for HOOPS Visualize 3DF?
How do I start evaluating HOOPS Visualize 3DF?
How do I write my first sample application?
How can I get assistance?

HOOPSY may store conversations according to OpenAI's policy. Responses may not always be accurate.

HOOPSY is thinking...