diff options
| author | git perforce import user <a@b> | 2016-10-25 12:29:14 -0600 |
|---|---|---|
| committer | Sheikh Dawood Abdul Ajees <Sheikh Dawood Abdul Ajees> | 2016-10-25 18:56:37 -0500 |
| commit | 3dfe2108cfab31ba3ee5527e217d0d8e99a51162 (patch) | |
| tree | fa6485c169e50d7415a651bf838f5bcd0fd3bfbd /PhysX_3.4/Documentation/PhysXAPI/files/classRaycastCCDManager.html | |
| download | physx-3.4-3dfe2108cfab31ba3ee5527e217d0d8e99a51162.tar.xz physx-3.4-3dfe2108cfab31ba3ee5527e217d0d8e99a51162.zip | |
Initial commit:
PhysX 3.4.0 Update @ 21294896
APEX 1.4.0 Update @ 21275617
[CL 21300167]
Diffstat (limited to 'PhysX_3.4/Documentation/PhysXAPI/files/classRaycastCCDManager.html')
| -rw-r--r-- | PhysX_3.4/Documentation/PhysXAPI/files/classRaycastCCDManager.html | 188 |
1 files changed, 188 insertions, 0 deletions
diff --git a/PhysX_3.4/Documentation/PhysXAPI/files/classRaycastCCDManager.html b/PhysX_3.4/Documentation/PhysXAPI/files/classRaycastCCDManager.html new file mode 100644 index 00000000..8bd83c5e --- /dev/null +++ b/PhysX_3.4/Documentation/PhysXAPI/files/classRaycastCCDManager.html @@ -0,0 +1,188 @@ +<html> + <head> + <title>NVIDIA(R) PhysX(R) SDK 3.4 API Reference: RaycastCCDManager Class Reference</title> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <LINK HREF="NVIDIA.css" REL="stylesheet" TYPE="text/css"> + </head> + + <body bgcolor="#FFFFFF"> + <div id="header"> + <hr class="first"> + <img alt="" src="images/PhysXlogo.png" align="middle"> <br> + <center> + <a class="qindex" href="main.html">Main Page</a> + <a class="qindex" href="hierarchy.html">Class Hierarchy</a> + <a class="qindex" href="annotated.html">Compound List</a> + <a class="qindex" href="functions.html">Compound Members</a> + </center> + <hr class="second"> + </div> +<!-- Generated by Doxygen 1.5.8 --> +<div class="contents"> +<h1>RaycastCCDManager Class Reference<br> +<small> +[<a class="el" href="group__extensions.html">Extensions</a>]</small> +</h1><!-- doxytag: class="RaycastCCDManager" -->Raycast-CCD manager. +<a href="#_details">More...</a> +<p> +<code>#include <<a class="el" href="PxRaycastCCD_8h-source.html">PxRaycastCCD.h</a>></code> +<p> + +<p> +<a href="classRaycastCCDManager-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0"> +<tr><td></td></tr> +<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classRaycastCCDManager.html#7b0ca803dd4186218095216e92fd0c3f">RaycastCCDManager</a> (<a class="el" href="classPxScene.html">PxScene</a> *scene)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classRaycastCCDManager.html#3c40ad39e6542dc894c029e5926d8d38">~RaycastCCDManager</a> ()</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classRaycastCCDManager.html#9625c0fc846b6729770fc7271b9520d3">registerRaycastCCDObject</a> (<a class="el" href="classPxRigidDynamic.html">PxRigidDynamic</a> *actor, <a class="el" href="classPxShape.html">PxShape</a> *shape)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Register dynamic object for raycast CCD. <a href="#9625c0fc846b6729770fc7271b9520d3"></a><br></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classRaycastCCDManager.html#6023b5afa45982aa31f9310ca649bab2">doRaycastCCD</a> (bool doDynamicDynamicCCD)</td></tr> + +<tr><td class="mdescLeft"> </td><td class="mdescRight">Perform raycast CCD. Call this after your simulate/fetchResults calls. <a href="#6023b5afa45982aa31f9310ca649bab2"></a><br></td></tr> +<tr><td colspan="2"><br><h2>Private Attributes</h2></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">RaycastCCDManagerInternal * </td><td class="memItemRight" valign="bottom"><a class="el" href="classRaycastCCDManager.html#e3881961e98ff225f0c561076e24e9fc">mImpl</a></td></tr> + +</table> +<hr><a name="_details"></a><h2>Detailed Description</h2> +Raycast-CCD manager. +<p> +Raycast-CCD is a simple and potentially cheaper alternative to the SDK's built-in continuous collision detection algorithm.<p> +This implementation has some limitations:<ul> +<li>it is only implemented for <a class="el" href="classPxRigidDynamic.html" title="PxRigidDynamic represents a dynamic rigid simulation object in the physics SDK.">PxRigidDynamic</a> objects (not for <a class="el" href="classPxArticulationLink.html" title="a component of an articulation that represents a rigid body">PxArticulationLink</a>)</li><li>it is only implemented for simple actors with 1 shape (not for "compounds")</li></ul> +<p> +Also, since it is raycast-based, the solution is not perfect. In particular:<ul> +<li>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).</li><li>dynamic-vs-dynamic CCD is very approximate. It only works well for fast-moving dynamic objects colliding against slow-moving dynamic objects.</li></ul> +<p> +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 <a class="el" href="structPxShapeFlag.html#6edb481aaa3a998c5d6dd3fc4ad87f1a7fa4fea0eecda9cc80a7aaa11a22df52" title="The shape will partake in collision in the physical simulation.">PxShapeFlag::eSIMULATION_SHAPE</a> (and no <a class="el" href="structPxShapeFlag.html#6edb481aaa3a998c5d6dd3fc4ad87f1abc7ec24b00ed57f3914482f0706c6273" title="The shape will partake in scene queries (ray casts, overlap tests, sweeps, ...).">PxShapeFlag::eSCENE_QUERY_SHAPE</a>), then the raycast-CCD system will not work. <hr><h2>Constructor & Destructor Documentation</h2> +<a class="anchor" name="7b0ca803dd4186218095216e92fd0c3f"></a><!-- doxytag: member="RaycastCCDManager::RaycastCCDManager" ref="7b0ca803dd4186218095216e92fd0c3f" args="(PxScene *scene)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">RaycastCCDManager::RaycastCCDManager </td> + <td>(</td> + <td class="paramtype"><a class="el" href="classPxScene.html">PxScene</a> * </td> + <td class="paramname"> <em>scene</em> </td> + <td> ) </td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +<a class="anchor" name="3c40ad39e6542dc894c029e5926d8d38"></a><!-- doxytag: member="RaycastCCDManager::~RaycastCCDManager" ref="3c40ad39e6542dc894c029e5926d8d38" args="()" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">RaycastCCDManager::~RaycastCCDManager </td> + <td>(</td> + <td class="paramname"> </td> + <td> ) </td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +<hr><h2>Member Function Documentation</h2> +<a class="anchor" name="6023b5afa45982aa31f9310ca649bab2"></a><!-- doxytag: member="RaycastCCDManager::doRaycastCCD" ref="6023b5afa45982aa31f9310ca649bab2" args="(bool doDynamicDynamicCCD)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void RaycastCCDManager::doRaycastCCD </td> + <td>(</td> + <td class="paramtype">bool </td> + <td class="paramname"> <em>doDynamicDynamicCCD</em> </td> + <td> ) </td> + <td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Perform raycast CCD. Call this after your simulate/fetchResults calls. +<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>doDynamicDynamicCCD</em> </td><td>True to enable dynamic-vs-dynamic CCD (more expensive, not always needed) </td></tr> + </table> +</dl> + +</div> +</div><p> +<a class="anchor" name="9625c0fc846b6729770fc7271b9520d3"></a><!-- doxytag: member="RaycastCCDManager::registerRaycastCCDObject" ref="9625c0fc846b6729770fc7271b9520d3" args="(PxRigidDynamic *actor, PxShape *shape)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">bool RaycastCCDManager::registerRaycastCCDObject </td> + <td>(</td> + <td class="paramtype"><a class="el" href="classPxRigidDynamic.html">PxRigidDynamic</a> * </td> + <td class="paramname"> <em>actor</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="classPxShape.html">PxShape</a> * </td> + <td class="paramname"> <em>shape</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Register dynamic object for raycast CCD. +<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>actor</em> </td><td>object's actor </td></tr> + <tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>shape</em> </td><td>object's shape</td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if success </dd></dl> + +</div> +</div><p> +<hr><h2>Member Data Documentation</h2> +<a class="anchor" name="e3881961e98ff225f0c561076e24e9fc"></a><!-- doxytag: member="RaycastCCDManager::mImpl" ref="e3881961e98ff225f0c561076e24e9fc" args="" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">RaycastCCDManagerInternal* <a class="el" href="classRaycastCCDManager.html#e3881961e98ff225f0c561076e24e9fc">RaycastCCDManager::mImpl</a><code> [private]</code> </td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> + +</div> +</div><p> +<hr>The documentation for this class was generated from the following file:<ul> +<li><a class="el" href="PxRaycastCCD_8h-source.html">PxRaycastCCD.h</a></ul> +</div> + +<hr style="width: 100%; height: 2px;"><br> +Copyright © 2008-2016 NVIDIA Corporation, 2701 San Tomas Expressway, Santa Clara, CA 95050 U.S.A. All rights reserved. <a href="http://www.nvidia.com ">www.nvidia.com</a> +</body> +</html> |