From 3dfe2108cfab31ba3ee5527e217d0d8e99a51162 Mon Sep 17 00:00:00 2001
From: git perforce import user
Date: Tue, 25 Oct 2016 12:29:14 -0600
Subject: Initial commit: PhysX 3.4.0 Update @ 21294896 APEX 1.4.0 Update @
21275617
[CL 21300167]
---
.../PhysXAPI/files/PxVehicleDrive4W_8h-source.html | 202 +++++++++++++++++++++
1 file changed, 202 insertions(+)
create mode 100644 PhysX_3.4/Documentation/PhysXAPI/files/PxVehicleDrive4W_8h-source.html
(limited to 'PhysX_3.4/Documentation/PhysXAPI/files/PxVehicleDrive4W_8h-source.html')
diff --git a/PhysX_3.4/Documentation/PhysXAPI/files/PxVehicleDrive4W_8h-source.html b/PhysX_3.4/Documentation/PhysXAPI/files/PxVehicleDrive4W_8h-source.html
new file mode 100644
index 00000000..e2377eac
--- /dev/null
+++ b/PhysX_3.4/Documentation/PhysXAPI/files/PxVehicleDrive4W_8h-source.html
@@ -0,0 +1,202 @@
+
+
+ PxVehicleDrive4W.h
Go to the documentation of this file.
00001 // This code contains NVIDIA Confidential Information and is disclosed to you +00002 // under a form of NVIDIA software license agreement provided separately to you. +00003 // +00004 // Notice +00005 // NVIDIA Corporation and its licensors retain all intellectual property and +00006 // proprietary rights in and to this software and related documentation and +00007 // any modifications thereto. Any use, reproduction, disclosure, or +00008 // distribution of this software and related documentation without an express +00009 // license agreement from NVIDIA Corporation is strictly prohibited. +00010 // +00011 // ALL NVIDIA DESIGN SPECIFICATIONS, CODE ARE PROVIDED "AS IS.". NVIDIA MAKES +00012 // NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO +00013 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES OF NONINFRINGEMENT, +00014 // MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE. +00015 // +00016 // Information and code furnished is believed to be accurate and reliable. +00017 // However, NVIDIA Corporation assumes no responsibility for the consequences of use of such +00018 // information or for any infringement of patents or other rights of third parties that may +00019 // result from its use. No license is granted by implication or otherwise under any patent +00020 // or patent rights of NVIDIA Corporation. Details are subject to change without notice. +00021 // This code supersedes and replaces all information previously supplied. +00022 // NVIDIA Corporation products are not authorized for use as critical +00023 // components in life support devices or systems without express written approval of +00024 // NVIDIA Corporation. +00025 // +00026 // Copyright (c) 2008-2016 NVIDIA Corporation. All rights reserved. +00027 // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved. +00028 // Copyright (c) 2001-2004 NovodeX AG. All rights reserved. +00029 +00030 #ifndef PX_VEHICLE_4WDRIVE_H +00031 #define PX_VEHICLE_4WDRIVE_H +00032 +00036 #include "vehicle/PxVehicleDrive.h" +00037 #include "vehicle/PxVehicleWheels.h" +00038 #include "vehicle/PxVehicleComponents.h" +00039 +00040 +00041 #if !PX_DOXYGEN +00042 namespace physx +00043 { +00044 #endif +00045 +00046 struct PxFilterData; +00047 class PxGeometry; +00048 class PxPhysics; +00049 class PxBatchQuery; +00050 class PxVehicleDrivableSurfaceToTireFrictionPairs; +00051 class PxShape; +00052 class PxMaterial; +00053 class PxRigidDynamic; +00054 +00060 class PxVehicleDriveSimData4W : public PxVehicleDriveSimData +00061 { +00062 //= ATTENTION! ===================================================================================== +00063 // Changing the data layout of this class breaks the binary serialization format. See comments for +00064 // PX_BINARY_SERIAL_VERSION. If a modification is required, please adjust the getBinaryMetaData +00065 // function. If the modification is made on a custom branch, please change PX_BINARY_SERIAL_VERSION +00066 // accordingly. +00067 //================================================================================================== +00068 public: +00069 +00070 friend class PxVehicleDrive4W; +00071 +00072 PxVehicleDriveSimData4W() +00073 : PxVehicleDriveSimData() +00074 { +00075 } +00076 +00081 PX_FORCE_INLINE const PxVehicleDifferential4WData& getDiffData() const +00082 { +00083 return mDiff; +00084 } +00085 +00090 PX_FORCE_INLINE const PxVehicleAckermannGeometryData& getAckermannGeometryData() const +00091 { +00092 return mAckermannGeometry; +00093 } +00094 +00099 void setDiffData(const PxVehicleDifferential4WData& diff); +00100 +00105 void setAckermannGeometryData(const PxVehicleAckermannGeometryData& ackermannData); +00106 +00107 private: +00108 +00113 PxVehicleDifferential4WData mDiff; +00114 +00119 PxVehicleAckermannGeometryData mAckermannGeometry; +00120 +00126 bool isValid() const; +00127 +00128 //serialization +00129 public: +00130 PxVehicleDriveSimData4W(const PxEMPTY) : PxVehicleDriveSimData(PxEmpty), mDiff(PxEmpty), mAckermannGeometry(PxEmpty) {} +00131 static void getBinaryMetaData(PxOutputStream& stream); +00132 //~serialization +00133 }; +00134 PX_COMPILE_TIME_ASSERT(0==(sizeof(PxVehicleDriveSimData4W) & 15)); +00135 +00136 +00137 +00144 struct PxVehicleDrive4WWheelOrder +00145 { +00146 enum Enum +00147 { +00148 eFRONT_LEFT=0, +00149 eFRONT_RIGHT, +00150 eREAR_LEFT, +00151 eREAR_RIGHT +00152 }; +00153 }; +00154 +00161 struct PxVehicleDrive4WControl +00162 { +00163 enum Enum +00164 { +00165 eANALOG_INPUT_ACCEL=0, +00166 eANALOG_INPUT_BRAKE, +00167 eANALOG_INPUT_HANDBRAKE, +00168 eANALOG_INPUT_STEER_LEFT, +00169 eANALOG_INPUT_STEER_RIGHT, +00170 eMAX_NB_DRIVE4W_ANALOG_INPUTS +00171 }; +00172 }; +00173 +00177 class PxVehicleDrive4W : public PxVehicleDrive +00178 { +00179 //= ATTENTION! ===================================================================================== +00180 // Changing the data layout of this class breaks the binary serialization format. See comments for +00181 // PX_BINARY_SERIAL_VERSION. If a modification is required, please adjust the getBinaryMetaData +00182 // function. If the modification is made on a custom branch, please change PX_BINARY_SERIAL_VERSION +00183 // accordingly. +00184 //================================================================================================== +00185 public: +00186 friend class PxVehicleUpdate; +00187 +00197 static PxVehicleDrive4W* allocate(const PxU32 nbWheels); +00198 +00203 void free(); +00204 +00216 void setup +00217 (PxPhysics* physics, PxRigidDynamic* vehActor, +00218 const PxVehicleWheelsSimData& wheelsData, const PxVehicleDriveSimData4W& driveData, +00219 const PxU32 nbNonDrivenWheels); +00220 +00233 static PxVehicleDrive4W* create +00234 (PxPhysics* physics, PxRigidDynamic* vehActor, +00235 const PxVehicleWheelsSimData& wheelsData, const PxVehicleDriveSimData4W& driveData, +00236 const PxU32 nbNonDrivenWheels); +00237 +00245 void setToRestState(); +00246 +00251 PxVehicleDriveSimData4W mDriveSimData; +00252 +00253 private: +00254 +00258 bool isValid() const; +00259 +00260 //serialization +00261 protected: +00262 PxVehicleDrive4W(); +00263 ~PxVehicleDrive4W(){} +00264 virtual bool isKindOf(const char* name) const { return !::strcmp("PxVehicleDrive4W", name) || PxBase::isKindOf(name); } +00265 public: +00266 static PxVehicleDrive4W* createObject(PxU8*& address, PxDeserializationContext& context); +00267 static void getBinaryMetaData(PxOutputStream& stream); +00268 PxVehicleDrive4W(PxBaseFlags baseFlags) : PxVehicleDrive(baseFlags), mDriveSimData(PxEmpty) {} +00269 virtual const char* getConcreteTypeName() const { return "PxVehicleDrive4W"; } +00270 //~serialization +00271 }; +00272 PX_COMPILE_TIME_ASSERT(0==(sizeof(PxVehicleDrive4W) & 15)); +00273 +00274 #if !PX_DOXYGEN +00275 } // namespace physx +00276 #endif +00277 +00279 #endif //PX_VEHICLE_4WDRIVE_H +