Vortex Studio SDK Classes Documentation

Defines a volume and shape in space that the Dynamics can use to compute collision for a rigid body. More...
#include <Vx/VxCollisionGeometry.h>
Classes  
class  FluidInteractionData 
This class encapsulates all fluid interaction data. More...  
Public Types  
typedef int  CallbackHandle 
Callback Handle.  
enum  TemporaryDisabledStatus { kNotTemporaryDisabled = 0, kTemporaryDisabledShortTerm, kTemporaryDisabledLongTerm } 
Allows the user to tune different levels of the disabled status for collision geometries. More...  
Public Member Functions  
VxCollisionGeometry (VxGeometry *inGeometry)  
Default constructor.  
VxCollisionGeometry (VxGeometry *geometry, VxMaterial *material)  
Constructor with geometry and material. More...  
VxCollisionGeometry (VxGeometry *geometry, VxMaterial *material, const VxTransform &transform)  
Constructor with geometry, material and transform. More...  
virtual  ~VxCollisionGeometry () 
Destructor. More...  
void  addFilterBox (const VxOBB &filterBox) 
Adds a filter box to this collision geometry. More...  
bool  addFluidInteractionForce (const VxFluidState *fluidState) 
Adds the fluid interaction force corresponding to a fluid level and density as specified in the input fluidState parameter.  
bool  assignResponseID (ResponseType id) 
Assigns the given response ID to this collision geometry. More...  
virtual VxCollisionGeometry *  clone (bool iAlsoCloneGeometry=false) const 
Creates and returns a new VxCollisionGeometry. More...  
virtual bool  computeMassPropertiesFromMass (const double inMass, VxReal3 outCOM, VxReal33 outInertiaTensor, double *outVolume=0) const 
void  computeSmallestEnclosing (const VxArray< VxVector3 > &points, VxGeometry::eSmallestEnclosingLockedAxes lockedAxes=VxGeometry::kNoAxis, bool isPositionLocked=false) 
Resizes the underlying geometry and sets new position and orientation such that the given set of points is covered while minimizing the geometry volume. More...  
void  computeSmallestEnclosing (const VxVector3 *inPoints, size_t numPoints, VxGeometry::eSmallestEnclosingLockedAxes lockedAxes=VxGeometry::kNoAxis, bool isPositionLocked=false) 
Resizes the underlying geometry and sets new position and orientation such that the given set of points is covered while minimizing the geometry volume. More...  
VxCollisionGeometryState *  createState () const 
Creates a state that can be later restored. More...  
void  enableCollision (bool value) 
True to enable collision; false to remove this geometry from the collision detection. More...  
virtual void  enableFastMoving (bool value) 
Sets the fast moving flag. More...  
void  enableFluidInteraction (bool value) 
Sets the fluid interaction enabled flag. More...  
void  enableMass (bool value) 
Sets the mass enabled flag. More...  
void  getAABBRef (const Vx::VxTransform &iTMRef, Vx::VxVector3 *minCorner, Vx::VxVector3 *maxCorner, double time) const 
Computes and returns the aabb in reference frame given by iTMRef. More...  
ResponseType  getAssignedResponseID (size_t index) const 
Gets the response ID in this collision geometry with the given index. More...  
size_t  getAssignedResponseIDCount () const 
Gets the number of response IDs assigned to this collision geometry. More...  
VxMath::BoundingBox  getBoundingBox () const 
Gets the axisaligned bounding box of the collision geometry in world space.  
VxMath::BoundingSphere  getBoundingSphere () const 
Gets the bounding sphere of the collision geometry.  
virtual const char *  getClassName () const 
Returns the class name.  
const VxSequentialID &  getCollisionGeometryID () const 
Get collision geometry ID. More...  
virtual void  getCOM (VxReal3 com) 
double  getContactTolerance () const 
Gets the contact tolerance used during collision detection for this collision geometry. More...  
virtual VxVector3  getExtremePoint (const VxVector3 &direction) const 
Returns the extreme point in the specified direction on the collision geometry in world space. More...  
const VxArray< VxOBB > &  getFilterBoxes () const 
Returns the filter boxes registered on this cg. More...  
const VxArray< VxOBB > &  getFilterBoxesAbsolute () const 
Returns filter boxes registered on this cg in world space.  
FluidInteractionData *  getFluidInteractionData () const 
Returns a pointer to the interaction data.  
VxFluidInteractionForceFn  getFluidInteractionForceFn () const 
Gets the fluid interaction force function previously set with setFluidInteractionForceFn().  
virtual VxGeometry *  getGeometry () const 
Gets the geometry of this collision geometry.  
VxIntersectFilter *  getIntersectFilter () const 
Returns the intersect filter , if any.  
virtual VxMaterial *  getMaterial () const 
Returns the material or NULL (corresponding to the default material)  
virtual VxMaterial *  getMaterial (int iTag) const 
Reads the mapped material from the material map if present in the geometry; otherwise, returns the material of the collision geometry. More...  
VxCompositeCollisionGeometry *  getParent () const 
Gets the composite this collision geometry is in. More...  
VxPart *  getPart () const 
Gets the part this collision geometry is in. More...  
VxPart *  getPartRecursive () const 
Look for the part recursively in its parents, and return it if it has one, otherwise return null. More...  
int  getRequestID () const 
Returns the default request ID if the geometry has been added to a part.  
TemporaryDisabledStatus  getTemporaryDisabledStatus () const 
Returns the temporary disabled status .  
const VxTransform &  getTransformAbsolute () const 
Gets the absolute transform. More...  
const VxTransform &  getTransformRelative () const 
Gets the relative transform. More...  
VxUniverse *  getUniverse () const 
Gets the universe this collision geometry is in. More...  
VincModel *  getVincModel () const 
bool  isCollisionEnabled () const 
Returns true if this geometry participates in collision detection.  
virtual bool  isFastMovingEnabled () const 
Check if the fast moving flag is enabled.  
bool  isFluidInteractionEnabled () const 
Gets the fluid interaction enabled flag .  
bool  isHole () const 
bool  isMassEnabled () const 
Check the value of mass enabled flag. More...  
bool  isResponseIDAssigned (ResponseType id) const 
Checks if the given response ID is assigned to this collision geometry. More...  
virtual bool  isStatic () const 
Gets the static flag. More...  
CallbackHandle  registerDestructionCallback (const std::function< void()> &fn) 
Register a callback function that will be executed when this instance is destroyed. More...  
void  removeFilterBox (const VxOBB &filterBox) 
Removes a registered filter box on this collision geometry.  
void  removeResponseID (ResponseType id) 
Removes the given response ID from this collision geometry. More...  
bool  replaceAllResponseIDs (ResponseType newID) 
Replaces all currently assigned response IDs by the new response ID (newID ). More...  
bool  replaceResponseID (ResponseType oldID, ResponseType newID) 
Replaces the old response ID (oldID ) by the new response ID (newID ). More...  
bool  restoreState (VxCollisionGeometryState *state) 
Restores a previously created state. More...  
void  setCollisionGeometryID (const VxSequentialID &ID) 
Set collision geometry ID. More...  
void  setContactTolerance (double value) 
Sets the contact tolerance used during collision detection for this collision geometry. More...  
virtual bool  setDefaultFluidInteractionForceFn () 
Sets the default fluid interaction force function for the current geometry in the collision geometry. More...  
virtual void  setFluidInteractionData (const VxReal3 buoyancyCenter, const VxReal3 drag, double buoyancyForceScale=1, double magnus=0) 
Sets specific fluid interaction properties. More...  
virtual void  setFluidInteractionData (const FluidInteractionData &data) 
Sets specific fluid interaction properties from the existing property.  
void  setFluidInteractionForceFn (VxFluidInteractionForceFn fn) 
Sets the fluid interaction force function. More...  
virtual void  setGeometry (VxGeometry *geometry) 
Sets the geometry for this collision geometry. More...  
void  setIntersectFilter (VxIntersectFilter *f) 
Sets an intersect filter for this collision geometry. More...  
virtual void  setMaterial (VxMaterial *iMaterial) 
Sets the material associated to the geometry. More...  
bool  setRequestID (int id, bool updateExistingPairs=true) 
Sets the requestID of the collision geometry. More...  
virtual void  setStatic (bool value) 
Sets the static flag. More...  
void  setTemporaryDisabledStatus (TemporaryDisabledStatus status) 
Sets the temporary disabled status. More...  
void  setTransformAbsolute (const VxTransform &absoluteTransform) 
Sets the absolute transform . More...  
void  setTransformRelative (const VxTransform &transform) 
Sets the relative transform . More...  
void  unregisterDestructionCallback (CallbackHandle handle) 
Unregister the callback with the specified handle.  
virtual void  updateAbsoluteTransform () 
Updates the collision geometry's absolute transform. More...  
Public Member Functions inherited from Vx::VxBaseUserData  
VXCORE_SYMBOL  VxBaseUserData () 
Default constructor.  
virtual VXCORE_SYMBOL  ~VxBaseUserData () 
Destructor.  
void *  getUserDataPtr () const 
Get pointer to generic user data.  
void  setUserDataPtr (void *dataPtr) 
Set pointer to generic user data. More...  
VXCORE_SYMBOL const VxUserDataContainer &  userData () const 
Accessor for user data (const version)  
VXCORE_SYMBOL VxUserDataContainer &  userData () 
Accessor for user data.  
Public Member Functions inherited from Vx::VxBase  
void  addSubscriber (Event event, Subscriber *subscriber) 
void  addSubscriber (Subscriber *subscriber) 
unsigned int  getCreationIndex () const 
Access the creation index of the instance.  
const char *  getName () const 
Retrieves the name. More...  
bool  hasName () const 
bool  isSubscribed (Event event, Subscriber *subscriber) const 
bool  isSubscribed (Subscriber *subscriber) const 
void  removeSubscriber (Event event, Subscriber *subscriber) 
void  removeSubscriber (Subscriber *subscriber) 
void  setCombinedName (const char *base, const char *name, size_t i=0) 
Utility to set the name to a concatenate string = base_name_i.  
virtual void  setName (const char *name) 
Sets the name.  
Static Public Member Functions  
static void  enableAutoFastMoving (bool value) 
Enable/disable the auto fast moving.  
static bool  getAutomaticGeometryOwnerListMaintenance () 
Returns true if the automatic VxCollisionGeometry registration as VxGeometry owner is enabled. More...  
static size_t  getFastMovingMaxIterations () 
Gets maximum number of iterations used during collision processing of fast moving collision geometries. More...  
static double  getFastMovingMaxLinearAcceleration () 
Gets linear acceleration limit used for fast moving collision geometries. More...  
static double  getFastMovingMaxLinearVelocity () 
Gets linear velocity limit used for fast moving collision geometries. More...  
static bool  isAutoFastMovingEnabled () 
Returns true if auto fast moving is enabled. More...  
static void  setAutomaticGeometryOwnerListMaintenance (bool b) 
Enables/disables the VxCollisionGeometry registration as VxGeometry owner. More...  
static void  setFastMovingMaxIterations (size_t value) 
Sets maximum number of iterations used during collision processing of fast moving collision geometries. More...  
static void  setFastMovingMaxLinearAcceleration (double value) 
Sets linear acceleration limit used for fast moving collision geometries. More...  
static void  setFastMovingMaxLinearVelocity (double value) 
Sets linear velocity limit used for fast moving collision geometries. More...  
Protected Member Functions  
virtual VxCollisionGeometryState *  createStateImpl () const 
Creates a state that can be later restored. More...  
virtual void  restoreStateImpl (VxCollisionGeometryState *state) 
Restores a previously created state. More...  
virtual void  updateReferenceFrame () 
Friends  
class  VxCompositeCollisionGeometry 
class  VxGeometry 
class  VxPart 
class  VxUniverse 
Additional Inherited Members  
Static Protected Member Functions inherited from Vx::VxBase  
static void  resetVxBaseCounter () 
Defines a volume and shape in space that the Dynamics can use to compute collision for a rigid body.
The shape and volume are defined by creating a primitive geometry using one of the Vx::VxGeometry subclasses.
It also holds the specific collision response properties associated with the shape.
It provides utility functions that enable the user to:
Geometries can be shared between collision geometries and are referencecounted.
Allows the user to tune different levels of the disabled status for collision geometries.
Vx::VxCollisionGeometry::VxCollisionGeometry  (  VxGeometry *  geometry, 
VxMaterial *  material  
) 
Constructor with geometry and material.
The geometry is referencecounted. Does not take ownership of the material.
Vx::VxCollisionGeometry::VxCollisionGeometry  (  VxGeometry *  geometry, 
VxMaterial *  material,  
const VxTransform &  transform  
) 
Constructor with geometry, material and transform.
The geometry is referencecounted. Does not take ownership of the material.

virtual 
Destructor.
Also destroys the contained geometry if it's not referenced by another collision geometry; otherwise decrements its reference count.
void Vx::VxCollisionGeometry::addFilterBox  (  const VxOBB &  filterBox  ) 
Adds a filter box to this collision geometry.
Inside this box, contacts with other collision geometries or intersections with line segments will not be created.
bool Vx::VxCollisionGeometry::assignResponseID  (  ResponseType  id  ) 
Assigns the given response ID to this collision geometry.
The response IDs in a collision geometry define the actions (or responses) which should occur once the collision geometry collides with another collision geometry. The actions (or responses) which are performed are defined by response models . Each response model which is registered in a universe has a unique, associated response ID , which can be associated to collision geometries using this function. When two collision geometries intersect, every pair of response IDs of the respective collision geometries, will lead to a different response. After construction a collision geometry has the response ID VxUniverse::kResponseRigidBody assigned, and will thus cause compliant contact response when colliding with a collision geometry which also has the ID VxUniverse::kResponseRigidBody.

virtual 
Creates and returns a new VxCollisionGeometry.
If you specify true, the geometry is also cloned; otherwise it is shared.
Reimplemented in Vx::VxCompositeCollisionGeometry.
void Vx::VxCollisionGeometry::computeSmallestEnclosing  (  const VxArray< VxVector3 > &  points, 
VxGeometry::eSmallestEnclosingLockedAxes  lockedAxes = VxGeometry::kNoAxis , 

bool  isPositionLocked = false 

) 
Resizes the underlying geometry and sets new position and orientation such that the given set of points is covered while minimizing the geometry volume.
[in]  points  Set of points 
[in]  lockedAxes  No restriction on rotation=VxGeometry::kNoAxis. Rotation only around xaxis=VxGeometry::kXAxis, yaxis=VxGeometry::kYAxis or zaxis=VxGeometry::kZAxis. No rotation (fully locked)=VxGeometry::kAllAxes. 
[in]  isPositionLocked  If isPositionLocked is set the position in the inOutTM is not modified and the fit is done purely on size, modifying the orientation as permitted by lockedAxes . 
void Vx::VxCollisionGeometry::computeSmallestEnclosing  (  const VxVector3 *  inPoints, 
size_t  numPoints,  
VxGeometry::eSmallestEnclosingLockedAxes  lockedAxes = VxGeometry::kNoAxis , 

bool  isPositionLocked = false 

) 
Resizes the underlying geometry and sets new position and orientation such that the given set of points is covered while minimizing the geometry volume.
[in]  inPoints  Set of points 
[in]  numPoints  Number of points in inPoints array 
[in]  lockedAxes  No restriction on rotation=VxGeometry::kNoAxis. Rotation only around xaxis=VxGeometry::kXAxis, yaxis=VxGeometry::kYAxis or zaxis=VxGeometry::kZAxis. No rotation (fully locked)=VxGeometry::kAllAxes. 
[in]  isPositionLocked  If isPositionLocked is set the position in the inOutTM is not modified and the fit is done purely on size, modifying the orientation as permitted by lockedAxes . 
VxCollisionGeometryState* Vx::VxCollisionGeometry::createState  (  )  const 
Creates a state that can be later restored.
This first invokes createStateImpl() and then stores the data of the VxCollisionGeometryState base class.
Caller takes ownership of the state.

protectedvirtual 
Creates a state that can be later restored.
Derived classes should reimplement this method to create custom states.
Default implementation returns a new VxCollisionGeometryState base class.
Reimplemented in Vx::VxCompositeCollisionGeometry.
void Vx::VxCollisionGeometry::enableCollision  (  bool  value  ) 
True to enable collision; false to remove this geometry from the collision detection.
This VxCollisionGeometry may be not removed from its part as it can be still in used for the mass property or for fluid interaction.

virtual 
Sets the fast moving flag.
By default, intersections between collision geometries are only computed at the beginning of the step, using the current position of collision geometries. Then, the dynamics is computed and the collision geometries are moved. This makes it possible for objects to pass through each other undetected if they are going fast enough. This is a typical discretization issue.
A fastmoving collision geometry will force Vortex to take the collision geometry's part velocity into account for the purpose of collision detection. This is achieved by considering an extruded volume from the position at the beginning of the step, and the projected position at the end of the step, based on the velocity.
Setting this flag will eliminate some discretization issues of fastmoving objects, hence the name.
However, the drawback is that the point of impact will still be set as if it occurred at the beginning the step. For more precision, see continuous collision detection.
Reimplemented in Vx::VxCompositeCollisionGeometry.
void Vx::VxCollisionGeometry::enableFluidInteraction  (  bool  value  ) 
Sets the fluid interaction enabled flag.
When TRUE, this collision geometry participates in the fluid interaction of its part.
void Vx::VxCollisionGeometry::enableMass  (  bool  value  ) 
Sets the mass enabled flag.
When TRUE, this collision geometry participates in the mass properties of its part.
void Vx::VxCollisionGeometry::getAABBRef  (  const Vx::VxTransform &  iTMRef, 
Vx::VxVector3 *  minCorner,  
Vx::VxVector3 *  maxCorner,  
double  time  
)  const 
Computes and returns the aabb in reference frame given by iTMRef.
The given time is used to enlarge the computed aabb by using the current speed of the geometry and the time (in sec).
ResponseType Vx::VxCollisionGeometry::getAssignedResponseID  (  size_t  index  )  const 
Gets the response ID in this collision geometry with the given index.
size_t Vx::VxCollisionGeometry::getAssignedResponseIDCount  (  )  const 
Gets the number of response IDs assigned to this collision geometry.

static 
Returns true if the automatic VxCollisionGeometry registration as VxGeometry owner is enabled.

inline 
Get collision geometry ID.
double Vx::VxCollisionGeometry::getContactTolerance  (  )  const 
Gets the contact tolerance used during collision detection for this collision geometry.
The default value is given by VxUniverse::getDefaultContactTolerance().

virtual 
Returns the extreme point in the specified direction on the collision geometry in world space.
[in]  direction  Direction of the sought extreme point in world space. Must be unit size. 
inDir
. Reimplemented in Vx::VxCompositeCollisionGeometry.

inlinestatic 
Gets maximum number of iterations used during collision processing of fast moving collision geometries.
Allows to limit the maximum processing time of fast moving objects. The smaller the value, the lower the maximum processing time, but the higher the chance that a collision might be missed in extreme cases.

inlinestatic 
Gets linear acceleration limit used for fast moving collision geometries.
Collisions with objects moving faster than this value might be missed. Allows to limit the maximum processing time of fast moving objects. The smaller the value, the lower the maximum processing time, but the higher the chance that a collision might be missed in extreme cases.

inlinestatic 
Gets linear velocity limit used for fast moving collision geometries.
Collisions with objects moving faster than this value might be missed. Allows to limit the maximum processing time of fast moving objects. The smaller the value, the lower the maximum processing time, but the higher the chance that a collision might be missed in extreme cases.
Returns the filter boxes registered on this cg.

