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>

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:
viewA 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:
viewA pointer to the HBaseView object.
posThe initial position of the dragger object.
rotThe initial rotation of dragger object.
aniA pointer to the associated animation object.
rotaniA pointer to the associated rotation animation.
kfrThe associated keyframe.
allowposPass 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:
viewPointer to View Object
keyKey of Current Object
posNew 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:
viewA pointer to the HBaseView object.
posThe 3d world position to insert dragger into.
rotmatThe initial rotation of dragger object.
outerkeyThe object key to insert light into.
geometrykeyThe 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:
viewA pointer to the HBaseView object.
keyThe key of the current object.
complexPass 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: