# HOpSelectAperture

## Functions

| `HOpSelectAperture`
| `~HOpSelectAperture`
const char * | `GetName`
int | `OnLButtonDown`
HBaseOperator * | `Clone`

## Detailed Description

class HOpSelectAperture : public HBaseOperator

  The HOpSelectAperture class performs hit testing on a circular aperture and computes a selection list for positive hits.

  HOpSelectAperture implements one of the mouse event handlers defined on the base class and maps the mouse event to the HOOPS routine HC_Compute_Selection. This provides the basic functionality for interactively selecting HOOPS objects with a single click. The aperture under which hit testing will be carried out is definable by the user via the HOOPS/3dGS Driver Option selection proximity. This is set by calling HC_Set_Driver_Options(“selection proximity = <value>”) HOOPS/MVO sets the default selection proximity to 0.1 . The operation consists of the following steps:

  1. Left Button Down: object selected, highlighted, placed in selection list

  This class contains code that allows the following to be true: when HOpSelectAperture is the current operator, repeated calls to the internal function OnNoButtonDownAndMove are made. Therefore, when the mouse is moved without any buttons depressed, a selection list is still being calculated for every point. If this logic is desired, the user must remove the conditional “#if 0” statement.

  Public Functions

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

    Constructs an HOpSelectAperture 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 ~HOpSelectAperture()
  virtual const char *GetName()
    Returns

      A pointer to a character string denoting the name of the operator, ‘HOpSelectAperture’.

  virtual int OnLButtonDown(HEventInfo &hevent)

    OnLButtonDown records the first pointer position, finds the item(s) occurring at that point, and highlights the item(s). It also deselects items that are currently highlighted, unless the control key is pressed.

    Parameters

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

    Returns

      An HOperatorReturn indicating the status of the event.

  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