The HOpMoveHandle class selects/moves "handles" and their associated geometry. More...
#include <HOpMoveHandle.h>
Public Member Functions | |
virtual HBaseOperator * | Clone () |
HC_KEY | FindHandle (HEventInfo &hevent) |
This method finds a handle based on the mouse position. | |
HC_KEY | FindObject (HEventInfo &hevent, HC_KEY key, bool exclude=false) |
virtual const char * | GetName () |
HOpMoveHandle (HBaseView *view, bool allowSelect=true, int DoRepeat=0, int DoCapture=1) | |
virtual int | OnLButtonDown (HEventInfo &hevent) |
virtual int | OnLButtonDownAndMove (HEventInfo &hevent) |
virtual int | OnLButtonUp (HEventInfo &hevent) |
virtual int | OnNoButtonDownAndMove (HEventInfo &hevent) |
void | Reset () |
Reset the operator so that no object or handle is currently selected for manipulation. | |
void | SetupObject (HC_KEY key) |
Protected Attributes | |
bool | m_bAllowSelect |
If the value is true, this class allows selection of different handle objects. This is disabled for cutting planes. | |
HC_KEY | m_pHandleKey |
The key of the active handle. | |
HC_KEY | m_pObjectKey |
The key of the handle object. |
The HOpMoveHandle class selects/moves "handles" and their associated geometry.
HOpMoveHandle implements three mouse event methods defined on the base class and maps the event information to operator routines. This operation consists of the following steps:
More Detailed Description: see event methods.
HOpMoveHandle::HOpMoveHandle | ( | HBaseView * | view, |
bool | allowSelect = true , |
||
int | DoRepeat = 0 , |
||
int | DoCapture = 1 |
||
) |
Constructs an HOpMoveHandle object.
view | A pointer to an HBaseView object. |
allowSelect | Pass true to allow selection of different handle objects. |
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* HOpMoveHandle::Clone | ( | ) | [virtual] |
Creates a new operator which is a copy of the current operator. The user is responsible for deleting the newly created operator.
Reimplemented from HBaseOperator.
HC_KEY HOpMoveHandle::FindObject | ( | HEventInfo & | hevent, |
HC_KEY | key, | ||
bool | exclude = false |
||
) |
This method finds geometry based on mouse position.
hevent | An HEventInfo object containing information about the current event. |
key | Key of currently selected object. |
exclude | Pass true to exclude currently selected object from search. |
virtual const char* HOpMoveHandle::GetName | ( | ) | [virtual] |
Reimplemented from HBaseOperator.
virtual int HOpMoveHandle::OnLButtonDown | ( | HEventInfo & | hevent | ) | [virtual] |
OnLButtonDown selects an existing handle if the mouse is over a handle or designates a new object for handle based movement.
hevent | An HEventInfo object containing information about the current event. |
Reimplemented from HBaseOperator.
virtual int HOpMoveHandle::OnLButtonDownAndMove | ( | HEventInfo & | hevent | ) | [virtual] |
OnLButtonDownAndMove moves/rotates/scales the handle and it's associated geometry based on various constraints (ray, plane, etc).
hevent | An HEventInfo object containing information about the current event. |
Reimplemented from HBaseOperator.
virtual int HOpMoveHandle::OnLButtonUp | ( | HEventInfo & | hevent | ) | [virtual] |
OnLButtonUp finalizes mouse movement and deselectes the active handle.
hevent | An HEventInfo object containing information about the current event. |
Reimplemented from HBaseOperator.
virtual int HOpMoveHandle::OnNoButtonDownAndMove | ( | HEventInfo & | hevent | ) | [virtual] |
OnNoButtonDownAndMove activates handle in mouse cursor range.
hevent | An HEventInfo object containing information about the current event. |
Reimplemented from HBaseOperator.
void HOpMoveHandle::SetupObject | ( | HC_KEY | key | ) |
Creates handles for the choosen geometry.
key | The key of the geometry to attach handles to. |