The HOpObjectRotate class rotates a selected object.
More...
#include <HOpObjectRotate.h>
The HOpObjectRotate class rotates a selected object.
HOpObjectRotate implements three of the mouse event handlers defined on the base class and utilizes the event information to rotate the currently selected objects. This provides the basic functionality for applying a rotation transform to an object (as opposed to a global camera transform which affects the entire scene). The operation consists of the following steps:
-
Left Button Down: The operation is initiated and an object is selected.
-
Left Button Down and Drag: The object is rotated.
-
Left Button Up: The rotation is finalized and the operation ends.
More Detailed Description: see event methods.
◆ HOpObjectRotate()
HOpObjectRotate::HOpObjectRotate |
( |
HBaseView * |
view, |
|
|
int |
DoRepeat = 0 , |
|
|
int |
DoCapture = 1 |
|
) |
| |
Constructs an HOpObjectRotate 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. |
◆ Clone()
Creates a new operator which is a copy of the current operator. The user is responsible for deleting the newly created operator.
- Returns
- A pointer to the newly created HOpObjectRotate object.
Reimplemented from HBaseOperator.
◆ GetName()
virtual const char* HOpObjectRotate::GetName |
( |
| ) |
|
|
virtual |
◆ OnLButtonDblClk()
virtual int HOpObjectRotate::OnLButtonDblClk |
( |
HEventInfo & |
hevent | ) |
|
|
virtual |
OnLButtonDblClk moves the object back to its original location
- Parameters
-
hevent | An HEventInfo object containing information about the current event. |
- Returns
- An HOperatorReturn indicating the status of the event.
Reimplemented from HBaseOperator.
◆ OnLButtonDown()
virtual int HOpObjectRotate::OnLButtonDown |
( |
HEventInfo & |
hevent | ) |
|
|
virtual |
OnLButtonDown draws a bounding box around the object to be rotated. It records the mouse position and sets up the transform environment.
- Parameters
-
hevent | An HEventInfo object containing information about the current event. |
- Returns
- An HOperatorReturn indicating the status of the event.
Reimplemented from HBaseOperator.
◆ OnLButtonDownAndMove()
virtual int HOpObjectRotate::OnLButtonDownAndMove |
( |
HEventInfo & |
hevent | ) |
|
|
virtual |
OnLButtonDownAndMove computes the rotation transform based on the distance between the first and current pointer positions, and rotates the object accordingly.
- Parameters
-
hevent | An HEventInfo object containing information about the current event. |
- Returns
- An HOperatorReturn indicating the status of the event.
Reimplemented from HBaseOperator.
◆ OnLButtonUp()
virtual int HOpObjectRotate::OnLButtonUp |
( |
HEventInfo & |
hevent | ) |
|
|
virtual |
OnLButtonUp cleans up the construction segments used during the transformations.
- Parameters
-
hevent | An HEventInfo object containing information about the current event. |
- Returns
- An HOperatorReturn indicating the status of the event.
Reimplemented from HBaseOperator.
◆ m_bInitialMatrix
bool HOpObjectRotate::m_bInitialMatrix |
|
protected |
This stores the initial modelling matrix.
◆ m_bTemporarySelection
bool HOpObjectRotate::m_bTemporarySelection |
|
protected |
This boolean indicates whether the object was temporarily selected.
◆ m_ptCentroid
HPoint HOpObjectRotate::m_ptCentroid |
|
protected |
The centroid of the segment to be rotated in window space.
◆ m_ptCentroidViewpoint
HPoint HOpObjectRotate::m_ptCentroidViewpoint |
|
protected |
The centroid of the segment to be rotated in viewpoint space.
◆ m_ptCentroidWorld
HPoint HOpObjectRotate::m_ptCentroidWorld |
|
protected |
The centroid of the segment to be rotated in world space.
◆ m_radius
float HOpObjectRotate::m_radius |
|
protected |
The radius of the trackball (world/viewpoint dimension).
The documentation for this class was generated from the following file: