aboutsummaryrefslogtreecommitdiff
path: root/PhysX_3.4/Documentation/PhysXAPI/files/PxPlane_8h-source.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/PxPlane_8h-source.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/PxPlane_8h-source.html')
-rw-r--r--PhysX_3.4/Documentation/PhysXAPI/files/PxPlane_8h-source.html133
1 files changed, 133 insertions, 0 deletions
diff --git a/PhysX_3.4/Documentation/PhysXAPI/files/PxPlane_8h-source.html b/PhysX_3.4/Documentation/PhysXAPI/files/PxPlane_8h-source.html
new file mode 100644
index 00000000..a203150a
--- /dev/null
+++ b/PhysX_3.4/Documentation/PhysXAPI/files/PxPlane_8h-source.html
@@ -0,0 +1,133 @@
+<html>
+ <head>
+ <title>NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxPlane.h Source File</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 -->
+<h1>PxPlane.h</h1><a href="PxPlane_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// This code contains NVIDIA Confidential Information and is disclosed to you</span>
+<a name="l00002"></a>00002 <span class="comment">// under a form of NVIDIA software license agreement provided separately to you.</span>
+<a name="l00003"></a>00003 <span class="comment">//</span>
+<a name="l00004"></a>00004 <span class="comment">// Notice</span>
+<a name="l00005"></a>00005 <span class="comment">// NVIDIA Corporation and its licensors retain all intellectual property and</span>
+<a name="l00006"></a>00006 <span class="comment">// proprietary rights in and to this software and related documentation and</span>
+<a name="l00007"></a>00007 <span class="comment">// any modifications thereto. Any use, reproduction, disclosure, or</span>
+<a name="l00008"></a>00008 <span class="comment">// distribution of this software and related documentation without an express</span>
+<a name="l00009"></a>00009 <span class="comment">// license agreement from NVIDIA Corporation is strictly prohibited.</span>
+<a name="l00010"></a>00010 <span class="comment">//</span>
+<a name="l00011"></a>00011 <span class="comment">// ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES</span>
+<a name="l00012"></a>00012 <span class="comment">// NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO</span>
+<a name="l00013"></a>00013 <span class="comment">// THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT,</span>
+<a name="l00014"></a>00014 <span class="comment">// MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.</span>
+<a name="l00015"></a>00015 <span class="comment">//</span>
+<a name="l00016"></a>00016 <span class="comment">// Information and code furnished is believed to be accurate and reliable.</span>
+<a name="l00017"></a>00017 <span class="comment">// However, NVIDIA Corporation assumes no responsibility for the consequences of use of such</span>
+<a name="l00018"></a>00018 <span class="comment">// information or for any infringement of patents or other rights of third parties that may</span>
+<a name="l00019"></a>00019 <span class="comment">// result from its use. No license is granted by implication or otherwise under any patent</span>
+<a name="l00020"></a>00020 <span class="comment">// or patent rights of NVIDIA Corporation. Details are subject to change without notice.</span>
+<a name="l00021"></a>00021 <span class="comment">// This code supersedes and replaces all information previously supplied.</span>
+<a name="l00022"></a>00022 <span class="comment">// NVIDIA Corporation products are not authorized for use as critical</span>
+<a name="l00023"></a>00023 <span class="comment">// components in life support devices or systems without express written approval of</span>
+<a name="l00024"></a>00024 <span class="comment">// NVIDIA Corporation.</span>
+<a name="l00025"></a>00025 <span class="comment">//</span>
+<a name="l00026"></a>00026 <span class="comment">// Copyright (c) 2008-2016 NVIDIA Corporation. All rights reserved.</span>
+<a name="l00027"></a>00027 <span class="comment">// Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.</span>
+<a name="l00028"></a>00028 <span class="comment">// Copyright (c) 2001-2004 NovodeX AG. All rights reserved.</span>
+<a name="l00029"></a>00029
+<a name="l00030"></a>00030 <span class="preprocessor">#ifndef PXFOUNDATION_PXPLANE_H</span>
+<a name="l00031"></a>00031 <span class="preprocessor"></span><span class="preprocessor">#define PXFOUNDATION_PXPLANE_H</span>
+<a name="l00032"></a>00032 <span class="preprocessor"></span>
+<a name="l00037"></a>00037 <span class="preprocessor">#include "<a class="code" href="PxMath_8h.html">foundation/PxMath.h</a>"</span>
+<a name="l00038"></a>00038 <span class="preprocessor">#include "<a class="code" href="PxVec3_8h.html">foundation/PxVec3.h</a>"</span>
+<a name="l00039"></a>00039
+<a name="l00040"></a>00040 <span class="preprocessor">#if !PX_DOXYGEN</span>
+<a name="l00041"></a>00041 <span class="preprocessor"></span><span class="keyword">namespace </span>physx
+<a name="l00042"></a>00042 {
+<a name="l00043"></a>00043 <span class="preprocessor">#endif</span>
+<a name="l00044"></a>00044 <span class="preprocessor"></span>
+<a name="l00050"></a><a class="code" href="classPxPlane.html">00050</a> <span class="keyword">class </span><a class="code" href="classPxPlane.html" title="Representation of a plane.">PxPlane</a>
+<a name="l00051"></a>00051 {
+<a name="l00052"></a>00052 <span class="keyword">public</span>:
+<a name="l00056"></a><a class="code" href="classPxPlane.html#a91bd50f689e65d8df16b9bc451adbe4">00056</a> <a class="code" href="group__foundation.html#g6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="code" href="group__foundation.html#g6a774eed3cad34b0f636332a3d28c6bb">PX_FORCE_INLINE</a> <a class="code" href="classPxPlane.html" title="Representation of a plane.">PxPlane</a>()
+<a name="l00057"></a>00057 {
+<a name="l00058"></a>00058 }
+<a name="l00059"></a>00059
+<a name="l00063"></a><a class="code" href="classPxPlane.html#5d449753bd941b2ac7d4f507e53ff2b9">00063</a> <a class="code" href="group__foundation.html#g6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="code" href="group__foundation.html#g6a774eed3cad34b0f636332a3d28c6bb">PX_FORCE_INLINE</a> <a class="code" href="classPxPlane.html" title="Representation of a plane.">PxPlane</a>(<span class="keywordtype">float</span> nx, <span class="keywordtype">float</span> ny, <span class="keywordtype">float</span> nz, <span class="keywordtype">float</span> distance) : n(nx, ny, nz), d(distance)
+<a name="l00064"></a>00064 {
+<a name="l00065"></a>00065 }
+<a name="l00066"></a>00066
+<a name="l00070"></a><a class="code" href="classPxPlane.html#8999609dacee1ba2ac0011f481014d08">00070</a> <a class="code" href="group__foundation.html#g6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="code" href="group__foundation.html#g6a774eed3cad34b0f636332a3d28c6bb">PX_FORCE_INLINE</a> <a class="code" href="classPxPlane.html" title="Representation of a plane.">PxPlane</a>(<span class="keyword">const</span> <a class="code" href="classPxVec3.html" title="3 Element vector class.">PxVec3</a>&amp; normal, <span class="keywordtype">float</span> distance) : n(normal), d(distance)
+<a name="l00071"></a>00071 {
+<a name="l00072"></a>00072 }
+<a name="l00073"></a>00073
+<a name="l00077"></a><a class="code" href="classPxPlane.html#0b6a4463b95366c1f9a12a84d57509bd">00077</a> <a class="code" href="group__foundation.html#g6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="code" href="group__foundation.html#g6a774eed3cad34b0f636332a3d28c6bb">PX_FORCE_INLINE</a> <a class="code" href="classPxPlane.html" title="Representation of a plane.">PxPlane</a>(<span class="keyword">const</span> <a class="code" href="classPxVec3.html" title="3 Element vector class.">PxVec3</a>&amp; point, <span class="keyword">const</span> <a class="code" href="classPxVec3.html" title="3 Element vector class.">PxVec3</a>&amp; normal)
+<a name="l00078"></a>00078 : n(normal), d(-point.dot(n)) <span class="comment">// p satisfies normal.dot(p) + d = 0</span>
+<a name="l00079"></a>00079 {
+<a name="l00080"></a>00080 }
+<a name="l00081"></a>00081
+<a name="l00085"></a><a class="code" href="classPxPlane.html#3ce0657187ece1138c35ea775e4d075e">00085</a> <a class="code" href="group__foundation.html#g6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="code" href="group__foundation.html#g6a774eed3cad34b0f636332a3d28c6bb">PX_FORCE_INLINE</a> <a class="code" href="classPxPlane.html" title="Representation of a plane.">PxPlane</a>(<span class="keyword">const</span> <a class="code" href="classPxVec3.html" title="3 Element vector class.">PxVec3</a>&amp; p0, <span class="keyword">const</span> <a class="code" href="classPxVec3.html" title="3 Element vector class.">PxVec3</a>&amp; p1, <span class="keyword">const</span> <a class="code" href="classPxVec3.html" title="3 Element vector class.">PxVec3</a>&amp; p2)
+<a name="l00086"></a>00086 {
+<a name="l00087"></a>00087 n = (p1 - p0).cross(p2 - p0).getNormalized();
+<a name="l00088"></a>00088 d = -p0.<a class="code" href="classPxVec3.html#f29c27e8aae481d97570e7990388bdf5" title="returns the scalar product of this and other.">dot</a>(n);
+<a name="l00089"></a>00089 }
+<a name="l00090"></a>00090
+<a name="l00094"></a><a class="code" href="classPxPlane.html#53ceb7e1cf89c4ad8a2190d65e27973f">00094</a> <a class="code" href="group__foundation.html#g6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="code" href="group__foundation.html#gcb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> <a class="code" href="classPxPlane.html" title="Representation of a plane.">PxPlane</a>&amp; p)<span class="keyword"> const</span>
+<a name="l00095"></a>00095 <span class="keyword"> </span>{
+<a name="l00096"></a>00096 <span class="keywordflow">return</span> n == p.<a class="code" href="classPxPlane.html#5697986eb1240eafe0261f453c5a7065" title="The normal to the plane.">n</a> &amp;&amp; d == p.<a class="code" href="classPxPlane.html#7cf263ac8ebddc47953a3fcbfc0a0455" title="The distance from the origin.">d</a>;
+<a name="l00097"></a>00097 }
+<a name="l00098"></a>00098
+<a name="l00099"></a><a class="code" href="classPxPlane.html#62350635f430e98c8c752b3649401803">00099</a> <a class="code" href="group__foundation.html#g6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="code" href="group__foundation.html#g6a774eed3cad34b0f636332a3d28c6bb">PX_FORCE_INLINE</a> <span class="keywordtype">float</span> distance(<span class="keyword">const</span> <a class="code" href="classPxVec3.html" title="3 Element vector class.">PxVec3</a>&amp; p)<span class="keyword"> const</span>
+<a name="l00100"></a>00100 <span class="keyword"> </span>{
+<a name="l00101"></a>00101 <span class="keywordflow">return</span> p.<a class="code" href="classPxVec3.html#f29c27e8aae481d97570e7990388bdf5" title="returns the scalar product of this and other.">dot</a>(n) + d;
+<a name="l00102"></a>00102 }
+<a name="l00103"></a>00103
+<a name="l00104"></a><a class="code" href="classPxPlane.html#becea8070578abddd21160f5bd5450e8">00104</a> <a class="code" href="group__foundation.html#g6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="code" href="group__foundation.html#g6a774eed3cad34b0f636332a3d28c6bb">PX_FORCE_INLINE</a> <span class="keywordtype">bool</span> contains(<span class="keyword">const</span> <a class="code" href="classPxVec3.html" title="3 Element vector class.">PxVec3</a>&amp; p)<span class="keyword"> const</span>
+<a name="l00105"></a>00105 <span class="keyword"> </span>{
+<a name="l00106"></a>00106 <span class="keywordflow">return</span> <a class="code" href="group__foundation.html#gf72e1dce9e874da7b92cbc0ea5e4e30d" title="abs returns the absolute value of its argument.">PxAbs</a>(distance(p)) &lt; (1.0e-7f);
+<a name="l00107"></a>00107 }
+<a name="l00108"></a>00108
+<a name="l00112"></a><a class="code" href="classPxPlane.html#3d23d45c05f3ad071d8f77cf78a5b231">00112</a> <a class="code" href="group__foundation.html#g6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="code" href="group__foundation.html#g6a774eed3cad34b0f636332a3d28c6bb">PX_FORCE_INLINE</a> <a class="code" href="classPxVec3.html" title="3 Element vector class.">PxVec3</a> project(<span class="keyword">const</span> <a class="code" href="classPxVec3.html" title="3 Element vector class.">PxVec3</a>&amp; p)<span class="keyword"> const</span>
+<a name="l00113"></a>00113 <span class="keyword"> </span>{
+<a name="l00114"></a>00114 <span class="keywordflow">return</span> p - n * distance(p);
+<a name="l00115"></a>00115 }
+<a name="l00116"></a>00116
+<a name="l00120"></a><a class="code" href="classPxPlane.html#b2e1652edb0075afcdf4e28f513ec736">00120</a> <a class="code" href="group__foundation.html#g6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="code" href="group__foundation.html#g6a774eed3cad34b0f636332a3d28c6bb">PX_FORCE_INLINE</a> <a class="code" href="classPxVec3.html" title="3 Element vector class.">PxVec3</a> pointInPlane()<span class="keyword"> const</span>
+<a name="l00121"></a>00121 <span class="keyword"> </span>{
+<a name="l00122"></a>00122 <span class="keywordflow">return</span> -n * d;
+<a name="l00123"></a>00123 }
+<a name="l00124"></a>00124
+<a name="l00129"></a><a class="code" href="classPxPlane.html#37c94eda03f24e3caed2e7739940c14a">00129</a> <a class="code" href="group__foundation.html#g6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="code" href="group__foundation.html#g6a774eed3cad34b0f636332a3d28c6bb">PX_FORCE_INLINE</a> <span class="keywordtype">void</span> normalize()
+<a name="l00130"></a>00130 {
+<a name="l00131"></a>00131 <span class="keywordtype">float</span> denom = 1.0f / n.magnitude();
+<a name="l00132"></a>00132 n *= denom;
+<a name="l00133"></a>00133 d *= denom;
+<a name="l00134"></a>00134 }
+<a name="l00135"></a>00135
+<a name="l00136"></a><a class="code" href="classPxPlane.html#5697986eb1240eafe0261f453c5a7065">00136</a> <a class="code" href="classPxVec3.html" title="3 Element vector class.">PxVec3</a> n;
+<a name="l00137"></a><a class="code" href="classPxPlane.html#7cf263ac8ebddc47953a3fcbfc0a0455">00137</a> <span class="keywordtype">float</span> d;
+<a name="l00138"></a>00138 };
+<a name="l00139"></a>00139
+<a name="l00140"></a>00140 <span class="preprocessor">#if !PX_DOXYGEN</span>
+<a name="l00141"></a>00141 <span class="preprocessor"></span>} <span class="comment">// namespace physx</span>
+<a name="l00142"></a>00142 <span class="preprocessor">#endif</span>
+<a name="l00143"></a>00143 <span class="preprocessor"></span>
+<a name="l00145"></a>00145 <span class="preprocessor">#endif // #ifndef PXFOUNDATION_PXPLANE_H</span>
+</pre></div></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>