aboutsummaryrefslogtreecommitdiff
path: root/PhysX_3.4/Documentation/PhysXAPI/files/classRaycastCCDManager.html
diff options
context:
space:
mode:
authorgit perforce import user <a@b>2016-10-25 12:29:14 -0600
committerSheikh Dawood Abdul Ajees <Sheikh Dawood Abdul Ajees>2016-10-25 18:56:37 -0500
commit3dfe2108cfab31ba3ee5527e217d0d8e99a51162 (patch)
treefa6485c169e50d7415a651bf838f5bcd0fd3bfbd /PhysX_3.4/Documentation/PhysXAPI/files/classRaycastCCDManager.html
downloadphysx-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.html188
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> &nbsp;
+ <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp;
+ <a class="qindex" href="annotated.html">Compound List</a> &nbsp;
+ <a class="qindex" href="functions.html">Compound Members</a> &nbsp;
+ </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 &lt;<a class="el" href="PxRaycastCCD_8h-source.html">PxRaycastCCD.h</a>&gt;</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">&nbsp;</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">&nbsp;</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&nbsp;</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">&nbsp;</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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRaycastCCDManager.html#6023b5afa45982aa31f9310ca649bab2">doRaycastCCD</a> (bool doDynamicDynamicCCD)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</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 *&nbsp;</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 &amp; 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> *&nbsp;</td>
+ <td class="paramname"> <em>scene</em> </td>
+ <td>&nbsp;)&nbsp;</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>&nbsp;)&nbsp;</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&nbsp;</td>
+ <td class="paramname"> <em>doDynamicDynamicCCD</em> </td>
+ <td>&nbsp;)&nbsp;</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>&nbsp;</td><td valign="top"><em>doDynamicDynamicCCD</em>&nbsp;</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> *&nbsp;</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> *&nbsp;</td>
+ <td class="paramname"> <em>shape</em></td><td>&nbsp;</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>&nbsp;</td><td valign="top"><em>actor</em>&nbsp;</td><td>object's actor </td></tr>
+ <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>shape</em>&nbsp;</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 &copy; 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>