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/PxMat33_8h-source.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/PxMat33_8h-source.html')
| -rw-r--r-- | PhysX_3.4/Documentation/PhysXAPI/files/PxMat33_8h-source.html | 342 |
1 files changed, 342 insertions, 0 deletions
diff --git a/PhysX_3.4/Documentation/PhysXAPI/files/PxMat33_8h-source.html b/PhysX_3.4/Documentation/PhysXAPI/files/PxMat33_8h-source.html new file mode 100644 index 00000000..62562f4b --- /dev/null +++ b/PhysX_3.4/Documentation/PhysXAPI/files/PxMat33_8h-source.html @@ -0,0 +1,342 @@ +<html> + <head> + <title>NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxMat33.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> + <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 --> +<h1>PxMat33.h</h1><a href="PxMat33_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_PXMAT33_H</span> +<a name="l00031"></a>00031 <span class="preprocessor"></span><span class="preprocessor">#define PXFOUNDATION_PXMAT33_H</span> +<a name="l00032"></a>00032 <span class="preprocessor"></span> +<a name="l00036"></a>00036 <span class="preprocessor">#include "<a class="code" href="PxVec3_8h.html">foundation/PxVec3.h</a>"</span> +<a name="l00037"></a>00037 <span class="preprocessor">#include "<a class="code" href="PxQuat_8h.html">foundation/PxQuat.h</a>"</span> +<a name="l00038"></a>00038 +<a name="l00039"></a>00039 <span class="preprocessor">#if !PX_DOXYGEN</span> +<a name="l00040"></a>00040 <span class="preprocessor"></span><span class="keyword">namespace </span>physx +<a name="l00041"></a>00041 { +<a name="l00042"></a>00042 <span class="preprocessor">#endif</span> +<a name="l00043"></a>00043 <span class="preprocessor"></span> +<a name="l00090"></a><a class="code" href="classPxMat33.html">00090</a> <span class="keyword">class </span><a class="code" href="classPxMat33.html" title="3x3 matrix class">PxMat33</a> +<a name="l00091"></a>00091 { +<a name="l00092"></a>00092 <span class="keyword">public</span>: +<a name="l00094"></a><a class="code" href="classPxMat33.html#20e5403af0f03ef612f64af16ddee6ce">00094</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="classPxMat33.html" title="3x3 matrix class">PxMat33</a>() +<a name="l00095"></a>00095 { +<a name="l00096"></a>00096 } +<a name="l00097"></a>00097 +<a name="l00099"></a><a class="code" href="classPxMat33.html#dfcaf1c5e22009651cd588a4d4944bb7">00099</a> <a class="code" href="group__foundation.html#g6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="code" href="group__foundation.html#gcb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a> <a class="code" href="classPxMat33.html" title="3x3 matrix class">PxMat33</a>(<a class="code" href="group__foundation.html#g70160ca5bbafef277790b3e0f12baf38">PxIDENTITY</a> r) +<a name="l00100"></a>00100 : column0(1.0f, 0.0f, 0.0f), column1(0.0f, 1.0f, 0.0f), column2(0.0f, 0.0f, 1.0f) +<a name="l00101"></a>00101 { +<a name="l00102"></a>00102 <a class="code" href="group__foundation.html#g3b618390d8743c532c4131cb931df43a">PX_UNUSED</a>(r); +<a name="l00103"></a>00103 } +<a name="l00104"></a>00104 +<a name="l00106"></a><a class="code" href="classPxMat33.html#b670e3f9978de23e3765680bcf90aefb">00106</a> <a class="code" href="group__foundation.html#g6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="code" href="group__foundation.html#gcb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a> <a class="code" href="classPxMat33.html" title="3x3 matrix class">PxMat33</a>(<a class="code" href="group__foundation.html#gc10bd69c94c165a52f6de39678ef9d4c">PxZERO</a> r) : column0(0.0f), column1(0.0f), column2(0.0f) +<a name="l00107"></a>00107 { +<a name="l00108"></a>00108 <a class="code" href="group__foundation.html#g3b618390d8743c532c4131cb931df43a">PX_UNUSED</a>(r); +<a name="l00109"></a>00109 } +<a name="l00110"></a>00110 +<a name="l00112"></a><a class="code" href="classPxMat33.html#3264dcb23397993b4a861b9e4ddf55ff">00112</a> <a class="code" href="group__foundation.html#g6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="code" href="classPxMat33.html" title="3x3 matrix class">PxMat33</a>(<span class="keyword">const</span> <a class="code" href="classPxVec3.html" title="3 Element vector class.">PxVec3</a>& col0, <span class="keyword">const</span> <a class="code" href="classPxVec3.html" title="3 Element vector class.">PxVec3</a>& col1, <span class="keyword">const</span> <a class="code" href="classPxVec3.html" title="3 Element vector class.">PxVec3</a>& col2) +<a name="l00113"></a>00113 : column0(col0), column1(col1), column2(col2) +<a name="l00114"></a>00114 { +<a name="l00115"></a>00115 } +<a name="l00116"></a>00116 +<a name="l00118"></a><a class="code" href="classPxMat33.html#92525fe88727f40493acfd0857680fc4">00118</a> <span class="keyword">explicit</span> <a class="code" href="group__foundation.html#g6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="code" href="group__foundation.html#gcb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a> <a class="code" href="classPxMat33.html" title="3x3 matrix class">PxMat33</a>(<span class="keywordtype">float</span> r) +<a name="l00119"></a>00119 : column0(r, 0.0f, 0.0f), column1(0.0f, r, 0.0f), column2(0.0f, 0.0f, r) +<a name="l00120"></a>00120 { +<a name="l00121"></a>00121 } +<a name="l00122"></a>00122 +<a name="l00124"></a><a class="code" href="classPxMat33.html#73231a8d10a61fe85c6a3b2fab81a7f1">00124</a> <span class="keyword">explicit</span> <a class="code" href="group__foundation.html#g6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="code" href="group__foundation.html#gcb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a> <a class="code" href="classPxMat33.html" title="3x3 matrix class">PxMat33</a>(<span class="keywordtype">float</span> values[]) +<a name="l00125"></a>00125 : column0(values[0], values[1], values[2]) +<a name="l00126"></a>00126 , column1(values[3], values[4], values[5]) +<a name="l00127"></a>00127 , column2(values[6], values[7], values[8]) +<a name="l00128"></a>00128 { +<a name="l00129"></a>00129 } +<a name="l00130"></a>00130 +<a name="l00132"></a><a class="code" href="classPxMat33.html#62d174ae93bfe40e6637423b37a7be3f">00132</a> <span class="keyword">explicit</span> <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="classPxMat33.html" title="3x3 matrix class">PxMat33</a>(<span class="keyword">const</span> <a class="code" href="classPxQuat.html" title="This is a quaternion class. For more information on quaternion mathematics consult...">PxQuat</a>& q) +<a name="l00133"></a>00133 { +<a name="l00134"></a>00134 <span class="keyword">const</span> <span class="keywordtype">float</span> x = q.<a class="code" href="classPxQuat.html#c7275be0f2d9162cff34b2d43f2ab179">x</a>; +<a name="l00135"></a>00135 <span class="keyword">const</span> <span class="keywordtype">float</span> y = q.<a class="code" href="classPxQuat.html#0988cef7bc3fbdcd8cf37974c5edd611">y</a>; +<a name="l00136"></a>00136 <span class="keyword">const</span> <span class="keywordtype">float</span> z = q.<a class="code" href="classPxQuat.html#6773bfd82393a8dde22ddef5f0900d06">z</a>; +<a name="l00137"></a>00137 <span class="keyword">const</span> <span class="keywordtype">float</span> w = q.<a class="code" href="classPxQuat.html#84fb33d995ed4e6a26ac3f22523f0b54">w</a>; +<a name="l00138"></a>00138 +<a name="l00139"></a>00139 <span class="keyword">const</span> <span class="keywordtype">float</span> x2 = x + x; +<a name="l00140"></a>00140 <span class="keyword">const</span> <span class="keywordtype">float</span> y2 = y + y; +<a name="l00141"></a>00141 <span class="keyword">const</span> <span class="keywordtype">float</span> z2 = z + z; +<a name="l00142"></a>00142 +<a name="l00143"></a>00143 <span class="keyword">const</span> <span class="keywordtype">float</span> xx = x2 * x; +<a name="l00144"></a>00144 <span class="keyword">const</span> <span class="keywordtype">float</span> yy = y2 * y; +<a name="l00145"></a>00145 <span class="keyword">const</span> <span class="keywordtype">float</span> zz = z2 * z; +<a name="l00146"></a>00146 +<a name="l00147"></a>00147 <span class="keyword">const</span> <span class="keywordtype">float</span> xy = x2 * y; +<a name="l00148"></a>00148 <span class="keyword">const</span> <span class="keywordtype">float</span> xz = x2 * z; +<a name="l00149"></a>00149 <span class="keyword">const</span> <span class="keywordtype">float</span> xw = x2 * w; +<a name="l00150"></a>00150 +<a name="l00151"></a>00151 <span class="keyword">const</span> <span class="keywordtype">float</span> yz = y2 * z; +<a name="l00152"></a>00152 <span class="keyword">const</span> <span class="keywordtype">float</span> yw = y2 * w; +<a name="l00153"></a>00153 <span class="keyword">const</span> <span class="keywordtype">float</span> zw = z2 * w; +<a name="l00154"></a>00154 +<a name="l00155"></a>00155 column0 = <a class="code" href="classPxVec3.html" title="3 Element vector class.">PxVec3</a>(1.0f - yy - zz, xy + zw, xz - yw); +<a name="l00156"></a>00156 column1 = <a class="code" href="classPxVec3.html" title="3 Element vector class.">PxVec3</a>(xy - zw, 1.0f - xx - zz, yz + xw); +<a name="l00157"></a>00157 column2 = <a class="code" href="classPxVec3.html" title="3 Element vector class.">PxVec3</a>(xz + yw, yz - xw, 1.0f - xx - yy); +<a name="l00158"></a>00158 } +<a name="l00159"></a>00159 +<a name="l00161"></a><a class="code" href="classPxMat33.html#fb87a7690460b3cbaa8823a1a4a96531">00161</a> <a class="code" href="group__foundation.html#g6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="code" href="group__foundation.html#gcb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a> <a class="code" href="classPxMat33.html" title="3x3 matrix class">PxMat33</a>(<span class="keyword">const</span> <a class="code" href="classPxMat33.html" title="3x3 matrix class">PxMat33</a>& other) +<a name="l00162"></a>00162 : column0(other.column0), column1(other.column1), column2(other.column2) +<a name="l00163"></a>00163 { +<a name="l00164"></a>00164 } +<a name="l00165"></a>00165 +<a name="l00167"></a><a class="code" href="classPxMat33.html#dcd8ef696b2539be02bc61bcd61dcbc4">00167</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="classPxMat33.html" title="3x3 matrix class">PxMat33</a>& operator=(<span class="keyword">const</span> <a class="code" href="classPxMat33.html" title="3x3 matrix class">PxMat33</a>& other) +<a name="l00168"></a>00168 { +<a name="l00169"></a>00169 column0 = other.<a class="code" href="classPxMat33.html#89d12d4e50ffc5ef8e480bdd3dadb78a">column0</a>; +<a name="l00170"></a>00170 column1 = other.<a class="code" href="classPxMat33.html#62f190479e12e7b9ec5cf831b23c95e9">column1</a>; +<a name="l00171"></a>00171 column2 = other.<a class="code" href="classPxMat33.html#9af2a3d4f9cca979c3e46a6406de6957">column2</a>; +<a name="l00172"></a>00172 <span class="keywordflow">return</span> *<span class="keyword">this</span>; +<a name="l00173"></a>00173 } +<a name="l00174"></a>00174 +<a name="l00176"></a><a class="code" href="classPxMat33.html#e7052afa072d3c45c1f570a6a794c6a5">00176</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="keyword">static</span> <span class="keyword">const</span> <a class="code" href="classPxMat33.html" title="3x3 matrix class">PxMat33</a> createDiagonal(<span class="keyword">const</span> <a class="code" href="classPxVec3.html" title="3 Element vector class.">PxVec3</a>& d) +<a name="l00177"></a>00177 { +<a name="l00178"></a>00178 <span class="keywordflow">return</span> <a class="code" href="classPxMat33.html" title="3x3 matrix class">PxMat33</a>(<a class="code" href="classPxVec3.html" title="3 Element vector class.">PxVec3</a>(d.<a class="code" href="classPxVec3.html#391194bca8291161c06254f4ac2b6ada">x</a>, 0.0f, 0.0f), <a class="code" href="classPxVec3.html" title="3 Element vector class.">PxVec3</a>(0.0f, d.<a class="code" href="classPxVec3.html#29958700f50da2204edc519b47706a05">y</a>, 0.0f), <a class="code" href="classPxVec3.html" title="3 Element vector class.">PxVec3</a>(0.0f, 0.0f, d.<a class="code" href="classPxVec3.html#50d67b162b99b904c3f362ad0415dbca">z</a>)); +<a name="l00179"></a>00179 } +<a name="l00180"></a>00180 +<a name="l00184"></a><a class="code" href="classPxMat33.html#2cbc18ab05436d939dfcd42502d2a159">00184</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="classPxMat33.html" title="3x3 matrix class">PxMat33</a>& m)<span class="keyword"> const</span> +<a name="l00185"></a>00185 <span class="keyword"> </span>{ +<a name="l00186"></a>00186 <span class="keywordflow">return</span> column0 == m.<a class="code" href="classPxMat33.html#89d12d4e50ffc5ef8e480bdd3dadb78a">column0</a> && column1 == m.<a class="code" href="classPxMat33.html#62f190479e12e7b9ec5cf831b23c95e9">column1</a> && column2 == m.<a class="code" href="classPxMat33.html#9af2a3d4f9cca979c3e46a6406de6957">column2</a>; +<a name="l00187"></a>00187 } +<a name="l00188"></a>00188 +<a name="l00190"></a><a class="code" href="classPxMat33.html#4ac2e5e46952e91a18126a5de02d2697">00190</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="keyword">const</span> <a class="code" href="classPxMat33.html" title="3x3 matrix class">PxMat33</a> getTranspose()<span class="keyword"> const</span> +<a name="l00191"></a>00191 <span class="keyword"> </span>{ +<a name="l00192"></a>00192 <span class="keyword">const</span> <a class="code" href="classPxVec3.html" title="3 Element vector class.">PxVec3</a> v0(column0.x, column1.x, column2.x); +<a name="l00193"></a>00193 <span class="keyword">const</span> <a class="code" href="classPxVec3.html" title="3 Element vector class.">PxVec3</a> v1(column0.y, column1.y, column2.y); +<a name="l00194"></a>00194 <span class="keyword">const</span> <a class="code" href="classPxVec3.html" title="3 Element vector class.">PxVec3</a> v2(column0.z, column1.z, column2.z); +<a name="l00195"></a>00195 +<a name="l00196"></a>00196 <span class="keywordflow">return</span> <a class="code" href="classPxMat33.html" title="3x3 matrix class">PxMat33</a>(v0, v1, v2); +<a name="l00197"></a>00197 } +<a name="l00198"></a>00198 +<a name="l00200"></a><a class="code" href="classPxMat33.html#43f0579a5d59e0dba2693e3e9d980d00">00200</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="keyword">const</span> <a class="code" href="classPxMat33.html" title="3x3 matrix class">PxMat33</a> getInverse()<span class="keyword"> const</span> +<a name="l00201"></a>00201 <span class="keyword"> </span>{ +<a name="l00202"></a>00202 <span class="keyword">const</span> <span class="keywordtype">float</span> det = getDeterminant(); +<a name="l00203"></a>00203 <a class="code" href="classPxMat33.html" title="3x3 matrix class">PxMat33</a> inverse; +<a name="l00204"></a>00204 +<a name="l00205"></a>00205 <span class="keywordflow">if</span>(det != 0) +<a name="l00206"></a>00206 { +<a name="l00207"></a>00207 <span class="keyword">const</span> <span class="keywordtype">float</span> invDet = 1.0f / det; +<a name="l00208"></a>00208 +<a name="l00209"></a>00209 inverse.<a class="code" href="classPxMat33.html#89d12d4e50ffc5ef8e480bdd3dadb78a">column0</a>.<a class="code" href="classPxVec3.html#391194bca8291161c06254f4ac2b6ada">x</a> = invDet * (column1.y * column2.z - column2.y * column1.z); +<a name="l00210"></a>00210 inverse.<a class="code" href="classPxMat33.html#89d12d4e50ffc5ef8e480bdd3dadb78a">column0</a>.<a class="code" href="classPxVec3.html#29958700f50da2204edc519b47706a05">y</a> = invDet * -(column0.y * column2.z - column2.y * column0.z); +<a name="l00211"></a>00211 inverse.<a class="code" href="classPxMat33.html#89d12d4e50ffc5ef8e480bdd3dadb78a">column0</a>.<a class="code" href="classPxVec3.html#50d67b162b99b904c3f362ad0415dbca">z</a> = invDet * (column0.y * column1.z - column0.z * column1.y); +<a name="l00212"></a>00212 +<a name="l00213"></a>00213 inverse.<a class="code" href="classPxMat33.html#62f190479e12e7b9ec5cf831b23c95e9">column1</a>.<a class="code" href="classPxVec3.html#391194bca8291161c06254f4ac2b6ada">x</a> = invDet * -(column1.x * column2.z - column1.z * column2.x); +<a name="l00214"></a>00214 inverse.<a class="code" href="classPxMat33.html#62f190479e12e7b9ec5cf831b23c95e9">column1</a>.<a class="code" href="classPxVec3.html#29958700f50da2204edc519b47706a05">y</a> = invDet * (column0.x * column2.z - column0.z * column2.x); +<a name="l00215"></a>00215 inverse.<a class="code" href="classPxMat33.html#62f190479e12e7b9ec5cf831b23c95e9">column1</a>.<a class="code" href="classPxVec3.html#50d67b162b99b904c3f362ad0415dbca">z</a> = invDet * -(column0.x * column1.z - column0.z * column1.x); +<a name="l00216"></a>00216 +<a name="l00217"></a>00217 inverse.<a class="code" href="classPxMat33.html#9af2a3d4f9cca979c3e46a6406de6957">column2</a>.<a class="code" href="classPxVec3.html#391194bca8291161c06254f4ac2b6ada">x</a> = invDet * (column1.x * column2.y - column1.y * column2.x); +<a name="l00218"></a>00218 inverse.<a class="code" href="classPxMat33.html#9af2a3d4f9cca979c3e46a6406de6957">column2</a>.<a class="code" href="classPxVec3.html#29958700f50da2204edc519b47706a05">y</a> = invDet * -(column0.x * column2.y - column0.y * column2.x); +<a name="l00219"></a>00219 inverse.<a class="code" href="classPxMat33.html#9af2a3d4f9cca979c3e46a6406de6957">column2</a>.<a class="code" href="classPxVec3.html#50d67b162b99b904c3f362ad0415dbca">z</a> = invDet * (column0.x * column1.y - column1.x * column0.y); +<a name="l00220"></a>00220 +<a name="l00221"></a>00221 <span class="keywordflow">return</span> inverse; +<a name="l00222"></a>00222 } +<a name="l00223"></a>00223 <span class="keywordflow">else</span> +<a name="l00224"></a>00224 { +<a name="l00225"></a>00225 <span class="keywordflow">return</span> <a class="code" href="classPxMat33.html" title="3x3 matrix class">PxMat33</a>(<a class="code" href="group__foundation.html#gg70160ca5bbafef277790b3e0f12baf3895e14c69af8048aedd218cd6e96ad50f">PxIdentity</a>); +<a name="l00226"></a>00226 } +<a name="l00227"></a>00227 } +<a name="l00228"></a>00228 +<a name="l00230"></a><a class="code" href="classPxMat33.html#3222f01a0b2ebdd8257a6d5ef00939f2">00230</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">float</span> getDeterminant()<span class="keyword"> const</span> +<a name="l00231"></a>00231 <span class="keyword"> </span>{ +<a name="l00232"></a>00232 <span class="keywordflow">return</span> column0.dot(column1.cross(column2)); +<a name="l00233"></a>00233 } +<a name="l00234"></a>00234 +<a name="l00236"></a><a class="code" href="classPxMat33.html#c1ea3b5421f0995ccae9a12326d1dc64">00236</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="keyword">const</span> <a class="code" href="classPxMat33.html" title="3x3 matrix class">PxMat33</a> operator-()<span class="keyword"> const</span> +<a name="l00237"></a>00237 <span class="keyword"> </span>{ +<a name="l00238"></a>00238 <span class="keywordflow">return</span> <a class="code" href="classPxMat33.html" title="3x3 matrix class">PxMat33</a>(-column0, -column1, -column2); +<a name="l00239"></a>00239 } +<a name="l00240"></a>00240 +<a name="l00242"></a><a class="code" href="classPxMat33.html#83cc74145029b7e684ff43aa80372263">00242</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="keyword">const</span> <a class="code" href="classPxMat33.html" title="3x3 matrix class">PxMat33</a> <a class="code" href="group__foundation.html#g9f9ec0bd1ad1ead5b8d88ff933363cad" title="Addition operator.">operator+</a>(<span class="keyword">const</span> <a class="code" href="classPxMat33.html" title="3x3 matrix class">PxMat33</a>& other)<span class="keyword"> const</span> +<a name="l00243"></a>00243 <span class="keyword"> </span>{ +<a name="l00244"></a>00244 <span class="keywordflow">return</span> <a class="code" href="classPxMat33.html" title="3x3 matrix class">PxMat33</a>(column0 + other.<a class="code" href="classPxMat33.html#89d12d4e50ffc5ef8e480bdd3dadb78a">column0</a>, column1 + other.<a class="code" href="classPxMat33.html#62f190479e12e7b9ec5cf831b23c95e9">column1</a>, column2 + other.<a class="code" href="classPxMat33.html#9af2a3d4f9cca979c3e46a6406de6957">column2</a>); +<a name="l00245"></a>00245 } +<a name="l00246"></a>00246 +<a name="l00248"></a><a class="code" href="classPxMat33.html#1de9919f3cf194f240f8486a92827a9a">00248</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="keyword">const</span> <a class="code" href="classPxMat33.html" title="3x3 matrix class">PxMat33</a> operator-(<span class="keyword">const</span> <a class="code" href="classPxMat33.html" title="3x3 matrix class">PxMat33</a>& other)<span class="keyword"> const</span> +<a name="l00249"></a>00249 <span class="keyword"> </span>{ +<a name="l00250"></a>00250 <span class="keywordflow">return</span> <a class="code" href="classPxMat33.html" title="3x3 matrix class">PxMat33</a>(column0 - other.<a class="code" href="classPxMat33.html#89d12d4e50ffc5ef8e480bdd3dadb78a">column0</a>, column1 - other.<a class="code" href="classPxMat33.html#62f190479e12e7b9ec5cf831b23c95e9">column1</a>, column2 - other.<a class="code" href="classPxMat33.html#9af2a3d4f9cca979c3e46a6406de6957">column2</a>); +<a name="l00251"></a>00251 } +<a name="l00252"></a>00252 +<a name="l00254"></a><a class="code" href="classPxMat33.html#dbd53b072a43157ed0d34b85cdfc6236">00254</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="keyword">const</span> <a class="code" href="classPxMat33.html" title="3x3 matrix class">PxMat33</a> <a class="code" href="group__foundation.html#ga7415102b45174d3eda4d4f2f12127bc">operator*</a>(<span class="keywordtype">float</span> scalar)<span class="keyword"> const</span> +<a name="l00255"></a>00255 <span class="keyword"> </span>{ +<a name="l00256"></a>00256 <span class="keywordflow">return</span> <a class="code" href="classPxMat33.html" title="3x3 matrix class">PxMat33</a>(column0 * scalar, column1 * scalar, column2 * scalar); +<a name="l00257"></a>00257 } +<a name="l00258"></a>00258 +<a name="l00259"></a>00259 <span class="keyword">friend</span> <a class="code" href="classPxMat33.html" title="3x3 matrix class">PxMat33</a> <a class="code" href="group__foundation.html#ga7415102b45174d3eda4d4f2f12127bc">operator*</a>(<span class="keywordtype">float</span>, <span class="keyword">const</span> <a class="code" href="classPxMat33.html" title="3x3 matrix class">PxMat33</a>&); +<a name="l00260"></a>00260 +<a name="l00262"></a><a class="code" href="classPxMat33.html#de5cf01130838a9025873ffd0d378dda">00262</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="keyword">const</span> <a class="code" href="classPxVec3.html" title="3 Element vector class.">PxVec3</a> <a class="code" href="group__foundation.html#ga7415102b45174d3eda4d4f2f12127bc">operator*</a>(<span class="keyword">const</span> <a class="code" href="classPxVec3.html" title="3 Element vector class.">PxVec3</a>& vec)<span class="keyword"> const</span> +<a name="l00263"></a>00263 <span class="keyword"> </span>{ +<a name="l00264"></a>00264 <span class="keywordflow">return</span> transform(vec); +<a name="l00265"></a>00265 } +<a name="l00266"></a>00266 +<a name="l00267"></a>00267 <span class="comment">// a <op>= b operators</span> +<a name="l00268"></a>00268 +<a name="l00270"></a><a class="code" href="classPxMat33.html#070bcd66d995493569a0b1cbe5594502">00270</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="keyword">const</span> <a class="code" href="classPxMat33.html" title="3x3 matrix class">PxMat33</a> <a class="code" href="group__foundation.html#ga7415102b45174d3eda4d4f2f12127bc">operator*</a>(<span class="keyword">const</span> <a class="code" href="classPxMat33.html" title="3x3 matrix class">PxMat33</a>& other)<span class="keyword"> const</span> +<a name="l00271"></a>00271 <span class="keyword"> </span>{ +<a name="l00272"></a>00272 <span class="comment">// Rows from this <dot> columns from other</span> +<a name="l00273"></a>00273 <span class="comment">// column0 = transform(other.column0) etc</span> +<a name="l00274"></a>00274 <span class="keywordflow">return</span> <a class="code" href="classPxMat33.html" title="3x3 matrix class">PxMat33</a>(transform(other.<a class="code" href="classPxMat33.html#89d12d4e50ffc5ef8e480bdd3dadb78a">column0</a>), transform(other.<a class="code" href="classPxMat33.html#62f190479e12e7b9ec5cf831b23c95e9">column1</a>), transform(other.<a class="code" href="classPxMat33.html#9af2a3d4f9cca979c3e46a6406de6957">column2</a>)); +<a name="l00275"></a>00275 } +<a name="l00276"></a>00276 +<a name="l00278"></a><a class="code" href="classPxMat33.html#89aba25369f97b0e27eb759e74e7d02e">00278</a> <a class="code" href="group__foundation.html#g6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="code" href="group__foundation.html#gcb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a> <a class="code" href="classPxMat33.html" title="3x3 matrix class">PxMat33</a>& operator+=(<span class="keyword">const</span> <a class="code" href="classPxMat33.html" title="3x3 matrix class">PxMat33</a>& other) +<a name="l00279"></a>00279 { +<a name="l00280"></a>00280 column0 += other.<a class="code" href="classPxMat33.html#89d12d4e50ffc5ef8e480bdd3dadb78a">column0</a>; +<a name="l00281"></a>00281 column1 += other.<a class="code" href="classPxMat33.html#62f190479e12e7b9ec5cf831b23c95e9">column1</a>; +<a name="l00282"></a>00282 column2 += other.<a class="code" href="classPxMat33.html#9af2a3d4f9cca979c3e46a6406de6957">column2</a>; +<a name="l00283"></a>00283 <span class="keywordflow">return</span> *<span class="keyword">this</span>; +<a name="l00284"></a>00284 } +<a name="l00285"></a>00285 +<a name="l00287"></a><a class="code" href="classPxMat33.html#ac22851412f41cb0e3522eb3d18cc5ee">00287</a> <a class="code" href="group__foundation.html#g6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="code" href="group__foundation.html#gcb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a> <a class="code" href="classPxMat33.html" title="3x3 matrix class">PxMat33</a>& operator-=(<span class="keyword">const</span> <a class="code" href="classPxMat33.html" title="3x3 matrix class">PxMat33</a>& other) +<a name="l00288"></a>00288 { +<a name="l00289"></a>00289 column0 -= other.<a class="code" href="classPxMat33.html#89d12d4e50ffc5ef8e480bdd3dadb78a">column0</a>; +<a name="l00290"></a>00290 column1 -= other.<a class="code" href="classPxMat33.html#62f190479e12e7b9ec5cf831b23c95e9">column1</a>; +<a name="l00291"></a>00291 column2 -= other.<a class="code" href="classPxMat33.html#9af2a3d4f9cca979c3e46a6406de6957">column2</a>; +<a name="l00292"></a>00292 <span class="keywordflow">return</span> *<span class="keyword">this</span>; +<a name="l00293"></a>00293 } +<a name="l00294"></a>00294 +<a name="l00296"></a><a class="code" href="classPxMat33.html#d1e0061d404caf3c1da715b17fca97e4">00296</a> <a class="code" href="group__foundation.html#g6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="code" href="group__foundation.html#gcb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a> <a class="code" href="classPxMat33.html" title="3x3 matrix class">PxMat33</a>& operator*=(<span class="keywordtype">float</span> scalar) +<a name="l00297"></a>00297 { +<a name="l00298"></a>00298 column0 *= scalar; +<a name="l00299"></a>00299 column1 *= scalar; +<a name="l00300"></a>00300 column2 *= scalar; +<a name="l00301"></a>00301 <span class="keywordflow">return</span> *<span class="keyword">this</span>; +<a name="l00302"></a>00302 } +<a name="l00303"></a>00303 +<a name="l00305"></a><a class="code" href="classPxMat33.html#6366803e747d534cf0c920658d86ff94">00305</a> <a class="code" href="group__foundation.html#g6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="code" href="group__foundation.html#gcb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a> <a class="code" href="classPxMat33.html" title="3x3 matrix class">PxMat33</a>& operator*=(<span class="keyword">const</span> <a class="code" href="classPxMat33.html" title="3x3 matrix class">PxMat33</a>& other) +<a name="l00306"></a>00306 { +<a name="l00307"></a>00307 *<span class="keyword">this</span> = *<span class="keyword">this</span> * other; +<a name="l00308"></a>00308 <span class="keywordflow">return</span> *<span class="keyword">this</span>; +<a name="l00309"></a>00309 } +<a name="l00310"></a>00310 +<a name="l00312"></a><a class="code" href="classPxMat33.html#7aec56f969ff61f5ad2dd0ad6c990ffe">00312</a> <a class="code" href="group__foundation.html#gfd8f8779793627061774cfcfa1b9fbd7">PX_DEPRECATED</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> operator()(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> row, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> col)<span class="keyword"> const</span> +<a name="l00313"></a>00313 <span class="keyword"> </span>{ +<a name="l00314"></a>00314 <span class="keywordflow">return</span> (*<span class="keyword">this</span>)[col][row]; +<a name="l00315"></a>00315 } +<a name="l00316"></a>00316 +<a name="l00318"></a><a class="code" href="classPxMat33.html#c2adb5d01b20bcdaed5fb418b97fe170">00318</a> <a class="code" href="group__foundation.html#gfd8f8779793627061774cfcfa1b9fbd7">PX_DEPRECATED</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>& operator()(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> row, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> col) +<a name="l00319"></a>00319 { +<a name="l00320"></a>00320 <span class="keywordflow">return</span> (*<span class="keyword">this</span>)[col][row]; +<a name="l00321"></a>00321 } +<a name="l00322"></a>00322 +<a name="l00323"></a>00323 <span class="comment">// Transform etc</span> +<a name="l00324"></a>00324 +<a name="l00326"></a><a class="code" href="classPxMat33.html#1813146e8186671dc46451d7d93cc84c">00326</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="keyword">const</span> <a class="code" href="classPxVec3.html" title="3 Element vector class.">PxVec3</a> transform(<span class="keyword">const</span> <a class="code" href="classPxVec3.html" title="3 Element vector class.">PxVec3</a>& other)<span class="keyword"> const</span> +<a name="l00327"></a>00327 <span class="keyword"> </span>{ +<a name="l00328"></a>00328 <span class="keywordflow">return</span> column0 * other.<a class="code" href="classPxVec3.html#391194bca8291161c06254f4ac2b6ada">x</a> + column1 * other.<a class="code" href="classPxVec3.html#29958700f50da2204edc519b47706a05">y</a> + column2 * other.<a class="code" href="classPxVec3.html#50d67b162b99b904c3f362ad0415dbca">z</a>; +<a name="l00329"></a>00329 } +<a name="l00330"></a>00330 +<a name="l00332"></a><a class="code" href="classPxMat33.html#49cf642f7adedebd6282ad46cec50d4f">00332</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="keyword">const</span> <a class="code" href="classPxVec3.html" title="3 Element vector class.">PxVec3</a> transformTranspose(<span class="keyword">const</span> <a class="code" href="classPxVec3.html" title="3 Element vector class.">PxVec3</a>& other)<span class="keyword"> const</span> +<a name="l00333"></a>00333 <span class="keyword"> </span>{ +<a name="l00334"></a>00334 <span class="keywordflow">return</span> <a class="code" href="classPxVec3.html" title="3 Element vector class.">PxVec3</a>(column0.dot(other), column1.dot(other), column2.dot(other)); +<a name="l00335"></a>00335 } +<a name="l00336"></a>00336 +<a name="l00337"></a><a class="code" href="classPxMat33.html#76d4aca67bb52c6b65f0384ac360364a">00337</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="keyword">const</span> <span class="keywordtype">float</span>* front()<span class="keyword"> const</span> +<a name="l00338"></a>00338 <span class="keyword"> </span>{ +<a name="l00339"></a>00339 <span class="keywordflow">return</span> &column0.x; +<a name="l00340"></a>00340 } +<a name="l00341"></a>00341 +<a name="l00342"></a><a class="code" href="classPxMat33.html#4c6d4185771a0beda1f26f87a12ba9e1">00342</a> <a class="code" href="group__foundation.html#gfd8f8779793627061774cfcfa1b9fbd7">PX_DEPRECATED</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>& operator[](<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> num) +<a name="l00343"></a>00343 { +<a name="l00344"></a>00344 <span class="keywordflow">return</span> (&column0)[num]; +<a name="l00345"></a>00345 } +<a name="l00346"></a><a class="code" href="classPxMat33.html#d1fb381de010cc5d7a6c874432dbb24f">00346</a> <a class="code" href="group__foundation.html#gfd8f8779793627061774cfcfa1b9fbd7">PX_DEPRECATED</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="keyword">const</span> <a class="code" href="classPxVec3.html" title="3 Element vector class.">PxVec3</a>& operator[](<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> num)<span class="keyword"> const</span> +<a name="l00347"></a>00347 <span class="keyword"> </span>{ +<a name="l00348"></a>00348 <span class="keywordflow">return</span> (&column0)[num]; +<a name="l00349"></a>00349 } +<a name="l00350"></a>00350 +<a name="l00351"></a>00351 <span class="comment">// Data, see above for format!</span> +<a name="l00352"></a>00352 +<a name="l00353"></a><a class="code" href="classPxMat33.html#9af2a3d4f9cca979c3e46a6406de6957">00353</a> <a class="code" href="classPxVec3.html" title="3 Element vector class.">PxVec3</a> column0, column1, column2; <span class="comment">// the three base vectors</span> +<a name="l00354"></a>00354 }; +<a name="l00355"></a>00355 +<a name="l00356"></a>00356 <span class="comment">// implementation from PxQuat.h</span> +<a name="l00357"></a><a class="code" href="group__foundation.html#gf4ea3337baa14716f97e5cae7f6047c2">00357</a> <a class="code" href="group__foundation.html#g6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="code" href="group__foundation.html#gcb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a> <a class="code" href="classPxQuat.html#fac7f63b57840965157cf720bb6faddc" title="Default constructor, does not do any initialization.">PxQuat::PxQuat</a>(<span class="keyword">const</span> <a class="code" href="classPxMat33.html" title="3x3 matrix class">PxMat33</a>& m) +<a name="l00358"></a>00358 { +<a name="l00359"></a>00359 <span class="keywordflow">if</span>(m.<a class="code" href="classPxMat33.html#9af2a3d4f9cca979c3e46a6406de6957">column2</a>.<a class="code" href="classPxVec3.html#50d67b162b99b904c3f362ad0415dbca">z</a> < 0) +<a name="l00360"></a>00360 { +<a name="l00361"></a>00361 <span class="keywordflow">if</span>(m.<a class="code" href="classPxMat33.html#89d12d4e50ffc5ef8e480bdd3dadb78a">column0</a>.<a class="code" href="classPxVec3.html#391194bca8291161c06254f4ac2b6ada">x</a> > m.<a class="code" href="classPxMat33.html#62f190479e12e7b9ec5cf831b23c95e9">column1</a>.<a class="code" href="classPxVec3.html#29958700f50da2204edc519b47706a05">y</a>) +<a name="l00362"></a>00362 { +<a name="l00363"></a>00363 <span class="keywordtype">float</span> t = 1 + m.<a class="code" href="classPxMat33.html#89d12d4e50ffc5ef8e480bdd3dadb78a">column0</a>.<a class="code" href="classPxVec3.html#391194bca8291161c06254f4ac2b6ada">x</a> - m.<a class="code" href="classPxMat33.html#62f190479e12e7b9ec5cf831b23c95e9">column1</a>.<a class="code" href="classPxVec3.html#29958700f50da2204edc519b47706a05">y</a> - m.<a class="code" href="classPxMat33.html#9af2a3d4f9cca979c3e46a6406de6957">column2</a>.<a class="code" href="classPxVec3.html#50d67b162b99b904c3f362ad0415dbca">z</a>; +<a name="l00364"></a>00364 *<span class="keyword">this</span> = <a class="code" href="classPxQuat.html#fac7f63b57840965157cf720bb6faddc" title="Default constructor, does not do any initialization.">PxQuat</a>(t, m.<a class="code" href="classPxMat33.html#89d12d4e50ffc5ef8e480bdd3dadb78a">column0</a>.<a class="code" href="classPxVec3.html#29958700f50da2204edc519b47706a05">y</a> + m.<a class="code" href="classPxMat33.html#62f190479e12e7b9ec5cf831b23c95e9">column1</a>.<a class="code" href="classPxVec3.html#391194bca8291161c06254f4ac2b6ada">x</a>, m.<a class="code" href="classPxMat33.html#9af2a3d4f9cca979c3e46a6406de6957">column2</a>.<a class="code" href="classPxVec3.html#391194bca8291161c06254f4ac2b6ada">x</a> + m.<a class="code" href="classPxMat33.html#89d12d4e50ffc5ef8e480bdd3dadb78a">column0</a>.<a class="code" href="classPxVec3.html#50d67b162b99b904c3f362ad0415dbca">z</a>, m.<a class="code" href="classPxMat33.html#62f190479e12e7b9ec5cf831b23c95e9">column1</a>.<a class="code" href="classPxVec3.html#50d67b162b99b904c3f362ad0415dbca">z</a> - m.<a class="code" href="classPxMat33.html#9af2a3d4f9cca979c3e46a6406de6957">column2</a>.<a class="code" href="classPxVec3.html#29958700f50da2204edc519b47706a05">y</a>) * +<a name="l00365"></a>00365 (0.5f / <a class="code" href="group__foundation.html#g11d5e4e77acad728886b380b5f3806f0" title="Square root.">PxSqrt</a>(t)); +<a name="l00366"></a>00366 } +<a name="l00367"></a>00367 <span class="keywordflow">else</span> +<a name="l00368"></a>00368 { +<a name="l00369"></a>00369 <span class="keywordtype">float</span> t = 1 - m.<a class="code" href="classPxMat33.html#89d12d4e50ffc5ef8e480bdd3dadb78a">column0</a>.<a class="code" href="classPxVec3.html#391194bca8291161c06254f4ac2b6ada">x</a> + m.<a class="code" href="classPxMat33.html#62f190479e12e7b9ec5cf831b23c95e9">column1</a>.<a class="code" href="classPxVec3.html#29958700f50da2204edc519b47706a05">y</a> - m.<a class="code" href="classPxMat33.html#9af2a3d4f9cca979c3e46a6406de6957">column2</a>.<a class="code" href="classPxVec3.html#50d67b162b99b904c3f362ad0415dbca">z</a>; +<a name="l00370"></a>00370 *<span class="keyword">this</span> = <a class="code" href="classPxQuat.html#fac7f63b57840965157cf720bb6faddc" title="Default constructor, does not do any initialization.">PxQuat</a>(m.<a class="code" href="classPxMat33.html#89d12d4e50ffc5ef8e480bdd3dadb78a">column0</a>.<a class="code" href="classPxVec3.html#29958700f50da2204edc519b47706a05">y</a> + m.<a class="code" href="classPxMat33.html#62f190479e12e7b9ec5cf831b23c95e9">column1</a>.<a class="code" href="classPxVec3.html#391194bca8291161c06254f4ac2b6ada">x</a>, t, m.<a class="code" href="classPxMat33.html#62f190479e12e7b9ec5cf831b23c95e9">column1</a>.<a class="code" href="classPxVec3.html#50d67b162b99b904c3f362ad0415dbca">z</a> + m.<a class="code" href="classPxMat33.html#9af2a3d4f9cca979c3e46a6406de6957">column2</a>.<a class="code" href="classPxVec3.html#29958700f50da2204edc519b47706a05">y</a>, m.<a class="code" href="classPxMat33.html#9af2a3d4f9cca979c3e46a6406de6957">column2</a>.<a class="code" href="classPxVec3.html#391194bca8291161c06254f4ac2b6ada">x</a> - m.<a class="code" href="classPxMat33.html#89d12d4e50ffc5ef8e480bdd3dadb78a">column0</a>.<a class="code" href="classPxVec3.html#50d67b162b99b904c3f362ad0415dbca">z</a>) * +<a name="l00371"></a>00371 (0.5f / <a class="code" href="group__foundation.html#g11d5e4e77acad728886b380b5f3806f0" title="Square root.">PxSqrt</a>(t)); +<a name="l00372"></a>00372 } +<a name="l00373"></a>00373 } +<a name="l00374"></a>00374 <span class="keywordflow">else</span> +<a name="l00375"></a>00375 { +<a name="l00376"></a>00376 <span class="keywordflow">if</span>(m.<a class="code" href="classPxMat33.html#89d12d4e50ffc5ef8e480bdd3dadb78a">column0</a>.<a class="code" href="classPxVec3.html#391194bca8291161c06254f4ac2b6ada">x</a> < -m.<a class="code" href="classPxMat33.html#62f190479e12e7b9ec5cf831b23c95e9">column1</a>.<a class="code" href="classPxVec3.html#29958700f50da2204edc519b47706a05">y</a>) +<a name="l00377"></a>00377 { +<a name="l00378"></a>00378 <span class="keywordtype">float</span> t = 1 - m.<a class="code" href="classPxMat33.html#89d12d4e50ffc5ef8e480bdd3dadb78a">column0</a>.<a class="code" href="classPxVec3.html#391194bca8291161c06254f4ac2b6ada">x</a> - m.<a class="code" href="classPxMat33.html#62f190479e12e7b9ec5cf831b23c95e9">column1</a>.<a class="code" href="classPxVec3.html#29958700f50da2204edc519b47706a05">y</a> + m.<a class="code" href="classPxMat33.html#9af2a3d4f9cca979c3e46a6406de6957">column2</a>.<a class="code" href="classPxVec3.html#50d67b162b99b904c3f362ad0415dbca">z</a>; +<a name="l00379"></a>00379 *<span class="keyword">this</span> = <a class="code" href="classPxQuat.html#fac7f63b57840965157cf720bb6faddc" title="Default constructor, does not do any initialization.">PxQuat</a>(m.<a class="code" href="classPxMat33.html#9af2a3d4f9cca979c3e46a6406de6957">column2</a>.<a class="code" href="classPxVec3.html#391194bca8291161c06254f4ac2b6ada">x</a> + m.<a class="code" href="classPxMat33.html#89d12d4e50ffc5ef8e480bdd3dadb78a">column0</a>.<a class="code" href="classPxVec3.html#50d67b162b99b904c3f362ad0415dbca">z</a>, m.<a class="code" href="classPxMat33.html#62f190479e12e7b9ec5cf831b23c95e9">column1</a>.<a class="code" href="classPxVec3.html#50d67b162b99b904c3f362ad0415dbca">z</a> + m.<a class="code" href="classPxMat33.html#9af2a3d4f9cca979c3e46a6406de6957">column2</a>.<a class="code" href="classPxVec3.html#29958700f50da2204edc519b47706a05">y</a>, t, m.<a class="code" href="classPxMat33.html#89d12d4e50ffc5ef8e480bdd3dadb78a">column0</a>.<a class="code" href="classPxVec3.html#29958700f50da2204edc519b47706a05">y</a> - m.<a class="code" href="classPxMat33.html#62f190479e12e7b9ec5cf831b23c95e9">column1</a>.<a class="code" href="classPxVec3.html#391194bca8291161c06254f4ac2b6ada">x</a>) * +<a name="l00380"></a>00380 (0.5f / <a class="code" href="group__foundation.html#g11d5e4e77acad728886b380b5f3806f0" title="Square root.">PxSqrt</a>(t)); +<a name="l00381"></a>00381 } +<a name="l00382"></a>00382 <span class="keywordflow">else</span> +<a name="l00383"></a>00383 { +<a name="l00384"></a>00384 <span class="keywordtype">float</span> t = 1 + m.<a class="code" href="classPxMat33.html#89d12d4e50ffc5ef8e480bdd3dadb78a">column0</a>.<a class="code" href="classPxVec3.html#391194bca8291161c06254f4ac2b6ada">x</a> + m.<a class="code" href="classPxMat33.html#62f190479e12e7b9ec5cf831b23c95e9">column1</a>.<a class="code" href="classPxVec3.html#29958700f50da2204edc519b47706a05">y</a> + m.<a class="code" href="classPxMat33.html#9af2a3d4f9cca979c3e46a6406de6957">column2</a>.<a class="code" href="classPxVec3.html#50d67b162b99b904c3f362ad0415dbca">z</a>; +<a name="l00385"></a>00385 *<span class="keyword">this</span> = <a class="code" href="classPxQuat.html#fac7f63b57840965157cf720bb6faddc" title="Default constructor, does not do any initialization.">PxQuat</a>(m.<a class="code" href="classPxMat33.html#62f190479e12e7b9ec5cf831b23c95e9">column1</a>.<a class="code" href="classPxVec3.html#50d67b162b99b904c3f362ad0415dbca">z</a> - m.<a class="code" href="classPxMat33.html#9af2a3d4f9cca979c3e46a6406de6957">column2</a>.<a class="code" href="classPxVec3.html#29958700f50da2204edc519b47706a05">y</a>, m.<a class="code" href="classPxMat33.html#9af2a3d4f9cca979c3e46a6406de6957">column2</a>.<a class="code" href="classPxVec3.html#391194bca8291161c06254f4ac2b6ada">x</a> - m.<a class="code" href="classPxMat33.html#89d12d4e50ffc5ef8e480bdd3dadb78a">column0</a>.<a class="code" href="classPxVec3.html#50d67b162b99b904c3f362ad0415dbca">z</a>, m.<a class="code" href="classPxMat33.html#89d12d4e50ffc5ef8e480bdd3dadb78a">column0</a>.<a class="code" href="classPxVec3.html#29958700f50da2204edc519b47706a05">y</a> - m.<a class="code" href="classPxMat33.html#62f190479e12e7b9ec5cf831b23c95e9">column1</a>.<a class="code" href="classPxVec3.html#391194bca8291161c06254f4ac2b6ada">x</a>, t) * +<a name="l00386"></a>00386 (0.5f / <a class="code" href="group__foundation.html#g11d5e4e77acad728886b380b5f3806f0" title="Square root.">PxSqrt</a>(t)); +<a name="l00387"></a>00387 } +<a name="l00388"></a>00388 } +<a name="l00389"></a>00389 } +<a name="l00390"></a>00390 +<a name="l00391"></a>00391 <span class="preprocessor">#if !PX_DOXYGEN</span> +<a name="l00392"></a>00392 <span class="preprocessor"></span>} <span class="comment">// namespace physx</span> +<a name="l00393"></a>00393 <span class="preprocessor">#endif</span> +<a name="l00394"></a>00394 <span class="preprocessor"></span> +<a name="l00396"></a>00396 <span class="preprocessor">#endif // #ifndef PXFOUNDATION_PXMAT33_H</span> +</pre></div></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> |