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/PxMat44_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/PxMat44_8h-source.html')
| -rw-r--r-- | PhysX_3.4/Documentation/PhysXAPI/files/PxMat44_8h-source.html | 359 |
1 files changed, 359 insertions, 0 deletions
diff --git a/PhysX_3.4/Documentation/PhysXAPI/files/PxMat44_8h-source.html b/PhysX_3.4/Documentation/PhysXAPI/files/PxMat44_8h-source.html new file mode 100644 index 00000000..50d25cf8 --- /dev/null +++ b/PhysX_3.4/Documentation/PhysXAPI/files/PxMat44_8h-source.html @@ -0,0 +1,359 @@ +<html> + <head> + <title>NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxMat44.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>PxMat44.h</h1><a href="PxMat44_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_PXMAT44_H</span> +<a name="l00031"></a>00031 <span class="preprocessor"></span><span class="preprocessor">#define PXFOUNDATION_PXMAT44_H</span> +<a name="l00032"></a>00032 <span class="preprocessor"></span> +<a name="l00036"></a>00036 <span class="preprocessor">#include "<a class="code" href="PxQuat_8h.html">foundation/PxQuat.h</a>"</span> +<a name="l00037"></a>00037 <span class="preprocessor">#include "<a class="code" href="PxVec4_8h.html">foundation/PxVec4.h</a>"</span> +<a name="l00038"></a>00038 <span class="preprocessor">#include "<a class="code" href="PxMat33_8h.html">foundation/PxMat33.h</a>"</span> +<a name="l00039"></a>00039 <span class="preprocessor">#include "<a class="code" href="PxTransform_8h.html">foundation/PxTransform.h</a>"</span> +<a name="l00040"></a>00040 +<a name="l00041"></a>00041 <span class="preprocessor">#if !PX_DOXYGEN</span> +<a name="l00042"></a>00042 <span class="preprocessor"></span><span class="keyword">namespace </span>physx +<a name="l00043"></a>00043 { +<a name="l00044"></a>00044 <span class="preprocessor">#endif</span> +<a name="l00045"></a>00045 <span class="preprocessor"></span> +<a name="l00054"></a><a class="code" href="classPxMat44.html">00054</a> <span class="keyword">class </span><a class="code" href="classPxMat44.html" title="4x4 matrix class">PxMat44</a> +<a name="l00055"></a>00055 { +<a name="l00056"></a>00056 <span class="keyword">public</span>: +<a name="l00058"></a><a class="code" href="classPxMat44.html#7f9ea125461778278eb8718761d65870">00058</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="classPxMat44.html" title="4x4 matrix class">PxMat44</a>() +<a name="l00059"></a>00059 { +<a name="l00060"></a>00060 } +<a name="l00061"></a>00061 +<a name="l00063"></a><a class="code" href="classPxMat44.html#f379d3c40dcd771a79bf9ea075d39355">00063</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="classPxMat44.html" title="4x4 matrix class">PxMat44</a>(<a class="code" href="group__foundation.html#g70160ca5bbafef277790b3e0f12baf38">PxIDENTITY</a> r) +<a name="l00064"></a>00064 : column0(1.0f, 0.0f, 0.0f, 0.0f) +<a name="l00065"></a>00065 , column1(0.0f, 1.0f, 0.0f, 0.0f) +<a name="l00066"></a>00066 , column2(0.0f, 0.0f, 1.0f, 0.0f) +<a name="l00067"></a>00067 , column3(0.0f, 0.0f, 0.0f, 1.0f) +<a name="l00068"></a>00068 { +<a name="l00069"></a>00069 <a class="code" href="group__foundation.html#g3b618390d8743c532c4131cb931df43a">PX_UNUSED</a>(r); +<a name="l00070"></a>00070 } +<a name="l00071"></a>00071 +<a name="l00073"></a><a class="code" href="classPxMat44.html#d3f2711438156b71d15b2ec1750c612a">00073</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="classPxMat44.html" title="4x4 matrix class">PxMat44</a>(<a class="code" href="group__foundation.html#gc10bd69c94c165a52f6de39678ef9d4c">PxZERO</a> r) : column0(<a class="code" href="group__foundation.html#ggc10bd69c94c165a52f6de39678ef9d4c0ea259a79d3556f2986a96b5fbf8d4bc">PxZero</a>), column1(<a class="code" href="group__foundation.html#ggc10bd69c94c165a52f6de39678ef9d4c0ea259a79d3556f2986a96b5fbf8d4bc">PxZero</a>), column2(<a class="code" href="group__foundation.html#ggc10bd69c94c165a52f6de39678ef9d4c0ea259a79d3556f2986a96b5fbf8d4bc">PxZero</a>), column3(<a class="code" href="group__foundation.html#ggc10bd69c94c165a52f6de39678ef9d4c0ea259a79d3556f2986a96b5fbf8d4bc">PxZero</a>) +<a name="l00074"></a>00074 { +<a name="l00075"></a>00075 <a class="code" href="group__foundation.html#g3b618390d8743c532c4131cb931df43a">PX_UNUSED</a>(r); +<a name="l00076"></a>00076 } +<a name="l00077"></a>00077 +<a name="l00079"></a><a class="code" href="classPxMat44.html#779342bd424c90ed27cd4fe80e024e08">00079</a> <a class="code" href="group__foundation.html#g6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="code" href="classPxMat44.html" title="4x4 matrix class">PxMat44</a>(<span class="keyword">const</span> <a class="code" href="classPxVec4.html" title="4 Element vector class.">PxVec4</a>& col0, <span class="keyword">const</span> <a class="code" href="classPxVec4.html" title="4 Element vector class.">PxVec4</a>& col1, <span class="keyword">const</span> <a class="code" href="classPxVec4.html" title="4 Element vector class.">PxVec4</a>& col2, <span class="keyword">const</span> <a class="code" href="classPxVec4.html" title="4 Element vector class.">PxVec4</a>& col3) +<a name="l00080"></a>00080 : column0(col0), column1(col1), column2(col2), column3(col3) +<a name="l00081"></a>00081 { +<a name="l00082"></a>00082 } +<a name="l00083"></a>00083 +<a name="l00085"></a><a class="code" href="classPxMat44.html#38e5e0fc3f4d13290f8c75e3933b0e42">00085</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="classPxMat44.html" title="4x4 matrix class">PxMat44</a>(<span class="keywordtype">float</span> r) +<a name="l00086"></a>00086 : column0(r, 0.0f, 0.0f, 0.0f) +<a name="l00087"></a>00087 , column1(0.0f, r, 0.0f, 0.0f) +<a name="l00088"></a>00088 , column2(0.0f, 0.0f, r, 0.0f) +<a name="l00089"></a>00089 , column3(0.0f, 0.0f, 0.0f, r) +<a name="l00090"></a>00090 { +<a name="l00091"></a>00091 } +<a name="l00092"></a>00092 +<a name="l00094"></a><a class="code" href="classPxMat44.html#e1d8e16c0d8a0da23010a2fb9cd7387f">00094</a> <a class="code" href="group__foundation.html#g6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="code" href="classPxMat44.html" title="4x4 matrix class">PxMat44</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, <span class="keyword">const</span> <a class="code" href="classPxVec3.html" title="3 Element vector class.">PxVec3</a>& col3) +<a name="l00095"></a>00095 : column0(col0, 0), column1(col1, 0), column2(col2, 0), column3(col3, 1.0f) +<a name="l00096"></a>00096 { +<a name="l00097"></a>00097 } +<a name="l00098"></a>00098 +<a name="l00100"></a><a class="code" href="classPxMat44.html#cf9b60f9aa58df70941448e35b500490">00100</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="classPxMat44.html" title="4x4 matrix class">PxMat44</a>(<span class="keywordtype">float</span> values[]) +<a name="l00101"></a>00101 : column0(values[0], values[1], values[2], values[3]) +<a name="l00102"></a>00102 , column1(values[4], values[5], values[6], values[7]) +<a name="l00103"></a>00103 , column2(values[8], values[9], values[10], values[11]) +<a name="l00104"></a>00104 , column3(values[12], values[13], values[14], values[15]) +<a name="l00105"></a>00105 { +<a name="l00106"></a>00106 } +<a name="l00107"></a>00107 +<a name="l00109"></a><a class="code" href="classPxMat44.html#572ecf2db6988deb2cfba297df91e15c">00109</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="classPxMat44.html" title="4x4 matrix class">PxMat44</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="l00110"></a>00110 { +<a name="l00111"></a>00111 <span class="keyword">const</span> <span class="keywordtype">float</span> x = q.<a class="code" href="classPxQuat.html#c7275be0f2d9162cff34b2d43f2ab179">x</a>; +<a name="l00112"></a>00112 <span class="keyword">const</span> <span class="keywordtype">float</span> y = q.<a class="code" href="classPxQuat.html#0988cef7bc3fbdcd8cf37974c5edd611">y</a>; +<a name="l00113"></a>00113 <span class="keyword">const</span> <span class="keywordtype">float</span> z = q.<a class="code" href="classPxQuat.html#6773bfd82393a8dde22ddef5f0900d06">z</a>; +<a name="l00114"></a>00114 <span class="keyword">const</span> <span class="keywordtype">float</span> w = q.<a class="code" href="classPxQuat.html#84fb33d995ed4e6a26ac3f22523f0b54">w</a>; +<a name="l00115"></a>00115 +<a name="l00116"></a>00116 <span class="keyword">const</span> <span class="keywordtype">float</span> x2 = x + x; +<a name="l00117"></a>00117 <span class="keyword">const</span> <span class="keywordtype">float</span> y2 = y + y; +<a name="l00118"></a>00118 <span class="keyword">const</span> <span class="keywordtype">float</span> z2 = z + z; +<a name="l00119"></a>00119 +<a name="l00120"></a>00120 <span class="keyword">const</span> <span class="keywordtype">float</span> xx = x2 * x; +<a name="l00121"></a>00121 <span class="keyword">const</span> <span class="keywordtype">float</span> yy = y2 * y; +<a name="l00122"></a>00122 <span class="keyword">const</span> <span class="keywordtype">float</span> zz = z2 * z; +<a name="l00123"></a>00123 +<a name="l00124"></a>00124 <span class="keyword">const</span> <span class="keywordtype">float</span> xy = x2 * y; +<a name="l00125"></a>00125 <span class="keyword">const</span> <span class="keywordtype">float</span> xz = x2 * z; +<a name="l00126"></a>00126 <span class="keyword">const</span> <span class="keywordtype">float</span> xw = x2 * w; +<a name="l00127"></a>00127 +<a name="l00128"></a>00128 <span class="keyword">const</span> <span class="keywordtype">float</span> yz = y2 * z; +<a name="l00129"></a>00129 <span class="keyword">const</span> <span class="keywordtype">float</span> yw = y2 * w; +<a name="l00130"></a>00130 <span class="keyword">const</span> <span class="keywordtype">float</span> zw = z2 * w; +<a name="l00131"></a>00131 +<a name="l00132"></a>00132 column0 = <a class="code" href="classPxVec4.html" title="4 Element vector class.">PxVec4</a>(1.0f - yy - zz, xy + zw, xz - yw, 0.0f); +<a name="l00133"></a>00133 column1 = <a class="code" href="classPxVec4.html" title="4 Element vector class.">PxVec4</a>(xy - zw, 1.0f - xx - zz, yz + xw, 0.0f); +<a name="l00134"></a>00134 column2 = <a class="code" href="classPxVec4.html" title="4 Element vector class.">PxVec4</a>(xz + yw, yz - xw, 1.0f - xx - yy, 0.0f); +<a name="l00135"></a>00135 column3 = <a class="code" href="classPxVec4.html" title="4 Element vector class.">PxVec4</a>(0.0f, 0.0f, 0.0f, 1.0f); +<a name="l00136"></a>00136 } +<a name="l00137"></a>00137 +<a name="l00139"></a><a class="code" href="classPxMat44.html#d514b6d688fc320ffb13e94367fcdf1b">00139</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="classPxMat44.html" title="4x4 matrix class">PxMat44</a>(<span class="keyword">const</span> <a class="code" href="classPxVec4.html" title="4 Element vector class.">PxVec4</a>& diagonal) +<a name="l00140"></a>00140 : column0(diagonal.x, 0.0f, 0.0f, 0.0f) +<a name="l00141"></a>00141 , column1(0.0f, diagonal.y, 0.0f, 0.0f) +<a name="l00142"></a>00142 , column2(0.0f, 0.0f, diagonal.z, 0.0f) +<a name="l00143"></a>00143 , column3(0.0f, 0.0f, 0.0f, diagonal.w) +<a name="l00144"></a>00144 { +<a name="l00145"></a>00145 } +<a name="l00146"></a>00146 +<a name="l00148"></a><a class="code" href="classPxMat44.html#c12ebe870e5fab8bbce5a6f8a7bd4ee5">00148</a> <a class="code" href="group__foundation.html#g6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="code" href="classPxMat44.html" title="4x4 matrix class">PxMat44</a>(<span class="keyword">const</span> <a class="code" href="classPxMat33.html" title="3x3 matrix class">PxMat33</a>& axes, <span class="keyword">const</span> <a class="code" href="classPxVec3.html" title="3 Element vector class.">PxVec3</a>& position) +<a name="l00149"></a>00149 : column0(axes.column0, 0.0f), column1(axes.column1, 0.0f), column2(axes.column2, 0.0f), column3(position, 1.0f) +<a name="l00150"></a>00150 { +<a name="l00151"></a>00151 } +<a name="l00152"></a>00152 +<a name="l00153"></a><a class="code" href="classPxMat44.html#f499741cc9fca601f695f3f5bccb1558">00153</a> <a class="code" href="group__foundation.html#g6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="code" href="classPxMat44.html" title="4x4 matrix class">PxMat44</a>(<span class="keyword">const</span> <a class="code" href="classPxTransform.html" title="class representing a rigid euclidean transform as a quaternion and a vector">PxTransform</a>& t) +<a name="l00154"></a>00154 { +<a name="l00155"></a>00155 *<span class="keyword">this</span> = <a class="code" href="classPxMat44.html" title="4x4 matrix class">PxMat44</a>(<a class="code" href="classPxMat33.html" title="3x3 matrix class">PxMat33</a>(t.<a class="code" href="classPxTransform.html#adb9d2118765e188f212cf3c0e0018cb">q</a>), t.<a class="code" href="classPxTransform.html#b1a41ac5f4df8e07ba590fa0a8a6e786">p</a>); +<a name="l00156"></a>00156 } +<a name="l00157"></a>00157 +<a name="l00161"></a><a class="code" href="classPxMat44.html#ec9ebf1e1c19a3bc685280f1a3765090">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> <span class="keywordtype">bool</span> operator==(<span class="keyword">const</span> <a class="code" href="classPxMat44.html" title="4x4 matrix class">PxMat44</a>& m)<span class="keyword"> const</span> +<a name="l00162"></a>00162 <span class="keyword"> </span>{ +<a name="l00163"></a>00163 <span class="keywordflow">return</span> column0 == m.<a class="code" href="classPxMat44.html#31bd5c4e5a9f6aebfe8282c3b011c70d">column0</a> && column1 == m.<a class="code" href="classPxMat44.html#3e82736e79dbb20f6dccd396d992cc3d">column1</a> && column2 == m.<a class="code" href="classPxMat44.html#5e455ba1a242ae3d9802179966c00c40">column2</a> && column3 == m.<a class="code" href="classPxMat44.html#fcda14c487a5c247c5ccc57d563ec6fc">column3</a>; +<a name="l00164"></a>00164 } +<a name="l00165"></a>00165 +<a name="l00167"></a><a class="code" href="classPxMat44.html#dadd6993985f9adb035164ca9fd2fc2c">00167</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="classPxMat44.html" title="4x4 matrix class">PxMat44</a>(<span class="keyword">const</span> <a class="code" href="classPxMat44.html" title="4x4 matrix class">PxMat44</a>& other) +<a name="l00168"></a>00168 : column0(other.column0), column1(other.column1), column2(other.column2), column3(other.column3) +<a name="l00169"></a>00169 { +<a name="l00170"></a>00170 } +<a name="l00171"></a>00171 +<a name="l00173"></a><a class="code" href="classPxMat44.html#7e2cc56304a4d924ea6d143ecc505938">00173</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="classPxMat44.html" title="4x4 matrix class">PxMat44</a>& operator=(<span class="keyword">const</span> <a class="code" href="classPxMat44.html" title="4x4 matrix class">PxMat44</a>& other) +<a name="l00174"></a>00174 { +<a name="l00175"></a>00175 column0 = other.<a class="code" href="classPxMat44.html#31bd5c4e5a9f6aebfe8282c3b011c70d">column0</a>; +<a name="l00176"></a>00176 column1 = other.<a class="code" href="classPxMat44.html#3e82736e79dbb20f6dccd396d992cc3d">column1</a>; +<a name="l00177"></a>00177 column2 = other.<a class="code" href="classPxMat44.html#5e455ba1a242ae3d9802179966c00c40">column2</a>; +<a name="l00178"></a>00178 column3 = other.<a class="code" href="classPxMat44.html#fcda14c487a5c247c5ccc57d563ec6fc">column3</a>; +<a name="l00179"></a>00179 <span class="keywordflow">return</span> *<span class="keyword">this</span>; +<a name="l00180"></a>00180 } +<a name="l00181"></a>00181 +<a name="l00183"></a><a class="code" href="classPxMat44.html#f03cbe2d25cbab715ecb613037fedd47">00183</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="classPxMat44.html" title="4x4 matrix class">PxMat44</a> getTranspose()<span class="keyword"> const</span> +<a name="l00184"></a>00184 <span class="keyword"> </span>{ +<a name="l00185"></a>00185 <span class="keywordflow">return</span> <a class="code" href="classPxMat44.html" title="4x4 matrix class">PxMat44</a>( +<a name="l00186"></a>00186 <a class="code" href="classPxVec4.html" title="4 Element vector class.">PxVec4</a>(column0.x, column1.x, column2.x, column3.x), <a class="code" href="classPxVec4.html" title="4 Element vector class.">PxVec4</a>(column0.y, column1.y, column2.y, column3.y), +<a name="l00187"></a>00187 <a class="code" href="classPxVec4.html" title="4 Element vector class.">PxVec4</a>(column0.z, column1.z, column2.z, column3.z), <a class="code" href="classPxVec4.html" title="4 Element vector class.">PxVec4</a>(column0.w, column1.w, column2.w, column3.w)); +<a name="l00188"></a>00188 } +<a name="l00189"></a>00189 +<a name="l00191"></a><a class="code" href="classPxMat44.html#e5812080b571959e4b7d87e147996c04">00191</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="classPxMat44.html" title="4x4 matrix class">PxMat44</a> operator-()<span class="keyword"> const</span> +<a name="l00192"></a>00192 <span class="keyword"> </span>{ +<a name="l00193"></a>00193 <span class="keywordflow">return</span> <a class="code" href="classPxMat44.html" title="4x4 matrix class">PxMat44</a>(-column0, -column1, -column2, -column3); +<a name="l00194"></a>00194 } +<a name="l00195"></a>00195 +<a name="l00197"></a><a class="code" href="classPxMat44.html#5a6021c07dbecf71ceadea180a93ac33">00197</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="classPxMat44.html" title="4x4 matrix class">PxMat44</a> <a class="code" href="group__foundation.html#g9f9ec0bd1ad1ead5b8d88ff933363cad" title="Addition operator.">operator+</a>(<span class="keyword">const</span> <a class="code" href="classPxMat44.html" title="4x4 matrix class">PxMat44</a>& other)<span class="keyword"> const</span> +<a name="l00198"></a>00198 <span class="keyword"> </span>{ +<a name="l00199"></a>00199 <span class="keywordflow">return</span> <a class="code" href="classPxMat44.html" title="4x4 matrix class">PxMat44</a>(column0 + other.<a class="code" href="classPxMat44.html#31bd5c4e5a9f6aebfe8282c3b011c70d">column0</a>, column1 + other.<a class="code" href="classPxMat44.html#3e82736e79dbb20f6dccd396d992cc3d">column1</a>, column2 + other.<a class="code" href="classPxMat44.html#5e455ba1a242ae3d9802179966c00c40">column2</a>, +<a name="l00200"></a>00200 column3 + other.<a class="code" href="classPxMat44.html#fcda14c487a5c247c5ccc57d563ec6fc">column3</a>); +<a name="l00201"></a>00201 } +<a name="l00202"></a>00202 +<a name="l00204"></a><a class="code" href="classPxMat44.html#a8356eff3b97a8812b38f9838bfe50f6">00204</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="classPxMat44.html" title="4x4 matrix class">PxMat44</a> operator-(<span class="keyword">const</span> <a class="code" href="classPxMat44.html" title="4x4 matrix class">PxMat44</a>& other)<span class="keyword"> const</span> +<a name="l00205"></a>00205 <span class="keyword"> </span>{ +<a name="l00206"></a>00206 <span class="keywordflow">return</span> <a class="code" href="classPxMat44.html" title="4x4 matrix class">PxMat44</a>(column0 - other.<a class="code" href="classPxMat44.html#31bd5c4e5a9f6aebfe8282c3b011c70d">column0</a>, column1 - other.<a class="code" href="classPxMat44.html#3e82736e79dbb20f6dccd396d992cc3d">column1</a>, column2 - other.<a class="code" href="classPxMat44.html#5e455ba1a242ae3d9802179966c00c40">column2</a>, +<a name="l00207"></a>00207 column3 - other.<a class="code" href="classPxMat44.html#fcda14c487a5c247c5ccc57d563ec6fc">column3</a>); +<a name="l00208"></a>00208 } +<a name="l00209"></a>00209 +<a name="l00211"></a><a class="code" href="classPxMat44.html#bf8a8c5d49d34692480794dfd8c789e4">00211</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="classPxMat44.html" title="4x4 matrix class">PxMat44</a> <a class="code" href="group__foundation.html#ga7415102b45174d3eda4d4f2f12127bc">operator*</a>(<span class="keywordtype">float</span> scalar)<span class="keyword"> const</span> +<a name="l00212"></a>00212 <span class="keyword"> </span>{ +<a name="l00213"></a>00213 <span class="keywordflow">return</span> <a class="code" href="classPxMat44.html" title="4x4 matrix class">PxMat44</a>(column0 * scalar, column1 * scalar, column2 * scalar, column3 * scalar); +<a name="l00214"></a>00214 } +<a name="l00215"></a>00215 +<a name="l00216"></a>00216 <span class="keyword">friend</span> <a class="code" href="classPxMat44.html" title="4x4 matrix class">PxMat44</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="classPxMat44.html" title="4x4 matrix class">PxMat44</a>&); +<a name="l00217"></a>00217 +<a name="l00219"></a><a class="code" href="classPxMat44.html#aca179eaf1cc3640079c4fc431298a35">00219</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="classPxMat44.html" title="4x4 matrix class">PxMat44</a> <a class="code" href="group__foundation.html#ga7415102b45174d3eda4d4f2f12127bc">operator*</a>(<span class="keyword">const</span> <a class="code" href="classPxMat44.html" title="4x4 matrix class">PxMat44</a>& other)<span class="keyword"> const</span> +<a name="l00220"></a>00220 <span class="keyword"> </span>{ +<a name="l00221"></a>00221 <span class="comment">// Rows from this <dot> columns from other</span> +<a name="l00222"></a>00222 <span class="comment">// column0 = transform(other.column0) etc</span> +<a name="l00223"></a>00223 <span class="keywordflow">return</span> <a class="code" href="classPxMat44.html" title="4x4 matrix class">PxMat44</a>(transform(other.<a class="code" href="classPxMat44.html#31bd5c4e5a9f6aebfe8282c3b011c70d">column0</a>), transform(other.<a class="code" href="classPxMat44.html#3e82736e79dbb20f6dccd396d992cc3d">column1</a>), transform(other.<a class="code" href="classPxMat44.html#5e455ba1a242ae3d9802179966c00c40">column2</a>), +<a name="l00224"></a>00224 transform(other.<a class="code" href="classPxMat44.html#fcda14c487a5c247c5ccc57d563ec6fc">column3</a>)); +<a name="l00225"></a>00225 } +<a name="l00226"></a>00226 +<a name="l00227"></a>00227 <span class="comment">// a <op>= b operators</span> +<a name="l00228"></a>00228 +<a name="l00230"></a><a class="code" href="classPxMat44.html#1c5e7ac5dfc08815bbe8d6dfc4a88748">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> <a class="code" href="classPxMat44.html" title="4x4 matrix class">PxMat44</a>& operator+=(<span class="keyword">const</span> <a class="code" href="classPxMat44.html" title="4x4 matrix class">PxMat44</a>& other) +<a name="l00231"></a>00231 { +<a name="l00232"></a>00232 column0 += other.<a class="code" href="classPxMat44.html#31bd5c4e5a9f6aebfe8282c3b011c70d">column0</a>; +<a name="l00233"></a>00233 column1 += other.<a class="code" href="classPxMat44.html#3e82736e79dbb20f6dccd396d992cc3d">column1</a>; +<a name="l00234"></a>00234 column2 += other.<a class="code" href="classPxMat44.html#5e455ba1a242ae3d9802179966c00c40">column2</a>; +<a name="l00235"></a>00235 column3 += other.<a class="code" href="classPxMat44.html#fcda14c487a5c247c5ccc57d563ec6fc">column3</a>; +<a name="l00236"></a>00236 <span class="keywordflow">return</span> *<span class="keyword">this</span>; +<a name="l00237"></a>00237 } +<a name="l00238"></a>00238 +<a name="l00240"></a><a class="code" href="classPxMat44.html#2098673b9f0e3fbaaed324f8aa20f6e8">00240</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="classPxMat44.html" title="4x4 matrix class">PxMat44</a>& operator-=(<span class="keyword">const</span> <a class="code" href="classPxMat44.html" title="4x4 matrix class">PxMat44</a>& other) +<a name="l00241"></a>00241 { +<a name="l00242"></a>00242 column0 -= other.<a class="code" href="classPxMat44.html#31bd5c4e5a9f6aebfe8282c3b011c70d">column0</a>; +<a name="l00243"></a>00243 column1 -= other.<a class="code" href="classPxMat44.html#3e82736e79dbb20f6dccd396d992cc3d">column1</a>; +<a name="l00244"></a>00244 column2 -= other.<a class="code" href="classPxMat44.html#5e455ba1a242ae3d9802179966c00c40">column2</a>; +<a name="l00245"></a>00245 column3 -= other.<a class="code" href="classPxMat44.html#fcda14c487a5c247c5ccc57d563ec6fc">column3</a>; +<a name="l00246"></a>00246 <span class="keywordflow">return</span> *<span class="keyword">this</span>; +<a name="l00247"></a>00247 } +<a name="l00248"></a>00248 +<a name="l00250"></a><a class="code" href="classPxMat44.html#8360a1019809d00ba9621e56c4271ac7">00250</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="classPxMat44.html" title="4x4 matrix class">PxMat44</a>& operator*=(<span class="keywordtype">float</span> scalar) +<a name="l00251"></a>00251 { +<a name="l00252"></a>00252 column0 *= scalar; +<a name="l00253"></a>00253 column1 *= scalar; +<a name="l00254"></a>00254 column2 *= scalar; +<a name="l00255"></a>00255 column3 *= scalar; +<a name="l00256"></a>00256 <span class="keywordflow">return</span> *<span class="keyword">this</span>; +<a name="l00257"></a>00257 } +<a name="l00258"></a>00258 +<a name="l00260"></a><a class="code" href="classPxMat44.html#cc13f7adc4af4f73abf3145a4ae971c4">00260</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="classPxMat44.html" title="4x4 matrix class">PxMat44</a>& operator*=(<span class="keyword">const</span> <a class="code" href="classPxMat44.html" title="4x4 matrix class">PxMat44</a>& other) +<a name="l00261"></a>00261 { +<a name="l00262"></a>00262 *<span class="keyword">this</span> = *<span class="keyword">this</span> * other; +<a name="l00263"></a>00263 <span class="keywordflow">return</span> *<span class="keyword">this</span>; +<a name="l00264"></a>00264 } +<a name="l00265"></a>00265 +<a name="l00267"></a><a class="code" href="classPxMat44.html#c7c054ede87cfaaba6b101065e54bbd5">00267</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="l00268"></a>00268 <span class="keyword"> </span>{ +<a name="l00269"></a>00269 <span class="keywordflow">return</span> (*<span class="keyword">this</span>)[col][row]; +<a name="l00270"></a>00270 } +<a name="l00271"></a>00271 +<a name="l00273"></a><a class="code" href="classPxMat44.html#f8d223990af1a1dac440e4be5a40912b">00273</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="l00274"></a>00274 { +<a name="l00275"></a>00275 <span class="keywordflow">return</span> (*<span class="keyword">this</span>)[col][row]; +<a name="l00276"></a>00276 } +<a name="l00277"></a>00277 +<a name="l00279"></a><a class="code" href="classPxMat44.html#f69c6525db63e30be531e69b6f5d136f">00279</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="classPxVec4.html" title="4 Element vector class.">PxVec4</a> transform(<span class="keyword">const</span> <a class="code" href="classPxVec4.html" title="4 Element vector class.">PxVec4</a>& other)<span class="keyword"> const</span> +<a name="l00280"></a>00280 <span class="keyword"> </span>{ +<a name="l00281"></a>00281 <span class="keywordflow">return</span> column0 * other.<a class="code" href="classPxVec4.html#aa55803d5db9a7cc8b2ee3c6f89cbe72">x</a> + column1 * other.<a class="code" href="classPxVec4.html#390f697b94d16b33cebb5d9f5be93e99">y</a> + column2 * other.<a class="code" href="classPxVec4.html#d3f9d14a8b8a56f9eb3bc2d570baf177">z</a> + column3 * other.<a class="code" href="classPxVec4.html#013d7a6e489c7361cbd602fcab6c9e29">w</a>; +<a name="l00282"></a>00282 } +<a name="l00283"></a>00283 +<a name="l00285"></a><a class="code" href="classPxMat44.html#ffa09ea88be8621972f05feefb4be28b">00285</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> 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="l00286"></a>00286 <span class="keyword"> </span>{ +<a name="l00287"></a>00287 <span class="keywordflow">return</span> transform(<a class="code" href="classPxVec4.html" title="4 Element vector class.">PxVec4</a>(other, 1.0f)).getXYZ(); +<a name="l00288"></a>00288 } +<a name="l00289"></a>00289 +<a name="l00291"></a><a class="code" href="classPxMat44.html#7b189bc531d22ad91672a937d653c8fc">00291</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="classPxVec4.html" title="4 Element vector class.">PxVec4</a> rotate(<span class="keyword">const</span> <a class="code" href="classPxVec4.html" title="4 Element vector class.">PxVec4</a>& other)<span class="keyword"> const</span> +<a name="l00292"></a>00292 <span class="keyword"> </span>{ +<a name="l00293"></a>00293 <span class="keywordflow">return</span> column0 * other.<a class="code" href="classPxVec4.html#aa55803d5db9a7cc8b2ee3c6f89cbe72">x</a> + column1 * other.<a class="code" href="classPxVec4.html#390f697b94d16b33cebb5d9f5be93e99">y</a> + column2 * other.<a class="code" href="classPxVec4.html#d3f9d14a8b8a56f9eb3bc2d570baf177">z</a>; <span class="comment">// + column3*0;</span> +<a name="l00294"></a>00294 } +<a name="l00295"></a>00295 +<a name="l00297"></a><a class="code" href="classPxMat44.html#1c4d13052f992d805c6ab5465b56fc16">00297</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> rotate(<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="l00298"></a>00298 <span class="keyword"> </span>{ +<a name="l00299"></a>00299 <span class="keywordflow">return</span> rotate(<a class="code" href="classPxVec4.html" title="4 Element vector class.">PxVec4</a>(other, 1.0f)).getXYZ(); +<a name="l00300"></a>00300 } +<a name="l00301"></a>00301 +<a name="l00302"></a><a class="code" href="classPxMat44.html#3977a1a791efa365eacf737430ac22fe">00302</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> getBasis(<span class="keywordtype">int</span> num)<span class="keyword"> const</span> +<a name="l00303"></a>00303 <span class="keyword"> </span>{ +<a name="l00304"></a>00304 <a class="code" href="group__foundation.html#g4a83a657390b324a460f14684e5accee">PX_ASSERT</a>(num >= 0 && num < 3); +<a name="l00305"></a>00305 <span class="keywordflow">return</span> (&column0)[num].getXYZ(); +<a name="l00306"></a>00306 } +<a name="l00307"></a>00307 +<a name="l00308"></a><a class="code" href="classPxMat44.html#6c570865991ca15e80eb42b98ac92c32">00308</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> getPosition()<span class="keyword"> const</span> +<a name="l00309"></a>00309 <span class="keyword"> </span>{ +<a name="l00310"></a>00310 <span class="keywordflow">return</span> column3.getXYZ(); +<a name="l00311"></a>00311 } +<a name="l00312"></a>00312 +<a name="l00313"></a><a class="code" href="classPxMat44.html#54b4c7e35d3ac0e4639dedba56d39e71">00313</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">void</span> setPosition(<span class="keyword">const</span> <a class="code" href="classPxVec3.html" title="3 Element vector class.">PxVec3</a>& position) +<a name="l00314"></a>00314 { +<a name="l00315"></a>00315 column3.x = position.<a class="code" href="classPxVec3.html#391194bca8291161c06254f4ac2b6ada">x</a>; +<a name="l00316"></a>00316 column3.y = position.<a class="code" href="classPxVec3.html#29958700f50da2204edc519b47706a05">y</a>; +<a name="l00317"></a>00317 column3.z = position.<a class="code" href="classPxVec3.html#50d67b162b99b904c3f362ad0415dbca">z</a>; +<a name="l00318"></a>00318 } +<a name="l00319"></a>00319 +<a name="l00320"></a><a class="code" href="classPxMat44.html#045d754ad85892d196907eaf84f54858">00320</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="l00321"></a>00321 <span class="keyword"> </span>{ +<a name="l00322"></a>00322 <span class="keywordflow">return</span> &column0.x; +<a name="l00323"></a>00323 } +<a name="l00324"></a>00324 +<a name="l00325"></a><a class="code" href="classPxMat44.html#d938f58c5402f3e732e2081e1f8fedcc">00325</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="classPxVec4.html" title="4 Element vector class.">PxVec4</a>& operator[](<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> num) +<a name="l00326"></a>00326 { +<a name="l00327"></a>00327 <span class="keywordflow">return</span> (&column0)[num]; +<a name="l00328"></a>00328 } +<a name="l00329"></a><a class="code" href="classPxMat44.html#27e7fe22008318a7176b09a57439aa66">00329</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="classPxVec4.html" title="4 Element vector class.">PxVec4</a>& operator[](<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> num)<span class="keyword"> const</span> +<a name="l00330"></a>00330 <span class="keyword"> </span>{ +<a name="l00331"></a>00331 <span class="keywordflow">return</span> (&column0)[num]; +<a name="l00332"></a>00332 } +<a name="l00333"></a>00333 +<a name="l00334"></a><a class="code" href="classPxMat44.html#00550660a7488827dd9fe2b1520bba90">00334</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">void</span> scale(<span class="keyword">const</span> <a class="code" href="classPxVec4.html" title="4 Element vector class.">PxVec4</a>& p) +<a name="l00335"></a>00335 { +<a name="l00336"></a>00336 column0 *= p.<a class="code" href="classPxVec4.html#aa55803d5db9a7cc8b2ee3c6f89cbe72">x</a>; +<a name="l00337"></a>00337 column1 *= p.<a class="code" href="classPxVec4.html#390f697b94d16b33cebb5d9f5be93e99">y</a>; +<a name="l00338"></a>00338 column2 *= p.<a class="code" href="classPxVec4.html#d3f9d14a8b8a56f9eb3bc2d570baf177">z</a>; +<a name="l00339"></a>00339 column3 *= p.<a class="code" href="classPxVec4.html#013d7a6e489c7361cbd602fcab6c9e29">w</a>; +<a name="l00340"></a>00340 } +<a name="l00341"></a>00341 +<a name="l00342"></a><a class="code" href="classPxMat44.html#e906b35f3e1982ae7d7d32cae06f85d2">00342</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="classPxMat44.html" title="4x4 matrix class">PxMat44</a> inverseRT(<span class="keywordtype">void</span>)<span class="keyword"> const</span> +<a name="l00343"></a>00343 <span class="keyword"> </span>{ +<a name="l00344"></a>00344 <a class="code" href="classPxVec3.html" title="3 Element vector class.">PxVec3</a> r0(column0.x, column1.x, column2.x), r1(column0.y, column1.y, column2.y), +<a name="l00345"></a>00345 r2(column0.z, column1.z, column2.z); +<a name="l00346"></a>00346 +<a name="l00347"></a>00347 <span class="keywordflow">return</span> <a class="code" href="classPxMat44.html" title="4x4 matrix class">PxMat44</a>(r0, r1, r2, -(r0 * column3.x + r1 * column3.y + r2 * column3.<a class="code" href="classPxVec3.html#50d67b162b99b904c3f362ad0415dbca">z</a>)); +<a name="l00348"></a>00348 } +<a name="l00349"></a>00349 +<a name="l00350"></a><a class="code" href="classPxMat44.html#34c1e97ba9019375707e9b9dc21e8b0e">00350</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> isFinite()<span class="keyword"> const</span> +<a name="l00351"></a>00351 <span class="keyword"> </span>{ +<a name="l00352"></a>00352 <span class="keywordflow">return</span> column0.isFinite() && column1.isFinite() && column2.isFinite() && column3.isFinite(); +<a name="l00353"></a>00353 } +<a name="l00354"></a>00354 +<a name="l00355"></a>00355 <span class="comment">// Data, see above for format!</span> +<a name="l00356"></a>00356 +<a name="l00357"></a><a class="code" href="classPxMat44.html#fcda14c487a5c247c5ccc57d563ec6fc">00357</a> <a class="code" href="classPxVec4.html" title="4 Element vector class.">PxVec4</a> column0, column1, column2, column3; <span class="comment">// the four base vectors</span> +<a name="l00358"></a>00358 }; +<a name="l00359"></a>00359 +<a name="l00360"></a>00360 <span class="comment">// implementation from PxTransform.h</span> +<a name="l00361"></a><a class="code" href="group__foundation.html#g155d9a6a01e4c17d2ecb801e5c17c17f">00361</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="classPxTransform.html#cf88e048efec0734d0fc89cd9f976d51">PxTransform::PxTransform</a>(<span class="keyword">const</span> <a class="code" href="classPxMat44.html" title="4x4 matrix class">PxMat44</a>& m) +<a name="l00362"></a>00362 { +<a name="l00363"></a>00363 <a class="code" href="classPxVec3.html" title="3 Element vector class.">PxVec3</a> column0 = <a class="code" href="classPxVec3.html" title="3 Element vector class.">PxVec3</a>(m.<a class="code" href="classPxMat44.html#31bd5c4e5a9f6aebfe8282c3b011c70d">column0</a>.<a class="code" href="classPxVec4.html#aa55803d5db9a7cc8b2ee3c6f89cbe72">x</a>, m.<a class="code" href="classPxMat44.html#31bd5c4e5a9f6aebfe8282c3b011c70d">column0</a>.<a class="code" href="classPxVec4.html#390f697b94d16b33cebb5d9f5be93e99">y</a>, m.<a class="code" href="classPxMat44.html#31bd5c4e5a9f6aebfe8282c3b011c70d">column0</a>.<a class="code" href="classPxVec4.html#d3f9d14a8b8a56f9eb3bc2d570baf177">z</a>); +<a name="l00364"></a>00364 <a class="code" href="classPxVec3.html" title="3 Element vector class.">PxVec3</a> column1 = <a class="code" href="classPxVec3.html" title="3 Element vector class.">PxVec3</a>(m.<a class="code" href="classPxMat44.html#3e82736e79dbb20f6dccd396d992cc3d">column1</a>.<a class="code" href="classPxVec4.html#aa55803d5db9a7cc8b2ee3c6f89cbe72">x</a>, m.<a class="code" href="classPxMat44.html#3e82736e79dbb20f6dccd396d992cc3d">column1</a>.<a class="code" href="classPxVec4.html#390f697b94d16b33cebb5d9f5be93e99">y</a>, m.<a class="code" href="classPxMat44.html#3e82736e79dbb20f6dccd396d992cc3d">column1</a>.<a class="code" href="classPxVec4.html#d3f9d14a8b8a56f9eb3bc2d570baf177">z</a>); +<a name="l00365"></a>00365 <a class="code" href="classPxVec3.html" title="3 Element vector class.">PxVec3</a> column2 = <a class="code" href="classPxVec3.html" title="3 Element vector class.">PxVec3</a>(m.<a class="code" href="classPxMat44.html#5e455ba1a242ae3d9802179966c00c40">column2</a>.<a class="code" href="classPxVec4.html#aa55803d5db9a7cc8b2ee3c6f89cbe72">x</a>, m.<a class="code" href="classPxMat44.html#5e455ba1a242ae3d9802179966c00c40">column2</a>.<a class="code" href="classPxVec4.html#390f697b94d16b33cebb5d9f5be93e99">y</a>, m.<a class="code" href="classPxMat44.html#5e455ba1a242ae3d9802179966c00c40">column2</a>.<a class="code" href="classPxVec4.html#d3f9d14a8b8a56f9eb3bc2d570baf177">z</a>); +<a name="l00366"></a>00366 +<a name="l00367"></a>00367 <a class="code" href="classPxTransform.html#adb9d2118765e188f212cf3c0e0018cb">q</a> = <a class="code" href="classPxQuat.html" title="This is a quaternion class. For more information on quaternion mathematics consult...">PxQuat</a>(<a class="code" href="classPxMat33.html" title="3x3 matrix class">PxMat33</a>(column0, column1, column2)); +<a name="l00368"></a>00368 <a class="code" href="classPxTransform.html#b1a41ac5f4df8e07ba590fa0a8a6e786">p</a> = <a class="code" href="classPxVec3.html" title="3 Element vector class.">PxVec3</a>(m.<a class="code" href="classPxMat44.html#fcda14c487a5c247c5ccc57d563ec6fc">column3</a>.<a class="code" href="classPxVec4.html#aa55803d5db9a7cc8b2ee3c6f89cbe72">x</a>, m.<a class="code" href="classPxMat44.html#fcda14c487a5c247c5ccc57d563ec6fc">column3</a>.<a class="code" href="classPxVec4.html#390f697b94d16b33cebb5d9f5be93e99">y</a>, m.<a class="code" href="classPxMat44.html#fcda14c487a5c247c5ccc57d563ec6fc">column3</a>.<a class="code" href="classPxVec4.html#d3f9d14a8b8a56f9eb3bc2d570baf177">z</a>); +<a name="l00369"></a>00369 } +<a name="l00370"></a>00370 +<a name="l00371"></a>00371 <span class="preprocessor">#if !PX_DOXYGEN</span> +<a name="l00372"></a>00372 <span class="preprocessor"></span>} <span class="comment">// namespace physx</span> +<a name="l00373"></a>00373 <span class="preprocessor">#endif</span> +<a name="l00374"></a>00374 <span class="preprocessor"></span> +<a name="l00376"></a>00376 <span class="preprocessor">#endif // #ifndef PXFOUNDATION_PXMAT44_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> |