virtual 
Reads the mapped material from the material map if present in the geometry; otherwise, returns the material of the collision geometry.
Reimplemented in Vx::VxCompositeCollisionGeometry.
VxCompositeCollisionGeometry* Vx::VxCollisionGeometry::getParent  (  )  const 
Gets the composite this collision geometry is in.
Caller does not take ownership of the composite.
VxPart* Vx::VxCollisionGeometry::getPart  (  )  const 
Gets the part this collision geometry is in.
Caller does not take ownership of the part.
VxPart* Vx::VxCollisionGeometry::getPartRecursive  (  )  const 
Look for the part recursively in its parents, and return it if it has one, otherwise return null.
Caller does not take ownership of the part.
const VxTransform& Vx::VxCollisionGeometry::getTransformAbsolute  (  )  const 
Gets the absolute transform.
Returns the absolute transform of this collision geometry at the beginning of the last step. Note that the current absolute transform might be different if the collision geometry is inside a dynamically controlled part. In order to obtain an uptodate absolute transform, call updateAbsoluteTransform before.
const VxTransform& Vx::VxCollisionGeometry::getTransformRelative  (  )  const 
Gets the relative transform.
Each collision geometry has a transform value that is interpreted differently, depending on the object containing the collision geometry:
VxUniverse* Vx::VxCollisionGeometry::getUniverse  (  )  const 
Gets the universe this collision geometry is in.
Caller does not take ownership of the universe.

inlinestatic 
Returns true if auto fast moving is enabled.
bool Vx::VxCollisionGeometry::isMassEnabled  (  )  const 
Check the value of mass enabled flag.
bool Vx::VxCollisionGeometry::isResponseIDAssigned  (  ResponseType  id  )  const 
Checks if the given response ID is assigned to this collision geometry.

virtual 
Gets the static flag.
If this collision geometry is not in any universe, this always returns FALSE.
CallbackHandle Vx::VxCollisionGeometry::registerDestructionCallback  (  const std::function< void()> &  fn  ) 
Register a callback function that will be executed when this instance is destroyed.
Returns a handle to unregister the callback, if needed.
void Vx::VxCollisionGeometry::removeResponseID  (  ResponseType  id  ) 
Removes the given response ID from this collision geometry.
The response ID will no longer be assigned to the collision geometry, and the corresponding responses will no longer occur.
bool Vx::VxCollisionGeometry::replaceAllResponseIDs  (  ResponseType  newID  ) 
Replaces all currently assigned response IDs by the new response ID (newID
).
The method does nothing if the new response ID is not valid.
bool Vx::VxCollisionGeometry::replaceResponseID  (  ResponseType  oldID, 
ResponseType  newID  
) 
Replaces the old response ID (oldID
) by the new response ID (newID
).
Replacement will take effect only if the new response ID exists and is valid, otherwise, the old response ID is not removed.
bool Vx::VxCollisionGeometry::restoreState  (  VxCollisionGeometryState *  state  ) 
Restores a previously created state.
This first restores the data from VxCollisionGeometryState base class and then invokes restoreStateImpl() so that derived class can have custom states.
Does not take ownership of the state.

protectedvirtual 
Restores a previously created state.
Derived classes should reimplement this method to restore custom states.
When invoked, the VxCollisionGeometryState base class data has already been restored.
Default implementation does nothing.
Reimplemented in Vx::VxCompositeCollisionGeometry.

static 
Enables/disables the VxCollisionGeometry registration as VxGeometry owner.

