Alphabetical Class Index  Class Hierarchy   File Members   Compound Members   File List  

HOpObjectRotate Class Reference

The HOpObjectRotate class rotates a selected object. More...

#include <HOpObjectRotate.h>

Inheritance diagram for HOpObjectRotate:

HBaseOperator

List of all members.

Public Member Functions

virtual HBaseOperatorClone ()
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


Detailed Description

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:

  1. Left Button Down: The operation is initiated and an object is selected.
  2. Left Button Down and Drag: The object is rotated.
  3. Left Button Up: The rotation is finalized and the operation ends.
More Detailed Description: see event methods.

Constructor & Destructor Documentation

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.


Member Function Documentation

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.

Returns:
A pointer to the newly created HOpObjectRotate object.

Reimplemented from HBaseOperator.

virtual const char* HOpObjectRotate::GetName (  )  [virtual]

Returns:
A pointer to a character string denoting the name of the operator which is 'HOpObjectRotate'.

Reimplemented from HBaseOperator.

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.

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.

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.

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.


Member Data Documentation

This stores the initial modelling matrix.

This boolean indicates whether the object was temporarily selected.

The centroid of the segment to be rotated in window space.

The centroid of the segment to be rotated in viewpoint space.

The centroid of the segment to be rotated in world space.

float HOpObjectRotate::m_radius [protected]

The radius of the trackball (world/viewpoint dimension).


The documentation for this class was generated from the following file: