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

#include <HObjects.h>

Public Member Functions

const char * GetName ()
 
 HDraggerObject (HBaseView *view=0)
 
HC_KEY Insert (HBaseView *view, HPoint &pos, float rotmat[], 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)
 
- Public Member Functions inherited from HObject
 HObject ()
 

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::HDraggerObject ( HBaseView view = 0)

Constructs an HDraggerObject object.

Parameters
viewA pointer to the HBaseView object.

Member Function Documentation

◆ GetName()

const char* HDraggerObject::GetName ( )
virtual
Returns
The name of the object which is 'Dragger'.

Implements HObject.

◆ GetStaticName()

static const char* HDraggerObject::GetStaticName ( )
static
Returns
The name of the object which is 'Dragger'.

◆ Insert()

HC_KEY HDraggerObject::Insert ( HBaseView view,
HPoint pos,
float  rotmat[],
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.

◆ ObjectMovedEvent()

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.

◆ SetupDraggerSegment()

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.

◆ SetupHandlesEvent()

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

◆ m_pView

HBaseView* HDraggerObject::m_pView
protected

A pointer to the HBaseView object.


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