inline 
Set collision geometry ID.
Can be used to identify this collision geometry, e.g., during collision callbacks (
void Vx::VxCollisionGeometry::setContactTolerance  (  double  value  ) 
Sets the contact tolerance used during collision detection for this collision geometry.
The default value is given by VxUniverse::getDefaultContactTolerance().

virtual 
Sets the default fluid interaction force function for the current geometry in the collision geometry.
Reimplemented in Vx::VxCompositeCollisionGeometry.

inlinestatic 
Sets maximum number of iterations used during collision processing of fast moving collision geometries.

inlinestatic 
Sets linear acceleration limit used for fast moving collision geometries.

inlinestatic 
Sets linear velocity limit used for fast moving collision geometries.

virtual 
Sets specific fluid interaction properties.
If not set, default values are used.
param[in] buoyancyCenter Currently only used if the geometry is completely submerged. param[in] drag Drag coefficient must be positive param[in] buoyancyForceScale Accounts for the difference of volume between the collision geometry and the real object. param[in] magnus Magnus coefficient must be positive (defaults to 0). Currently implemented for the sphere and the cylinder geometry only.
Reimplemented in Vx::VxCompositeCollisionGeometry.
void Vx::VxCollisionGeometry::setFluidInteractionForceFn  (  VxFluidInteractionForceFn  fn  ) 
Sets the fluid interaction force function.
The interaction of all fluids added to the universe is computed using this function.

virtual 
Sets the geometry for this collision geometry.
Reimplemented in Vx::VxCompositeCollisionGeometry.
void Vx::VxCollisionGeometry::setIntersectFilter  (  VxIntersectFilter *  f  ) 
Sets an intersect filter for this collision geometry.
An intersect filter allows interactive collision geometry pair disabling. It is especially useful for disabling pairs with collision geometries added to composite collision geometries, as the child collision geometries are not supported by VxUniverse::disablePairsWith calls or collision rules .

virtual 
Sets the material associated to the geometry.
[in]  iMaterial  Must be either a valid VxMaterial , created by the VxMaterialTable or NULL (for the default material). 
Reimplemented in Vx::VxCompositeCollisionGeometry.
bool Vx::VxCollisionGeometry::setRequestID  (  int  id, 
bool  updateExistingPairs = true 

) 
Sets the requestID of the collision geometry.
This ID is typically used to define sets of collision geometries. Each set is specified by a different request ID set by the user, starting at 0.
Each pair of request IDs corresponds to a VxCollisionPairRequest in which different parameters used by the collision detection are stored. Use this method to set request IDs for those collision geometries.
The default request ID depends on the type of geometry inside this collision geometry. See VxGeometry::getDefaultRequestID for more information.
updateExistingPairs
== true (default), the change takes immediate effect on existing overlaps with the AABB of this collision geometry in the collision detection. Otherwise, the change will take effect only on new overlaps.

virtual 
Sets the static flag.
A static collision geometry cannot move. This is an assumption used by the broad phase of collision detection, yielding some performance gains.
The transform of a static collision geometry cannot be changed while it remains static. It will not be recomputed automatically like other collision geometries, even if you move it or call the updateAbsoluteTransform method. The only way change it's transform is to remove the static flag.
If this collision geometry is not in any universe, calling this method has no effect.
Reimplemented in Vx::VxCompositeCollisionGeometry.
void Vx::VxCollisionGeometry::setTemporaryDisabledStatus  (  TemporaryDisabledStatus  status  ) 
Sets the temporary disabled status.
When a geometry is temporarily disabled, the disabled pairs involving this geometry are still maintained. The VxCollisionGeometry::kTemporaryDisabledShortTerm option can be applied at no cost.
No collision involving this geometry is computed but the geometry position is still maintained so there is still a runtime cost for this geometry. The VxCollisionGeometry::kTemporaryDisabledLongTerm option is similar to calling setCollisionEnabled(false) except that the disabled pairs are still maintained. There is a cost to use this option but once set to kTemporaryDisabledLongTerm
, there is no more runtime cost for this geometry.
void Vx::VxCollisionGeometry::setTransformAbsolute  (  const VxTransform &  absoluteTransform  ) 
Sets the absolute transform .
Sets the transform by computing the offset necessary to obtain the specified absolute transform from the transform of the object containing the collision geometry.
If there is no object containing the collision geometry, this sets the absolute transform directly, without any computation.
Note that this method will have no effect if the static flag is set.
void Vx::VxCollisionGeometry::setTransformRelative  (  const VxTransform &  transform  ) 
Sets the relative transform .
Note that this method will have no effect if the static flag is set.

virtual 
Updates the collision geometry's absolute transform.
The collision geometry's absolute transform is computed at the beginning of each step. Therefore after the integration (at the end of the step) the absolute transform of the collision geometry is one step late.
Note that this method will have no effect if the static flag is set.
Note: This could be required if the collision geometry is disabled (see setCollisionEnabled) and an uptodate transform is needed. If a collision geometry is disabled, it is not used in the collision detection. So we do not update the absolute transform automatically in this case as a performance optimization.
Reimplemented in Vx::VxCompositeCollisionGeometry.