Alphabetical Class Index  Class Hierarchy   File Members   Compound Members   File List  

HDraggerObject Class Reference

The HDraggerObject class encapsulates interactive dragger objects. More...

#include <HObjects.h>

Inheritance diagram for HDraggerObject:

HObject

List of all members.

Public Member Functions

const char * GetName ()
 HDraggerObject (HBaseView *view=0)
HC_KEY Insert (HBaseView *view, HPoint &pos, float *rot, HBhvAnimation *ani, HBhvAnimation *rotani, int kfr, bool allowpos)
int ObjectMovedEvent (HBaseView *view, HC_KEY key, HPoint *pos)
void SetupDraggerSegment (HBaseView *view, HPoint &pos, float *rotmat, HC_KEY &outerkey, HC_KEY &geometrykey)
int SetupHandlesEvent (HBaseView *view, HC_KEY key, bool complex)

Static Public Member Functions

static const char * GetStaticName ()

Protected Attributes

HBaseViewm_pView


Detailed Description

The HDraggerObject class encapsulates interactive dragger objects.

These interactive objects allow 3d movement in various dimensions and can be associated to other geometry. In the PartViewer, they are used to allow the interactive manipulation of animation paths.


Constructor & Destructor Documentation

HDraggerObject::HDraggerObject ( HBaseView view = 0  ) 

Constructs an HDraggerObject object.

Parameters:
view A pointer to the HBaseView object.


Member Function Documentation

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

Returns:
The name of the object which is 'Dragger'.

Implements HObject.

static const char* HDraggerObject::GetStaticName (  )  [static]

Returns:
The name of the object which is 'Dragger'.

HC_KEY HDraggerObject::Insert ( HBaseView view,
HPoint pos,
float *  rot,
HBhvAnimation ani,
HBhvAnimation rotani,
int  kfr,
bool  allowpos 
)

This method inserts an HDraggerObject into an object segment. It also associates it with a given keyframe. When the object is moved using the dragger object, the position and orientation are recorded for the given keyframe.

Parameters:
view A pointer to the HBaseView object.
pos The initial position of the dragger object.
rot The initial rotation of dragger object.
ani A pointer to the associated animation object.
rotani A pointer to the associated rotation animation.
kfr The associated keyframe.
allowpos Pass true to allow repositioning.

int HDraggerObject::ObjectMovedEvent ( HBaseView view,
HC_KEY  key,
HPoint pos 
)

This handles the object moved event. It calculates the position and rotation of the object and captures this information for the animation in the associated keyframe and plots the animation.

Parameters:
view Pointer to View Object
key Key of Current Object
pos New Object Position
Returns:
An HOperatorReturn indicating the status of the event.

void HDraggerObject::SetupDraggerSegment ( HBaseView view,
HPoint pos,
float *  rotmat,
HC_KEY &  outerkey,
HC_KEY &  geometrykey 
)

This method is a helper function for Insert. It creates a dragger object with the given attributes and adds it to the HObjectManager. It also inserts the dragger object into the given HOOPS key.

Parameters:
view A pointer to the HBaseView object.
pos The 3d world position to insert dragger into.
rotmat The initial rotation of dragger object.
outerkey The object key to insert light into.
geometrykey The key to insert geometry into.

int HDraggerObject::SetupHandlesEvent ( HBaseView view,
HC_KEY  key,
bool  complex 
)

This method creates geometry handles on the dragger object.

Parameters:
view A pointer to the HBaseView object.
key The key of the current object.
complex Pass true to create complex handles or false to create simple handles.
Returns:
An HOperatorReturn indicating the status of the event.


Member Data Documentation

A pointer to the HBaseView object.


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