Alphabetical Class Index  Class Hierarchy   File Members   Compound Members   File List  

HOpSelectAperture Class Reference

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

#include <HOpSelectAperture.h>

Inheritance diagram for HOpSelectAperture:

HBaseOperator

List of all members.

Public Member Functions

virtual HBaseOperatorClone ()
virtual const char * GetName ()
 HOpSelectAperture (HBaseView *view, int DoRepeat=0, int DoCapture=1)
virtual int OnLButtonDown (HEventInfo &hevent)

Protected Member Functions

virtual void HandleSelection (HEventInfo &hevent)


Detailed Description

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.


Constructor & Destructor Documentation

HOpSelectAperture::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.


Member Function Documentation

virtual HBaseOperator* HOpSelectAperture::Clone (  )  [virtual]

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

Reimplemented from HBaseOperator.

virtual const char* HOpSelectAperture::GetName (  )  [virtual]

Returns:
A pointer to a character string denoting the name of the operator 'Select by Point'.

Reimplemented from HBaseOperator.

virtual void HOpSelectAperture::HandleSelection ( HEventInfo hevent  )  [protected, virtual]

returns a pointer to a copy of the operator

For the given hevent, this method determines if an object is selected. If it is selected, it adds to the HSelectionSet associated with the given HBaseView.

Parameters:
hevent An HEventInfo object containing information about the current event.

virtual int HOpSelectAperture::OnLButtonDown ( HEventInfo hevent  )  [virtual]

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.

Reimplemented from HBaseOperator.


The documentation for this class was generated from the following file: