#include <HOpSelectAperture.h>
Public Member Functions | |
virtual HBaseOperator * | Clone () |
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) |
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:
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.
HOpSelectAperture::HOpSelectAperture | ( | HBaseView * | view, | |
int | DoRepeat = 0 , |
|||
int | DoCapture = 1 | |||
) |
Constructs an HOpSelectAperture object.
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 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.
Reimplemented from HBaseOperator.
virtual const char* HOpSelectAperture::GetName | ( | ) | [virtual] |
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.
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.
hevent | An HEventInfo object containing information about the current event. |
Reimplemented from HBaseOperator.