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) |
![]() | |
HObject () | |
Static Public Member Functions | |
static const char * | GetStaticName () |
Protected Attributes | |
HBaseView * | m_pView |
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.
HDraggerObject::HDraggerObject | ( | HBaseView * | view = 0 | ) |
Constructs an HDraggerObject object.
view | A pointer to the HBaseView object. |
|
virtual |
Implements HObject.
|
static |
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.
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. |
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.
view | Pointer to View Object |
key | Key of Current Object |
pos | New Object Position |
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.
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. |
This method creates geometry handles on the dragger object.
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. |