aboutsummaryrefslogtreecommitdiff
path: root/PhysX_3.4/Documentation/PhysXAPI/files/PxVehicleUtilControl_8h-source.html
diff options
context:
space:
mode:
Diffstat (limited to 'PhysX_3.4/Documentation/PhysXAPI/files/PxVehicleUtilControl_8h-source.html')
-rw-r--r--PhysX_3.4/Documentation/PhysXAPI/files/PxVehicleUtilControl_8h-source.html394
1 files changed, 394 insertions, 0 deletions
diff --git a/PhysX_3.4/Documentation/PhysXAPI/files/PxVehicleUtilControl_8h-source.html b/PhysX_3.4/Documentation/PhysXAPI/files/PxVehicleUtilControl_8h-source.html
new file mode 100644
index 00000000..af5bceac
--- /dev/null
+++ b/PhysX_3.4/Documentation/PhysXAPI/files/PxVehicleUtilControl_8h-source.html
@@ -0,0 +1,394 @@
+<html>
+ <head>
+ <title>NVIDIA(R) PhysX(R) SDK 3.4 API Reference: PxVehicleUtilControl.h Source File</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <LINK HREF="NVIDIA.css" REL="stylesheet" TYPE="text/css">
+ </head>
+
+ <body bgcolor="#FFFFFF">
+ <div id="header">
+ <hr class="first">
+ <img alt="" src="images/PhysXlogo.png" align="middle"> <br>
+ <center>
+ <a class="qindex" href="main.html">Main Page</a> &nbsp;
+ <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp;
+ <a class="qindex" href="annotated.html">Compound List</a> &nbsp;
+ <a class="qindex" href="functions.html">Compound Members</a> &nbsp;
+ </center>
+ <hr class="second">
+ </div>
+<!-- Generated by Doxygen 1.5.8 -->
+<h1>PxVehicleUtilControl.h</h1><a href="PxVehicleUtilControl_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 PX_VEHICLE_CONTROL_H</span>
+<a name="l00031"></a>00031 <span class="preprocessor"></span><span class="preprocessor">#define PX_VEHICLE_CONTROL_H</span>
+<a name="l00032"></a>00032 <span class="preprocessor"></span>
+<a name="l00035"></a>00035 <span class="preprocessor">#include "<a class="code" href="PxVehicleSDK_8h.html">vehicle/PxVehicleSDK.h</a>"</span>
+<a name="l00036"></a>00036 <span class="preprocessor">#include "<a class="code" href="PxVehicleDrive4W_8h.html">vehicle/PxVehicleDrive4W.h</a>"</span>
+<a name="l00037"></a>00037 <span class="preprocessor">#include "<a class="code" href="PxVehicleDriveNW_8h.html">vehicle/PxVehicleDriveNW.h</a>"</span>
+<a name="l00038"></a>00038 <span class="preprocessor">#include "<a class="code" href="PxVehicleDriveTank_8h.html">vehicle/PxVehicleDriveTank.h</a>"</span>
+<a name="l00039"></a>00039
+<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="l00046"></a>00046 <span class="preprocessor">#if PX_CHECKED</span>
+<a name="l00047"></a>00047 <span class="preprocessor"></span> <span class="keywordtype">void</span> testValidAnalogValue(<span class="keyword">const</span> <a class="code" href="namespacephysx.html#b4cf332bdb6e8b183e40b6973acc1e9b">PxF32</a> actualValue, <span class="keyword">const</span> <a class="code" href="namespacephysx.html#b4cf332bdb6e8b183e40b6973acc1e9b">PxF32</a> minVal, <span class="keyword">const</span> <a class="code" href="namespacephysx.html#b4cf332bdb6e8b183e40b6973acc1e9b">PxF32</a> maxVal, <span class="keyword">const</span> <span class="keywordtype">char</span>* errorString);
+<a name="l00048"></a>00048 <span class="preprocessor">#endif</span>
+<a name="l00049"></a>00049 <span class="preprocessor"></span>
+<a name="l00054"></a><a class="code" href="structPxVehicleKeySmoothingData.html">00054</a> <span class="keyword">struct </span><a class="code" href="structPxVehicleKeySmoothingData.html" title="Used to produce smooth vehicle driving control values from key inputs.">PxVehicleKeySmoothingData</a>
+<a name="l00055"></a>00055 {
+<a name="l00056"></a>00056 <span class="keyword">public</span>:
+<a name="l00057"></a>00057
+<a name="l00061"></a><a class="code" href="structPxVehicleKeySmoothingData.html#e5fbc2291eed6d8436a7cc1d9675aeb5">00061</a> <a class="code" href="namespacephysx.html#727d2d8426e2a21ebbc522fa65c3f97a">PxReal</a> mRiseRates[<a class="code" href="classPxVehicleDriveDynData.html#f0a4e42ccd2b88edc0a0f51aa7d8daf8bb804b086657c71c6737676966a60980">PxVehicleDriveDynData::eMAX_NB_ANALOG_INPUTS</a>];
+<a name="l00062"></a>00062
+<a name="l00066"></a><a class="code" href="structPxVehicleKeySmoothingData.html#4fef7697bc3c0acc926db804f81aa7a0">00066</a> <a class="code" href="namespacephysx.html#727d2d8426e2a21ebbc522fa65c3f97a">PxReal</a> mFallRates[<a class="code" href="classPxVehicleDriveDynData.html#f0a4e42ccd2b88edc0a0f51aa7d8daf8bb804b086657c71c6737676966a60980">PxVehicleDriveDynData::eMAX_NB_ANALOG_INPUTS</a>];
+<a name="l00067"></a>00067 };
+<a name="l00068"></a>00068 <a class="code" href="group__foundation.html#gb12cc8cbd08c9c19ab0d40b7f789012e">PX_COMPILE_TIME_ASSERT</a>(0==(<span class="keyword">sizeof</span>(<a class="code" href="structPxVehicleKeySmoothingData.html" title="Used to produce smooth vehicle driving control values from key inputs.">PxVehicleKeySmoothingData</a>)&amp; 0x0f));
+<a name="l00069"></a>00069
+<a name="l00074"></a><a class="code" href="structPxVehiclePadSmoothingData.html">00074</a> <span class="keyword">struct </span><a class="code" href="structPxVehiclePadSmoothingData.html" title="Used to produce smooth analog vehicle control values from analog inputs.">PxVehiclePadSmoothingData</a>
+<a name="l00075"></a>00075 {
+<a name="l00076"></a>00076 <span class="keyword">public</span>:
+<a name="l00077"></a>00077
+<a name="l00081"></a><a class="code" href="structPxVehiclePadSmoothingData.html#6054bf67f4787bf6689df6f7d0809a73">00081</a> <a class="code" href="namespacephysx.html#727d2d8426e2a21ebbc522fa65c3f97a">PxReal</a> mRiseRates[<a class="code" href="classPxVehicleDriveDynData.html#f0a4e42ccd2b88edc0a0f51aa7d8daf8bb804b086657c71c6737676966a60980">PxVehicleDriveDynData::eMAX_NB_ANALOG_INPUTS</a>];
+<a name="l00082"></a>00082
+<a name="l00086"></a><a class="code" href="structPxVehiclePadSmoothingData.html#52593d5f4e090f72d0fe61284fbb249f">00086</a> <a class="code" href="namespacephysx.html#727d2d8426e2a21ebbc522fa65c3f97a">PxReal</a> mFallRates[<a class="code" href="classPxVehicleDriveDynData.html#f0a4e42ccd2b88edc0a0f51aa7d8daf8bb804b086657c71c6737676966a60980">PxVehicleDriveDynData::eMAX_NB_ANALOG_INPUTS</a>];
+<a name="l00087"></a>00087 };
+<a name="l00088"></a>00088 <a class="code" href="group__foundation.html#gb12cc8cbd08c9c19ab0d40b7f789012e">PX_COMPILE_TIME_ASSERT</a>(0==(<span class="keyword">sizeof</span>(<a class="code" href="structPxVehiclePadSmoothingData.html" title="Used to produce smooth analog vehicle control values from analog inputs.">PxVehiclePadSmoothingData</a>)&amp; 0x0f));
+<a name="l00089"></a>00089
+<a name="l00094"></a><a class="code" href="classPxVehicleDrive4WRawInputData.html">00094</a> <span class="keyword">class </span><a class="code" href="classPxVehicleDrive4WRawInputData.html" title="Used to produce smooth vehicle driving control values from analog and digital inputs...">PxVehicleDrive4WRawInputData</a>
+<a name="l00095"></a>00095 {
+<a name="l00096"></a>00096 <span class="keyword">public</span>:
+<a name="l00097"></a>00097
+<a name="l00098"></a><a class="code" href="classPxVehicleDrive4WRawInputData.html#f897772ee3457a2100945890f3d025ef">00098</a> <a class="code" href="classPxVehicleDrive4WRawInputData.html" title="Used to produce smooth vehicle driving control values from analog and digital inputs...">PxVehicleDrive4WRawInputData</a>()
+<a name="l00099"></a>00099 {
+<a name="l00100"></a>00100 <span class="keywordflow">for</span>(<a class="code" href="namespacephysx.html#9b7fbd746d18bf5b6545713a8d818f41">PxU32</a> i=0;i&lt;<a class="code" href="structPxVehicleDrive4WControl.html#72fd4871288500845821292d33bb6c83782d6557bda10f7a3a01a74836f5bb24">PxVehicleDrive4WControl::eMAX_NB_DRIVE4W_ANALOG_INPUTS</a>;i++)
+<a name="l00101"></a>00101 {
+<a name="l00102"></a>00102 mRawDigitalInputs[i]=<span class="keyword">false</span>;
+<a name="l00103"></a>00103 mRawAnalogInputs[i]=0.0f;
+<a name="l00104"></a>00104 }
+<a name="l00105"></a>00105
+<a name="l00106"></a>00106 mGearUp = <span class="keyword">false</span>;
+<a name="l00107"></a>00107 mGearDown = <span class="keyword">false</span>;
+<a name="l00108"></a>00108 }
+<a name="l00109"></a>00109
+<a name="l00110"></a><a class="code" href="classPxVehicleDrive4WRawInputData.html#8c3d02e579f978409d9ad15a71c46bb5">00110</a> <span class="keyword">virtual</span> ~<a class="code" href="classPxVehicleDrive4WRawInputData.html" title="Used to produce smooth vehicle driving control values from analog and digital inputs...">PxVehicleDrive4WRawInputData</a>()
+<a name="l00111"></a>00111 {
+<a name="l00112"></a>00112 }
+<a name="l00113"></a>00113
+<a name="l00118"></a><a class="code" href="classPxVehicleDrive4WRawInputData.html#39a229c2fbc12f23ab146a6ce6b014ee">00118</a> <span class="keywordtype">void</span> <a class="code" href="classPxVehicleDrive4WRawInputData.html#39a229c2fbc12f23ab146a6ce6b014ee" title="Record if the accel button has been pressed on keyboard.">setDigitalAccel</a>(<span class="keyword">const</span> <span class="keywordtype">bool</span> accelKeyPressed) {mRawDigitalInputs[<a class="code" href="structPxVehicleDrive4WControl.html#72fd4871288500845821292d33bb6c837864222af5bf4a1a776dc4115d1bda7a">PxVehicleDrive4WControl::eANALOG_INPUT_ACCEL</a>]=accelKeyPressed;}
+<a name="l00119"></a>00119
+<a name="l00124"></a><a class="code" href="classPxVehicleDrive4WRawInputData.html#a5a7c8943c3ad9b20901988388614505">00124</a> <span class="keywordtype">void</span> <a class="code" href="classPxVehicleDrive4WRawInputData.html#a5a7c8943c3ad9b20901988388614505" title="Record if the brake button has been pressed on keyboard.">setDigitalBrake</a>(<span class="keyword">const</span> <span class="keywordtype">bool</span> brakeKeyPressed) {mRawDigitalInputs[<a class="code" href="structPxVehicleDrive4WControl.html#72fd4871288500845821292d33bb6c83904c2f2dd96271d5cd0562631b2ecfd2">PxVehicleDrive4WControl::eANALOG_INPUT_BRAKE</a>]=brakeKeyPressed;}
+<a name="l00125"></a>00125
+<a name="l00130"></a><a class="code" href="classPxVehicleDrive4WRawInputData.html#d63aa0083730fbafb77e60b76fc9c985">00130</a> <span class="keywordtype">void</span> <a class="code" href="classPxVehicleDrive4WRawInputData.html#d63aa0083730fbafb77e60b76fc9c985" title="Record if the handbrake button has been pressed on keyboard.">setDigitalHandbrake</a>(<span class="keyword">const</span> <span class="keywordtype">bool</span> handbrakeKeyPressed) {mRawDigitalInputs[<a class="code" href="structPxVehicleDrive4WControl.html#72fd4871288500845821292d33bb6c837785ddf2b2ed793b8cb7eac20a2f0b8d">PxVehicleDrive4WControl::eANALOG_INPUT_HANDBRAKE</a>]=handbrakeKeyPressed;}
+<a name="l00131"></a>00131
+<a name="l00136"></a><a class="code" href="classPxVehicleDrive4WRawInputData.html#c0bee2d84b744b13af694bf34384bb76">00136</a> <span class="keywordtype">void</span> <a class="code" href="classPxVehicleDrive4WRawInputData.html#c0bee2d84b744b13af694bf34384bb76" title="Record if the left steer button has been pressed on keyboard.">setDigitalSteerLeft</a>(<span class="keyword">const</span> <span class="keywordtype">bool</span> steerLeftKeyPressed) {mRawDigitalInputs[<a class="code" href="structPxVehicleDrive4WControl.html#72fd4871288500845821292d33bb6c83f01b9d695fb73bb3e0316fb01db2037f">PxVehicleDrive4WControl::eANALOG_INPUT_STEER_LEFT</a>]=steerLeftKeyPressed;}
+<a name="l00137"></a>00137
+<a name="l00142"></a><a class="code" href="classPxVehicleDrive4WRawInputData.html#a4654bf9fa296e6e2fe3433cc1a79918">00142</a> <span class="keywordtype">void</span> <a class="code" href="classPxVehicleDrive4WRawInputData.html#a4654bf9fa296e6e2fe3433cc1a79918" title="Record if the right steer button has been pressed on keyboard.">setDigitalSteerRight</a>(<span class="keyword">const</span> <span class="keywordtype">bool</span> steerRightKeyPressed) {mRawDigitalInputs[<a class="code" href="structPxVehicleDrive4WControl.html#72fd4871288500845821292d33bb6c83abafb1fb6ab8cec26ef7f1c4e3c5fb0d">PxVehicleDrive4WControl::eANALOG_INPUT_STEER_RIGHT</a>]=steerRightKeyPressed;}
+<a name="l00143"></a>00143
+<a name="l00144"></a>00144
+<a name="l00149"></a><a class="code" href="classPxVehicleDrive4WRawInputData.html#7260006a82e095684a67a8d61b659ca0">00149</a> <span class="keywordtype">bool</span> <a class="code" href="classPxVehicleDrive4WRawInputData.html#7260006a82e095684a67a8d61b659ca0" title="Return if the accel button has been pressed on keyboard.">getDigitalAccel</a>()<span class="keyword"> const </span>{<span class="keywordflow">return</span> mRawDigitalInputs[<a class="code" href="structPxVehicleDrive4WControl.html#72fd4871288500845821292d33bb6c837864222af5bf4a1a776dc4115d1bda7a">PxVehicleDrive4WControl::eANALOG_INPUT_ACCEL</a>];}
+<a name="l00150"></a>00150
+<a name="l00155"></a><a class="code" href="classPxVehicleDrive4WRawInputData.html#dc60fbd2cf0b7c7e2e04edf1ba588a3e">00155</a> <span class="keywordtype">bool</span> <a class="code" href="classPxVehicleDrive4WRawInputData.html#dc60fbd2cf0b7c7e2e04edf1ba588a3e" title="Return if the brake button has been pressed on keyboard.">getDigitalBrake</a>()<span class="keyword"> const </span>{<span class="keywordflow">return</span> mRawDigitalInputs[<a class="code" href="structPxVehicleDrive4WControl.html#72fd4871288500845821292d33bb6c83904c2f2dd96271d5cd0562631b2ecfd2">PxVehicleDrive4WControl::eANALOG_INPUT_BRAKE</a>];}
+<a name="l00156"></a>00156
+<a name="l00161"></a><a class="code" href="classPxVehicleDrive4WRawInputData.html#47be0b2dc9896a8ee5190e0f22be9741">00161</a> <span class="keywordtype">bool</span> <a class="code" href="classPxVehicleDrive4WRawInputData.html#47be0b2dc9896a8ee5190e0f22be9741" title="Return if the handbrake button has been pressed on keyboard.">getDigitalHandbrake</a>()<span class="keyword"> const </span>{<span class="keywordflow">return</span> mRawDigitalInputs[<a class="code" href="structPxVehicleDrive4WControl.html#72fd4871288500845821292d33bb6c837785ddf2b2ed793b8cb7eac20a2f0b8d">PxVehicleDrive4WControl::eANALOG_INPUT_HANDBRAKE</a>];}
+<a name="l00162"></a>00162
+<a name="l00167"></a><a class="code" href="classPxVehicleDrive4WRawInputData.html#46c34ccbe5847bb3d19ee28a3090f472">00167</a> <span class="keywordtype">bool</span> <a class="code" href="classPxVehicleDrive4WRawInputData.html#46c34ccbe5847bb3d19ee28a3090f472" title="Return if the left steer button has been pressed on keyboard.">getDigitalSteerLeft</a>()<span class="keyword"> const </span>{<span class="keywordflow">return</span> mRawDigitalInputs[<a class="code" href="structPxVehicleDrive4WControl.html#72fd4871288500845821292d33bb6c83f01b9d695fb73bb3e0316fb01db2037f">PxVehicleDrive4WControl::eANALOG_INPUT_STEER_LEFT</a>];}
+<a name="l00168"></a>00168
+<a name="l00173"></a><a class="code" href="classPxVehicleDrive4WRawInputData.html#b2a9a88dc9e2e27eee564b46b3c76716">00173</a> <span class="keywordtype">bool</span> <a class="code" href="classPxVehicleDrive4WRawInputData.html#b2a9a88dc9e2e27eee564b46b3c76716" title="Return if the right steer button has been pressed on keyboard.">getDigitalSteerRight</a>()<span class="keyword"> const </span>{<span class="keywordflow">return</span> mRawDigitalInputs[<a class="code" href="structPxVehicleDrive4WControl.html#72fd4871288500845821292d33bb6c83abafb1fb6ab8cec26ef7f1c4e3c5fb0d">PxVehicleDrive4WControl::eANALOG_INPUT_STEER_RIGHT</a>];}
+<a name="l00174"></a>00174
+<a name="l00175"></a>00175
+<a name="l00180"></a><a class="code" href="classPxVehicleDrive4WRawInputData.html#f9c058df3af57913173e106fd51645d9">00180</a> <span class="keywordtype">void</span> setAnalogAccel(<span class="keyword">const</span> <a class="code" href="namespacephysx.html#727d2d8426e2a21ebbc522fa65c3f97a">PxReal</a> accel)
+<a name="l00181"></a>00181 {
+<a name="l00182"></a>00182 <span class="preprocessor">#if PX_CHECKED</span>
+<a name="l00183"></a>00183 <span class="preprocessor"></span> testValidAnalogValue(accel, 0.0f, 1.0f, <span class="stringliteral">"Analog accel must be in range (0,1)"</span>);
+<a name="l00184"></a>00184 <span class="preprocessor">#endif</span>
+<a name="l00185"></a>00185 <span class="preprocessor"></span> mRawAnalogInputs[<a class="code" href="structPxVehicleDrive4WControl.html#72fd4871288500845821292d33bb6c837864222af5bf4a1a776dc4115d1bda7a">PxVehicleDrive4WControl::eANALOG_INPUT_ACCEL</a>]=accel;
+<a name="l00186"></a>00186 }
+<a name="l00187"></a>00187
+<a name="l00192"></a><a class="code" href="classPxVehicleDrive4WRawInputData.html#96d32688f239c2f9379616c6fbbde422">00192</a> <span class="keywordtype">void</span> setAnalogBrake(<span class="keyword">const</span> <a class="code" href="namespacephysx.html#727d2d8426e2a21ebbc522fa65c3f97a">PxReal</a> brake)
+<a name="l00193"></a>00193 {
+<a name="l00194"></a>00194 <span class="preprocessor">#if PX_CHECKED</span>
+<a name="l00195"></a>00195 <span class="preprocessor"></span> testValidAnalogValue(brake, 0.0f, 1.0f, <span class="stringliteral">"Analog brake must be in range (0,1)"</span>);
+<a name="l00196"></a>00196 <span class="preprocessor">#endif</span>
+<a name="l00197"></a>00197 <span class="preprocessor"></span> mRawAnalogInputs[<a class="code" href="structPxVehicleDrive4WControl.html#72fd4871288500845821292d33bb6c83904c2f2dd96271d5cd0562631b2ecfd2">PxVehicleDrive4WControl::eANALOG_INPUT_BRAKE</a>]=brake;
+<a name="l00198"></a>00198 }
+<a name="l00199"></a>00199
+<a name="l00204"></a><a class="code" href="classPxVehicleDrive4WRawInputData.html#b2541ef77142c3fc2b4c8a2ce197f512">00204</a> <span class="keywordtype">void</span> setAnalogHandbrake(<span class="keyword">const</span> <a class="code" href="namespacephysx.html#727d2d8426e2a21ebbc522fa65c3f97a">PxReal</a> handbrake)
+<a name="l00205"></a>00205 {
+<a name="l00206"></a>00206 <span class="preprocessor">#if PX_CHECKED</span>
+<a name="l00207"></a>00207 <span class="preprocessor"></span> testValidAnalogValue(handbrake, 0.0f, 1.0f, <span class="stringliteral">"Analog handbrake must be in range (0,1)"</span>);
+<a name="l00208"></a>00208 <span class="preprocessor">#endif</span>
+<a name="l00209"></a>00209 <span class="preprocessor"></span> mRawAnalogInputs[<a class="code" href="structPxVehicleDrive4WControl.html#72fd4871288500845821292d33bb6c837785ddf2b2ed793b8cb7eac20a2f0b8d">PxVehicleDrive4WControl::eANALOG_INPUT_HANDBRAKE</a>]=handbrake;
+<a name="l00210"></a>00210 }
+<a name="l00211"></a>00211
+<a name="l00216"></a><a class="code" href="classPxVehicleDrive4WRawInputData.html#55b3e0151ca011438b5de595741e0ccf">00216</a> <span class="keywordtype">void</span> setAnalogSteer(<span class="keyword">const</span> <a class="code" href="namespacephysx.html#727d2d8426e2a21ebbc522fa65c3f97a">PxReal</a> steer)
+<a name="l00217"></a>00217 {
+<a name="l00218"></a>00218 <span class="preprocessor">#if PX_CHECKED</span>
+<a name="l00219"></a>00219 <span class="preprocessor"></span> testValidAnalogValue(steer, -1.0f, 1.0f, <span class="stringliteral">"Analog steer must be in range (-1,1)"</span>);
+<a name="l00220"></a>00220 <span class="preprocessor">#endif</span>
+<a name="l00221"></a>00221 <span class="preprocessor"></span> mRawAnalogInputs[<a class="code" href="structPxVehicleDrive4WControl.html#72fd4871288500845821292d33bb6c83abafb1fb6ab8cec26ef7f1c4e3c5fb0d">PxVehicleDrive4WControl::eANALOG_INPUT_STEER_RIGHT</a>]=steer;
+<a name="l00222"></a>00222 }
+<a name="l00223"></a>00223
+<a name="l00228"></a><a class="code" href="classPxVehicleDrive4WRawInputData.html#113b65f52b804b2fcbf09f27564ae4a2">00228</a> <a class="code" href="namespacephysx.html#727d2d8426e2a21ebbc522fa65c3f97a">PxReal</a> <a class="code" href="classPxVehicleDrive4WRawInputData.html#113b65f52b804b2fcbf09f27564ae4a2" title="Return the analog accel value from the gamepad.">getAnalogAccel</a>()<span class="keyword"> const </span>{<span class="keywordflow">return</span> mRawAnalogInputs[<a class="code" href="structPxVehicleDrive4WControl.html#72fd4871288500845821292d33bb6c837864222af5bf4a1a776dc4115d1bda7a">PxVehicleDrive4WControl::eANALOG_INPUT_ACCEL</a>];}
+<a name="l00229"></a>00229
+<a name="l00234"></a><a class="code" href="classPxVehicleDrive4WRawInputData.html#6ccf85b658559aefe82560447d268764">00234</a> <a class="code" href="namespacephysx.html#727d2d8426e2a21ebbc522fa65c3f97a">PxReal</a> <a class="code" href="classPxVehicleDrive4WRawInputData.html#6ccf85b658559aefe82560447d268764" title="Return the analog brake value from the gamepad.">getAnalogBrake</a>()<span class="keyword"> const </span>{<span class="keywordflow">return</span> mRawAnalogInputs[<a class="code" href="structPxVehicleDrive4WControl.html#72fd4871288500845821292d33bb6c83904c2f2dd96271d5cd0562631b2ecfd2">PxVehicleDrive4WControl::eANALOG_INPUT_BRAKE</a>];}
+<a name="l00235"></a>00235
+<a name="l00240"></a><a class="code" href="classPxVehicleDrive4WRawInputData.html#ee4a5958355532e42ccf1d2772ec2806">00240</a> <a class="code" href="namespacephysx.html#727d2d8426e2a21ebbc522fa65c3f97a">PxReal</a> <a class="code" href="classPxVehicleDrive4WRawInputData.html#ee4a5958355532e42ccf1d2772ec2806" title="Return the analog handbrake value from the gamepad.">getAnalogHandbrake</a>()<span class="keyword"> const </span>{<span class="keywordflow">return</span> mRawAnalogInputs[<a class="code" href="structPxVehicleDrive4WControl.html#72fd4871288500845821292d33bb6c837785ddf2b2ed793b8cb7eac20a2f0b8d">PxVehicleDrive4WControl::eANALOG_INPUT_HANDBRAKE</a>];}
+<a name="l00241"></a>00241
+<a name="l00245"></a><a class="code" href="classPxVehicleDrive4WRawInputData.html#31438cd1c56e347123c187d43a7bc156">00245</a> <a class="code" href="namespacephysx.html#727d2d8426e2a21ebbc522fa65c3f97a">PxReal</a> <a class="code" href="classPxVehicleDrive4WRawInputData.html#31438cd1c56e347123c187d43a7bc156" title="Return the analog steer value from the gamepad.">getAnalogSteer</a>()<span class="keyword"> const </span>{<span class="keywordflow">return</span> mRawAnalogInputs[<a class="code" href="structPxVehicleDrive4WControl.html#72fd4871288500845821292d33bb6c83abafb1fb6ab8cec26ef7f1c4e3c5fb0d">PxVehicleDrive4WControl::eANALOG_INPUT_STEER_RIGHT</a>];}
+<a name="l00246"></a>00246
+<a name="l00251"></a><a class="code" href="classPxVehicleDrive4WRawInputData.html#dd91327bf12c6c5578e20d9df82d0432">00251</a> <span class="keywordtype">void</span> <a class="code" href="classPxVehicleDrive4WRawInputData.html#dd91327bf12c6c5578e20d9df82d0432" title="Record if the gearup button has been pressed on keyboard or gamepad.">setGearUp</a>(<span class="keyword">const</span> <span class="keywordtype">bool</span> gearUpKeyPressed) {mGearUp=gearUpKeyPressed;}
+<a name="l00252"></a>00252
+<a name="l00257"></a><a class="code" href="classPxVehicleDrive4WRawInputData.html#5849bbe5d93b0a6178fe05413fd2f38e">00257</a> <span class="keywordtype">void</span> <a class="code" href="classPxVehicleDrive4WRawInputData.html#5849bbe5d93b0a6178fe05413fd2f38e" title="Record if the geardown button has been pressed on keyboard or gamepad.">setGearDown</a>(<span class="keyword">const</span> <span class="keywordtype">bool</span> gearDownKeyPressed) {mGearDown=gearDownKeyPressed;}
+<a name="l00258"></a>00258
+<a name="l00263"></a><a class="code" href="classPxVehicleDrive4WRawInputData.html#5e0adcf4ed339a4bf76532fd9b5982bd">00263</a> <span class="keywordtype">bool</span> <a class="code" href="classPxVehicleDrive4WRawInputData.html#5e0adcf4ed339a4bf76532fd9b5982bd" title="Return if the gearup button has been pressed on keyboard or gamepad.">getGearUp</a>()<span class="keyword"> const </span>{<span class="keywordflow">return</span> mGearUp;}
+<a name="l00264"></a>00264
+<a name="l00269"></a><a class="code" href="classPxVehicleDrive4WRawInputData.html#444d9d72caacb7acc9915e0a1483ab33">00269</a> <span class="keywordtype">bool</span> <a class="code" href="classPxVehicleDrive4WRawInputData.html#444d9d72caacb7acc9915e0a1483ab33" title="Record if the geardown button has been pressed on keyboard or gamepad.">getGearDown</a>()<span class="keyword"> const </span>{<span class="keywordflow">return</span> mGearDown;}
+<a name="l00270"></a>00270
+<a name="l00271"></a>00271 <span class="keyword">private</span>:
+<a name="l00272"></a>00272
+<a name="l00273"></a><a class="code" href="classPxVehicleDrive4WRawInputData.html#e09f1dff2490480c365d48416926fe8d">00273</a> <span class="keywordtype">bool</span> mRawDigitalInputs[<a class="code" href="structPxVehicleDrive4WControl.html#72fd4871288500845821292d33bb6c83782d6557bda10f7a3a01a74836f5bb24">PxVehicleDrive4WControl::eMAX_NB_DRIVE4W_ANALOG_INPUTS</a>];
+<a name="l00274"></a><a class="code" href="classPxVehicleDrive4WRawInputData.html#93a7463803eb71dcfb32eeca0c7c3ac0">00274</a> <a class="code" href="namespacephysx.html#727d2d8426e2a21ebbc522fa65c3f97a">PxReal</a> mRawAnalogInputs[<a class="code" href="structPxVehicleDrive4WControl.html#72fd4871288500845821292d33bb6c83782d6557bda10f7a3a01a74836f5bb24">PxVehicleDrive4WControl::eMAX_NB_DRIVE4W_ANALOG_INPUTS</a>];
+<a name="l00275"></a>00275
+<a name="l00276"></a><a class="code" href="classPxVehicleDrive4WRawInputData.html#cf0b896be885e802b7d019b99fdc755d">00276</a> <span class="keywordtype">bool</span> mGearUp;
+<a name="l00277"></a><a class="code" href="classPxVehicleDrive4WRawInputData.html#ae40c329bffbd77ccfe942218a7bfe0e">00277</a> <span class="keywordtype">bool</span> mGearDown;
+<a name="l00278"></a>00278 };
+<a name="l00279"></a>00279
+<a name="l00290"></a>00290 <span class="keywordtype">void</span> <a class="code" href="group__vehicle.html#g61b39294176ee679d4d1229d3ad95966" title="Used to smooth and set analog vehicle control values (accel,brake,handbrake,steer)...">PxVehicleDrive4WSmoothDigitalRawInputsAndSetAnalogInputs</a>
+<a name="l00291"></a>00291 (<span class="keyword">const</span> <a class="code" href="structPxVehicleKeySmoothingData.html" title="Used to produce smooth vehicle driving control values from key inputs.">PxVehicleKeySmoothingData</a>&amp; keySmoothing, <span class="keyword">const</span> <a class="code" href="classPxFixedSizeLookupTable.html">PxFixedSizeLookupTable&lt;8&gt;</a>&amp; steerVsForwardSpeedTable,
+<a name="l00292"></a>00292 <span class="keyword">const</span> <a class="code" href="classPxVehicleDrive4WRawInputData.html" title="Used to produce smooth vehicle driving control values from analog and digital inputs...">PxVehicleDrive4WRawInputData</a>&amp; rawInputData,
+<a name="l00293"></a>00293 <span class="keyword">const</span> <a class="code" href="namespacephysx.html#727d2d8426e2a21ebbc522fa65c3f97a">PxReal</a> timestep,
+<a name="l00294"></a>00294 <span class="keyword">const</span> <span class="keywordtype">bool</span> isVehicleInAir,
+<a name="l00295"></a>00295 <a class="code" href="classPxVehicleDrive4W.html" title="Data structure with instanced dynamics data and configuration data of a vehicle with...">PxVehicleDrive4W</a>&amp; focusVehicle);
+<a name="l00296"></a>00296
+<a name="l00307"></a>00307 <span class="keywordtype">void</span> <a class="code" href="group__vehicle.html#g784f2317a01aa2367b6170bfabdc5097" title="Used to smooth and set analog vehicle control values from analog inputs (gamepad)...">PxVehicleDrive4WSmoothAnalogRawInputsAndSetAnalogInputs</a>
+<a name="l00308"></a>00308 (<span class="keyword">const</span> <a class="code" href="structPxVehiclePadSmoothingData.html" title="Used to produce smooth analog vehicle control values from analog inputs.">PxVehiclePadSmoothingData</a>&amp; padSmoothing, <span class="keyword">const</span> <a class="code" href="classPxFixedSizeLookupTable.html">PxFixedSizeLookupTable&lt;8&gt;</a>&amp; steerVsForwardSpeedTable,
+<a name="l00309"></a>00309 <span class="keyword">const</span> <a class="code" href="classPxVehicleDrive4WRawInputData.html" title="Used to produce smooth vehicle driving control values from analog and digital inputs...">PxVehicleDrive4WRawInputData</a>&amp; rawInputData,
+<a name="l00310"></a>00310 <span class="keyword">const</span> <a class="code" href="namespacephysx.html#727d2d8426e2a21ebbc522fa65c3f97a">PxReal</a> timestep,
+<a name="l00311"></a>00311 <span class="keyword">const</span> <span class="keywordtype">bool</span> isVehicleInAir,
+<a name="l00312"></a>00312 <a class="code" href="classPxVehicleDrive4W.html" title="Data structure with instanced dynamics data and configuration data of a vehicle with...">PxVehicleDrive4W</a>&amp; focusVehicle);
+<a name="l00313"></a>00313
+<a name="l00314"></a>00314
+<a name="l00319"></a><a class="code" href="classPxVehicleDriveNWRawInputData.html">00319</a> <span class="keyword">class </span><a class="code" href="classPxVehicleDriveNWRawInputData.html" title="Used to produce smooth vehicle driving control values from analog and digital inputs...">PxVehicleDriveNWRawInputData</a> : <span class="keyword">public</span> <a class="code" href="classPxVehicleDrive4WRawInputData.html" title="Used to produce smooth vehicle driving control values from analog and digital inputs...">PxVehicleDrive4WRawInputData</a>
+<a name="l00320"></a>00320 {
+<a name="l00321"></a>00321 <span class="keyword">public</span>:
+<a name="l00322"></a>00322
+<a name="l00323"></a><a class="code" href="classPxVehicleDriveNWRawInputData.html#69da40337ef28425e015fc3ba0bde4eb">00323</a> <a class="code" href="classPxVehicleDriveNWRawInputData.html#69da40337ef28425e015fc3ba0bde4eb">PxVehicleDriveNWRawInputData</a>() : <a class="code" href="classPxVehicleDrive4WRawInputData.html" title="Used to produce smooth vehicle driving control values from analog and digital inputs...">PxVehicleDrive4WRawInputData</a>(){}
+<a name="l00324"></a><a class="code" href="classPxVehicleDriveNWRawInputData.html#d6f9689e0d5fd748f336891efe91bedb">00324</a> <a class="code" href="classPxVehicleDriveNWRawInputData.html#d6f9689e0d5fd748f336891efe91bedb">~PxVehicleDriveNWRawInputData</a>(){}
+<a name="l00325"></a>00325 };
+<a name="l00326"></a>00326
+<a name="l00337"></a>00337 <span class="keywordtype">void</span> <a class="code" href="group__vehicle.html#ga537690bce749bdce4e5eca80d43d53a" title="Used to smooth and set analog vehicle control values (accel,brake,handbrake,steer)...">PxVehicleDriveNWSmoothDigitalRawInputsAndSetAnalogInputs</a>
+<a name="l00338"></a>00338 (<span class="keyword">const</span> <a class="code" href="structPxVehicleKeySmoothingData.html" title="Used to produce smooth vehicle driving control values from key inputs.">PxVehicleKeySmoothingData</a>&amp; keySmoothing, <span class="keyword">const</span> <a class="code" href="classPxFixedSizeLookupTable.html">PxFixedSizeLookupTable&lt;8&gt;</a>&amp; steerVsForwardSpeedTable,
+<a name="l00339"></a>00339 <span class="keyword">const</span> <a class="code" href="classPxVehicleDriveNWRawInputData.html" title="Used to produce smooth vehicle driving control values from analog and digital inputs...">PxVehicleDriveNWRawInputData</a>&amp; rawInputData,
+<a name="l00340"></a>00340 <span class="keyword">const</span> <a class="code" href="namespacephysx.html#727d2d8426e2a21ebbc522fa65c3f97a">PxReal</a> timestep,
+<a name="l00341"></a>00341 <span class="keyword">const</span> <span class="keywordtype">bool</span> isVehicleInAir,
+<a name="l00342"></a>00342 <a class="code" href="classPxVehicleDriveNW.html" title="Data structure with instanced dynamics data and configuration data of a vehicle with...">PxVehicleDriveNW</a>&amp; focusVehicle);
+<a name="l00343"></a>00343
+<a name="l00354"></a>00354 <span class="keywordtype">void</span> <a class="code" href="group__vehicle.html#g2da633b926f231e27c27dcb877535bc3" title="Used to smooth and set analog vehicle control values from analog inputs (gamepad)...">PxVehicleDriveNWSmoothAnalogRawInputsAndSetAnalogInputs</a>
+<a name="l00355"></a>00355 (<span class="keyword">const</span> <a class="code" href="structPxVehiclePadSmoothingData.html" title="Used to produce smooth analog vehicle control values from analog inputs.">PxVehiclePadSmoothingData</a>&amp; padSmoothing, <span class="keyword">const</span> <a class="code" href="classPxFixedSizeLookupTable.html">PxFixedSizeLookupTable&lt;8&gt;</a>&amp; steerVsForwardSpeedTable,
+<a name="l00356"></a>00356 <span class="keyword">const</span> <a class="code" href="classPxVehicleDriveNWRawInputData.html" title="Used to produce smooth vehicle driving control values from analog and digital inputs...">PxVehicleDriveNWRawInputData</a>&amp; rawInputData,
+<a name="l00357"></a>00357 <span class="keyword">const</span> <a class="code" href="namespacephysx.html#727d2d8426e2a21ebbc522fa65c3f97a">PxReal</a> timestep,
+<a name="l00358"></a>00358 <span class="keyword">const</span> <span class="keywordtype">bool</span> isVehicleInAir,
+<a name="l00359"></a>00359 <a class="code" href="classPxVehicleDriveNW.html" title="Data structure with instanced dynamics data and configuration data of a vehicle with...">PxVehicleDriveNW</a>&amp; focusVehicle);
+<a name="l00360"></a>00360
+<a name="l00361"></a>00361
+<a name="l00366"></a><a class="code" href="classPxVehicleDriveTankRawInputData.html">00366</a> <span class="keyword">class </span><a class="code" href="classPxVehicleDriveTankRawInputData.html" title="Used to produce smooth analog tank control values from analog and digital inputs...">PxVehicleDriveTankRawInputData</a>
+<a name="l00367"></a>00367 {
+<a name="l00368"></a>00368 <span class="keyword">public</span>:
+<a name="l00369"></a>00369
+<a name="l00370"></a><a class="code" href="classPxVehicleDriveTankRawInputData.html#99b71417ecdde92487aa06d3c0ecb832">00370</a> <a class="code" href="classPxVehicleDriveTankRawInputData.html" title="Used to produce smooth analog tank control values from analog and digital inputs...">PxVehicleDriveTankRawInputData</a>(<span class="keyword">const</span> <a class="code" href="structPxVehicleDriveTankControlModel.html#15800ba4f6142803c1b0d0098a942b13">PxVehicleDriveTankControlModel::Enum</a> mode)
+<a name="l00371"></a>00371 : mMode(mode)
+<a name="l00372"></a>00372 {
+<a name="l00373"></a>00373 <span class="keywordflow">for</span>(<a class="code" href="namespacephysx.html#9b7fbd746d18bf5b6545713a8d818f41">PxU32</a> i=0;i&lt;<a class="code" href="structPxVehicleDriveTankControl.html#13e9cce8dce77a82f7598c930d0c0c5c1e723ae081f8a1849fab0baab509bd04">PxVehicleDriveTankControl::eMAX_NB_DRIVETANK_ANALOG_INPUTS</a>;i++)
+<a name="l00374"></a>00374 {
+<a name="l00375"></a>00375 mRawAnalogInputs[i]=0.0f;
+<a name="l00376"></a>00376 mRawDigitalInputs[i]=<span class="keyword">false</span>;
+<a name="l00377"></a>00377 }
+<a name="l00378"></a>00378
+<a name="l00379"></a>00379 mGearUp=<span class="keyword">false</span>;
+<a name="l00380"></a>00380 mGearDown=<span class="keyword">false</span>;
+<a name="l00381"></a>00381 }
+<a name="l00382"></a>00382
+<a name="l00383"></a><a class="code" href="classPxVehicleDriveTankRawInputData.html#7fc4bdc316bf48cb15dfa26a43dd6978">00383</a> ~<a class="code" href="classPxVehicleDriveTankRawInputData.html" title="Used to produce smooth analog tank control values from analog and digital inputs...">PxVehicleDriveTankRawInputData</a>()
+<a name="l00384"></a>00384 {
+<a name="l00385"></a>00385 }
+<a name="l00386"></a>00386
+<a name="l00391"></a><a class="code" href="classPxVehicleDriveTankRawInputData.html#df5d2c7f7bc140ff9a6bf1dbb4d4dcd5">00391</a> <a class="code" href="structPxVehicleDriveTankControlModel.html#15800ba4f6142803c1b0d0098a942b13">PxVehicleDriveTankControlModel::Enum</a> getDriveModel()<span class="keyword"> const</span>
+<a name="l00392"></a>00392 <span class="keyword"> </span>{
+<a name="l00393"></a>00393 <span class="keywordflow">return</span> mMode;
+<a name="l00394"></a>00394 }
+<a name="l00395"></a>00395
+<a name="l00400"></a><a class="code" href="classPxVehicleDriveTankRawInputData.html#ba1a38302de5b91b35c83d79053fc564">00400</a> <span class="keywordtype">void</span> <a class="code" href="classPxVehicleDriveTankRawInputData.html#ba1a38302de5b91b35c83d79053fc564" title="Set if the accel button has been pressed on the keyboard.">setDigitalAccel</a>(<span class="keyword">const</span> <span class="keywordtype">bool</span> b) {mRawDigitalInputs[<a class="code" href="structPxVehicleDriveTankControl.html#13e9cce8dce77a82f7598c930d0c0c5c4d4d74266256f5785bff0ab396eb1b6a">PxVehicleDriveTankControl::eANALOG_INPUT_ACCEL</a>]=b;}
+<a name="l00401"></a>00401
+<a name="l00406"></a><a class="code" href="classPxVehicleDriveTankRawInputData.html#e5379f5da9762716cf7d567af369ed1e">00406</a> <span class="keywordtype">void</span> <a class="code" href="classPxVehicleDriveTankRawInputData.html#e5379f5da9762716cf7d567af369ed1e" title="Set if the left thrust button has been pressed on the keyboard.">setDigitalLeftThrust</a>(<span class="keyword">const</span> <span class="keywordtype">bool</span> b) {mRawDigitalInputs[<a class="code" href="structPxVehicleDriveTankControl.html#13e9cce8dce77a82f7598c930d0c0c5c5fd1badaa124dfe45b78ea77d41e5a88">PxVehicleDriveTankControl::eANALOG_INPUT_THRUST_LEFT</a>]=b;}
+<a name="l00407"></a>00407
+<a name="l00412"></a><a class="code" href="classPxVehicleDriveTankRawInputData.html#a4981fac8d036a4616ba2980f757e3ab">00412</a> <span class="keywordtype">void</span> <a class="code" href="classPxVehicleDriveTankRawInputData.html#a4981fac8d036a4616ba2980f757e3ab" title="Set if the right thrust button has been pressed on the keyboard.">setDigitalRightThrust</a>(<span class="keyword">const</span> <span class="keywordtype">bool</span> b) {mRawDigitalInputs[<a class="code" href="structPxVehicleDriveTankControl.html#13e9cce8dce77a82f7598c930d0c0c5cf9fe3fceb9090bb618d8ecbc990034f3">PxVehicleDriveTankControl::eANALOG_INPUT_THRUST_RIGHT</a>]=b;}
+<a name="l00413"></a>00413
+<a name="l00418"></a><a class="code" href="classPxVehicleDriveTankRawInputData.html#96183c87242fda2d2ed1ca56fb24977d">00418</a> <span class="keywordtype">void</span> <a class="code" href="classPxVehicleDriveTankRawInputData.html#96183c87242fda2d2ed1ca56fb24977d" title="Set if the left brake button has been pressed on the keyboard.">setDigitalLeftBrake</a>(<span class="keyword">const</span> <span class="keywordtype">bool</span> b) {mRawDigitalInputs[<a class="code" href="structPxVehicleDriveTankControl.html#13e9cce8dce77a82f7598c930d0c0c5c0e0c1828cf31979089fa9a82c1da9d49">PxVehicleDriveTankControl::eANALOG_INPUT_BRAKE_LEFT</a>]=b;}
+<a name="l00419"></a>00419
+<a name="l00424"></a><a class="code" href="classPxVehicleDriveTankRawInputData.html#d98a22d3fcdbaf1f2731e3072d3315c6">00424</a> <span class="keywordtype">void</span> <a class="code" href="classPxVehicleDriveTankRawInputData.html#d98a22d3fcdbaf1f2731e3072d3315c6" title="Set if the right brake button has been pressed on the keyboard.">setDigitalRightBrake</a>(<span class="keyword">const</span> <span class="keywordtype">bool</span> b) {mRawDigitalInputs[<a class="code" href="structPxVehicleDriveTankControl.html#13e9cce8dce77a82f7598c930d0c0c5c2bc6e1cf01b82577d18626f6b2186f2b">PxVehicleDriveTankControl::eANALOG_INPUT_BRAKE_RIGHT</a>]=b;}
+<a name="l00425"></a>00425
+<a name="l00430"></a><a class="code" href="classPxVehicleDriveTankRawInputData.html#e6a26904d3cd2d5e1c39e9752ba0804e">00430</a> <span class="keywordtype">bool</span> <a class="code" href="classPxVehicleDriveTankRawInputData.html#e6a26904d3cd2d5e1c39e9752ba0804e" title="Return if the accel button has been pressed on the keyboard.">getDigitalAccel</a>()<span class="keyword"> const </span>{<span class="keywordflow">return</span> mRawDigitalInputs[<a class="code" href="structPxVehicleDriveTankControl.html#13e9cce8dce77a82f7598c930d0c0c5c4d4d74266256f5785bff0ab396eb1b6a">PxVehicleDriveTankControl::eANALOG_INPUT_ACCEL</a>];}
+<a name="l00431"></a>00431
+<a name="l00436"></a><a class="code" href="classPxVehicleDriveTankRawInputData.html#60cf4e06d3cbd70a082d18391603e5b1">00436</a> <span class="keywordtype">bool</span> <a class="code" href="classPxVehicleDriveTankRawInputData.html#60cf4e06d3cbd70a082d18391603e5b1" title="Return if the left thrust button has been pressed on the keyboard.">getDigitalLeftThrust</a>()<span class="keyword"> const </span>{<span class="keywordflow">return</span> mRawDigitalInputs[<a class="code" href="structPxVehicleDriveTankControl.html#13e9cce8dce77a82f7598c930d0c0c5c5fd1badaa124dfe45b78ea77d41e5a88">PxVehicleDriveTankControl::eANALOG_INPUT_THRUST_LEFT</a>];}
+<a name="l00437"></a>00437
+<a name="l00442"></a><a class="code" href="classPxVehicleDriveTankRawInputData.html#a00292654adbeac8a69856ebe97ac5ea">00442</a> <span class="keywordtype">bool</span> <a class="code" href="classPxVehicleDriveTankRawInputData.html#a00292654adbeac8a69856ebe97ac5ea" title="Return if the right thrust button has been pressed on the keyboard.">getDigitalRightThrust</a>()<span class="keyword"> const </span>{<span class="keywordflow">return</span> mRawDigitalInputs[<a class="code" href="structPxVehicleDriveTankControl.html#13e9cce8dce77a82f7598c930d0c0c5cf9fe3fceb9090bb618d8ecbc990034f3">PxVehicleDriveTankControl::eANALOG_INPUT_THRUST_RIGHT</a>];}
+<a name="l00443"></a>00443
+<a name="l00448"></a><a class="code" href="classPxVehicleDriveTankRawInputData.html#8d326fb6498b7a3085317a4988be03f3">00448</a> <span class="keywordtype">bool</span> <a class="code" href="classPxVehicleDriveTankRawInputData.html#8d326fb6498b7a3085317a4988be03f3" title="Return if the left brake button has been pressed on the keyboard.">getDigitalLeftBrake</a>()<span class="keyword"> const </span>{<span class="keywordflow">return</span> mRawDigitalInputs[<a class="code" href="structPxVehicleDriveTankControl.html#13e9cce8dce77a82f7598c930d0c0c5c0e0c1828cf31979089fa9a82c1da9d49">PxVehicleDriveTankControl::eANALOG_INPUT_BRAKE_LEFT</a>];}
+<a name="l00449"></a>00449
+<a name="l00454"></a><a class="code" href="classPxVehicleDriveTankRawInputData.html#1ff86b659563250200b9f497cdbb9358">00454</a> <span class="keywordtype">bool</span> <a class="code" href="classPxVehicleDriveTankRawInputData.html#1ff86b659563250200b9f497cdbb9358" title="Return if the right brake button has been pressed on the keyboard.">getDigitalRightBrake</a>()<span class="keyword"> const </span>{<span class="keywordflow">return</span> mRawDigitalInputs[<a class="code" href="structPxVehicleDriveTankControl.html#13e9cce8dce77a82f7598c930d0c0c5c2bc6e1cf01b82577d18626f6b2186f2b">PxVehicleDriveTankControl::eANALOG_INPUT_BRAKE_RIGHT</a>];}
+<a name="l00455"></a>00455
+<a name="l00456"></a>00456
+<a name="l00462"></a><a class="code" href="classPxVehicleDriveTankRawInputData.html#1af6a6d1b1fb77d0bcc7e5af1e350a14">00462</a> <span class="keywordtype">void</span> setAnalogAccel(<span class="keyword">const</span> <a class="code" href="namespacephysx.html#b4cf332bdb6e8b183e40b6973acc1e9b">PxF32</a> accel)
+<a name="l00463"></a>00463 {
+<a name="l00464"></a>00464 <span class="preprocessor">#if PX_CHECKED</span>
+<a name="l00465"></a>00465 <span class="preprocessor"></span> testValidAnalogValue(accel, 0.0f, 1.0f, <span class="stringliteral">"Tank analog accel must be in range (-1,1)"</span>);
+<a name="l00466"></a>00466 <span class="preprocessor">#endif</span>
+<a name="l00467"></a>00467 <span class="preprocessor"></span> mRawAnalogInputs[<a class="code" href="structPxVehicleDriveTankControl.html#13e9cce8dce77a82f7598c930d0c0c5c4d4d74266256f5785bff0ab396eb1b6a">PxVehicleDriveTankControl::eANALOG_INPUT_ACCEL</a>]=accel;
+<a name="l00468"></a>00468 }
+<a name="l00469"></a>00469
+<a name="l00475"></a><a class="code" href="classPxVehicleDriveTankRawInputData.html#5e456c1b780b26b900d47afe0c0509ef">00475</a> <span class="keywordtype">void</span> setAnalogLeftThrust(<span class="keyword">const</span> <a class="code" href="namespacephysx.html#b4cf332bdb6e8b183e40b6973acc1e9b">PxF32</a> leftThrust)
+<a name="l00476"></a>00476 {
+<a name="l00477"></a>00477 <span class="preprocessor">#if PX_CHECKED</span>
+<a name="l00478"></a>00478 <span class="preprocessor"></span> <span class="keywordflow">if</span>(mMode == <a class="code" href="structPxVehicleDriveTankControlModel.html#15800ba4f6142803c1b0d0098a942b13624816a2f960b2025b6c24dd5205fc1b">PxVehicleDriveTankControlModel::eSPECIAL</a>)
+<a name="l00479"></a>00479 {
+<a name="l00480"></a>00480 testValidAnalogValue(leftThrust, -1.0f, 1.0f, <span class="stringliteral">"Tank left thrust must be in range (-1,1) in eSPECIAL mode."</span>);
+<a name="l00481"></a>00481 }
+<a name="l00482"></a>00482 <span class="keywordflow">else</span>
+<a name="l00483"></a>00483 {
+<a name="l00484"></a>00484 testValidAnalogValue(leftThrust, 0.0f, 1.0f, <span class="stringliteral">"Tank left thrust must be in range (0,1) in eSTANDARD mode."</span>);
+<a name="l00485"></a>00485 }
+<a name="l00486"></a>00486 <span class="preprocessor">#endif</span>
+<a name="l00487"></a>00487 <span class="preprocessor"></span> mRawAnalogInputs[<a class="code" href="structPxVehicleDriveTankControl.html#13e9cce8dce77a82f7598c930d0c0c5c5fd1badaa124dfe45b78ea77d41e5a88">PxVehicleDriveTankControl::eANALOG_INPUT_THRUST_LEFT</a>]=leftThrust;
+<a name="l00488"></a>00488 }
+<a name="l00489"></a>00489
+<a name="l00495"></a><a class="code" href="classPxVehicleDriveTankRawInputData.html#1dacc730a946b0e23d57968a22d9ff72">00495</a> <span class="keywordtype">void</span> setAnalogRightThrust(<span class="keyword">const</span> <a class="code" href="namespacephysx.html#b4cf332bdb6e8b183e40b6973acc1e9b">PxF32</a> rightThrust)
+<a name="l00496"></a>00496 {
+<a name="l00497"></a>00497 <span class="preprocessor">#if PX_CHECKED</span>
+<a name="l00498"></a>00498 <span class="preprocessor"></span> <span class="keywordflow">if</span>(mMode == <a class="code" href="structPxVehicleDriveTankControlModel.html#15800ba4f6142803c1b0d0098a942b13624816a2f960b2025b6c24dd5205fc1b">PxVehicleDriveTankControlModel::eSPECIAL</a>)
+<a name="l00499"></a>00499 {
+<a name="l00500"></a>00500 testValidAnalogValue(rightThrust, -1.0f, 1.0f, <span class="stringliteral">"Tank right thrust must be in range (-1,1) in eSPECIAL mode."</span>);
+<a name="l00501"></a>00501 }
+<a name="l00502"></a>00502 <span class="keywordflow">else</span>
+<a name="l00503"></a>00503 {
+<a name="l00504"></a>00504 testValidAnalogValue(rightThrust, 0.0f, 1.0f, <span class="stringliteral">"Tank right thrust must be in range (0,1) in eSTANDARD mode."</span>);
+<a name="l00505"></a>00505 }
+<a name="l00506"></a>00506 <span class="preprocessor">#endif</span>
+<a name="l00507"></a>00507 <span class="preprocessor"></span> mRawAnalogInputs[<a class="code" href="structPxVehicleDriveTankControl.html#13e9cce8dce77a82f7598c930d0c0c5cf9fe3fceb9090bb618d8ecbc990034f3">PxVehicleDriveTankControl::eANALOG_INPUT_THRUST_RIGHT</a>]=rightThrust;
+<a name="l00508"></a>00508 }
+<a name="l00509"></a>00509
+<a name="l00515"></a><a class="code" href="classPxVehicleDriveTankRawInputData.html#b1694ab536feae168670452b88804d08">00515</a> <span class="keywordtype">void</span> setAnalogLeftBrake(<span class="keyword">const</span> <a class="code" href="namespacephysx.html#b4cf332bdb6e8b183e40b6973acc1e9b">PxF32</a> leftBrake)
+<a name="l00516"></a>00516 {
+<a name="l00517"></a>00517 <span class="preprocessor">#if PX_CHECKED</span>
+<a name="l00518"></a>00518 <span class="preprocessor"></span> testValidAnalogValue(leftBrake, 0.0f, 1.0f, <span class="stringliteral">"Tank left brake must be in range (0,1)."</span>);
+<a name="l00519"></a>00519 <span class="preprocessor">#endif</span>
+<a name="l00520"></a>00520 <span class="preprocessor"></span> mRawAnalogInputs[<a class="code" href="structPxVehicleDriveTankControl.html#13e9cce8dce77a82f7598c930d0c0c5c0e0c1828cf31979089fa9a82c1da9d49">PxVehicleDriveTankControl::eANALOG_INPUT_BRAKE_LEFT</a>]=leftBrake;
+<a name="l00521"></a>00521 }
+<a name="l00522"></a>00522
+<a name="l00528"></a><a class="code" href="classPxVehicleDriveTankRawInputData.html#ba110cc558497adbe79c2abb3d45504c">00528</a> <span class="keywordtype">void</span> setAnalogRightBrake(<span class="keyword">const</span> <a class="code" href="namespacephysx.html#b4cf332bdb6e8b183e40b6973acc1e9b">PxF32</a> rightBrake)
+<a name="l00529"></a>00529 {
+<a name="l00530"></a>00530 <span class="preprocessor">#if PX_CHECKED</span>
+<a name="l00531"></a>00531 <span class="preprocessor"></span> testValidAnalogValue(rightBrake, 0.0f, 1.0f, <span class="stringliteral">"Tank right brake must be in range (0,1)."</span>);
+<a name="l00532"></a>00532 <span class="preprocessor">#endif</span>
+<a name="l00533"></a>00533 <span class="preprocessor"></span> mRawAnalogInputs[<a class="code" href="structPxVehicleDriveTankControl.html#13e9cce8dce77a82f7598c930d0c0c5c2bc6e1cf01b82577d18626f6b2186f2b">PxVehicleDriveTankControl::eANALOG_INPUT_BRAKE_RIGHT</a>]=rightBrake;
+<a name="l00534"></a>00534 }
+<a name="l00535"></a>00535
+<a name="l00540"></a><a class="code" href="classPxVehicleDriveTankRawInputData.html#6078ac6b35c95f95cc0dbfab948250f4">00540</a> <a class="code" href="namespacephysx.html#b4cf332bdb6e8b183e40b6973acc1e9b">PxF32</a> getAnalogAccel()<span class="keyword"> const </span>
+<a name="l00541"></a>00541 <span class="keyword"> </span>{
+<a name="l00542"></a>00542 <span class="keywordflow">return</span> mRawAnalogInputs[<a class="code" href="structPxVehicleDriveTankControl.html#13e9cce8dce77a82f7598c930d0c0c5c4d4d74266256f5785bff0ab396eb1b6a">PxVehicleDriveTankControl::eANALOG_INPUT_ACCEL</a>];
+<a name="l00543"></a>00543 }
+<a name="l00544"></a>00544
+<a name="l00549"></a><a class="code" href="classPxVehicleDriveTankRawInputData.html#b4113d30c76e8b7556209f4a719c0f8a">00549</a> <a class="code" href="namespacephysx.html#b4cf332bdb6e8b183e40b6973acc1e9b">PxF32</a> getAnalogLeftThrust()<span class="keyword"> const </span>
+<a name="l00550"></a>00550 <span class="keyword"> </span>{
+<a name="l00551"></a>00551 <span class="keywordflow">return</span> mRawAnalogInputs[<a class="code" href="structPxVehicleDriveTankControl.html#13e9cce8dce77a82f7598c930d0c0c5c5fd1badaa124dfe45b78ea77d41e5a88">PxVehicleDriveTankControl::eANALOG_INPUT_THRUST_LEFT</a>];
+<a name="l00552"></a>00552 }
+<a name="l00553"></a>00553
+<a name="l00558"></a><a class="code" href="classPxVehicleDriveTankRawInputData.html#3009c38f0756180c82f5a9409ccb41a3">00558</a> <a class="code" href="namespacephysx.html#b4cf332bdb6e8b183e40b6973acc1e9b">PxF32</a> getAnalogRightThrust()<span class="keyword"> const </span>
+<a name="l00559"></a>00559 <span class="keyword"> </span>{
+<a name="l00560"></a>00560 <span class="keywordflow">return</span> mRawAnalogInputs[<a class="code" href="structPxVehicleDriveTankControl.html#13e9cce8dce77a82f7598c930d0c0c5cf9fe3fceb9090bb618d8ecbc990034f3">PxVehicleDriveTankControl::eANALOG_INPUT_THRUST_RIGHT</a>];
+<a name="l00561"></a>00561 }
+<a name="l00562"></a>00562
+<a name="l00567"></a><a class="code" href="classPxVehicleDriveTankRawInputData.html#ae05007e9b483191c7bf37768fe6e14e">00567</a> <a class="code" href="namespacephysx.html#b4cf332bdb6e8b183e40b6973acc1e9b">PxF32</a> getAnalogLeftBrake()<span class="keyword"> const </span>
+<a name="l00568"></a>00568 <span class="keyword"> </span>{
+<a name="l00569"></a>00569 <span class="keywordflow">return</span> mRawAnalogInputs[<a class="code" href="structPxVehicleDriveTankControl.html#13e9cce8dce77a82f7598c930d0c0c5c0e0c1828cf31979089fa9a82c1da9d49">PxVehicleDriveTankControl::eANALOG_INPUT_BRAKE_LEFT</a>];
+<a name="l00570"></a>00570 }
+<a name="l00571"></a>00571
+<a name="l00576"></a><a class="code" href="classPxVehicleDriveTankRawInputData.html#fa35fad1442fa356a9b09fec3f3046c6">00576</a> <a class="code" href="namespacephysx.html#b4cf332bdb6e8b183e40b6973acc1e9b">PxF32</a> getAnalogRightBrake()<span class="keyword"> const </span>
+<a name="l00577"></a>00577 <span class="keyword"> </span>{
+<a name="l00578"></a>00578 <span class="keywordflow">return</span> mRawAnalogInputs[<a class="code" href="structPxVehicleDriveTankControl.html#13e9cce8dce77a82f7598c930d0c0c5c2bc6e1cf01b82577d18626f6b2186f2b">PxVehicleDriveTankControl::eANALOG_INPUT_BRAKE_RIGHT</a>];
+<a name="l00579"></a>00579 }
+<a name="l00580"></a>00580
+<a name="l00585"></a><a class="code" href="classPxVehicleDriveTankRawInputData.html#0093f8a955f714617b1269a652f0c709">00585</a> <span class="keywordtype">void</span> <a class="code" href="classPxVehicleDriveTankRawInputData.html#0093f8a955f714617b1269a652f0c709" title="Record if the gear-up button has been pressed on keyboard or gamepad.">setGearUp</a>(<span class="keyword">const</span> <span class="keywordtype">bool</span> gearUp) {mGearUp=gearUp;}
+<a name="l00586"></a>00586
+<a name="l00591"></a><a class="code" href="classPxVehicleDriveTankRawInputData.html#4ff7609f917b69e7bc329540b2c3aaa2">00591</a> <span class="keywordtype">void</span> <a class="code" href="classPxVehicleDriveTankRawInputData.html#4ff7609f917b69e7bc329540b2c3aaa2" title="Record if the gear-down button has been pressed on keyboard or gamepad.">setGearDown</a>(<span class="keyword">const</span> <span class="keywordtype">bool</span> gearDown) {mGearDown=gearDown;}
+<a name="l00592"></a>00592
+<a name="l00597"></a><a class="code" href="classPxVehicleDriveTankRawInputData.html#f1ca18c9296a6a62ecf16b3893674c99">00597</a> <span class="keywordtype">bool</span> <a class="code" href="classPxVehicleDriveTankRawInputData.html#f1ca18c9296a6a62ecf16b3893674c99" title="Return if the gear-up button has been pressed on keyboard or gamepad.">getGearUp</a>()<span class="keyword"> const </span>{<span class="keywordflow">return</span> mGearUp;}
+<a name="l00598"></a>00598
+<a name="l00603"></a><a class="code" href="classPxVehicleDriveTankRawInputData.html#00d1f68f351ee457f611968a133516b0">00603</a> <span class="keywordtype">bool</span> <a class="code" href="classPxVehicleDriveTankRawInputData.html#00d1f68f351ee457f611968a133516b0" title="Return if the gear-down button has been pressed on keyboard or gamepad.">getGearDown</a>()<span class="keyword"> const </span>{<span class="keywordflow">return</span> mGearDown;}
+<a name="l00604"></a>00604
+<a name="l00605"></a>00605 <span class="keyword">private</span>:
+<a name="l00606"></a>00606
+<a name="l00607"></a><a class="code" href="classPxVehicleDriveTankRawInputData.html#853df27dada318a90e9020ac805a9dfe">00607</a> <a class="code" href="structPxVehicleDriveTankControlModel.html#15800ba4f6142803c1b0d0098a942b13">PxVehicleDriveTankControlModel::Enum</a> mMode;
+<a name="l00608"></a>00608
+<a name="l00609"></a><a class="code" href="classPxVehicleDriveTankRawInputData.html#a7cf15cb0d4bf96823ebd05827fa0100">00609</a> <a class="code" href="namespacephysx.html#727d2d8426e2a21ebbc522fa65c3f97a">PxReal</a> mRawAnalogInputs[<a class="code" href="structPxVehicleDriveTankControl.html#13e9cce8dce77a82f7598c930d0c0c5c1e723ae081f8a1849fab0baab509bd04">PxVehicleDriveTankControl::eMAX_NB_DRIVETANK_ANALOG_INPUTS</a>];
+<a name="l00610"></a><a class="code" href="classPxVehicleDriveTankRawInputData.html#849aeca3344c2a5b17c3eb83de787e97">00610</a> <span class="keywordtype">bool</span> mRawDigitalInputs[<a class="code" href="structPxVehicleDriveTankControl.html#13e9cce8dce77a82f7598c930d0c0c5c1e723ae081f8a1849fab0baab509bd04">PxVehicleDriveTankControl::eMAX_NB_DRIVETANK_ANALOG_INPUTS</a>];
+<a name="l00611"></a>00611
+<a name="l00612"></a><a class="code" href="classPxVehicleDriveTankRawInputData.html#880f540045663531dd9a645433dee98b">00612</a> <span class="keywordtype">bool</span> mGearUp;
+<a name="l00613"></a><a class="code" href="classPxVehicleDriveTankRawInputData.html#cd4f2db686a61354b58ad996a5e0c4b0">00613</a> <span class="keywordtype">bool</span> mGearDown;
+<a name="l00614"></a>00614 };
+<a name="l00615"></a>00615
+<a name="l00624"></a>00624 <span class="keywordtype">void</span> <a class="code" href="group__vehicle.html#g89b530b003b89280677e09327fbdb606" title="Used to smooth and set analog tank control values from digital inputs (keyboard)...">PxVehicleDriveTankSmoothDigitalRawInputsAndSetAnalogInputs</a>
+<a name="l00625"></a>00625 (<span class="keyword">const</span> <a class="code" href="structPxVehicleKeySmoothingData.html" title="Used to produce smooth vehicle driving control values from key inputs.">PxVehicleKeySmoothingData</a>&amp; keySmoothing,
+<a name="l00626"></a>00626 <span class="keyword">const</span> <a class="code" href="classPxVehicleDriveTankRawInputData.html" title="Used to produce smooth analog tank control values from analog and digital inputs...">PxVehicleDriveTankRawInputData</a>&amp; rawInputData,
+<a name="l00627"></a>00627 <span class="keyword">const</span> <a class="code" href="namespacephysx.html#727d2d8426e2a21ebbc522fa65c3f97a">PxReal</a> timestep,
+<a name="l00628"></a>00628 <a class="code" href="classPxVehicleDriveTank.html" title="Data structure with instanced dynamics data and configuration data of a tank.">PxVehicleDriveTank</a>&amp; focusVehicle);
+<a name="l00629"></a>00629
+<a name="l00630"></a>00630
+<a name="l00639"></a>00639 <span class="keywordtype">void</span> <a class="code" href="group__vehicle.html#g2b7e00f8931f3b84d3aa6510d7a6cfaa" title="Used to smooth and set analog tank control values from analog inputs (gamepad). Also...">PxVehicleDriveTankSmoothAnalogRawInputsAndSetAnalogInputs</a>
+<a name="l00640"></a>00640 (<span class="keyword">const</span> <a class="code" href="structPxVehiclePadSmoothingData.html" title="Used to produce smooth analog vehicle control values from analog inputs.">PxVehiclePadSmoothingData</a>&amp; padSmoothing,
+<a name="l00641"></a>00641 <span class="keyword">const</span> <a class="code" href="classPxVehicleDriveTankRawInputData.html" title="Used to produce smooth analog tank control values from analog and digital inputs...">PxVehicleDriveTankRawInputData</a>&amp; rawInputData,
+<a name="l00642"></a>00642 <span class="keyword">const</span> <a class="code" href="namespacephysx.html#727d2d8426e2a21ebbc522fa65c3f97a">PxReal</a> timestep,
+<a name="l00643"></a>00643 <a class="code" href="classPxVehicleDriveTank.html" title="Data structure with instanced dynamics data and configuration data of a tank.">PxVehicleDriveTank</a>&amp; focusVehicle);
+<a name="l00644"></a>00644
+<a name="l00645"></a>00645
+<a name="l00646"></a>00646 <span class="preprocessor">#if !PX_DOXYGEN</span>
+<a name="l00647"></a>00647 <span class="preprocessor"></span>} <span class="comment">// namespace physx</span>
+<a name="l00648"></a>00648 <span class="preprocessor">#endif</span>
+<a name="l00649"></a>00649 <span class="preprocessor"></span>
+<a name="l00651"></a>00651 <span class="preprocessor">#endif //PX_VEHICLE_CONTROL_H</span>
+</pre></div></div>
+
+<hr style="width: 100%; height: 2px;"><br>
+Copyright &copy; 2008-2016 NVIDIA Corporation, 2701 San Tomas Expressway, Santa Clara, CA 95050 U.S.A. All rights reserved. <a href="http://www.nvidia.com ">www.nvidia.com</a>
+</body>
+</html>