Public Member Functions | |
| HRESULT | CreatePhysEngine ([in] IRnEncapsulator *pRoot,[out, retval] IRsNode **ppEngine) |
| HRESULT | GetPhysEngine ([in] IRnEncapsulator *pRoot,[out, retval] IRsNode **ppEngine) |
| HRESULT | GetOctreeObj ([in] IRsNode *pSpace,[out, retval] IRsNode **ppTree) |
| HRESULT | GetPhysObj ([in] IRsNode *pNode,[out, retval] IRsNode **ppPhysObj) |
| HRESULT | GetPhysEnvObj ([in] IRsNode *pNode,[out, retval] IRsNode **ppEnvObj) |
| HRESULT | DisableInSceneOctree ([in] IRsNode *pNode,[in] RtBool bDisable) |
| HRESULT | GetObjectVolume ([in] IRsNode *pNode,[out, retval] RtFloat *volume) |
| HRESULT | GetObjectInvariant ([in] IRsNode *pNode,[in] int bLocal,[out] IRdMatrixf **ppInertia,[out] float *pVolume,[out] RtPoint *pCog) |
| HRESULT | GetBBox ([in] IRsNode *pNode,[out] RtFloat *box) |
| HRESULT | GetCollisionResponse ([in] IRsNode *pNode,[in] IRdCollInfo *pColl,[out] RtPoint *pSpeed,[out] RtPoint *pRotation) |
| HRESULT | UpdateObjPosition ([in] IRsNode *pNode,[in] RtPoint *pSpeed,[in] RtPoint *pRotation, RtFloat time) |
| HRESULT | MovePhysObject ([in]IRsNode *pNode,[in] float deltatime) |
| HRESULT | SetFixPoint ([in] IRsNode *pNode,[in] RtPoint p) |
| HRESULT | SetFixPoints ([in] IRsNode *pNode,[in] RtPoint p1,[in] RtPoint p2) |
| HRESULT | RemoveFixation ([in] IRsNode *pNode) |
| HRESULT | GetFixPoints ([in]IRsNode *pNode,[out] RtUlong *pNumfix,[out] RtPoint *pP1,[out] RtPoint *pP2) |
| HRESULT IRfPhysHelper::CreatePhysEngine | ( | [in] IRnEncapsulator * | pRoot, | |
| [out, retval] IRsNode ** | ppEngine | |||
| ) |
Creates phys engine object for given space.
| pRoot | [in] Pointer to space object that is inspected for presence of engine object:
|
standard HRESULT processing can be applied to returned value
| HRESULT IRfPhysHelper::GetPhysEngine | ( | [in] IRnEncapsulator * | pRoot, | |
| [out, retval] IRsNode ** | ppEngine | |||
| ) |
Returns phys engine object for given space.
| pRoot | [in] Pointer to space object that is inspected for presence of engine object:
|
standard HRESULT processing can be applied to returned value.
Returns octree object (IRnVolumeTree) for given space:
| pSpace | [in] Pointer to space object that is inspected for presence of octree. |
standard HRESULT processing can be applied to returned value
Returns phys object (IRnPhysActiveObj) for given object:
| pNode | [in] Pointer to object that is inspected for presence of phys object. |
standard HRESULT processing can be applied to returned value.
Returns phys environment object (IRnLocalEnv) for given object:
| pNode | [in] Pointer to object that is inspected for presence of environment object. |
standard HRESULT processing can be applied to returned value.
| HRESULT IRfPhysHelper::DisableInSceneOctree | ( | [in] IRsNode * | pNode, | |
| [in] RtBool | bDisable | |||
| ) |
Disable/enable object to be considered in octree data.
| pNode | [in] Pointer to object. | |
| bDisable | [in] TRUE disable, FALSE enable. |
| HRESULT IRfPhysHelper::GetObjectVolume | ( | [in] IRsNode * | pNode, | |
| [out, retval] RtFloat * | volume | |||
| ) |
Returns volume of object.
| pNode | [in] Pointer to object. |
standard HRESULT processing can be applied to returned value.
| HRESULT IRfPhysHelper::GetObjectInvariant | ( | [in] IRsNode * | pNode, | |
| [in] int | bLocal, | |||
| [out] IRdMatrixf ** | ppInertia, | |||
| [out] float * | pVolume, | |||
| [out] RtPoint * | pCog | |||
| ) |
Returns invariant phys properties of object such as mass, volume and intertia.
| pNode | [in] Pointer to object. | |
| bLocal | [in] If TRUE, inertia and cog are in local object's coordinate system,if FALSE, they are in world coordinate system. | |
| ppInertia | [out] Pointer to inertia data, if ppInertia is NULL, no value is returned. | |
| pVolume | [out] Pointer to volume data, if pVolume is NULL,no value is returned. | |
| pCog | [out] Centre of gravity, if pCog is NULL, no value is returned. |
| HRESULT IRfPhysHelper::GetBBox | ( | [in] IRsNode * | pNode, | |
| [out] RtFloat * | box | |||
| ) |
Returns bounding box of object.
| pNode | [in] Pointer to object. | |
| box | [out] Float array with bounding box values:
|
| HRESULT IRfPhysHelper::GetCollisionResponse | ( | [in] IRsNode * | pNode, | |
| [in] IRdCollInfo * | pColl, | |||
| [out] RtPoint * | pSpeed, | |||
| [out] RtPoint * | pRotation | |||
| ) |
Returns response for phys object at collisions.
| pNode | [in] Pointer to object. | |
| pColl | [in] Collision data for objects. | |
| pSpeed | [out] Speed of object at the time of collision:
| |
| pRotation | [out] Rotation of object at the time of collision:
|
| HRESULT IRfPhysHelper::UpdateObjPosition | ( | [in] IRsNode * | pNode, | |
| [in] RtPoint * | pSpeed, | |||
| [in] RtPoint * | pRotation, | |||
| RtFloat | time | |||
| ) |
Update position of object according its speed and rotation.
| pNode | [in] Pointer to object. | |
| pSpeed | [in] Speed of object. | |
| pRotation | [in] Rotation of object. | |
| time | [in] Integration time step. |
| HRESULT IRfPhysHelper::MovePhysObject | ( | [in] IRsNode * | pNode, | |
| [in] float | deltatime | |||
| ) |
Update position of specified object with phys attr according to it's phys attributes.
| pNode | [in] Pointer to object. | |
| deltatime | [in] Integration time step. |
Sets object's fixation to one point.
| pNode | [in] Pointer to object. | |
| p | [in] Fixation point |
Sets object's fixation to two points.
| pNode | [in] Pointer to object. | |
| p1 | [in] First fixation point | |
| p2 | [in] Second fixation point |
| HRESULT IRfPhysHelper::RemoveFixation | ( | [in] IRsNode * | pNode | ) |
Removes object's fixation.
| pNode | [in] Pointer to object. |
| HRESULT IRfPhysHelper::GetFixPoints | ( | [in] IRsNode * | pNode, | |
| [out] RtUlong * | pNumfix, | |||
| [out] RtPoint * | pP1, | |||
| [out] RtPoint * | pP2 | |||
| ) |
Gets object's fixation points
| pNode | [in] Pointer to object. | |
| pNumfix | [out] Number of fixation points:
| |
| pP1 | [out] First fixation point:
| |
| pP2 | [out] Second fixation point:
|
1.5.5