The HOpObjectTranslate class translates a selected object. More...
#include <HOpObjectTranslate.h>
Public Member Functions | |
virtual HBaseOperator * | Clone () |
virtual const char * | GetName () |
HOpObjectTranslate (HBaseView *view, int DoRepeat=0, int DoCapture=1) | |
virtual int | OnLButtonDblClk (HEventInfo &hevent) |
virtual int | OnLButtonDown (HEventInfo &hevent) |
virtual int | OnLButtonDownAndMove (HEventInfo &hevent) |
virtual int | OnLButtonUp (HEventInfo &hevent) |
virtual void | UpdateKeyList (void *data) |
![]() | |
int | Capture () |
Returns whether we are currently in mouse capture mode. See this class' constructor for a more detailed description of what this means. This method has been deprecated. | |
HPoint const | GetFirstPoint () |
Returns the initial selection point. | |
HPoint const | GetNewPoint () |
Returns the current selection point. | |
HBaseView * | GetView () |
Returns a pointer to the view that this operator is associated with. | |
HBaseOperator (HBaseView *view, int DoRepeat=0, int DoCapture=1) | |
virtual int | OnKeyDown (HEventInfo &hevent) |
virtual int | OnKeyUp (HEventInfo &hevent) |
virtual int | OnLRButtonDownAndMove (HEventInfo &hevent) |
virtual int | OnMButtonDblClk (HEventInfo &hevent) |
virtual int | OnMButtonDown (HEventInfo &hevent) |
virtual int | OnMButtonDownAndMove (HEventInfo &hevent) |
virtual int | OnMButtonUp (HEventInfo &hevent) |
virtual int | OnMouseMove (HEventInfo &hevent) |
virtual int | OnMouseWheel (HEventInfo &hevent) |
virtual int | OnNoButtonDownAndMove (HEventInfo &hevent) |
virtual int | OnRButtonDblClk (HEventInfo &hevent) |
virtual int | OnRButtonDown (HEventInfo &hevent) |
virtual int | OnRButtonDownAndMove (HEventInfo &hevent) |
virtual int | OnRButtonUp (HEventInfo &hevent) |
virtual int | OnTimer (HEventInfo &hevent) |
virtual int | OnTouchesDown (HEventInfo &hevent) |
virtual int | OnTouchesMove (HEventInfo &hevent) |
virtual int | OnTouchesUp (HEventInfo &hevent) |
virtual bool | OperatorStarted () |
Operator has been started if true, and has not been started if false. | |
int | Repeat () |
Returns whether the operation is repeatable. This method has been deprecated. | |
void | SetFirstPoint (HPoint const &new_point) |
Sets the initial selection point. | |
void | SetMapTouchesToMouseEvents (bool val) |
Touch Events are mapped to mouse events if true, and are not if false. | |
void | SetNewPoint (HPoint const &new_point) |
Sets the current selection point. | |
void | SetOperatorStarted (bool val) |
Operator has been started if true, and has not been started if false. | |
void | SetView (HBaseView *new_view) |
Sets the view that this operator is associated with. | |
Public Attributes | |
HPoint | m_ptRecent |
HPoint | m_ptRecentVP |
Protected Member Functions | |
void | Cleanup () |
int | GetMatrix (HEventInfo &hevent, int key_count, HC_KEY const *full_path_keys, float matrix_out[]) |
void | Init () |
int | UpdateMousePos (HEventInfo &hevent) |
![]() | |
bool | IsSpecialKey (HC_KEY key) |
Protected Attributes | |
bool | m_bInitialMatrix |
bool | m_bTemporarySelection |
HKeyList * | m_KeyList |
HPoint | m_ptLast |
![]() | |
bool | m_bMapTouchesToMouseEvents |
Indicates if touch events are mapped to mouse events. | |
bool | m_bOpStarted |
Indicates whether the operator has already 'started'. More... | |
int | m_doCapture |
Integer indicating whether to capture mouse on button down and release on button up. This parameter has been deprecated. | |
int | m_doRepeat |
Integer indicating if the operator is repeatable . This parameter has been deprecated. | |
HPoint | m_ptFirst |
Initial selection point. | |
HPoint | m_ptNew |
Current selection point. | |
HBaseView * | m_pView |
The HOOPS view corresponding to this operator. | |
HCutGeometryVisibility | m_TempCutGeometryVisibility |
stores original cut geometry visibility | |
HShadowMode | m_TempShadowMode |
stores original shadow mode | |
The HOpObjectTranslate class translates a selected object.
HOpObjectTranslates implements three of the mouse event handlers defined on the base class and maps the event information to HOOPS routines which translates the currently selected objects. This provides the basic functionality for applying a translation transform to an object (as opposed to a global panning of the camera which affects the entire scene). The operation consists of the following steps:
More Detailed Description: see event methods.
HOpObjectTranslate::HOpObjectTranslate | ( | HBaseView * | view, |
int | DoRepeat = 0 , |
||
int | DoCapture = 1 |
||
) |
Constructs an HOpObjectTranslate 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. |
|
protected |
This method cleans up the selected entities and turns off spriting if appropriate.
|
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.
Reimplemented in HOpObjectClash, and HOpCreateCuttingPlane.
|
protected |
For internal use only. This method does the computation work to compose a translation matrix that makes objects follow the mouse pointer. It copies the matrix contents into matrix_out so that they may be applied to arbitrary targets. It takes key as an argument because the required transformation can depend on segments' pre-existing modelling matrices. Currently, it assumes that the input key is a segment.
hevent | An HEventInfo object containing information about the current event. |
key_count | The number of keys in the full segment path. |
full_path_keys | The keys of each segment in the full segment path. |
matrix_out | A pointer to an array of 16 floats. Called by reference, returned to user. |
|
virtual |
Reimplemented from HBaseOperator.
Reimplemented in HOpObjectClash, and HOpCreateCuttingPlane.
|
protected |
This method initializes the selected entities and turns on spriting.
|
virtual |
OnLButtonDblClk translates the object back to its original location.
hevent | An HEventInfo object containing information about the current event. |
Reimplemented from HBaseOperator.
|
virtual |
OnLButtonDown records the first pointer position and initializes the translation mechanism.
hevent | An HEventInfo object containing information about the current event. |
Reimplemented from HBaseOperator.
Reimplemented in HOpObjectClash, and HOpCreateCuttingPlane.
|
virtual |
OnLButtonDownAndMove computes the translation transform based on the distance between the first and current pointer positions, and translates the object accordingly.
hevent | An HEventInfo object containing information about the current event. |
Reimplemented from HBaseOperator.
Reimplemented in HOpObjectClash.
|
virtual |
OnLButtonUp cleans up the construction segments used during the transformation and ends the operation.
hevent | An HEventInfo object containing information about the current event. |
Reimplemented from HBaseOperator.
Reimplemented in HOpObjectClash, and HOpCreateCuttingPlane.
|
virtual |
This method is used to update the list of keys to translate when the selection list changes.
Reimplemented in HOpObjectClash.
|
protected |
For internal use only. This method updates the internal state needed for matrix calculations.
hevent | An HEventInfo object containing information about the current event. |
|
protected |
The initial modelling matrix.
|
protected |
This boolean indicates whether object was temporarily selected.
|
protected |
A List of keys to translate (copied from selection set).
HPoint HOpObjectTranslate::m_ptRecent |
A pointer to the current position in world coordinates.
HPoint HOpObjectTranslate::m_ptRecentVP |
A pointer to the current position in viewpoint (screen) coordinates.