35#define THERE_IS_NO_INCLUDE_GUARD_HERE_FOR_A_REASON
37#define PX_PROPERTY_INFO_NAME PxExtensionsPropertyInfoName
38 static PxU32ToName g_physx__PxJointActorIndex__EnumConversion[] = {
39 {
"eACTOR0",
static_cast<PxU32
>( physx::PxJointActorIndex::eACTOR0 ) },
40 {
"eACTOR1",
static_cast<PxU32
>( physx::PxJointActorIndex::eACTOR1 ) },
44template<>
struct PxEnumTraits<
physx::PxJointActorIndex::Enum > { PxEnumTraits() : NameConversion( g_physx__PxJointActorIndex__EnumConversion ) {}
const PxU32ToName* NameConversion; };
48 PxRigidActor * Actors[2];
49 PxTransform LocalPose[physx::PxJointActorIndex::COUNT];
50 PxTransform RelativeTransform;
51 PxVec3 RelativeLinearVelocity;
52 PxVec3 RelativeAngularVelocity;
54 PxConstraintFlags ConstraintFlags;
56 PxReal InvInertiaScale0;
58 PxReal InvInertiaScale1;
59 PxConstraint * Constraint;
83 static const char* getClassName() {
return "PxJoint"; }
84 PxRangePropertyInfo<PX_PROPERTY_INFO_NAME::PxJoint_Actors, PxJoint, PxRigidActor * > Actors;
85 PxIndexedPropertyInfo<PX_PROPERTY_INFO_NAME::PxJoint_LocalPose, PxJoint, PxJointActorIndex::Enum, PxTransform > LocalPose;
86 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxJoint_RelativeTransform, PxJoint, PxTransform > RelativeTransform;
87 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxJoint_RelativeLinearVelocity, PxJoint, PxVec3 > RelativeLinearVelocity;
88 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxJoint_RelativeAngularVelocity, PxJoint, PxVec3 > RelativeAngularVelocity;
89 PxRangePropertyInfo<PX_PROPERTY_INFO_NAME::PxJoint_BreakForce, PxJoint, PxReal > BreakForce;
90 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxJoint_ConstraintFlags, PxJoint, PxConstraintFlags, PxConstraintFlags > ConstraintFlags;
91 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxJoint_InvMassScale0, PxJoint, PxReal, PxReal > InvMassScale0;
92 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxJoint_InvInertiaScale0, PxJoint, PxReal, PxReal > InvInertiaScale0;
93 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxJoint_InvMassScale1, PxJoint, PxReal, PxReal > InvMassScale1;
94 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxJoint_InvInertiaScale1, PxJoint, PxReal, PxReal > InvInertiaScale1;
95 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxJoint_Constraint, PxJoint, PxConstraint * > Constraint;
96 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxJoint_Name, PxJoint, const char *, const char * > Name;
97 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxJoint_Scene, PxJoint, PxScene * > Scene;
98 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxJoint_UserData, PxJoint, void *, void * > UserData;
101 template<
typename TReturnType,
typename TOperator>
102 TReturnType visitType( TOperator inOperator )
const
104 return inOperator(
reinterpret_cast<PxJoint*
>(NULL) );
106 template<
typename TOperator>
107 void visitBases( TOperator inOperator )
109 PX_UNUSED(inOperator);
111 template<
typename TOperator>
112 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
114 PX_UNUSED(inOperator);
115 PX_UNUSED(inStartIndex);
118 static PxU32 instancePropertyCount() {
return 15; }
119 static PxU32 totalPropertyCount() {
return instancePropertyCount(); }
120 template<
typename TOperator>
121 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
123 PX_UNUSED(inOperator);
124 PX_UNUSED(inStartIndex);
125 inOperator( Actors, inStartIndex + 0 );;
126 inOperator( LocalPose, inStartIndex + 1 );;
127 inOperator( RelativeTransform, inStartIndex + 2 );;
128 inOperator( RelativeLinearVelocity, inStartIndex + 3 );;
129 inOperator( RelativeAngularVelocity, inStartIndex + 4 );;
130 inOperator( BreakForce, inStartIndex + 5 );;
131 inOperator( ConstraintFlags, inStartIndex + 6 );;
132 inOperator( InvMassScale0, inStartIndex + 7 );;
133 inOperator( InvInertiaScale0, inStartIndex + 8 );;
134 inOperator( InvMassScale1, inStartIndex + 9 );;
135 inOperator( InvInertiaScale1, inStartIndex + 10 );;
136 inOperator( Constraint, inStartIndex + 11 );;
137 inOperator( Name, inStartIndex + 12 );;
138 inOperator( Scene, inStartIndex + 13 );;
139 inOperator( UserData, inStartIndex + 14 );;
140 return 15 + inStartIndex;
143 template<>
struct PxClassInfoTraits<PxJoint>
149 class PxRackAndPinionJoint;
153 const char * ConcreteTypeName;
161 static const char* getClassName() {
return "PxRackAndPinionJoint"; }
162 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxRackAndPinionJoint_Ratio, PxRackAndPinionJoint, float, float > Ratio;
163 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxRackAndPinionJoint_ConcreteTypeName, PxRackAndPinionJoint, const char * > ConcreteTypeName;
166 template<
typename TReturnType,
typename TOperator>
167 TReturnType visitType( TOperator inOperator )
const
169 return inOperator(
reinterpret_cast<PxRackAndPinionJoint*
>(NULL) );
171 template<
typename TOperator>
172 void visitBases( TOperator inOperator )
174 PX_UNUSED(inOperator);
177 template<
typename TOperator>
178 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
180 PX_UNUSED(inOperator);
181 PX_UNUSED(inStartIndex);
182 inStartIndex = PxJointGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
183 inStartIndex = PxJointGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
186 static PxU32 instancePropertyCount() {
return 2; }
187 static PxU32 totalPropertyCount() {
return instancePropertyCount()
188 + PxJointGeneratedInfo::totalPropertyCount(); }
189 template<
typename TOperator>
190 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
192 PX_UNUSED(inOperator);
193 PX_UNUSED(inStartIndex);
194 inOperator( Ratio, inStartIndex + 0 );;
195 inOperator( ConcreteTypeName, inStartIndex + 1 );;
196 return 2 + inStartIndex;
199 template<>
struct PxClassInfoTraits<PxRackAndPinionJoint>
209 const char * ConcreteTypeName;
217 static const char* getClassName() {
return "PxGearJoint"; }
218 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxGearJoint_GearRatio, PxGearJoint, float, float > GearRatio;
219 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxGearJoint_ConcreteTypeName, PxGearJoint, const char * > ConcreteTypeName;
222 template<
typename TReturnType,
typename TOperator>
223 TReturnType visitType( TOperator inOperator )
const
225 return inOperator(
reinterpret_cast<PxGearJoint*
>(NULL) );
227 template<
typename TOperator>
228 void visitBases( TOperator inOperator )
230 PX_UNUSED(inOperator);
233 template<
typename TOperator>
234 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
236 PX_UNUSED(inOperator);
237 PX_UNUSED(inStartIndex);
238 inStartIndex = PxJointGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
239 inStartIndex = PxJointGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
242 static PxU32 instancePropertyCount() {
return 2; }
243 static PxU32 totalPropertyCount() {
return instancePropertyCount()
244 + PxJointGeneratedInfo::totalPropertyCount(); }
245 template<
typename TOperator>
246 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
248 PX_UNUSED(inOperator);
249 PX_UNUSED(inStartIndex);
250 inOperator( GearRatio, inStartIndex + 0 );;
251 inOperator( ConcreteTypeName, inStartIndex + 1 );;
252 return 2 + inStartIndex;
255 template<>
struct PxClassInfoTraits<PxGearJoint>
261 static PxU32ToName g_physx__PxD6Axis__EnumConversion[] = {
271template<>
struct PxEnumTraits<
physx::PxD6Axis::Enum > { PxEnumTraits() : NameConversion( g_physx__PxD6Axis__EnumConversion ) {}
const PxU32ToName* NameConversion; };
272 static PxU32ToName g_physx__PxD6Motion__EnumConversion[] = {
279template<>
struct PxEnumTraits<
physx::PxD6Motion::Enum > { PxEnumTraits() : NameConversion( g_physx__PxD6Motion__EnumConversion ) {}
const PxU32ToName* NameConversion; };
280 static PxU32ToName g_physx__PxD6Drive__EnumConversion[] = {
290template<>
struct PxEnumTraits<
physx::PxD6Drive::Enum > { PxEnumTraits() : NameConversion( g_physx__PxD6Drive__EnumConversion ) {}
const PxU32ToName* NameConversion; };
294 PxD6Motion::Enum Motion[physx::PxD6Axis::eCOUNT];
299 PxJointLinearLimit DistanceLimit;
300 PxJointLinearLimit LinearLimit;
301 PxJointAngularLimitPair TwistLimit;
302 PxJointLimitCone SwingLimit;
303 PxJointLimitPyramid PyramidSwingLimit;
304 PxD6JointDrive Drive[physx::PxD6Drive::eCOUNT];
305 PxTransform DrivePosition;
306 PxReal ProjectionLinearTolerance;
307 PxReal ProjectionAngularTolerance;
308 const char * ConcreteTypeName;
329 static const char* getClassName() {
return "PxD6Joint"; }
330 PxIndexedPropertyInfo<PX_PROPERTY_INFO_NAME::PxD6Joint_Motion, PxD6Joint, PxD6Axis::Enum, PxD6Motion::Enum > Motion;
331 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxD6Joint_TwistAngle, PxD6Joint, PxReal > TwistAngle;
332 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxD6Joint_Twist, PxD6Joint, PxReal > Twist;
333 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxD6Joint_SwingYAngle, PxD6Joint, PxReal > SwingYAngle;
334 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxD6Joint_SwingZAngle, PxD6Joint, PxReal > SwingZAngle;
335 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxD6Joint_DistanceLimit, PxD6Joint, const PxJointLinearLimit &, PxJointLinearLimit > DistanceLimit;
336 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxD6Joint_LinearLimit, PxD6Joint, const PxJointLinearLimit &, PxJointLinearLimit > LinearLimit;
337 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxD6Joint_TwistLimit, PxD6Joint, const PxJointAngularLimitPair &, PxJointAngularLimitPair > TwistLimit;
338 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxD6Joint_SwingLimit, PxD6Joint, const PxJointLimitCone &, PxJointLimitCone > SwingLimit;
339 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxD6Joint_PyramidSwingLimit, PxD6Joint, const PxJointLimitPyramid &, PxJointLimitPyramid > PyramidSwingLimit;
340 PxIndexedPropertyInfo<PX_PROPERTY_INFO_NAME::PxD6Joint_Drive, PxD6Joint, PxD6Drive::Enum, PxD6JointDrive > Drive;
341 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxD6Joint_DrivePosition, PxD6Joint, const PxTransform &, PxTransform > DrivePosition;
342 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxD6Joint_ProjectionLinearTolerance, PxD6Joint, PxReal, PxReal > ProjectionLinearTolerance;
343 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxD6Joint_ProjectionAngularTolerance, PxD6Joint, PxReal, PxReal > ProjectionAngularTolerance;
344 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxD6Joint_ConcreteTypeName, PxD6Joint, const char * > ConcreteTypeName;
347 template<
typename TReturnType,
typename TOperator>
348 TReturnType visitType( TOperator inOperator )
const
350 return inOperator(
reinterpret_cast<PxD6Joint*
>(NULL) );
352 template<
typename TOperator>
353 void visitBases( TOperator inOperator )
355 PX_UNUSED(inOperator);
358 template<
typename TOperator>
359 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
361 PX_UNUSED(inOperator);
362 PX_UNUSED(inStartIndex);
363 inStartIndex = PxJointGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
364 inStartIndex = PxJointGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
367 static PxU32 instancePropertyCount() {
return 15; }
368 static PxU32 totalPropertyCount() {
return instancePropertyCount()
369 + PxJointGeneratedInfo::totalPropertyCount(); }
370 template<
typename TOperator>
371 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
373 PX_UNUSED(inOperator);
374 PX_UNUSED(inStartIndex);
375 inOperator( Motion, inStartIndex + 0 );;
376 inOperator( TwistAngle, inStartIndex + 1 );;
377 inOperator( Twist, inStartIndex + 2 );;
378 inOperator( SwingYAngle, inStartIndex + 3 );;
379 inOperator( SwingZAngle, inStartIndex + 4 );;
380 inOperator( DistanceLimit, inStartIndex + 5 );;
381 inOperator( LinearLimit, inStartIndex + 6 );;
382 inOperator( TwistLimit, inStartIndex + 7 );;
383 inOperator( SwingLimit, inStartIndex + 8 );;
384 inOperator( PyramidSwingLimit, inStartIndex + 9 );;
385 inOperator( Drive, inStartIndex + 10 );;
386 inOperator( DrivePosition, inStartIndex + 11 );;
387 inOperator( ProjectionLinearTolerance, inStartIndex + 12 );;
388 inOperator( ProjectionAngularTolerance, inStartIndex + 13 );;
389 inOperator( ConcreteTypeName, inStartIndex + 14 );;
390 return 15 + inStartIndex;
393 template<>
struct PxClassInfoTraits<PxD6Joint>
399 static PxU32ToName g_physx__PxDistanceJointFlag__EnumConversion[] = {
400 {
"eMAX_DISTANCE_ENABLED",
static_cast<PxU32
>( physx::PxDistanceJointFlag::eMAX_DISTANCE_ENABLED ) },
401 {
"eMIN_DISTANCE_ENABLED",
static_cast<PxU32
>( physx::PxDistanceJointFlag::eMIN_DISTANCE_ENABLED ) },
402 {
"eSPRING_ENABLED",
static_cast<PxU32
>( physx::PxDistanceJointFlag::eSPRING_ENABLED ) },
406template<>
struct PxEnumTraits<
physx::PxDistanceJointFlag::Enum > { PxEnumTraits() : NameConversion( g_physx__PxDistanceJointFlag__EnumConversion ) {}
const PxU32ToName* NameConversion; };
407 class PxDistanceJoint;
416 PxReal ContactDistance;
417 PxDistanceJointFlags DistanceJointFlags;
418 const char * ConcreteTypeName;
433 static const char* getClassName() {
return "PxDistanceJoint"; }
434 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxDistanceJoint_Distance, PxDistanceJoint, PxReal > Distance;
435 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxDistanceJoint_MinDistance, PxDistanceJoint, PxReal, PxReal > MinDistance;
436 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxDistanceJoint_MaxDistance, PxDistanceJoint, PxReal, PxReal > MaxDistance;
437 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxDistanceJoint_Tolerance, PxDistanceJoint, PxReal, PxReal > Tolerance;
438 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxDistanceJoint_Stiffness, PxDistanceJoint, PxReal, PxReal > Stiffness;
439 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxDistanceJoint_Damping, PxDistanceJoint, PxReal, PxReal > Damping;
440 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxDistanceJoint_ContactDistance, PxDistanceJoint, PxReal, PxReal > ContactDistance;
441 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxDistanceJoint_DistanceJointFlags, PxDistanceJoint, PxDistanceJointFlags, PxDistanceJointFlags > DistanceJointFlags;
442 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxDistanceJoint_ConcreteTypeName, PxDistanceJoint, const char * > ConcreteTypeName;
445 template<
typename TReturnType,
typename TOperator>
446 TReturnType visitType( TOperator inOperator )
const
448 return inOperator(
reinterpret_cast<PxDistanceJoint*
>(NULL) );
450 template<
typename TOperator>
451 void visitBases( TOperator inOperator )
453 PX_UNUSED(inOperator);
456 template<
typename TOperator>
457 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
459 PX_UNUSED(inOperator);
460 PX_UNUSED(inStartIndex);
461 inStartIndex = PxJointGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
462 inStartIndex = PxJointGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
465 static PxU32 instancePropertyCount() {
return 9; }
466 static PxU32 totalPropertyCount() {
return instancePropertyCount()
467 + PxJointGeneratedInfo::totalPropertyCount(); }
468 template<
typename TOperator>
469 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
471 PX_UNUSED(inOperator);
472 PX_UNUSED(inStartIndex);
473 inOperator( Distance, inStartIndex + 0 );;
474 inOperator( MinDistance, inStartIndex + 1 );;
475 inOperator( MaxDistance, inStartIndex + 2 );;
476 inOperator( Tolerance, inStartIndex + 3 );;
477 inOperator( Stiffness, inStartIndex + 4 );;
478 inOperator( Damping, inStartIndex + 5 );;
479 inOperator( ContactDistance, inStartIndex + 6 );;
480 inOperator( DistanceJointFlags, inStartIndex + 7 );;
481 inOperator( ConcreteTypeName, inStartIndex + 8 );;
482 return 9 + inStartIndex;
485 template<>
struct PxClassInfoTraits<PxDistanceJoint>
491 class PxContactJoint;
495 PxVec3 ContactNormal;
498 PxReal BounceThreshold;
499 const char * ConcreteTypeName;
511 static const char* getClassName() {
return "PxContactJoint"; }
512 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxContactJoint_Contact, PxContactJoint, const PxVec3 &, PxVec3 > Contact;
513 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxContactJoint_ContactNormal, PxContactJoint, const PxVec3 &, PxVec3 > ContactNormal;
514 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxContactJoint_Penetration, PxContactJoint, const PxReal, PxReal > Penetration;
515 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxContactJoint_Restitution, PxContactJoint, const PxReal, PxReal > Restitution;
516 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxContactJoint_BounceThreshold, PxContactJoint, const PxReal, PxReal > BounceThreshold;
517 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxContactJoint_ConcreteTypeName, PxContactJoint, const char * > ConcreteTypeName;
520 template<
typename TReturnType,
typename TOperator>
521 TReturnType visitType( TOperator inOperator )
const
523 return inOperator(
reinterpret_cast<PxContactJoint*
>(NULL) );
525 template<
typename TOperator>
526 void visitBases( TOperator inOperator )
528 PX_UNUSED(inOperator);
531 template<
typename TOperator>
532 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
534 PX_UNUSED(inOperator);
535 PX_UNUSED(inStartIndex);
536 inStartIndex = PxJointGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
537 inStartIndex = PxJointGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
540 static PxU32 instancePropertyCount() {
return 6; }
541 static PxU32 totalPropertyCount() {
return instancePropertyCount()
542 + PxJointGeneratedInfo::totalPropertyCount(); }
543 template<
typename TOperator>
544 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
546 PX_UNUSED(inOperator);
547 PX_UNUSED(inStartIndex);
548 inOperator( Contact, inStartIndex + 0 );;
549 inOperator( ContactNormal, inStartIndex + 1 );;
550 inOperator( Penetration, inStartIndex + 2 );;
551 inOperator( Restitution, inStartIndex + 3 );;
552 inOperator( BounceThreshold, inStartIndex + 4 );;
553 inOperator( ConcreteTypeName, inStartIndex + 5 );;
554 return 6 + inStartIndex;
557 template<>
struct PxClassInfoTraits<PxContactJoint>
566 PxReal ProjectionLinearTolerance;
567 PxReal ProjectionAngularTolerance;
568 const char * ConcreteTypeName;
577 static const char* getClassName() {
return "PxFixedJoint"; }
578 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxFixedJoint_ProjectionLinearTolerance, PxFixedJoint, PxReal, PxReal > ProjectionLinearTolerance;
579 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxFixedJoint_ProjectionAngularTolerance, PxFixedJoint, PxReal, PxReal > ProjectionAngularTolerance;
580 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxFixedJoint_ConcreteTypeName, PxFixedJoint, const char * > ConcreteTypeName;
583 template<
typename TReturnType,
typename TOperator>
584 TReturnType visitType( TOperator inOperator )
const
586 return inOperator(
reinterpret_cast<PxFixedJoint*
>(NULL) );
588 template<
typename TOperator>
589 void visitBases( TOperator inOperator )
591 PX_UNUSED(inOperator);
594 template<
typename TOperator>
595 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
597 PX_UNUSED(inOperator);
598 PX_UNUSED(inStartIndex);
599 inStartIndex = PxJointGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
600 inStartIndex = PxJointGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
603 static PxU32 instancePropertyCount() {
return 3; }
604 static PxU32 totalPropertyCount() {
return instancePropertyCount()
605 + PxJointGeneratedInfo::totalPropertyCount(); }
606 template<
typename TOperator>
607 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
609 PX_UNUSED(inOperator);
610 PX_UNUSED(inStartIndex);
611 inOperator( ProjectionLinearTolerance, inStartIndex + 0 );;
612 inOperator( ProjectionAngularTolerance, inStartIndex + 1 );;
613 inOperator( ConcreteTypeName, inStartIndex + 2 );;
614 return 3 + inStartIndex;
617 template<>
struct PxClassInfoTraits<PxFixedJoint>
623 static PxU32ToName g_physx__PxPrismaticJointFlag__EnumConversion[] = {
624 {
"eLIMIT_ENABLED",
static_cast<PxU32
>( physx::PxPrismaticJointFlag::eLIMIT_ENABLED ) },
628template<>
struct PxEnumTraits<
physx::PxPrismaticJointFlag::Enum > { PxEnumTraits() : NameConversion( g_physx__PxPrismaticJointFlag__EnumConversion ) {}
const PxU32ToName* NameConversion; };
629 class PxPrismaticJoint;
634 PxJointLinearLimitPair Limit;
635 PxPrismaticJointFlags PrismaticJointFlags;
636 PxReal ProjectionLinearTolerance;
637 PxReal ProjectionAngularTolerance;
638 const char * ConcreteTypeName;
651 static const char* getClassName() {
return "PxPrismaticJoint"; }
652 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxPrismaticJoint_Position, PxPrismaticJoint, PxReal > Position;
653 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxPrismaticJoint_Velocity, PxPrismaticJoint, PxReal > Velocity;
654 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxPrismaticJoint_Limit, PxPrismaticJoint, const PxJointLinearLimitPair &, PxJointLinearLimitPair > Limit;
655 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxPrismaticJoint_PrismaticJointFlags, PxPrismaticJoint, PxPrismaticJointFlags, PxPrismaticJointFlags > PrismaticJointFlags;
656 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxPrismaticJoint_ProjectionLinearTolerance, PxPrismaticJoint, PxReal, PxReal > ProjectionLinearTolerance;
657 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxPrismaticJoint_ProjectionAngularTolerance, PxPrismaticJoint, PxReal, PxReal > ProjectionAngularTolerance;
658 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxPrismaticJoint_ConcreteTypeName, PxPrismaticJoint, const char * > ConcreteTypeName;
661 template<
typename TReturnType,
typename TOperator>
662 TReturnType visitType( TOperator inOperator )
const
664 return inOperator(
reinterpret_cast<PxPrismaticJoint*
>(NULL) );
666 template<
typename TOperator>
667 void visitBases( TOperator inOperator )
669 PX_UNUSED(inOperator);
672 template<
typename TOperator>
673 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
675 PX_UNUSED(inOperator);
676 PX_UNUSED(inStartIndex);
677 inStartIndex = PxJointGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
678 inStartIndex = PxJointGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
681 static PxU32 instancePropertyCount() {
return 7; }
682 static PxU32 totalPropertyCount() {
return instancePropertyCount()
683 + PxJointGeneratedInfo::totalPropertyCount(); }
684 template<
typename TOperator>
685 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
687 PX_UNUSED(inOperator);
688 PX_UNUSED(inStartIndex);
689 inOperator( Position, inStartIndex + 0 );;
690 inOperator( Velocity, inStartIndex + 1 );;
691 inOperator( Limit, inStartIndex + 2 );;
692 inOperator( PrismaticJointFlags, inStartIndex + 3 );;
693 inOperator( ProjectionLinearTolerance, inStartIndex + 4 );;
694 inOperator( ProjectionAngularTolerance, inStartIndex + 5 );;
695 inOperator( ConcreteTypeName, inStartIndex + 6 );;
696 return 7 + inStartIndex;
699 template<>
struct PxClassInfoTraits<PxPrismaticJoint>
705 static PxU32ToName g_physx__PxRevoluteJointFlag__EnumConversion[] = {
712template<>
struct PxEnumTraits<
physx::PxRevoluteJointFlag::Enum > { PxEnumTraits() : NameConversion( g_physx__PxRevoluteJointFlag__EnumConversion ) {}
const PxU32ToName* NameConversion; };
713 class PxRevoluteJoint;
718 PxJointAngularLimitPair Limit;
719 PxReal DriveVelocity;
720 PxReal DriveForceLimit;
721 PxReal DriveGearRatio;
722 PxRevoluteJointFlags RevoluteJointFlags;
723 PxReal ProjectionLinearTolerance;
724 PxReal ProjectionAngularTolerance;
725 const char * ConcreteTypeName;
741 static const char* getClassName() {
return "PxRevoluteJoint"; }
742 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxRevoluteJoint_Angle, PxRevoluteJoint, PxReal > Angle;
743 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxRevoluteJoint_Velocity, PxRevoluteJoint, PxReal > Velocity;
744 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxRevoluteJoint_Limit, PxRevoluteJoint, const PxJointAngularLimitPair &, PxJointAngularLimitPair > Limit;
745 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxRevoluteJoint_DriveVelocity, PxRevoluteJoint, PxReal, PxReal > DriveVelocity;
746 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxRevoluteJoint_DriveForceLimit, PxRevoluteJoint, PxReal, PxReal > DriveForceLimit;
747 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxRevoluteJoint_DriveGearRatio, PxRevoluteJoint, PxReal, PxReal > DriveGearRatio;
748 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxRevoluteJoint_RevoluteJointFlags, PxRevoluteJoint, PxRevoluteJointFlags, PxRevoluteJointFlags > RevoluteJointFlags;
749 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxRevoluteJoint_ProjectionLinearTolerance, PxRevoluteJoint, PxReal, PxReal > ProjectionLinearTolerance;
750 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxRevoluteJoint_ProjectionAngularTolerance, PxRevoluteJoint, PxReal, PxReal > ProjectionAngularTolerance;
751 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxRevoluteJoint_ConcreteTypeName, PxRevoluteJoint, const char * > ConcreteTypeName;
754 template<
typename TReturnType,
typename TOperator>
755 TReturnType visitType( TOperator inOperator )
const
757 return inOperator(
reinterpret_cast<PxRevoluteJoint*
>(NULL) );
759 template<
typename TOperator>
760 void visitBases( TOperator inOperator )
762 PX_UNUSED(inOperator);
765 template<
typename TOperator>
766 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
768 PX_UNUSED(inOperator);
769 PX_UNUSED(inStartIndex);
770 inStartIndex = PxJointGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
771 inStartIndex = PxJointGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
774 static PxU32 instancePropertyCount() {
return 10; }
775 static PxU32 totalPropertyCount() {
return instancePropertyCount()
776 + PxJointGeneratedInfo::totalPropertyCount(); }
777 template<
typename TOperator>
778 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
780 PX_UNUSED(inOperator);
781 PX_UNUSED(inStartIndex);
782 inOperator( Angle, inStartIndex + 0 );;
783 inOperator( Velocity, inStartIndex + 1 );;
784 inOperator( Limit, inStartIndex + 2 );;
785 inOperator( DriveVelocity, inStartIndex + 3 );;
786 inOperator( DriveForceLimit, inStartIndex + 4 );;
787 inOperator( DriveGearRatio, inStartIndex + 5 );;
788 inOperator( RevoluteJointFlags, inStartIndex + 6 );;
789 inOperator( ProjectionLinearTolerance, inStartIndex + 7 );;
790 inOperator( ProjectionAngularTolerance, inStartIndex + 8 );;
791 inOperator( ConcreteTypeName, inStartIndex + 9 );;
792 return 10 + inStartIndex;
795 template<>
struct PxClassInfoTraits<PxRevoluteJoint>
801 static PxU32ToName g_physx__PxSphericalJointFlag__EnumConversion[] = {
806template<>
struct PxEnumTraits<
physx::PxSphericalJointFlag::Enum > { PxEnumTraits() : NameConversion( g_physx__PxSphericalJointFlag__EnumConversion ) {}
const PxU32ToName* NameConversion; };
807 class PxSphericalJoint;
810 PxJointLimitCone LimitCone;
813 PxSphericalJointFlags SphericalJointFlags;
814 PxReal ProjectionLinearTolerance;
815 const char * ConcreteTypeName;
827 static const char* getClassName() {
return "PxSphericalJoint"; }
828 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSphericalJoint_LimitCone, PxSphericalJoint, const PxJointLimitCone &, PxJointLimitCone > LimitCone;
829 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxSphericalJoint_SwingYAngle, PxSphericalJoint, PxReal > SwingYAngle;
830 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxSphericalJoint_SwingZAngle, PxSphericalJoint, PxReal > SwingZAngle;
831 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSphericalJoint_SphericalJointFlags, PxSphericalJoint, PxSphericalJointFlags, PxSphericalJointFlags > SphericalJointFlags;
832 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSphericalJoint_ProjectionLinearTolerance, PxSphericalJoint, PxReal, PxReal > ProjectionLinearTolerance;
833 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxSphericalJoint_ConcreteTypeName, PxSphericalJoint, const char * > ConcreteTypeName;
836 template<
typename TReturnType,
typename TOperator>
837 TReturnType visitType( TOperator inOperator )
const
839 return inOperator(
reinterpret_cast<PxSphericalJoint*
>(NULL) );
841 template<
typename TOperator>
842 void visitBases( TOperator inOperator )
844 PX_UNUSED(inOperator);
847 template<
typename TOperator>
848 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
850 PX_UNUSED(inOperator);
851 PX_UNUSED(inStartIndex);
852 inStartIndex = PxJointGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
853 inStartIndex = PxJointGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
856 static PxU32 instancePropertyCount() {
return 6; }
857 static PxU32 totalPropertyCount() {
return instancePropertyCount()
858 + PxJointGeneratedInfo::totalPropertyCount(); }
859 template<
typename TOperator>
860 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
862 PX_UNUSED(inOperator);
863 PX_UNUSED(inStartIndex);
864 inOperator( LimitCone, inStartIndex + 0 );;
865 inOperator( SwingYAngle, inStartIndex + 1 );;
866 inOperator( SwingZAngle, inStartIndex + 2 );;
867 inOperator( SphericalJointFlags, inStartIndex + 3 );;
868 inOperator( ProjectionLinearTolerance, inStartIndex + 4 );;
869 inOperator( ConcreteTypeName, inStartIndex + 5 );;
870 return 6 + inStartIndex;
873 template<>
struct PxClassInfoTraits<PxSphericalJoint>
879 class PxJointLimitParameters;
883 PxReal BounceThreshold;
886 PxReal ContactDistance_deprecated;
897 static const char* getClassName() {
return "PxJointLimitParameters"; }
898 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxJointLimitParameters_Restitution, PxJointLimitParameters, PxReal, PxReal > Restitution;
899 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxJointLimitParameters_BounceThreshold, PxJointLimitParameters, PxReal, PxReal > BounceThreshold;
900 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxJointLimitParameters_Stiffness, PxJointLimitParameters, PxReal, PxReal > Stiffness;
901 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxJointLimitParameters_Damping, PxJointLimitParameters, PxReal, PxReal > Damping;
902 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxJointLimitParameters_ContactDistance_deprecated, PxJointLimitParameters, PxReal, PxReal > ContactDistance_deprecated;
905 template<
typename TReturnType,
typename TOperator>
906 TReturnType visitType( TOperator inOperator )
const
908 return inOperator(
reinterpret_cast<PxJointLimitParameters*
>(NULL) );
910 template<
typename TOperator>
911 void visitBases( TOperator inOperator )
913 PX_UNUSED(inOperator);
915 template<
typename TOperator>
916 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
918 PX_UNUSED(inOperator);
919 PX_UNUSED(inStartIndex);
922 static PxU32 instancePropertyCount() {
return 5; }
923 static PxU32 totalPropertyCount() {
return instancePropertyCount(); }
924 template<
typename TOperator>
925 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
927 PX_UNUSED(inOperator);
928 PX_UNUSED(inStartIndex);
929 inOperator( Restitution, inStartIndex + 0 );;
930 inOperator( BounceThreshold, inStartIndex + 1 );;
931 inOperator( Stiffness, inStartIndex + 2 );;
932 inOperator( Damping, inStartIndex + 3 );;
933 inOperator( ContactDistance_deprecated, inStartIndex + 4 );;
934 return 5 + inStartIndex;
937 template<>
struct PxClassInfoTraits<PxJointLimitParameters>
943 class PxJointLinearLimit;
953 static const char* getClassName() {
return "PxJointLinearLimit"; }
954 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxJointLinearLimit_Value, PxJointLinearLimit, PxReal, PxReal > Value;
957 template<
typename TReturnType,
typename TOperator>
958 TReturnType visitType( TOperator inOperator )
const
960 return inOperator(
reinterpret_cast<PxJointLinearLimit*
>(NULL) );
962 template<
typename TOperator>
963 void visitBases( TOperator inOperator )
965 PX_UNUSED(inOperator);
968 template<
typename TOperator>
969 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
971 PX_UNUSED(inOperator);
972 PX_UNUSED(inStartIndex);
973 inStartIndex = PxJointLimitParametersGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
974 inStartIndex = PxJointLimitParametersGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
977 static PxU32 instancePropertyCount() {
return 1; }
978 static PxU32 totalPropertyCount() {
return instancePropertyCount()
979 + PxJointLimitParametersGeneratedInfo::totalPropertyCount(); }
980 template<
typename TOperator>
981 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
983 PX_UNUSED(inOperator);
984 PX_UNUSED(inStartIndex);
985 inOperator( Value, inStartIndex + 0 );;
986 return 1 + inStartIndex;
989 template<>
struct PxClassInfoTraits<PxJointLinearLimit>
995 class PxJointLinearLimitPair;
1007 static const char* getClassName() {
return "PxJointLinearLimitPair"; }
1008 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxJointLinearLimitPair_Upper, PxJointLinearLimitPair, PxReal, PxReal > Upper;
1009 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxJointLinearLimitPair_Lower, PxJointLinearLimitPair, PxReal, PxReal > Lower;
1012 template<
typename TReturnType,
typename TOperator>
1013 TReturnType visitType( TOperator inOperator )
const
1015 return inOperator(
reinterpret_cast<PxJointLinearLimitPair*
>(NULL) );
1017 template<
typename TOperator>
1018 void visitBases( TOperator inOperator )
1020 PX_UNUSED(inOperator);
1023 template<
typename TOperator>
1024 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
1026 PX_UNUSED(inOperator);
1027 PX_UNUSED(inStartIndex);
1028 inStartIndex = PxJointLimitParametersGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
1029 inStartIndex = PxJointLimitParametersGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
1030 return inStartIndex;
1032 static PxU32 instancePropertyCount() {
return 2; }
1033 static PxU32 totalPropertyCount() {
return instancePropertyCount()
1034 + PxJointLimitParametersGeneratedInfo::totalPropertyCount(); }
1035 template<
typename TOperator>
1036 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
1038 PX_UNUSED(inOperator);
1039 PX_UNUSED(inStartIndex);
1040 inOperator( Upper, inStartIndex + 0 );;
1041 inOperator( Lower, inStartIndex + 1 );;
1042 return 2 + inStartIndex;
1045 template<>
struct PxClassInfoTraits<PxJointLinearLimitPair>
1051 class PxJointAngularLimitPair;
1063 static const char* getClassName() {
return "PxJointAngularLimitPair"; }
1064 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxJointAngularLimitPair_Upper, PxJointAngularLimitPair, PxReal, PxReal > Upper;
1065 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxJointAngularLimitPair_Lower, PxJointAngularLimitPair, PxReal, PxReal > Lower;
1068 template<
typename TReturnType,
typename TOperator>
1069 TReturnType visitType( TOperator inOperator )
const
1071 return inOperator(
reinterpret_cast<PxJointAngularLimitPair*
>(NULL) );
1073 template<
typename TOperator>
1074 void visitBases( TOperator inOperator )
1076 PX_UNUSED(inOperator);
1079 template<
typename TOperator>
1080 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
1082 PX_UNUSED(inOperator);
1083 PX_UNUSED(inStartIndex);
1084 inStartIndex = PxJointLimitParametersGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
1085 inStartIndex = PxJointLimitParametersGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
1086 return inStartIndex;
1088 static PxU32 instancePropertyCount() {
return 2; }
1089 static PxU32 totalPropertyCount() {
return instancePropertyCount()
1090 + PxJointLimitParametersGeneratedInfo::totalPropertyCount(); }
1091 template<
typename TOperator>
1092 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
1094 PX_UNUSED(inOperator);
1095 PX_UNUSED(inStartIndex);
1096 inOperator( Upper, inStartIndex + 0 );;
1097 inOperator( Lower, inStartIndex + 1 );;
1098 return 2 + inStartIndex;
1101 template<>
struct PxClassInfoTraits<PxJointAngularLimitPair>
1107 class PxJointLimitCone;
1119 static const char* getClassName() {
return "PxJointLimitCone"; }
1120 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxJointLimitCone_YAngle, PxJointLimitCone, PxReal, PxReal > YAngle;
1121 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxJointLimitCone_ZAngle, PxJointLimitCone, PxReal, PxReal > ZAngle;
1124 template<
typename TReturnType,
typename TOperator>
1125 TReturnType visitType( TOperator inOperator )
const
1127 return inOperator(
reinterpret_cast<PxJointLimitCone*
>(NULL) );
1129 template<
typename TOperator>
1130 void visitBases( TOperator inOperator )
1132 PX_UNUSED(inOperator);
1135 template<
typename TOperator>
1136 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
1138 PX_UNUSED(inOperator);
1139 PX_UNUSED(inStartIndex);
1140 inStartIndex = PxJointLimitParametersGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
1141 inStartIndex = PxJointLimitParametersGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
1142 return inStartIndex;
1144 static PxU32 instancePropertyCount() {
return 2; }
1145 static PxU32 totalPropertyCount() {
return instancePropertyCount()
1146 + PxJointLimitParametersGeneratedInfo::totalPropertyCount(); }
1147 template<
typename TOperator>
1148 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
1150 PX_UNUSED(inOperator);
1151 PX_UNUSED(inStartIndex);
1152 inOperator( YAngle, inStartIndex + 0 );;
1153 inOperator( ZAngle, inStartIndex + 1 );;
1154 return 2 + inStartIndex;
1157 template<>
struct PxClassInfoTraits<PxJointLimitCone>
1163 class PxJointLimitPyramid;
1179 static const char* getClassName() {
return "PxJointLimitPyramid"; }
1180 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxJointLimitPyramid_YAngleMin, PxJointLimitPyramid, PxReal, PxReal > YAngleMin;
1181 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxJointLimitPyramid_YAngleMax, PxJointLimitPyramid, PxReal, PxReal > YAngleMax;
1182 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxJointLimitPyramid_ZAngleMin, PxJointLimitPyramid, PxReal, PxReal > ZAngleMin;
1183 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxJointLimitPyramid_ZAngleMax, PxJointLimitPyramid, PxReal, PxReal > ZAngleMax;
1186 template<
typename TReturnType,
typename TOperator>
1187 TReturnType visitType( TOperator inOperator )
const
1189 return inOperator(
reinterpret_cast<PxJointLimitPyramid*
>(NULL) );
1191 template<
typename TOperator>
1192 void visitBases( TOperator inOperator )
1194 PX_UNUSED(inOperator);
1197 template<
typename TOperator>
1198 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
1200 PX_UNUSED(inOperator);
1201 PX_UNUSED(inStartIndex);
1202 inStartIndex = PxJointLimitParametersGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
1203 inStartIndex = PxJointLimitParametersGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
1204 return inStartIndex;
1206 static PxU32 instancePropertyCount() {
return 4; }
1207 static PxU32 totalPropertyCount() {
return instancePropertyCount()
1208 + PxJointLimitParametersGeneratedInfo::totalPropertyCount(); }
1209 template<
typename TOperator>
1210 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
1212 PX_UNUSED(inOperator);
1213 PX_UNUSED(inStartIndex);
1214 inOperator( YAngleMin, inStartIndex + 0 );;
1215 inOperator( YAngleMax, inStartIndex + 1 );;
1216 inOperator( ZAngleMin, inStartIndex + 2 );;
1217 inOperator( ZAngleMax, inStartIndex + 3 );;
1218 return 4 + inStartIndex;
1221 template<>
struct PxClassInfoTraits<PxJointLimitPyramid>
1239 static const char* getClassName() {
return "PxSpring"; }
1240 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSpring_Stiffness, PxSpring, PxReal, PxReal > Stiffness;
1241 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSpring_Damping, PxSpring, PxReal, PxReal > Damping;
1244 template<
typename TReturnType,
typename TOperator>
1245 TReturnType visitType( TOperator inOperator )
const
1247 return inOperator(
reinterpret_cast<PxSpring*
>(NULL) );
1249 template<
typename TOperator>
1250 void visitBases( TOperator inOperator )
1252 PX_UNUSED(inOperator);
1254 template<
typename TOperator>
1255 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
1257 PX_UNUSED(inOperator);
1258 PX_UNUSED(inStartIndex);
1259 return inStartIndex;
1261 static PxU32 instancePropertyCount() {
return 2; }
1262 static PxU32 totalPropertyCount() {
return instancePropertyCount(); }
1263 template<
typename TOperator>
1264 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
1266 PX_UNUSED(inOperator);
1267 PX_UNUSED(inStartIndex);
1268 inOperator( Stiffness, inStartIndex + 0 );;
1269 inOperator( Damping, inStartIndex + 1 );;
1270 return 2 + inStartIndex;
1273 template<>
struct PxClassInfoTraits<PxSpring>
1279 static PxU32ToName g_physx__PxD6JointDriveFlag__EnumConversion[] = {
1284template<>
struct PxEnumTraits<
physx::PxD6JointDriveFlag::Enum > { PxEnumTraits() : NameConversion( g_physx__PxD6JointDriveFlag__EnumConversion ) {}
const PxU32ToName* NameConversion; };
1285 class PxD6JointDrive;
1289 PxD6JointDriveFlags Flags;
1297 static const char* getClassName() {
return "PxD6JointDrive"; }
1298 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxD6JointDrive_ForceLimit, PxD6JointDrive, PxReal, PxReal > ForceLimit;
1299 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxD6JointDrive_Flags, PxD6JointDrive, PxD6JointDriveFlags, PxD6JointDriveFlags > Flags;
1302 template<
typename TReturnType,
typename TOperator>
1303 TReturnType visitType( TOperator inOperator )
const
1305 return inOperator(
reinterpret_cast<PxD6JointDrive*
>(NULL) );
1307 template<
typename TOperator>
1308 void visitBases( TOperator inOperator )
1310 PX_UNUSED(inOperator);
1313 template<
typename TOperator>
1314 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
1316 PX_UNUSED(inOperator);
1317 PX_UNUSED(inStartIndex);
1318 inStartIndex = PxSpringGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
1319 inStartIndex = PxSpringGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
1320 return inStartIndex;
1322 static PxU32 instancePropertyCount() {
return 2; }
1323 static PxU32 totalPropertyCount() {
return instancePropertyCount()
1324 + PxSpringGeneratedInfo::totalPropertyCount(); }
1325 template<
typename TOperator>
1326 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 )
const
1328 PX_UNUSED(inOperator);
1329 PX_UNUSED(inStartIndex);
1330 inOperator( ForceLimit, inStartIndex + 0 );;
1331 inOperator( Flags, inStartIndex + 1 );;
1332 return 2 + inStartIndex;
1335 template<>
struct PxClassInfoTraits<PxD6JointDrive>
1343#undef THERE_IS_NO_INCLUDE_GUARD_HERE_FOR_A_REASON
1344#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 PxExtensionAutoGeneratedMetaDataObjects.h:1296
Definition PxExtensionAutoGeneratedMetaDataObjects.h:1287
Definition PxExtensionAutoGeneratedMetaDataObjects.h:328
Definition PxExtensionAutoGeneratedMetaDataObjects.h:293
Definition PxExtensionAutoGeneratedMetaDataObjects.h:432
Definition PxExtensionAutoGeneratedMetaDataObjects.h:409
Definition PxExtensionAutoGeneratedMetaDataObjects.h:576
Definition PxExtensionAutoGeneratedMetaDataObjects.h:565
Definition PxExtensionAutoGeneratedMetaDataObjects.h:216
Definition PxExtensionAutoGeneratedMetaDataObjects.h:207
Definition PxExtensionAutoGeneratedMetaDataObjects.h:1062
Definition PxExtensionAutoGeneratedMetaDataObjects.h:1053
Definition PxExtensionAutoGeneratedMetaDataObjects.h:82
Definition PxExtensionAutoGeneratedMetaDataObjects.h:47
Definition PxExtensionAutoGeneratedMetaDataObjects.h:1118
Definition PxExtensionAutoGeneratedMetaDataObjects.h:1109
Definition PxExtensionAutoGeneratedMetaDataObjects.h:896
Definition PxExtensionAutoGeneratedMetaDataObjects.h:881
Definition PxExtensionAutoGeneratedMetaDataObjects.h:1178
Definition PxExtensionAutoGeneratedMetaDataObjects.h:1165
Definition PxExtensionAutoGeneratedMetaDataObjects.h:952
Definition PxExtensionAutoGeneratedMetaDataObjects.h:945
Definition PxExtensionAutoGeneratedMetaDataObjects.h:1006
Definition PxExtensionAutoGeneratedMetaDataObjects.h:997
Definition PxExtensionAutoGeneratedMetaDataObjects.h:650
Definition PxExtensionAutoGeneratedMetaDataObjects.h:631
Definition PxExtensionAutoGeneratedMetaDataObjects.h:160
Definition PxExtensionAutoGeneratedMetaDataObjects.h:151
Definition PxExtensionAutoGeneratedMetaDataObjects.h:740
Definition PxExtensionAutoGeneratedMetaDataObjects.h:715
Definition PxExtensionAutoGeneratedMetaDataObjects.h:826
Definition PxExtensionAutoGeneratedMetaDataObjects.h:809
Definition PxExtensionAutoGeneratedMetaDataObjects.h:1238
Definition PxExtensionAutoGeneratedMetaDataObjects.h:1229
@ eX
motion along the X axis
Definition PxD6Joint.h:68
@ eSWING2
motion around the Z axis
Definition PxD6Joint.h:73
@ eTWIST
motion around the X axis
Definition PxD6Joint.h:71
@ eY
motion along the Y axis
Definition PxD6Joint.h:69
@ eZ
motion along the Z axis
Definition PxD6Joint.h:70
@ eSWING1
motion around the Y axis
Definition PxD6Joint.h:72
@ eX
drive along the X-axis
Definition PxD6Joint.h:114
@ eY
drive along the Y-axis
Definition PxD6Joint.h:115
@ eTWIST
drive of the displacement around the X-axis
Definition PxD6Joint.h:118
@ eSLERP
drive of all three angular degrees along a SLERP-path
Definition PxD6Joint.h:119
@ eZ
drive along the Z-axis
Definition PxD6Joint.h:116
@ eSWING
drive of displacement from the X-axis
Definition PxD6Joint.h:117
@ eACCELERATION
drive spring is for the acceleration at the joint (rather than the force)
Definition PxD6Joint.h:133
@ eLOCKED
The DOF is locked, it does not allow relative motion.
Definition PxD6Joint.h:88
@ eLIMITED
The DOF is limited, it only allows motion within a specific range.
Definition PxD6Joint.h:89
@ eFREE
The DOF is free and has its full range of motion.
Definition PxD6Joint.h:90
@ eLIMIT_ENABLED
enable the limit
Definition PxRevoluteJoint.h:67
@ eDRIVE_FREESPIN
if the existing velocity is beyond the drive velocity, do not add force
Definition PxRevoluteJoint.h:69
@ eDRIVE_ENABLED
enable the drive
Definition PxRevoluteJoint.h:68
@ eLIMIT_ENABLED
the cone limit for the spherical joint is enabled
Definition PxSphericalJoint.h:68