35#define THERE_IS_NO_INCLUDE_GUARD_HERE_FOR_A_REASON
37#define PX_PROPERTY_INFO_NAME PxVehiclePropertyInfoName
38 class PxVehicleChassisData;
52 static const char* getClassName() {
return "PxVehicleChassisData"; }
53 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleChassisData_MMOI, PxVehicleChassisData, PxVec3, PxVec3 > MMOI;
54 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleChassisData_MMass, PxVehicleChassisData, PxReal, PxReal > MMass;
55 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleChassisData_MCMOffset, PxVehicleChassisData, PxVec3, PxVec3 > MCMOffset;
58 template<
typename TReturnType,
typename TOperator>
59 TReturnType visitType( TOperator inOperator )
const
61 return inOperator(
reinterpret_cast<PxVehicleChassisData*
>(NULL) );
63 template<
typename TOperator>
64 void visitBases( TOperator inOperator )
66 PX_UNUSED(inOperator);
68 template<
typename TOperator>
69 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
71 PX_UNUSED(inOperator);
72 PX_UNUSED(inStartIndex);
75 static PxU32 instancePropertyCount() {
return 3; }
76 static PxU32 totalPropertyCount() {
return instancePropertyCount(); }
77 template<
typename TOperator>
78 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
80 PX_UNUSED(inOperator);
81 PX_UNUSED(inStartIndex);
82 inOperator( MMOI, inStartIndex + 0 );;
83 inOperator( MMass, inStartIndex + 1 );;
84 inOperator( MCMOffset, inStartIndex + 2 );;
85 return 3 + inStartIndex;
88 template<>
struct PxClassInfoTraits<PxVehicleChassisData>
94 static PxU32ToName g_physx__PxEMPTYConversion[] = {
95 {
"PxEmpty",
static_cast<PxU32
>( physx::PxEmpty ) },
99template<>
struct PxEnumTraits< const
physx::PxEMPTY > { PxEnumTraits() : NameConversion( g_physx__PxEMPTYConversion ) {}
const PxU32ToName* NameConversion; };
100 class PxVehicleEngineData;
104 PxReal RecipMaxOmega;
108 PxReal MDampingRateFullThrottle;
109 PxReal MDampingRateZeroThrottleClutchEngaged;
110 PxReal MDampingRateZeroThrottleClutchDisengaged;
124 static const char* getClassName() {
return "PxVehicleEngineData"; }
125 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleEngineData_RecipMOI, PxVehicleEngineData, PxReal > RecipMOI;
126 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleEngineData_RecipMaxOmega, PxVehicleEngineData, PxReal > RecipMaxOmega;
127 MTorqueCurveProperty MTorqueCurve;
128 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleEngineData_MMOI, PxVehicleEngineData, PxReal, PxReal > MMOI;
129 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleEngineData_MPeakTorque, PxVehicleEngineData, PxReal, PxReal > MPeakTorque;
130 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleEngineData_MMaxOmega, PxVehicleEngineData, PxReal, PxReal > MMaxOmega;
131 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleEngineData_MDampingRateFullThrottle, PxVehicleEngineData, PxReal, PxReal > MDampingRateFullThrottle;
132 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleEngineData_MDampingRateZeroThrottleClutchEngaged, PxVehicleEngineData, PxReal, PxReal > MDampingRateZeroThrottleClutchEngaged;
133 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleEngineData_MDampingRateZeroThrottleClutchDisengaged, PxVehicleEngineData, PxReal, PxReal > MDampingRateZeroThrottleClutchDisengaged;
136 template<
typename TReturnType,
typename TOperator>
137 TReturnType visitType( TOperator inOperator )
const
139 return inOperator(
reinterpret_cast<PxVehicleEngineData*
>(NULL) );
141 template<
typename TOperator>
142 void visitBases( TOperator inOperator )
144 PX_UNUSED(inOperator);
146 template<
typename TOperator>
147 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
149 PX_UNUSED(inOperator);
150 PX_UNUSED(inStartIndex);
153 static PxU32 instancePropertyCount() {
return 9; }
154 static PxU32 totalPropertyCount() {
return instancePropertyCount(); }
155 template<
typename TOperator>
156 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
158 PX_UNUSED(inOperator);
159 PX_UNUSED(inStartIndex);
160 inOperator( RecipMOI, inStartIndex + 0 );;
161 inOperator( RecipMaxOmega, inStartIndex + 1 );;
162 inOperator( MTorqueCurve, inStartIndex + 2 );;
163 inOperator( MMOI, inStartIndex + 3 );;
164 inOperator( MPeakTorque, inStartIndex + 4 );;
165 inOperator( MMaxOmega, inStartIndex + 5 );;
166 inOperator( MDampingRateFullThrottle, inStartIndex + 6 );;
167 inOperator( MDampingRateZeroThrottleClutchEngaged, inStartIndex + 7 );;
168 inOperator( MDampingRateZeroThrottleClutchDisengaged, inStartIndex + 8 );;
169 return 9 + inStartIndex;
172 template<>
struct PxClassInfoTraits<PxVehicleEngineData>
178 static PxU32ToName g_physx__PxVehicleGearsData__EnumConversion[] = {
179 {
"eREVERSE",
static_cast<PxU32
>( physx::PxVehicleGearsData::eREVERSE ) },
180 {
"eNEUTRAL",
static_cast<PxU32
>( physx::PxVehicleGearsData::eNEUTRAL ) },
181 {
"eFIRST",
static_cast<PxU32
>( physx::PxVehicleGearsData::eFIRST ) },
182 {
"eSECOND",
static_cast<PxU32
>( physx::PxVehicleGearsData::eSECOND ) },
183 {
"eTHIRD",
static_cast<PxU32
>( physx::PxVehicleGearsData::eTHIRD ) },
184 {
"eFOURTH",
static_cast<PxU32
>( physx::PxVehicleGearsData::eFOURTH ) },
185 {
"eFIFTH",
static_cast<PxU32
>( physx::PxVehicleGearsData::eFIFTH ) },
186 {
"eSIXTH",
static_cast<PxU32
>( physx::PxVehicleGearsData::eSIXTH ) },
187 {
"eSEVENTH",
static_cast<PxU32
>( physx::PxVehicleGearsData::eSEVENTH ) },
188 {
"eEIGHTH",
static_cast<PxU32
>( physx::PxVehicleGearsData::eEIGHTH ) },
189 {
"eNINTH",
static_cast<PxU32
>( physx::PxVehicleGearsData::eNINTH ) },
190 {
"eTENTH",
static_cast<PxU32
>( physx::PxVehicleGearsData::eTENTH ) },
191 {
"eELEVENTH",
static_cast<PxU32
>( physx::PxVehicleGearsData::eELEVENTH ) },
192 {
"eTWELFTH",
static_cast<PxU32
>( physx::PxVehicleGearsData::eTWELFTH ) },
193 {
"eTHIRTEENTH",
static_cast<PxU32
>( physx::PxVehicleGearsData::eTHIRTEENTH ) },
194 {
"eFOURTEENTH",
static_cast<PxU32
>( physx::PxVehicleGearsData::eFOURTEENTH ) },
195 {
"eFIFTEENTH",
static_cast<PxU32
>( physx::PxVehicleGearsData::eFIFTEENTH ) },
196 {
"eSIXTEENTH",
static_cast<PxU32
>( physx::PxVehicleGearsData::eSIXTEENTH ) },
197 {
"eSEVENTEENTH",
static_cast<PxU32
>( physx::PxVehicleGearsData::eSEVENTEENTH ) },
198 {
"eEIGHTEENTH",
static_cast<PxU32
>( physx::PxVehicleGearsData::eEIGHTEENTH ) },
199 {
"eNINETEENTH",
static_cast<PxU32
>( physx::PxVehicleGearsData::eNINETEENTH ) },
200 {
"eTWENTIETH",
static_cast<PxU32
>( physx::PxVehicleGearsData::eTWENTIETH ) },
201 {
"eTWENTYFIRST",
static_cast<PxU32
>( physx::PxVehicleGearsData::eTWENTYFIRST ) },
202 {
"eTWENTYSECOND",
static_cast<PxU32
>( physx::PxVehicleGearsData::eTWENTYSECOND ) },
203 {
"eTWENTYTHIRD",
static_cast<PxU32
>( physx::PxVehicleGearsData::eTWENTYTHIRD ) },
204 {
"eTWENTYFOURTH",
static_cast<PxU32
>( physx::PxVehicleGearsData::eTWENTYFOURTH ) },
205 {
"eTWENTYFIFTH",
static_cast<PxU32
>( physx::PxVehicleGearsData::eTWENTYFIFTH ) },
206 {
"eTWENTYSIXTH",
static_cast<PxU32
>( physx::PxVehicleGearsData::eTWENTYSIXTH ) },
207 {
"eTWENTYSEVENTH",
static_cast<PxU32
>( physx::PxVehicleGearsData::eTWENTYSEVENTH ) },
208 {
"eTWENTYEIGHTH",
static_cast<PxU32
>( physx::PxVehicleGearsData::eTWENTYEIGHTH ) },
209 {
"eTWENTYNINTH",
static_cast<PxU32
>( physx::PxVehicleGearsData::eTWENTYNINTH ) },
210 {
"eTHIRTIETH",
static_cast<PxU32
>( physx::PxVehicleGearsData::eTHIRTIETH ) },
214template<>
struct PxEnumTraits<
physx::PxVehicleGearsData::Enum > { PxEnumTraits() : NameConversion( g_physx__PxVehicleGearsData__EnumConversion ) {}
const PxU32ToName* NameConversion; };
215 class PxVehicleGearsData;
218 PxReal GearRatio[physx::PxVehicleGearsData::eGEARSRATIO_COUNT];
231 static const char* getClassName() {
return "PxVehicleGearsData"; }
232 PxIndexedPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleGearsData_GearRatio, PxVehicleGearsData, PxVehicleGearsData::Enum, PxReal > GearRatio;
233 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleGearsData_MFinalRatio, PxVehicleGearsData, PxReal, PxReal > MFinalRatio;
234 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleGearsData_MNbRatios, PxVehicleGearsData, PxU32, PxU32 > MNbRatios;
235 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleGearsData_MSwitchTime, PxVehicleGearsData, PxReal, PxReal > MSwitchTime;
238 template<
typename TReturnType,
typename TOperator>
239 TReturnType visitType( TOperator inOperator )
const
241 return inOperator(
reinterpret_cast<PxVehicleGearsData*
>(NULL) );
243 template<
typename TOperator>
244 void visitBases( TOperator inOperator )
246 PX_UNUSED(inOperator);
248 template<
typename TOperator>
249 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
251 PX_UNUSED(inOperator);
252 PX_UNUSED(inStartIndex);
255 static PxU32 instancePropertyCount() {
return 4; }
256 static PxU32 totalPropertyCount() {
return instancePropertyCount(); }
257 template<
typename TOperator>
258 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
260 PX_UNUSED(inOperator);
261 PX_UNUSED(inStartIndex);
262 inOperator( GearRatio, inStartIndex + 0 );;
263 inOperator( MFinalRatio, inStartIndex + 1 );;
264 inOperator( MNbRatios, inStartIndex + 2 );;
265 inOperator( MSwitchTime, inStartIndex + 3 );;
266 return 4 + inStartIndex;
269 template<>
struct PxClassInfoTraits<PxVehicleGearsData>
275 class PxVehicleAutoBoxData;
279 PxReal UpRatios[physx::PxVehicleGearsData::eGEARSRATIO_COUNT];
280 PxReal DownRatios[physx::PxVehicleGearsData::eGEARSRATIO_COUNT];
289 static const char* getClassName() {
return "PxVehicleAutoBoxData"; }
290 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleAutoBoxData_Latency, PxVehicleAutoBoxData, const PxReal, PxReal > Latency;
291 PxIndexedPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleAutoBoxData_UpRatios, PxVehicleAutoBoxData, PxVehicleGearsData::Enum, PxReal > UpRatios;
292 PxIndexedPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleAutoBoxData_DownRatios, PxVehicleAutoBoxData, PxVehicleGearsData::Enum, PxReal > DownRatios;
295 template<
typename TReturnType,
typename TOperator>
296 TReturnType visitType( TOperator inOperator )
const
298 return inOperator(
reinterpret_cast<PxVehicleAutoBoxData*
>(NULL) );
300 template<
typename TOperator>
301 void visitBases( TOperator inOperator )
303 PX_UNUSED(inOperator);
305 template<
typename TOperator>
306 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
308 PX_UNUSED(inOperator);
309 PX_UNUSED(inStartIndex);
312 static PxU32 instancePropertyCount() {
return 3; }
313 static PxU32 totalPropertyCount() {
return instancePropertyCount(); }
314 template<
typename TOperator>
315 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
317 PX_UNUSED(inOperator);
318 PX_UNUSED(inStartIndex);
319 inOperator( Latency, inStartIndex + 0 );;
320 inOperator( UpRatios, inStartIndex + 1 );;
321 inOperator( DownRatios, inStartIndex + 2 );;
322 return 3 + inStartIndex;
325 template<>
struct PxClassInfoTraits<PxVehicleAutoBoxData>
331 static PxU32ToName g_physx__PxVehicleDifferential4WData__EnumConversion[] = {
332 {
"eDIFF_TYPE_LS_4WD",
static_cast<PxU32
>( physx::PxVehicleDifferential4WData::eDIFF_TYPE_LS_4WD ) },
333 {
"eDIFF_TYPE_LS_FRONTWD",
static_cast<PxU32
>( physx::PxVehicleDifferential4WData::eDIFF_TYPE_LS_FRONTWD ) },
334 {
"eDIFF_TYPE_LS_REARWD",
static_cast<PxU32
>( physx::PxVehicleDifferential4WData::eDIFF_TYPE_LS_REARWD ) },
335 {
"eDIFF_TYPE_OPEN_4WD",
static_cast<PxU32
>( physx::PxVehicleDifferential4WData::eDIFF_TYPE_OPEN_4WD ) },
336 {
"eDIFF_TYPE_OPEN_FRONTWD",
static_cast<PxU32
>( physx::PxVehicleDifferential4WData::eDIFF_TYPE_OPEN_FRONTWD ) },
337 {
"eDIFF_TYPE_OPEN_REARWD",
static_cast<PxU32
>( physx::PxVehicleDifferential4WData::eDIFF_TYPE_OPEN_REARWD ) },
338 {
"eMAX_NB_DIFF_TYPES",
static_cast<PxU32
>( physx::PxVehicleDifferential4WData::eMAX_NB_DIFF_TYPES ) },
342template<>
struct PxEnumTraits<
physx::PxVehicleDifferential4WData::Enum > { PxEnumTraits() : NameConversion( g_physx__PxVehicleDifferential4WData__EnumConversion ) {}
const PxU32ToName* NameConversion; };
343 class PxVehicleDifferential4WData;
346 PxReal MFrontRearSplit;
347 PxReal MFrontLeftRightSplit;
348 PxReal MRearLeftRightSplit;
352 PxVehicleDifferential4WData::Enum MType;
365 static const char* getClassName() {
return "PxVehicleDifferential4WData"; }
366 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleDifferential4WData_MFrontRearSplit, PxVehicleDifferential4WData, PxReal, PxReal > MFrontRearSplit;
367 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleDifferential4WData_MFrontLeftRightSplit, PxVehicleDifferential4WData, PxReal, PxReal > MFrontLeftRightSplit;
368 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleDifferential4WData_MRearLeftRightSplit, PxVehicleDifferential4WData, PxReal, PxReal > MRearLeftRightSplit;
369 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleDifferential4WData_MCentreBias, PxVehicleDifferential4WData, PxReal, PxReal > MCentreBias;
370 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleDifferential4WData_MFrontBias, PxVehicleDifferential4WData, PxReal, PxReal > MFrontBias;
371 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleDifferential4WData_MRearBias, PxVehicleDifferential4WData, PxReal, PxReal > MRearBias;
372 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleDifferential4WData_MType, PxVehicleDifferential4WData, PxVehicleDifferential4WData::Enum, PxVehicleDifferential4WData::Enum > MType;
375 template<
typename TReturnType,
typename TOperator>
376 TReturnType visitType( TOperator inOperator )
const
378 return inOperator(
reinterpret_cast<PxVehicleDifferential4WData*
>(NULL) );
380 template<
typename TOperator>
381 void visitBases( TOperator inOperator )
383 PX_UNUSED(inOperator);
385 template<
typename TOperator>
386 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
388 PX_UNUSED(inOperator);
389 PX_UNUSED(inStartIndex);
392 static PxU32 instancePropertyCount() {
return 7; }
393 static PxU32 totalPropertyCount() {
return instancePropertyCount(); }
394 template<
typename TOperator>
395 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
397 PX_UNUSED(inOperator);
398 PX_UNUSED(inStartIndex);
399 inOperator( MFrontRearSplit, inStartIndex + 0 );;
400 inOperator( MFrontLeftRightSplit, inStartIndex + 1 );;
401 inOperator( MRearLeftRightSplit, inStartIndex + 2 );;
402 inOperator( MCentreBias, inStartIndex + 3 );;
403 inOperator( MFrontBias, inStartIndex + 4 );;
404 inOperator( MRearBias, inStartIndex + 5 );;
405 inOperator( MType, inStartIndex + 6 );;
406 return 7 + inStartIndex;
409 template<>
struct PxClassInfoTraits<PxVehicleDifferential4WData>
415 class PxVehicleDifferentialNWData;
418 PxU32 DrivenWheelStatus;
425 static const char* getClassName() {
return "PxVehicleDifferentialNWData"; }
426 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleDifferentialNWData_DrivenWheelStatus, PxVehicleDifferentialNWData, PxU32, PxU32 > DrivenWheelStatus;
429 template<
typename TReturnType,
typename TOperator>
430 TReturnType visitType( TOperator inOperator )
const
432 return inOperator(
reinterpret_cast<PxVehicleDifferentialNWData*
>(NULL) );
434 template<
typename TOperator>
435 void visitBases( TOperator inOperator )
437 PX_UNUSED(inOperator);
439 template<
typename TOperator>
440 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
442 PX_UNUSED(inOperator);
443 PX_UNUSED(inStartIndex);
446 static PxU32 instancePropertyCount() {
return 1; }
447 static PxU32 totalPropertyCount() {
return instancePropertyCount(); }
448 template<
typename TOperator>
449 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
451 PX_UNUSED(inOperator);
452 PX_UNUSED(inStartIndex);
453 inOperator( DrivenWheelStatus, inStartIndex + 0 );;
454 return 1 + inStartIndex;
457 template<>
struct PxClassInfoTraits<PxVehicleDifferentialNWData>
463 class PxVehicleAckermannGeometryData;
469 PxReal MAxleSeparation;
479 static const char* getClassName() {
return "PxVehicleAckermannGeometryData"; }
480 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleAckermannGeometryData_MAccuracy, PxVehicleAckermannGeometryData, PxReal, PxReal > MAccuracy;
481 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleAckermannGeometryData_MFrontWidth, PxVehicleAckermannGeometryData, PxReal, PxReal > MFrontWidth;
482 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleAckermannGeometryData_MRearWidth, PxVehicleAckermannGeometryData, PxReal, PxReal > MRearWidth;
483 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleAckermannGeometryData_MAxleSeparation, PxVehicleAckermannGeometryData, PxReal, PxReal > MAxleSeparation;
486 template<
typename TReturnType,
typename TOperator>
487 TReturnType visitType( TOperator inOperator )
const
489 return inOperator(
reinterpret_cast<PxVehicleAckermannGeometryData*
>(NULL) );
491 template<
typename TOperator>
492 void visitBases( TOperator inOperator )
494 PX_UNUSED(inOperator);
496 template<
typename TOperator>
497 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
499 PX_UNUSED(inOperator);
500 PX_UNUSED(inStartIndex);
503 static PxU32 instancePropertyCount() {
return 4; }
504 static PxU32 totalPropertyCount() {
return instancePropertyCount(); }
505 template<
typename TOperator>
506 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
508 PX_UNUSED(inOperator);
509 PX_UNUSED(inStartIndex);
510 inOperator( MAccuracy, inStartIndex + 0 );;
511 inOperator( MFrontWidth, inStartIndex + 1 );;
512 inOperator( MRearWidth, inStartIndex + 2 );;
513 inOperator( MAxleSeparation, inStartIndex + 3 );;
514 return 4 + inStartIndex;
517 template<>
struct PxClassInfoTraits<PxVehicleAckermannGeometryData>
523 static PxU32ToName g_physx__PxVehicleClutchAccuracyMode__EnumConversion[] = {
524 {
"eESTIMATE",
static_cast<PxU32
>( physx::PxVehicleClutchAccuracyMode::eESTIMATE ) },
525 {
"eBEST_POSSIBLE",
static_cast<PxU32
>( physx::PxVehicleClutchAccuracyMode::eBEST_POSSIBLE ) },
529template<>
struct PxEnumTraits<
physx::PxVehicleClutchAccuracyMode::Enum > { PxEnumTraits() : NameConversion( g_physx__PxVehicleClutchAccuracyMode__EnumConversion ) {}
const PxU32ToName* NameConversion; };
530 class PxVehicleClutchData;
534 PxVehicleClutchAccuracyMode::Enum MAccuracyMode;
535 PxU32 MEstimateIterations;
544 static const char* getClassName() {
return "PxVehicleClutchData"; }
545 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleClutchData_MStrength, PxVehicleClutchData, PxReal, PxReal > MStrength;
546 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleClutchData_MAccuracyMode, PxVehicleClutchData, PxVehicleClutchAccuracyMode::Enum, PxVehicleClutchAccuracyMode::Enum > MAccuracyMode;
547 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleClutchData_MEstimateIterations, PxVehicleClutchData, PxU32, PxU32 > MEstimateIterations;
550 template<
typename TReturnType,
typename TOperator>
551 TReturnType visitType( TOperator inOperator )
const
553 return inOperator(
reinterpret_cast<PxVehicleClutchData*
>(NULL) );
555 template<
typename TOperator>
556 void visitBases( TOperator inOperator )
558 PX_UNUSED(inOperator);
560 template<
typename TOperator>
561 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
563 PX_UNUSED(inOperator);
564 PX_UNUSED(inStartIndex);
567 static PxU32 instancePropertyCount() {
return 3; }
568 static PxU32 totalPropertyCount() {
return instancePropertyCount(); }
569 template<
typename TOperator>
570 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
572 PX_UNUSED(inOperator);
573 PX_UNUSED(inStartIndex);
574 inOperator( MStrength, inStartIndex + 0 );;
575 inOperator( MAccuracyMode, inStartIndex + 1 );;
576 inOperator( MEstimateIterations, inStartIndex + 2 );;
577 return 3 + inStartIndex;
580 template<>
struct PxClassInfoTraits<PxVehicleClutchData>
586 class PxVehicleTireLoadFilterData;
590 PxReal MMinNormalisedLoad;
591 PxReal MMinFilteredNormalisedLoad;
592 PxReal MMaxNormalisedLoad;
593 PxReal MMaxFilteredNormalisedLoad;
604 static const char* getClassName() {
return "PxVehicleTireLoadFilterData"; }
605 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleTireLoadFilterData_Denominator, PxVehicleTireLoadFilterData, PxReal > Denominator;
606 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleTireLoadFilterData_MMinNormalisedLoad, PxVehicleTireLoadFilterData, PxReal, PxReal > MMinNormalisedLoad;
607 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleTireLoadFilterData_MMinFilteredNormalisedLoad, PxVehicleTireLoadFilterData, PxReal, PxReal > MMinFilteredNormalisedLoad;
608 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleTireLoadFilterData_MMaxNormalisedLoad, PxVehicleTireLoadFilterData, PxReal, PxReal > MMaxNormalisedLoad;
609 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleTireLoadFilterData_MMaxFilteredNormalisedLoad, PxVehicleTireLoadFilterData, PxReal, PxReal > MMaxFilteredNormalisedLoad;
612 template<
typename TReturnType,
typename TOperator>
613 TReturnType visitType( TOperator inOperator )
const
615 return inOperator(
reinterpret_cast<PxVehicleTireLoadFilterData*
>(NULL) );
617 template<
typename TOperator>
618 void visitBases( TOperator inOperator )
620 PX_UNUSED(inOperator);
622 template<
typename TOperator>
623 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
625 PX_UNUSED(inOperator);
626 PX_UNUSED(inStartIndex);
629 static PxU32 instancePropertyCount() {
return 5; }
630 static PxU32 totalPropertyCount() {
return instancePropertyCount(); }
631 template<
typename TOperator>
632 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
634 PX_UNUSED(inOperator);
635 PX_UNUSED(inStartIndex);
636 inOperator( Denominator, inStartIndex + 0 );;
637 inOperator( MMinNormalisedLoad, inStartIndex + 1 );;
638 inOperator( MMinFilteredNormalisedLoad, inStartIndex + 2 );;
639 inOperator( MMaxNormalisedLoad, inStartIndex + 3 );;
640 inOperator( MMaxFilteredNormalisedLoad, inStartIndex + 4 );;
641 return 5 + inStartIndex;
644 template<>
struct PxClassInfoTraits<PxVehicleTireLoadFilterData>
650 class PxVehicleWheelData;
660 PxReal MMaxBrakeTorque;
661 PxReal MMaxHandBrakeTorque;
680 static const char* getClassName() {
return "PxVehicleWheelData"; }
681 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleWheelData_RecipRadius, PxVehicleWheelData, PxReal > RecipRadius;
682 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleWheelData_RecipMOI, PxVehicleWheelData, PxReal > RecipMOI;
683 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleWheelData_MRadius, PxVehicleWheelData, PxReal, PxReal > MRadius;
684 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleWheelData_MWidth, PxVehicleWheelData, PxReal, PxReal > MWidth;
685 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleWheelData_MMass, PxVehicleWheelData, PxReal, PxReal > MMass;
686 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleWheelData_MMOI, PxVehicleWheelData, PxReal, PxReal > MMOI;
687 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleWheelData_MDampingRate, PxVehicleWheelData, PxReal, PxReal > MDampingRate;
688 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleWheelData_MMaxBrakeTorque, PxVehicleWheelData, PxReal, PxReal > MMaxBrakeTorque;
689 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleWheelData_MMaxHandBrakeTorque, PxVehicleWheelData, PxReal, PxReal > MMaxHandBrakeTorque;
690 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleWheelData_MMaxSteer, PxVehicleWheelData, PxReal, PxReal > MMaxSteer;
691 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleWheelData_MToeAngle, PxVehicleWheelData, PxReal, PxReal > MToeAngle;
694 template<
typename TReturnType,
typename TOperator>
695 TReturnType visitType( TOperator inOperator )
const
697 return inOperator(
reinterpret_cast<PxVehicleWheelData*
>(NULL) );
699 template<
typename TOperator>
700 void visitBases( TOperator inOperator )
702 PX_UNUSED(inOperator);
704 template<
typename TOperator>
705 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
707 PX_UNUSED(inOperator);
708 PX_UNUSED(inStartIndex);
711 static PxU32 instancePropertyCount() {
return 11; }
712 static PxU32 totalPropertyCount() {
return instancePropertyCount(); }
713 template<
typename TOperator>
714 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
716 PX_UNUSED(inOperator);
717 PX_UNUSED(inStartIndex);
718 inOperator( RecipRadius, inStartIndex + 0 );;
719 inOperator( RecipMOI, inStartIndex + 1 );;
720 inOperator( MRadius, inStartIndex + 2 );;
721 inOperator( MWidth, inStartIndex + 3 );;
722 inOperator( MMass, inStartIndex + 4 );;
723 inOperator( MMOI, inStartIndex + 5 );;
724 inOperator( MDampingRate, inStartIndex + 6 );;
725 inOperator( MMaxBrakeTorque, inStartIndex + 7 );;
726 inOperator( MMaxHandBrakeTorque, inStartIndex + 8 );;
727 inOperator( MMaxSteer, inStartIndex + 9 );;
728 inOperator( MToeAngle, inStartIndex + 10 );;
729 return 11 + inStartIndex;
732 template<>
struct PxClassInfoTraits<PxVehicleWheelData>
738 class PxVehicleSuspensionData;
741 PxReal RecipMaxCompression;
742 PxReal RecipMaxDroop;
743 PxReal MSpringStrength;
744 PxReal MSpringDamperRate;
745 PxReal MMaxCompression;
748 PxReal MCamberAtRest;
749 PxReal MCamberAtMaxCompression;
750 PxReal MCamberAtMaxDroop;
766 static const char* getClassName() {
return "PxVehicleSuspensionData"; }
767 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleSuspensionData_RecipMaxCompression, PxVehicleSuspensionData, PxReal > RecipMaxCompression;
768 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleSuspensionData_RecipMaxDroop, PxVehicleSuspensionData, PxReal > RecipMaxDroop;
769 PxWriteOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleSuspensionData_MassAndPreserveNaturalFrequency, PxVehicleSuspensionData, const PxReal > MassAndPreserveNaturalFrequency;
770 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleSuspensionData_MSpringStrength, PxVehicleSuspensionData, PxReal, PxReal > MSpringStrength;
771 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleSuspensionData_MSpringDamperRate, PxVehicleSuspensionData, PxReal, PxReal > MSpringDamperRate;
772 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleSuspensionData_MMaxCompression, PxVehicleSuspensionData, PxReal, PxReal > MMaxCompression;
773 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleSuspensionData_MMaxDroop, PxVehicleSuspensionData, PxReal, PxReal > MMaxDroop;
774 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleSuspensionData_MSprungMass, PxVehicleSuspensionData, PxReal, PxReal > MSprungMass;
775 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleSuspensionData_MCamberAtRest, PxVehicleSuspensionData, PxReal, PxReal > MCamberAtRest;
776 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleSuspensionData_MCamberAtMaxCompression, PxVehicleSuspensionData, PxReal, PxReal > MCamberAtMaxCompression;
777 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleSuspensionData_MCamberAtMaxDroop, PxVehicleSuspensionData, PxReal, PxReal > MCamberAtMaxDroop;
780 template<
typename TReturnType,
typename TOperator>
781 TReturnType visitType( TOperator inOperator )
const
783 return inOperator(
reinterpret_cast<PxVehicleSuspensionData*
>(NULL) );
785 template<
typename TOperator>
786 void visitBases( TOperator inOperator )
788 PX_UNUSED(inOperator);
790 template<
typename TOperator>
791 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
793 PX_UNUSED(inOperator);
794 PX_UNUSED(inStartIndex);
797 static PxU32 instancePropertyCount() {
return 11; }
798 static PxU32 totalPropertyCount() {
return instancePropertyCount(); }
799 template<
typename TOperator>
800 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
802 PX_UNUSED(inOperator);
803 PX_UNUSED(inStartIndex);
804 inOperator( RecipMaxCompression, inStartIndex + 0 );;
805 inOperator( RecipMaxDroop, inStartIndex + 1 );;
806 inOperator( MassAndPreserveNaturalFrequency, inStartIndex + 2 );;
807 inOperator( MSpringStrength, inStartIndex + 3 );;
808 inOperator( MSpringDamperRate, inStartIndex + 4 );;
809 inOperator( MMaxCompression, inStartIndex + 5 );;
810 inOperator( MMaxDroop, inStartIndex + 6 );;
811 inOperator( MSprungMass, inStartIndex + 7 );;
812 inOperator( MCamberAtRest, inStartIndex + 8 );;
813 inOperator( MCamberAtMaxCompression, inStartIndex + 9 );;
814 inOperator( MCamberAtMaxDroop, inStartIndex + 10 );;
815 return 11 + inStartIndex;
818 template<>
struct PxClassInfoTraits<PxVehicleSuspensionData>
824 class PxVehicleAntiRollBarData;
838 static const char* getClassName() {
return "PxVehicleAntiRollBarData"; }
839 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleAntiRollBarData_MWheel0, PxVehicleAntiRollBarData, PxU32, PxU32 > MWheel0;
840 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleAntiRollBarData_MWheel1, PxVehicleAntiRollBarData, PxU32, PxU32 > MWheel1;
841 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleAntiRollBarData_MStiffness, PxVehicleAntiRollBarData, PxF32, PxF32 > MStiffness;
844 template<
typename TReturnType,
typename TOperator>
845 TReturnType visitType( TOperator inOperator )
const
847 return inOperator(
reinterpret_cast<PxVehicleAntiRollBarData*
>(NULL) );
849 template<
typename TOperator>
850 void visitBases( TOperator inOperator )
852 PX_UNUSED(inOperator);
854 template<
typename TOperator>
855 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
857 PX_UNUSED(inOperator);
858 PX_UNUSED(inStartIndex);
861 static PxU32 instancePropertyCount() {
return 3; }
862 static PxU32 totalPropertyCount() {
return instancePropertyCount(); }
863 template<
typename TOperator>
864 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
866 PX_UNUSED(inOperator);
867 PX_UNUSED(inStartIndex);
868 inOperator( MWheel0, inStartIndex + 0 );;
869 inOperator( MWheel1, inStartIndex + 1 );;
870 inOperator( MStiffness, inStartIndex + 2 );;
871 return 3 + inStartIndex;
874 template<>
struct PxClassInfoTraits<PxVehicleAntiRollBarData>
880 class PxVehicleTireData;
883 PxReal RecipLongitudinalStiffnessPerUnitGravity;
884 PxReal FrictionVsSlipGraphRecipx1Minusx0;
885 PxReal FrictionVsSlipGraphRecipx2Minusx1;
888 PxReal MLongitudinalStiffnessPerUnitGravity;
889 PxReal MCamberStiffnessPerUnitGravity;
891 PxReal MFrictionVsSlipGraph[3][2];
906 static const char* getClassName() {
return "PxVehicleTireData"; }
907 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleTireData_RecipLongitudinalStiffnessPerUnitGravity, PxVehicleTireData, PxReal > RecipLongitudinalStiffnessPerUnitGravity;
908 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleTireData_FrictionVsSlipGraphRecipx1Minusx0, PxVehicleTireData, PxReal > FrictionVsSlipGraphRecipx1Minusx0;
909 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleTireData_FrictionVsSlipGraphRecipx2Minusx1, PxVehicleTireData, PxReal > FrictionVsSlipGraphRecipx2Minusx1;
910 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleTireData_MLatStiffX, PxVehicleTireData, PxReal, PxReal > MLatStiffX;
911 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleTireData_MLatStiffY, PxVehicleTireData, PxReal, PxReal > MLatStiffY;
912 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleTireData_MLongitudinalStiffnessPerUnitGravity, PxVehicleTireData, PxReal, PxReal > MLongitudinalStiffnessPerUnitGravity;
913 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleTireData_MCamberStiffnessPerUnitGravity, PxVehicleTireData, PxReal, PxReal > MCamberStiffnessPerUnitGravity;
914 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleTireData_MType, PxVehicleTireData, PxU32, PxU32 > MType;
915 MFrictionVsSlipGraphProperty MFrictionVsSlipGraph;
918 template<
typename TReturnType,
typename TOperator>
919 TReturnType visitType( TOperator inOperator )
const
921 return inOperator(
reinterpret_cast<PxVehicleTireData*
>(NULL) );
923 template<
typename TOperator>
924 void visitBases( TOperator inOperator )
926 PX_UNUSED(inOperator);
928 template<
typename TOperator>
929 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
931 PX_UNUSED(inOperator);
932 PX_UNUSED(inStartIndex);
935 static PxU32 instancePropertyCount() {
return 9; }
936 static PxU32 totalPropertyCount() {
return instancePropertyCount(); }
937 template<
typename TOperator>
938 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
940 PX_UNUSED(inOperator);
941 PX_UNUSED(inStartIndex);
942 inOperator( RecipLongitudinalStiffnessPerUnitGravity, inStartIndex + 0 );;
943 inOperator( FrictionVsSlipGraphRecipx1Minusx0, inStartIndex + 1 );;
944 inOperator( FrictionVsSlipGraphRecipx2Minusx1, inStartIndex + 2 );;
945 inOperator( MLatStiffX, inStartIndex + 3 );;
946 inOperator( MLatStiffY, inStartIndex + 4 );;
947 inOperator( MLongitudinalStiffnessPerUnitGravity, inStartIndex + 5 );;
948 inOperator( MCamberStiffnessPerUnitGravity, inStartIndex + 6 );;
949 inOperator( MType, inStartIndex + 7 );;
950 inOperator( MFrictionVsSlipGraph, inStartIndex + 8 );;
951 return 9 + inStartIndex;
954 template<>
struct PxClassInfoTraits<PxVehicleTireData>
960 class PxVehicleWheels4SimData;
963 const PxReal * TireRestLoadsArray;
964 const PxReal * RecipTireRestLoadsArray;
972 static const char* getClassName() {
return "PxVehicleWheels4SimData"; }
973 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleWheels4SimData_TireRestLoadsArray, PxVehicleWheels4SimData, const PxReal * > TireRestLoadsArray;
974 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleWheels4SimData_RecipTireRestLoadsArray, PxVehicleWheels4SimData, const PxReal * > RecipTireRestLoadsArray;
977 template<
typename TReturnType,
typename TOperator>
978 TReturnType visitType( TOperator inOperator )
const
980 return inOperator(
reinterpret_cast<PxVehicleWheels4SimData*
>(NULL) );
982 template<
typename TOperator>
983 void visitBases( TOperator inOperator )
985 PX_UNUSED(inOperator);
987 template<
typename TOperator>
988 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
990 PX_UNUSED(inOperator);
991 PX_UNUSED(inStartIndex);
994 static PxU32 instancePropertyCount() {
return 2; }
995 static PxU32 totalPropertyCount() {
return instancePropertyCount(); }
996 template<
typename TOperator>
997 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
999 PX_UNUSED(inOperator);
1000 PX_UNUSED(inStartIndex);
1001 inOperator( TireRestLoadsArray, inStartIndex + 0 );;
1002 inOperator( RecipTireRestLoadsArray, inStartIndex + 1 );;
1003 return 2 + inStartIndex;
1006 template<>
struct PxClassInfoTraits<PxVehicleWheels4SimData>
1012 static PxU32ToName g_physx__PxVehicleWheelsSimFlag__EnumConversion[] = {
1020template<>
struct PxEnumTraits<
physx::PxVehicleWheelsSimFlag::Enum > { PxEnumTraits() : NameConversion( g_physx__PxVehicleWheelsSimFlag__EnumConversion ) {}
const PxU32ToName* NameConversion; };
1021 class PxVehicleWheelsSimData;
1024 PxVehicleTireLoadFilterData TireLoadFilterData;
1025 PxF32 MinLongSlipDenominator;
1026 PxVehicleWheelsSimFlags Flags;
1027 PxF32 ThresholdLongSpeed;
1028 PxU32 LowForwardSpeedSubStepCount;
1029 PxU32 HighForwardSpeedSubStepCount;
1041 static const char* getClassName() {
return "PxVehicleWheelsSimData"; }
1042 PxWriteOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleWheelsSimData_ChassisMass, PxVehicleWheelsSimData, const PxF32 > ChassisMass;
1043 PxExtendedIndexedPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleWheelsSimData_SuspensionData, PxVehicleWheelsSimData, const PxU32, PxVehicleSuspensionData > SuspensionData;
1044 PxExtendedIndexedPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleWheelsSimData_WheelData, PxVehicleWheelsSimData, const PxU32, PxVehicleWheelData > WheelData;
1045 PxExtendedIndexedPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleWheelsSimData_TireData, PxVehicleWheelsSimData, const PxU32, PxVehicleTireData > TireData;
1046 PxExtendedIndexedPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleWheelsSimData_SuspTravelDirection, PxVehicleWheelsSimData, const PxU32, PxVec3 > SuspTravelDirection;
1047 PxExtendedIndexedPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleWheelsSimData_SuspForceAppPointOffset, PxVehicleWheelsSimData, const PxU32, PxVec3 > SuspForceAppPointOffset;
1048 PxExtendedIndexedPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleWheelsSimData_TireForceAppPointOffset, PxVehicleWheelsSimData, const PxU32, PxVec3 > TireForceAppPointOffset;
1049 PxExtendedIndexedPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleWheelsSimData_WheelCentreOffset, PxVehicleWheelsSimData, const PxU32, PxVec3 > WheelCentreOffset;
1050 PxExtendedIndexedPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleWheelsSimData_WheelShapeMapping, PxVehicleWheelsSimData, const PxU32, PxI32 > WheelShapeMapping;
1051 PxExtendedIndexedPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleWheelsSimData_SceneQueryFilterData, PxVehicleWheelsSimData, const PxU32, PxFilterData > SceneQueryFilterData;
1052 PxExtendedIndexedPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleWheelsSimData_AntiRollBarData, PxVehicleWheelsSimData, const PxU32, PxVehicleAntiRollBarData > AntiRollBarData;
1053 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleWheelsSimData_TireLoadFilterData, PxVehicleWheelsSimData, const PxVehicleTireLoadFilterData &, PxVehicleTireLoadFilterData > TireLoadFilterData;
1054 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleWheelsSimData_MinLongSlipDenominator, PxVehicleWheelsSimData, const PxReal, PxF32 > MinLongSlipDenominator;
1055 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleWheelsSimData_Flags, PxVehicleWheelsSimData, PxVehicleWheelsSimFlags, PxVehicleWheelsSimFlags > Flags;
1056 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleWheelsSimData_ThresholdLongSpeed, PxVehicleWheelsSimData, const PxF32, PxF32 > ThresholdLongSpeed;
1057 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleWheelsSimData_LowForwardSpeedSubStepCount, PxVehicleWheelsSimData, const PxU32, PxU32 > LowForwardSpeedSubStepCount;
1058 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleWheelsSimData_HighForwardSpeedSubStepCount, PxVehicleWheelsSimData, const PxU32, PxU32 > HighForwardSpeedSubStepCount;
1059 PxExtendedIndexedPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleWheelsSimData_WheelEnabledState, PxVehicleWheelsSimData, const PxU32, _Bool > WheelEnabledState;
1062 template<
typename TReturnType,
typename TOperator>
1063 TReturnType visitType( TOperator inOperator )
const
1065 return inOperator(
reinterpret_cast<PxVehicleWheelsSimData*
>(NULL) );
1067 template<
typename TOperator>
1068 void visitBases( TOperator inOperator )
1070 PX_UNUSED(inOperator);
1072 template<
typename TOperator>
1073 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
1075 PX_UNUSED(inOperator);
1076 PX_UNUSED(inStartIndex);
1077 return inStartIndex;
1079 static PxU32 instancePropertyCount() {
return 18; }
1080 static PxU32 totalPropertyCount() {
return instancePropertyCount(); }
1081 template<
typename TOperator>
1082 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
1084 PX_UNUSED(inOperator);
1085 PX_UNUSED(inStartIndex);
1086 inOperator( ChassisMass, inStartIndex + 0 );;
1087 inOperator( SuspensionData, inStartIndex + 1 );;
1088 inOperator( WheelData, inStartIndex + 2 );;
1089 inOperator( TireData, inStartIndex + 3 );;
1090 inOperator( SuspTravelDirection, inStartIndex + 4 );;
1091 inOperator( SuspForceAppPointOffset, inStartIndex + 5 );;
1092 inOperator( TireForceAppPointOffset, inStartIndex + 6 );;
1093 inOperator( WheelCentreOffset, inStartIndex + 7 );;
1094 inOperator( WheelShapeMapping, inStartIndex + 8 );;
1095 inOperator( SceneQueryFilterData, inStartIndex + 9 );;
1096 inOperator( AntiRollBarData, inStartIndex + 10 );;
1097 inOperator( TireLoadFilterData, inStartIndex + 11 );;
1098 inOperator( MinLongSlipDenominator, inStartIndex + 12 );;
1099 inOperator( Flags, inStartIndex + 13 );;
1100 inOperator( ThresholdLongSpeed, inStartIndex + 14 );;
1101 inOperator( LowForwardSpeedSubStepCount, inStartIndex + 15 );;
1102 inOperator( HighForwardSpeedSubStepCount, inStartIndex + 16 );;
1103 inOperator( WheelEnabledState, inStartIndex + 17 );;
1104 return 18 + inStartIndex;
1107 template<>
struct PxClassInfoTraits<PxVehicleWheelsSimData>
1113 class PxVehicleWheelsDynData;
1116 PxVehicleWheels4DynData * Wheel4DynData;
1123 static const char* getClassName() {
return "PxVehicleWheelsDynData"; }
1124 PxWriteOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleWheelsDynData_TireForceShaderFunction, PxVehicleWheelsDynData, PxVehicleComputeTireForce > TireForceShaderFunction;
1125 PxExtendedIndexedPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleWheelsDynData_WheelRotationSpeed, PxVehicleWheelsDynData, const PxU32, PxReal > WheelRotationSpeed;
1126 PxExtendedIndexedPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleWheelsDynData_WheelRotationAngle, PxVehicleWheelsDynData, const PxU32, PxReal > WheelRotationAngle;
1127 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleWheelsDynData_Wheel4DynData, PxVehicleWheelsDynData, PxVehicleWheels4DynData * > Wheel4DynData;
1128 PxReadOnlyCollectionPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleWheelsDynData_Constraints, PxVehicleWheelsDynData, PxConstraint * > Constraints;
1131 template<
typename TReturnType,
typename TOperator>
1132 TReturnType visitType( TOperator inOperator )
const
1134 return inOperator(
reinterpret_cast<PxVehicleWheelsDynData*
>(NULL) );
1136 template<
typename TOperator>
1137 void visitBases( TOperator inOperator )
1139 PX_UNUSED(inOperator);
1141 template<
typename TOperator>
1142 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
1144 PX_UNUSED(inOperator);
1145 PX_UNUSED(inStartIndex);
1146 return inStartIndex;
1148 static PxU32 instancePropertyCount() {
return 5; }
1149 static PxU32 totalPropertyCount() {
return instancePropertyCount(); }
1150 template<
typename TOperator>
1151 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
1153 PX_UNUSED(inOperator);
1154 PX_UNUSED(inStartIndex);
1155 inOperator( TireForceShaderFunction, inStartIndex + 0 );;
1156 inOperator( WheelRotationSpeed, inStartIndex + 1 );;
1157 inOperator( WheelRotationAngle, inStartIndex + 2 );;
1158 inOperator( Wheel4DynData, inStartIndex + 3 );;
1159 inOperator( Constraints, inStartIndex + 4 );;
1160 return 5 + inStartIndex;
1163 template<>
struct PxClassInfoTraits<PxVehicleWheelsDynData>
1169 class PxVehicleWheels;
1173 const PxRigidDynamic * RigidDynamicActor;
1174 const char * ConcreteTypeName;
1175 PxVehicleWheelsSimData MWheelsSimData;
1176 PxVehicleWheelsDynData MWheelsDynData;
1187 static const char* getClassName() {
return "PxVehicleWheels"; }
1188 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleWheels_VehicleType, PxVehicleWheels, PxU32 > VehicleType;
1189 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleWheels_RigidDynamicActor, PxVehicleWheels, const PxRigidDynamic * > RigidDynamicActor;
1190 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleWheels_ConcreteTypeName, PxVehicleWheels, const char * > ConcreteTypeName;
1191 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleWheels_MWheelsSimData, PxVehicleWheels, PxVehicleWheelsSimData, PxVehicleWheelsSimData > MWheelsSimData;
1192 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleWheels_MWheelsDynData, PxVehicleWheels, PxVehicleWheelsDynData, PxVehicleWheelsDynData > MWheelsDynData;
1195 template<
typename TReturnType,
typename TOperator>
1196 TReturnType visitType( TOperator inOperator )
const
1198 return inOperator(
reinterpret_cast<PxVehicleWheels*
>(NULL) );
1200 template<
typename TOperator>
1201 void visitBases( TOperator inOperator )
1203 PX_UNUSED(inOperator);
1205 template<
typename TOperator>
1206 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
1208 PX_UNUSED(inOperator);
1209 PX_UNUSED(inStartIndex);
1210 return inStartIndex;
1212 static PxU32 instancePropertyCount() {
return 5; }
1213 static PxU32 totalPropertyCount() {
return instancePropertyCount(); }
1214 template<
typename TOperator>
1215 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
1217 PX_UNUSED(inOperator);
1218 PX_UNUSED(inStartIndex);
1219 inOperator( VehicleType, inStartIndex + 0 );;
1220 inOperator( RigidDynamicActor, inStartIndex + 1 );;
1221 inOperator( ConcreteTypeName, inStartIndex + 2 );;
1222 inOperator( MWheelsSimData, inStartIndex + 3 );;
1223 inOperator( MWheelsDynData, inStartIndex + 4 );;
1224 return 5 + inStartIndex;
1227 template<>
struct PxClassInfoTraits<PxVehicleWheels>
1233 class PxVehicleDriveDynData;
1241 PxReal EngineRotationSpeed;
1243 PxReal GearSwitchTime;
1244 PxReal AutoBoxSwitchTime;
1245 _Bool MUseAutoGears;
1246 _Bool MGearUpPressed;
1247 _Bool MGearDownPressed;
1250 PxReal MEnginespeed;
1251 PxReal MGearSwitchTime;
1252 PxReal MAutoBoxSwitchTime;
1275 static const char* getClassName() {
return "PxVehicleDriveDynData"; }
1276 PxExtendedIndexedPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleDriveDynData_AnalogInput, PxVehicleDriveDynData, const PxU32, PxReal > AnalogInput;
1277 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleDriveDynData_GearUp, PxVehicleDriveDynData, const _Bool, _Bool > GearUp;
1278 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleDriveDynData_GearDown, PxVehicleDriveDynData, const _Bool, _Bool > GearDown;
1279 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleDriveDynData_UseAutoGears, PxVehicleDriveDynData, const _Bool, _Bool > UseAutoGears;
1280 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleDriveDynData_CurrentGear, PxVehicleDriveDynData, PxU32, PxU32 > CurrentGear;
1281 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleDriveDynData_TargetGear, PxVehicleDriveDynData, PxU32, PxU32 > TargetGear;
1282 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleDriveDynData_EngineRotationSpeed, PxVehicleDriveDynData, const PxF32, PxReal > EngineRotationSpeed;
1283 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleDriveDynData_GearChange, PxVehicleDriveDynData, const PxU32, PxU32 > GearChange;
1284 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleDriveDynData_GearSwitchTime, PxVehicleDriveDynData, const PxReal, PxReal > GearSwitchTime;
1285 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleDriveDynData_AutoBoxSwitchTime, PxVehicleDriveDynData, const PxReal, PxReal > AutoBoxSwitchTime;
1286 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleDriveDynData_MUseAutoGears, PxVehicleDriveDynData, _Bool, _Bool > MUseAutoGears;
1287 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleDriveDynData_MGearUpPressed, PxVehicleDriveDynData, _Bool, _Bool > MGearUpPressed;
1288 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleDriveDynData_MGearDownPressed, PxVehicleDriveDynData, _Bool, _Bool > MGearDownPressed;
1289 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleDriveDynData_MCurrentGear, PxVehicleDriveDynData, PxU32, PxU32 > MCurrentGear;
1290 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleDriveDynData_MTargetGear, PxVehicleDriveDynData, PxU32, PxU32 > MTargetGear;
1291 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleDriveDynData_MEnginespeed, PxVehicleDriveDynData, PxReal, PxReal > MEnginespeed;
1292 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleDriveDynData_MGearSwitchTime, PxVehicleDriveDynData, PxReal, PxReal > MGearSwitchTime;
1293 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleDriveDynData_MAutoBoxSwitchTime, PxVehicleDriveDynData, PxReal, PxReal > MAutoBoxSwitchTime;
1296 template<
typename TReturnType,
typename TOperator>
1297 TReturnType visitType( TOperator inOperator )
const
1299 return inOperator(
reinterpret_cast<PxVehicleDriveDynData*
>(NULL) );
1301 template<
typename TOperator>
1302 void visitBases( TOperator inOperator )
1304 PX_UNUSED(inOperator);
1306 template<
typename TOperator>
1307 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
1309 PX_UNUSED(inOperator);
1310 PX_UNUSED(inStartIndex);
1311 return inStartIndex;
1313 static PxU32 instancePropertyCount() {
return 18; }
1314 static PxU32 totalPropertyCount() {
return instancePropertyCount(); }
1315 template<
typename TOperator>
1316 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
1318 PX_UNUSED(inOperator);
1319 PX_UNUSED(inStartIndex);
1320 inOperator( AnalogInput, inStartIndex + 0 );;
1321 inOperator( GearUp, inStartIndex + 1 );;
1322 inOperator( GearDown, inStartIndex + 2 );;
1323 inOperator( UseAutoGears, inStartIndex + 3 );;
1324 inOperator( CurrentGear, inStartIndex + 4 );;
1325 inOperator( TargetGear, inStartIndex + 5 );;
1326 inOperator( EngineRotationSpeed, inStartIndex + 6 );;
1327 inOperator( GearChange, inStartIndex + 7 );;
1328 inOperator( GearSwitchTime, inStartIndex + 8 );;
1329 inOperator( AutoBoxSwitchTime, inStartIndex + 9 );;
1330 inOperator( MUseAutoGears, inStartIndex + 10 );;
1331 inOperator( MGearUpPressed, inStartIndex + 11 );;
1332 inOperator( MGearDownPressed, inStartIndex + 12 );;
1333 inOperator( MCurrentGear, inStartIndex + 13 );;
1334 inOperator( MTargetGear, inStartIndex + 14 );;
1335 inOperator( MEnginespeed, inStartIndex + 15 );;
1336 inOperator( MGearSwitchTime, inStartIndex + 16 );;
1337 inOperator( MAutoBoxSwitchTime, inStartIndex + 17 );;
1338 return 18 + inStartIndex;
1341 template<>
struct PxClassInfoTraits<PxVehicleDriveDynData>
1347 class PxVehicleDriveSimData;
1350 PxVehicleEngineData EngineData;
1351 PxVehicleGearsData GearsData;
1352 PxVehicleClutchData ClutchData;
1353 PxVehicleAutoBoxData AutoBoxData;
1363 static const char* getClassName() {
return "PxVehicleDriveSimData"; }
1364 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleDriveSimData_EngineData, PxVehicleDriveSimData, const PxVehicleEngineData &, PxVehicleEngineData > EngineData;
1365 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleDriveSimData_GearsData, PxVehicleDriveSimData, const PxVehicleGearsData &, PxVehicleGearsData > GearsData;
1366 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleDriveSimData_ClutchData, PxVehicleDriveSimData, const PxVehicleClutchData &, PxVehicleClutchData > ClutchData;
1367 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleDriveSimData_AutoBoxData, PxVehicleDriveSimData, const PxVehicleAutoBoxData &, PxVehicleAutoBoxData > AutoBoxData;
1370 template<
typename TReturnType,
typename TOperator>
1371 TReturnType visitType( TOperator inOperator )
const
1373 return inOperator(
reinterpret_cast<PxVehicleDriveSimData*
>(NULL) );
1375 template<
typename TOperator>
1376 void visitBases( TOperator inOperator )
1378 PX_UNUSED(inOperator);
1380 template<
typename TOperator>
1381 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
1383 PX_UNUSED(inOperator);
1384 PX_UNUSED(inStartIndex);
1385 return inStartIndex;
1387 static PxU32 instancePropertyCount() {
return 4; }
1388 static PxU32 totalPropertyCount() {
return instancePropertyCount(); }
1389 template<
typename TOperator>
1390 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
1392 PX_UNUSED(inOperator);
1393 PX_UNUSED(inStartIndex);
1394 inOperator( EngineData, inStartIndex + 0 );;
1395 inOperator( GearsData, inStartIndex + 1 );;
1396 inOperator( ClutchData, inStartIndex + 2 );;
1397 inOperator( AutoBoxData, inStartIndex + 3 );;
1398 return 4 + inStartIndex;
1401 template<>
struct PxClassInfoTraits<PxVehicleDriveSimData>
1407 class PxVehicleDriveSimData4W;
1410 PxVehicleDifferential4WData DiffData;
1411 PxVehicleAckermannGeometryData AckermannGeometryData;
1419 static const char* getClassName() {
return "PxVehicleDriveSimData4W"; }
1420 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleDriveSimData4W_DiffData, PxVehicleDriveSimData4W, const PxVehicleDifferential4WData &, PxVehicleDifferential4WData > DiffData;
1421 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleDriveSimData4W_AckermannGeometryData, PxVehicleDriveSimData4W, const PxVehicleAckermannGeometryData &, PxVehicleAckermannGeometryData > AckermannGeometryData;
1424 template<
typename TReturnType,
typename TOperator>
1425 TReturnType visitType( TOperator inOperator )
const
1427 return inOperator(
reinterpret_cast<PxVehicleDriveSimData4W*
>(NULL) );
1429 template<
typename TOperator>
1430 void visitBases( TOperator inOperator )
1432 PX_UNUSED(inOperator);
1435 template<
typename TOperator>
1436 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
1438 PX_UNUSED(inOperator);
1439 PX_UNUSED(inStartIndex);
1440 inStartIndex = PxVehicleDriveSimDataGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
1441 inStartIndex = PxVehicleDriveSimDataGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
1442 return inStartIndex;
1444 static PxU32 instancePropertyCount() {
return 2; }
1445 static PxU32 totalPropertyCount() {
return instancePropertyCount()
1446 + PxVehicleDriveSimDataGeneratedInfo::totalPropertyCount(); }
1447 template<
typename TOperator>
1448 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
1450 PX_UNUSED(inOperator);
1451 PX_UNUSED(inStartIndex);
1452 inOperator( DiffData, inStartIndex + 0 );;
1453 inOperator( AckermannGeometryData, inStartIndex + 1 );;
1454 return 2 + inStartIndex;
1457 template<>
struct PxClassInfoTraits<PxVehicleDriveSimData4W>
1463 class PxVehicleDrive;
1466 const char * ConcreteTypeName;
1467 PxVehicleDriveDynData MDriveDynData;
1475 static const char* getClassName() {
return "PxVehicleDrive"; }
1476 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleDrive_ConcreteTypeName, PxVehicleDrive, const char * > ConcreteTypeName;
1477 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleDrive_MDriveDynData, PxVehicleDrive, PxVehicleDriveDynData, PxVehicleDriveDynData > MDriveDynData;
1480 template<
typename TReturnType,
typename TOperator>
1481 TReturnType visitType( TOperator inOperator )
const
1483 return inOperator(
reinterpret_cast<PxVehicleDrive*
>(NULL) );
1485 template<
typename TOperator>
1486 void visitBases( TOperator inOperator )
1488 PX_UNUSED(inOperator);
1491 template<
typename TOperator>
1492 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
1494 PX_UNUSED(inOperator);
1495 PX_UNUSED(inStartIndex);
1496 inStartIndex = PxVehicleWheelsGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
1497 inStartIndex = PxVehicleWheelsGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
1498 return inStartIndex;
1500 static PxU32 instancePropertyCount() {
return 2; }
1501 static PxU32 totalPropertyCount() {
return instancePropertyCount()
1502 + PxVehicleWheelsGeneratedInfo::totalPropertyCount(); }
1503 template<
typename TOperator>
1504 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
1506 PX_UNUSED(inOperator);
1507 PX_UNUSED(inStartIndex);
1508 inOperator( ConcreteTypeName, inStartIndex + 0 );;
1509 inOperator( MDriveDynData, inStartIndex + 1 );;
1510 return 2 + inStartIndex;
1513 template<>
struct PxClassInfoTraits<PxVehicleDrive>
1519 class PxVehicleDrive4W;
1522 const char * ConcreteTypeName;
1523 PxVehicleDriveSimData4W MDriveSimData;
1531 static const char* getClassName() {
return "PxVehicleDrive4W"; }
1532 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleDrive4W_ConcreteTypeName, PxVehicleDrive4W, const char * > ConcreteTypeName;
1533 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleDrive4W_MDriveSimData, PxVehicleDrive4W, PxVehicleDriveSimData4W, PxVehicleDriveSimData4W > MDriveSimData;
1536 template<
typename TReturnType,
typename TOperator>
1537 TReturnType visitType( TOperator inOperator )
const
1539 return inOperator(
reinterpret_cast<PxVehicleDrive4W*
>(NULL) );
1541 template<
typename TOperator>
1542 void visitBases( TOperator inOperator )
1544 PX_UNUSED(inOperator);
1547 template<
typename TOperator>
1548 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
1550 PX_UNUSED(inOperator);
1551 PX_UNUSED(inStartIndex);
1552 inStartIndex = PxVehicleDriveGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
1553 inStartIndex = PxVehicleDriveGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
1554 return inStartIndex;
1556 static PxU32 instancePropertyCount() {
return 2; }
1557 static PxU32 totalPropertyCount() {
return instancePropertyCount()
1558 + PxVehicleDriveGeneratedInfo::totalPropertyCount(); }
1559 template<
typename TOperator>
1560 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
1562 PX_UNUSED(inOperator);
1563 PX_UNUSED(inStartIndex);
1564 inOperator( ConcreteTypeName, inStartIndex + 0 );;
1565 inOperator( MDriveSimData, inStartIndex + 1 );;
1566 return 2 + inStartIndex;
1569 template<>
struct PxClassInfoTraits<PxVehicleDrive4W>
1575 static PxU32ToName g_physx__PxVehicleDriveTankControlModel__EnumConversion[] = {
1576 {
"eSTANDARD",
static_cast<PxU32
>( physx::PxVehicleDriveTankControlModel::eSTANDARD ) },
1577 {
"eSPECIAL",
static_cast<PxU32
>( physx::PxVehicleDriveTankControlModel::eSPECIAL ) },
1581template<>
struct PxEnumTraits<
physx::PxVehicleDriveTankControlModel::Enum > { PxEnumTraits() : NameConversion( g_physx__PxVehicleDriveTankControlModel__EnumConversion ) {}
const PxU32ToName* NameConversion; };
1582 class PxVehicleDriveTank;
1585 PxVehicleDriveTankControlModel::Enum DriveModel;
1586 const char * ConcreteTypeName;
1587 PxVehicleDriveSimData MDriveSimData;
1596 static const char* getClassName() {
return "PxVehicleDriveTank"; }
1597 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleDriveTank_DriveModel, PxVehicleDriveTank, const PxVehicleDriveTankControlModel::Enum, PxVehicleDriveTankControlModel::Enum > DriveModel;
1598 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleDriveTank_ConcreteTypeName, PxVehicleDriveTank, const char * > ConcreteTypeName;
1599 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleDriveTank_MDriveSimData, PxVehicleDriveTank, PxVehicleDriveSimData, PxVehicleDriveSimData > MDriveSimData;
1602 template<
typename TReturnType,
typename TOperator>
1603 TReturnType visitType( TOperator inOperator )
const
1605 return inOperator(
reinterpret_cast<PxVehicleDriveTank*
>(NULL) );
1607 template<
typename TOperator>
1608 void visitBases( TOperator inOperator )
1610 PX_UNUSED(inOperator);
1613 template<
typename TOperator>
1614 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
1616 PX_UNUSED(inOperator);
1617 PX_UNUSED(inStartIndex);
1618 inStartIndex = PxVehicleDriveGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
1619 inStartIndex = PxVehicleDriveGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
1620 return inStartIndex;
1622 static PxU32 instancePropertyCount() {
return 3; }
1623 static PxU32 totalPropertyCount() {
return instancePropertyCount()
1624 + PxVehicleDriveGeneratedInfo::totalPropertyCount(); }
1625 template<
typename TOperator>
1626 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
1628 PX_UNUSED(inOperator);
1629 PX_UNUSED(inStartIndex);
1630 inOperator( DriveModel, inStartIndex + 0 );;
1631 inOperator( ConcreteTypeName, inStartIndex + 1 );;
1632 inOperator( MDriveSimData, inStartIndex + 2 );;
1633 return 3 + inStartIndex;
1636 template<>
struct PxClassInfoTraits<PxVehicleDriveTank>
1642 class PxVehicleDriveSimDataNW;
1645 PxVehicleDifferentialNWData DiffData;
1652 static const char* getClassName() {
return "PxVehicleDriveSimDataNW"; }
1653 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleDriveSimDataNW_DiffData, PxVehicleDriveSimDataNW, const PxVehicleDifferentialNWData &, PxVehicleDifferentialNWData > DiffData;
1656 template<
typename TReturnType,
typename TOperator>
1657 TReturnType visitType( TOperator inOperator )
const
1659 return inOperator(
reinterpret_cast<PxVehicleDriveSimDataNW*
>(NULL) );
1661 template<
typename TOperator>
1662 void visitBases( TOperator inOperator )
1664 PX_UNUSED(inOperator);
1667 template<
typename TOperator>
1668 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
1670 PX_UNUSED(inOperator);
1671 PX_UNUSED(inStartIndex);
1672 inStartIndex = PxVehicleDriveSimDataGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
1673 inStartIndex = PxVehicleDriveSimDataGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
1674 return inStartIndex;
1676 static PxU32 instancePropertyCount() {
return 1; }
1677 static PxU32 totalPropertyCount() {
return instancePropertyCount()
1678 + PxVehicleDriveSimDataGeneratedInfo::totalPropertyCount(); }
1679 template<
typename TOperator>
1680 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
1682 PX_UNUSED(inOperator);
1683 PX_UNUSED(inStartIndex);
1684 inOperator( DiffData, inStartIndex + 0 );;
1685 return 1 + inStartIndex;
1688 template<>
struct PxClassInfoTraits<PxVehicleDriveSimDataNW>
1694 class PxVehicleDriveNW;
1697 const char * ConcreteTypeName;
1698 PxVehicleDriveSimDataNW MDriveSimData;
1706 static const char* getClassName() {
return "PxVehicleDriveNW"; }
1707 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleDriveNW_ConcreteTypeName, PxVehicleDriveNW, const char * > ConcreteTypeName;
1708 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleDriveNW_MDriveSimData, PxVehicleDriveNW, PxVehicleDriveSimDataNW, PxVehicleDriveSimDataNW > MDriveSimData;
1711 template<
typename TReturnType,
typename TOperator>
1712 TReturnType visitType( TOperator inOperator )
const
1714 return inOperator(
reinterpret_cast<PxVehicleDriveNW*
>(NULL) );
1716 template<
typename TOperator>
1717 void visitBases( TOperator inOperator )
1719 PX_UNUSED(inOperator);
1722 template<
typename TOperator>
1723 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
1725 PX_UNUSED(inOperator);
1726 PX_UNUSED(inStartIndex);
1727 inStartIndex = PxVehicleDriveGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
1728 inStartIndex = PxVehicleDriveGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
1729 return inStartIndex;
1731 static PxU32 instancePropertyCount() {
return 2; }
1732 static PxU32 totalPropertyCount() {
return instancePropertyCount()
1733 + PxVehicleDriveGeneratedInfo::totalPropertyCount(); }
1734 template<
typename TOperator>
1735 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
1737 PX_UNUSED(inOperator);
1738 PX_UNUSED(inStartIndex);
1739 inOperator( ConcreteTypeName, inStartIndex + 0 );;
1740 inOperator( MDriveSimData, inStartIndex + 1 );;
1741 return 2 + inStartIndex;
1744 template<>
struct PxClassInfoTraits<PxVehicleDriveNW>
1750 class PxVehicleNoDrive;
1753 const char * ConcreteTypeName;
1760 static const char* getClassName() {
return "PxVehicleNoDrive"; }
1761 PxExtendedIndexedPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleNoDrive_BrakeTorque, PxVehicleNoDrive, const PxU32, PxReal > BrakeTorque;
1762 PxExtendedIndexedPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleNoDrive_DriveTorque, PxVehicleNoDrive, const PxU32, PxReal > DriveTorque;
1763 PxExtendedIndexedPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleNoDrive_SteerAngle, PxVehicleNoDrive, const PxU32, PxReal > SteerAngle;
1764 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxVehicleNoDrive_ConcreteTypeName, PxVehicleNoDrive, const char * > ConcreteTypeName;
1767 template<
typename TReturnType,
typename TOperator>
1768 TReturnType visitType( TOperator inOperator )
const
1770 return inOperator(
reinterpret_cast<PxVehicleNoDrive*
>(NULL) );
1772 template<
typename TOperator>
1773 void visitBases( TOperator inOperator )
1775 PX_UNUSED(inOperator);
1778 template<
typename TOperator>
1779 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
1781 PX_UNUSED(inOperator);
1782 PX_UNUSED(inStartIndex);
1783 inStartIndex = PxVehicleWheelsGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
1784 inStartIndex = PxVehicleWheelsGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
1785 return inStartIndex;
1787 static PxU32 instancePropertyCount() {
return 4; }
1788 static PxU32 totalPropertyCount() {
return instancePropertyCount()
1789 + PxVehicleWheelsGeneratedInfo::totalPropertyCount(); }
1790 template<
typename TOperator>
1791 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
1793 PX_UNUSED(inOperator);
1794 PX_UNUSED(inStartIndex);
1795 inOperator( BrakeTorque, inStartIndex + 0 );;
1796 inOperator( DriveTorque, inStartIndex + 1 );;
1797 inOperator( SteerAngle, inStartIndex + 2 );;
1798 inOperator( ConcreteTypeName, inStartIndex + 3 );;
1799 return 4 + inStartIndex;
1802 template<>
struct PxClassInfoTraits<PxVehicleNoDrive>
1810#undef THERE_IS_NO_INCLUDE_GUARD_HERE_FOR_A_REASON
1811#undef PX_PROPERTY_INFO_NAME
Sorts an array of objects in ascending order, assuming that the predicate implements the < operator:
Definition PxBoxController.h:39
Definition PxVehicleAutoGeneratedMetaDataObjects.h:478
Definition PxVehicleAutoGeneratedMetaDataObjects.h:465
Definition PxVehicleAutoGeneratedMetaDataObjects.h:837
Definition PxVehicleAutoGeneratedMetaDataObjects.h:826
Definition PxVehicleAutoGeneratedMetaDataObjects.h:288
Definition PxVehicleAutoGeneratedMetaDataObjects.h:277
Definition PxVehicleAutoGeneratedMetaDataObjects.h:51
Definition PxVehicleAutoGeneratedMetaDataObjects.h:40
Definition PxVehicleAutoGeneratedMetaDataObjects.h:543
Definition PxVehicleAutoGeneratedMetaDataObjects.h:532
Definition PxVehicleAutoGeneratedMetaDataObjects.h:364
Definition PxVehicleAutoGeneratedMetaDataObjects.h:345
Definition PxVehicleAutoGeneratedMetaDataObjects.h:424
Definition PxVehicleAutoGeneratedMetaDataObjects.h:417
Definition PxVehicleAutoGeneratedMetaDataObjects.h:1530
Definition PxVehicleAutoGeneratedMetaDataObjects.h:1521
Definition PxVehicleAutoGeneratedMetaDataObjects.h:1274
Definition PxVehicleAutoGeneratedMetaDataObjects.h:1235
Definition PxVehicleAutoGeneratedMetaDataObjects.h:1474
Definition PxVehicleAutoGeneratedMetaDataObjects.h:1465
Definition PxVehicleAutoGeneratedMetaDataObjects.h:1705
Definition PxVehicleAutoGeneratedMetaDataObjects.h:1696
Definition PxVehicleAutoGeneratedMetaDataObjects.h:1418
Definition PxVehicleAutoGeneratedMetaDataObjects.h:1409
Definition PxVehicleAutoGeneratedMetaDataObjects.h:1362
Definition PxVehicleAutoGeneratedMetaDataObjects.h:1349
Definition PxVehicleAutoGeneratedMetaDataObjects.h:1651
Definition PxVehicleAutoGeneratedMetaDataObjects.h:1644
Definition PxVehicleAutoGeneratedMetaDataObjects.h:1595
Definition PxVehicleAutoGeneratedMetaDataObjects.h:1584
Definition PxVehicleAutoGeneratedMetaDataObjects.h:123
Definition PxVehicleAutoGeneratedMetaDataObjects.h:102
Definition PxVehicleAutoGeneratedMetaDataObjects.h:230
Definition PxVehicleAutoGeneratedMetaDataObjects.h:217
Definition PxVehicleAutoGeneratedMetaDataObjects.h:1759
Definition PxVehicleAutoGeneratedMetaDataObjects.h:1752
Definition PxVehicleAutoGeneratedMetaDataObjects.h:765
Definition PxVehicleAutoGeneratedMetaDataObjects.h:740
Definition PxVehicleAutoGeneratedMetaDataObjects.h:905
Definition PxVehicleAutoGeneratedMetaDataObjects.h:882
Definition PxVehicleAutoGeneratedMetaDataObjects.h:603
Definition PxVehicleAutoGeneratedMetaDataObjects.h:588
Definition PxVehicleAutoGeneratedMetaDataObjects.h:679
Definition PxVehicleAutoGeneratedMetaDataObjects.h:652
Definition PxVehicleAutoGeneratedMetaDataObjects.h:971
Definition PxVehicleAutoGeneratedMetaDataObjects.h:962
Definition PxVehicleAutoGeneratedMetaDataObjects.h:1122
Definition PxVehicleAutoGeneratedMetaDataObjects.h:1115
Definition PxVehicleAutoGeneratedMetaDataObjects.h:1186
Definition PxVehicleAutoGeneratedMetaDataObjects.h:1171
Definition PxVehicleAutoGeneratedMetaDataObjects.h:1040
Definition PxVehicleAutoGeneratedMetaDataObjects.h:1023
@ eDISABLE_SPRUNG_MASS_SUM_CHECK
Disable check for sprung mass values summing up to chassis mass.
Definition PxVehicleWheels.h:112
@ eDISABLE_INTERNAL_CYLINDER_PLANE_INTERSECTION_TEST
Disable internal cylinder-plane intersection test.
Definition PxVehicleWheels.h:83
@ eDISABLE_SUSPENSION_FORCE_PROJECTION
Disable suspension force projection.
Definition PxVehicleWheels.h:102
@ eLIMIT_SUSPENSION_EXPANSION_VELOCITY
Limit the suspension expansion velocity.
Definition PxVehicleWheels.h:70