RaycastCCDManager Class Reference
[Extensions]
Raycast-CCD manager.
More...
#include <PxRaycastCCD.h>
Public Member Functions | |
RaycastCCDManager (PxScene *scene) | |
~RaycastCCDManager () | |
bool | registerRaycastCCDObject (PxRigidDynamic *actor, PxShape *shape) |
Register dynamic object for raycast CCD. | |
void | doRaycastCCD (bool doDynamicDynamicCCD) |
Perform raycast CCD. Call this after your simulate/fetchResults calls. | |
Private Attributes | |
RaycastCCDManagerInternal * | mImpl |
Detailed Description
Raycast-CCD manager.Raycast-CCD is a simple and potentially cheaper alternative to the SDK's built-in continuous collision detection algorithm.
This implementation has some limitations:
- it is only implemented for PxRigidDynamic objects (not for PxArticulationLink)
- it is only implemented for simple actors with 1 shape (not for "compounds")
Also, since it is raycast-based, the solution is not perfect. In particular:
- small dynamic objects can still go through the static world if the ray goes through a crack between edges, or a small hole in the world (like the keyhole from a door).
- dynamic-vs-dynamic CCD is very approximate. It only works well for fast-moving dynamic objects colliding against slow-moving dynamic objects.
Finally, since it is using the SDK's scene queries under the hood, it only works provided the simulation shapes also have scene-query shapes associated with them. That is, if the objects in the scene only use PxShapeFlag::eSIMULATION_SHAPE (and no PxShapeFlag::eSCENE_QUERY_SHAPE), then the raycast-CCD system will not work.
Constructor & Destructor Documentation
RaycastCCDManager::RaycastCCDManager | ( | PxScene * | scene | ) |
RaycastCCDManager::~RaycastCCDManager | ( | ) |
Member Function Documentation
void RaycastCCDManager::doRaycastCCD | ( | bool | doDynamicDynamicCCD | ) |
Perform raycast CCD. Call this after your simulate/fetchResults calls.
- Parameters:
-
[in] doDynamicDynamicCCD True to enable dynamic-vs-dynamic CCD (more expensive, not always needed)
bool RaycastCCDManager::registerRaycastCCDObject | ( | PxRigidDynamic * | actor, | |
PxShape * | shape | |||
) |
Register dynamic object for raycast CCD.
- Parameters:
-
[in] actor object's actor [in] shape object's shape
- Returns:
- True if success
Member Data Documentation
RaycastCCDManagerInternal* RaycastCCDManager::mImpl [private] |
The documentation for this class was generated from the following file:
Copyright © 2008-2017 NVIDIA Corporation, 2701 San Tomas Expressway, Santa Clara, CA 95050 U.S.A. All rights reserved. www.nvidia.com