#include <HOpObjectRotate.h>
Public Member Functions | |
virtual HBaseOperator * | Clone () |
virtual const char * | GetName () |
HOpObjectRotate (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) |
Protected Attributes | |
bool | m_bInitialMatrix |
bool | m_bTemporarySelection |
HPoint | m_ptCentroid |
HPoint | m_ptCentroidViewpoint |
HPoint | m_ptCentroidWorld |
float | m_radius |
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:
HOpObjectRotate::HOpObjectRotate | ( | HBaseView * | view, | |
int | DoRepeat = 0 , |
|||
int | DoCapture = 1 | |||
) |
Constructs an HOpObjectRotate 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* HOpObjectRotate::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.
virtual const char* HOpObjectRotate::GetName | ( | ) | [virtual] |
Reimplemented from HBaseOperator.
virtual int HOpObjectRotate::OnLButtonDblClk | ( | HEventInfo & | hevent | ) | [virtual] |
OnLButtonDblClk moves the object back to its original location
hevent | An HEventInfo object containing information about the current event. |
Reimplemented from HBaseOperator.
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.
hevent | An HEventInfo object containing information about the current event. |
Reimplemented from HBaseOperator.
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.
hevent | An HEventInfo object containing information about the current event. |
Reimplemented from HBaseOperator.
virtual int HOpObjectRotate::OnLButtonUp | ( | HEventInfo & | hevent | ) | [virtual] |
OnLButtonUp cleans up the construction segments used during the transformations.
hevent | An HEventInfo object containing information about the current event. |
Reimplemented from HBaseOperator.
bool HOpObjectRotate::m_bInitialMatrix [protected] |
This stores the initial modelling matrix.
bool HOpObjectRotate::m_bTemporarySelection [protected] |
This boolean indicates whether the object was temporarily selected.
HPoint HOpObjectRotate::m_ptCentroid [protected] |
The centroid of the segment to be rotated in window space.
HPoint HOpObjectRotate::m_ptCentroidViewpoint [protected] |
The centroid of the segment to be rotated in viewpoint space.
HPoint HOpObjectRotate::m_ptCentroidWorld [protected] |
The centroid of the segment to be rotated in world space.
float HOpObjectRotate::m_radius [protected] |
The radius of the trackball (world/viewpoint dimension).