// // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions // are met: // * Redistributions of source code must retain the above copyright // notice, this list of conditions and the following disclaimer. // * Redistributions in binary form must reproduce the above copyright // notice, this list of conditions and the following disclaimer in the // documentation and/or other materials provided with the distribution. // * Neither the name of NVIDIA CORPORATION nor the names of its // contributors may be used to endorse or promote products derived // from this software without specific prior written permission. // // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // // Copyright (c) 2008-2019 NVIDIA Corporation. All rights reserved. // Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved. // Copyright (c) 2001-2004 NovodeX AG. All rights reserved. // This code is auto-generated by the PhysX Clang metadata generator. Do not edit or be // prepared for your edits to be quietly ignored next time the clang metadata generator is // run. You can find the most recent version of clang metadata generator by contacting // Chris Nuernberger or Dilip or Adam. // The source code for the generate was at one time checked into: // physx/PhysXMetaDataGenerator/llvm/tools/clang/lib/Frontend/PhysXMetaDataAction.cpp #define THERE_IS_NO_INCLUDE_GUARD_HERE_FOR_A_REASON #define PX_PROPERTY_INFO_NAME PxExtensionsPropertyInfoName static PxU32ToName g_physx__PxJointActorIndex__EnumConversion[] = { { "eACTOR0", static_cast( physx::PxJointActorIndex::eACTOR0 ) }, { "eACTOR1", static_cast( physx::PxJointActorIndex::eACTOR1 ) }, { NULL, 0 } }; template<> struct PxEnumTraits< physx::PxJointActorIndex::Enum > { PxEnumTraits() : NameConversion( g_physx__PxJointActorIndex__EnumConversion ) {} const PxU32ToName* NameConversion; }; class PxJoint; struct PxJointGeneratedValues { PxRigidActor * Actors[2]; PxTransform LocalPose[physx::PxJointActorIndex::COUNT]; PxTransform RelativeTransform; PxVec3 RelativeLinearVelocity; PxVec3 RelativeAngularVelocity; PxReal BreakForce[2]; PxConstraintFlags ConstraintFlags; PxReal InvMassScale0; PxReal InvInertiaScale0; PxReal InvMassScale1; PxReal InvInertiaScale1; PxConstraint * Constraint; const char * Name; PxScene * Scene; void * UserData; PxJointGeneratedValues( const PxJoint* inSource ); }; DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJoint, Actors, PxJointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJoint, LocalPose, PxJointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJoint, RelativeTransform, PxJointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJoint, RelativeLinearVelocity, PxJointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJoint, RelativeAngularVelocity, PxJointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJoint, BreakForce, PxJointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJoint, ConstraintFlags, PxJointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJoint, InvMassScale0, PxJointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJoint, InvInertiaScale0, PxJointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJoint, InvMassScale1, PxJointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJoint, InvInertiaScale1, PxJointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJoint, Constraint, PxJointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJoint, Name, PxJointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJoint, Scene, PxJointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJoint, UserData, PxJointGeneratedValues) struct PxJointGeneratedInfo { static const char* getClassName() { return "PxJoint"; } PxRangePropertyInfo Actors; PxIndexedPropertyInfo LocalPose; PxReadOnlyPropertyInfo RelativeTransform; PxReadOnlyPropertyInfo RelativeLinearVelocity; PxReadOnlyPropertyInfo RelativeAngularVelocity; PxRangePropertyInfo BreakForce; PxPropertyInfo ConstraintFlags; PxPropertyInfo InvMassScale0; PxPropertyInfo InvInertiaScale0; PxPropertyInfo InvMassScale1; PxPropertyInfo InvInertiaScale1; PxReadOnlyPropertyInfo Constraint; PxPropertyInfo Name; PxReadOnlyPropertyInfo Scene; PxPropertyInfo UserData; PxJointGeneratedInfo(); template TReturnType visitType( TOperator inOperator ) const { return inOperator( reinterpret_cast(NULL) ); } template void visitBases( TOperator inOperator ) { PX_UNUSED(inOperator); } template PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const { PX_UNUSED(inOperator); PX_UNUSED(inStartIndex); return inStartIndex; } static PxU32 instancePropertyCount() { return 15; } static PxU32 totalPropertyCount() { return instancePropertyCount(); } template PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const { PX_UNUSED(inOperator); PX_UNUSED(inStartIndex); inOperator( Actors, inStartIndex + 0 );; inOperator( LocalPose, inStartIndex + 1 );; inOperator( RelativeTransform, inStartIndex + 2 );; inOperator( RelativeLinearVelocity, inStartIndex + 3 );; inOperator( RelativeAngularVelocity, inStartIndex + 4 );; inOperator( BreakForce, inStartIndex + 5 );; inOperator( ConstraintFlags, inStartIndex + 6 );; inOperator( InvMassScale0, inStartIndex + 7 );; inOperator( InvInertiaScale0, inStartIndex + 8 );; inOperator( InvMassScale1, inStartIndex + 9 );; inOperator( InvInertiaScale1, inStartIndex + 10 );; inOperator( Constraint, inStartIndex + 11 );; inOperator( Name, inStartIndex + 12 );; inOperator( Scene, inStartIndex + 13 );; inOperator( UserData, inStartIndex + 14 );; return 15 + inStartIndex; } }; template<> struct PxClassInfoTraits { PxJointGeneratedInfo Info; const PxJointGeneratedInfo* getInfo() { return &Info; } }; static PxU32ToName g_physx__PxD6Axis__EnumConversion[] = { { "eX", static_cast( physx::PxD6Axis::eX ) }, { "eY", static_cast( physx::PxD6Axis::eY ) }, { "eZ", static_cast( physx::PxD6Axis::eZ ) }, { "eTWIST", static_cast( physx::PxD6Axis::eTWIST ) }, { "eSWING1", static_cast( physx::PxD6Axis::eSWING1 ) }, { "eSWING2", static_cast( physx::PxD6Axis::eSWING2 ) }, { NULL, 0 } }; template<> struct PxEnumTraits< physx::PxD6Axis::Enum > { PxEnumTraits() : NameConversion( g_physx__PxD6Axis__EnumConversion ) {} const PxU32ToName* NameConversion; }; static PxU32ToName g_physx__PxD6Motion__EnumConversion[] = { { "eLOCKED", static_cast( physx::PxD6Motion::eLOCKED ) }, { "eLIMITED", static_cast( physx::PxD6Motion::eLIMITED ) }, { "eFREE", static_cast( physx::PxD6Motion::eFREE ) }, { NULL, 0 } }; template<> struct PxEnumTraits< physx::PxD6Motion::Enum > { PxEnumTraits() : NameConversion( g_physx__PxD6Motion__EnumConversion ) {} const PxU32ToName* NameConversion; }; static PxU32ToName g_physx__PxD6Drive__EnumConversion[] = { { "eX", static_cast( physx::PxD6Drive::eX ) }, { "eY", static_cast( physx::PxD6Drive::eY ) }, { "eZ", static_cast( physx::PxD6Drive::eZ ) }, { "eSWING", static_cast( physx::PxD6Drive::eSWING ) }, { "eTWIST", static_cast( physx::PxD6Drive::eTWIST ) }, { "eSLERP", static_cast( physx::PxD6Drive::eSLERP ) }, { NULL, 0 } }; template<> struct PxEnumTraits< physx::PxD6Drive::Enum > { PxEnumTraits() : NameConversion( g_physx__PxD6Drive__EnumConversion ) {} const PxU32ToName* NameConversion; }; class PxD6Joint; struct PxD6JointGeneratedValues : PxJointGeneratedValues { PxD6Motion::Enum Motion[physx::PxD6Axis::eCOUNT]; PxReal TwistAngle; PxReal Twist; PxReal SwingYAngle; PxReal SwingZAngle; PxJointLinearLimit DistanceLimit; PxJointLinearLimit LinearLimit; PxJointAngularLimitPair TwistLimit; PxJointLimitCone SwingLimit; PxJointLimitPyramid PyramidSwingLimit; PxD6JointDrive Drive[physx::PxD6Drive::eCOUNT]; PxTransform DrivePosition; PxReal ProjectionLinearTolerance; PxReal ProjectionAngularTolerance; const char * ConcreteTypeName; PxD6JointGeneratedValues( const PxD6Joint* inSource ); }; DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxD6Joint, Motion, PxD6JointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxD6Joint, TwistAngle, PxD6JointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxD6Joint, Twist, PxD6JointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxD6Joint, SwingYAngle, PxD6JointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxD6Joint, SwingZAngle, PxD6JointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxD6Joint, DistanceLimit, PxD6JointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxD6Joint, LinearLimit, PxD6JointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxD6Joint, TwistLimit, PxD6JointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxD6Joint, SwingLimit, PxD6JointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxD6Joint, PyramidSwingLimit, PxD6JointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxD6Joint, Drive, PxD6JointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxD6Joint, DrivePosition, PxD6JointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxD6Joint, ProjectionLinearTolerance, PxD6JointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxD6Joint, ProjectionAngularTolerance, PxD6JointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxD6Joint, ConcreteTypeName, PxD6JointGeneratedValues) struct PxD6JointGeneratedInfo : PxJointGeneratedInfo { static const char* getClassName() { return "PxD6Joint"; } PxIndexedPropertyInfo Motion; PxReadOnlyPropertyInfo TwistAngle; PxReadOnlyPropertyInfo Twist; PxReadOnlyPropertyInfo SwingYAngle; PxReadOnlyPropertyInfo SwingZAngle; PxPropertyInfo DistanceLimit; PxPropertyInfo LinearLimit; PxPropertyInfo TwistLimit; PxPropertyInfo SwingLimit; PxPropertyInfo PyramidSwingLimit; PxIndexedPropertyInfo Drive; PxPropertyInfo DrivePosition; PxPropertyInfo ProjectionLinearTolerance; PxPropertyInfo ProjectionAngularTolerance; PxReadOnlyPropertyInfo ConcreteTypeName; PxD6JointGeneratedInfo(); template TReturnType visitType( TOperator inOperator ) const { return inOperator( reinterpret_cast(NULL) ); } template void visitBases( TOperator inOperator ) { PX_UNUSED(inOperator); inOperator( *static_cast( this ) ); } template PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const { PX_UNUSED(inOperator); PX_UNUSED(inStartIndex); inStartIndex = PxJointGeneratedInfo::visitBaseProperties( inOperator, inStartIndex ); inStartIndex = PxJointGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex ); return inStartIndex; } static PxU32 instancePropertyCount() { return 15; } static PxU32 totalPropertyCount() { return instancePropertyCount() + PxJointGeneratedInfo::totalPropertyCount(); } template PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const { PX_UNUSED(inOperator); PX_UNUSED(inStartIndex); inOperator( Motion, inStartIndex + 0 );; inOperator( TwistAngle, inStartIndex + 1 );; inOperator( Twist, inStartIndex + 2 );; inOperator( SwingYAngle, inStartIndex + 3 );; inOperator( SwingZAngle, inStartIndex + 4 );; inOperator( DistanceLimit, inStartIndex + 5 );; inOperator( LinearLimit, inStartIndex + 6 );; inOperator( TwistLimit, inStartIndex + 7 );; inOperator( SwingLimit, inStartIndex + 8 );; inOperator( PyramidSwingLimit, inStartIndex + 9 );; inOperator( Drive, inStartIndex + 10 );; inOperator( DrivePosition, inStartIndex + 11 );; inOperator( ProjectionLinearTolerance, inStartIndex + 12 );; inOperator( ProjectionAngularTolerance, inStartIndex + 13 );; inOperator( ConcreteTypeName, inStartIndex + 14 );; return 15 + inStartIndex; } }; template<> struct PxClassInfoTraits { PxD6JointGeneratedInfo Info; const PxD6JointGeneratedInfo* getInfo() { return &Info; } }; static PxU32ToName g_physx__PxDistanceJointFlag__EnumConversion[] = { { "eMAX_DISTANCE_ENABLED", static_cast( physx::PxDistanceJointFlag::eMAX_DISTANCE_ENABLED ) }, { "eMIN_DISTANCE_ENABLED", static_cast( physx::PxDistanceJointFlag::eMIN_DISTANCE_ENABLED ) }, { "eSPRING_ENABLED", static_cast( physx::PxDistanceJointFlag::eSPRING_ENABLED ) }, { NULL, 0 } }; template<> struct PxEnumTraits< physx::PxDistanceJointFlag::Enum > { PxEnumTraits() : NameConversion( g_physx__PxDistanceJointFlag__EnumConversion ) {} const PxU32ToName* NameConversion; }; class PxDistanceJoint; struct PxDistanceJointGeneratedValues : PxJointGeneratedValues { PxReal Distance; PxReal MinDistance; PxReal MaxDistance; PxReal Tolerance; PxReal Stiffness; PxReal Damping; PxDistanceJointFlags DistanceJointFlags; const char * ConcreteTypeName; PxDistanceJointGeneratedValues( const PxDistanceJoint* inSource ); }; DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxDistanceJoint, Distance, PxDistanceJointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxDistanceJoint, MinDistance, PxDistanceJointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxDistanceJoint, MaxDistance, PxDistanceJointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxDistanceJoint, Tolerance, PxDistanceJointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxDistanceJoint, Stiffness, PxDistanceJointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxDistanceJoint, Damping, PxDistanceJointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxDistanceJoint, DistanceJointFlags, PxDistanceJointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxDistanceJoint, ConcreteTypeName, PxDistanceJointGeneratedValues) struct PxDistanceJointGeneratedInfo : PxJointGeneratedInfo { static const char* getClassName() { return "PxDistanceJoint"; } PxReadOnlyPropertyInfo Distance; PxPropertyInfo MinDistance; PxPropertyInfo MaxDistance; PxPropertyInfo Tolerance; PxPropertyInfo Stiffness; PxPropertyInfo Damping; PxPropertyInfo DistanceJointFlags; PxReadOnlyPropertyInfo ConcreteTypeName; PxDistanceJointGeneratedInfo(); template TReturnType visitType( TOperator inOperator ) const { return inOperator( reinterpret_cast(NULL) ); } template void visitBases( TOperator inOperator ) { PX_UNUSED(inOperator); inOperator( *static_cast( this ) ); } template PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const { PX_UNUSED(inOperator); PX_UNUSED(inStartIndex); inStartIndex = PxJointGeneratedInfo::visitBaseProperties( inOperator, inStartIndex ); inStartIndex = PxJointGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex ); return inStartIndex; } static PxU32 instancePropertyCount() { return 8; } static PxU32 totalPropertyCount() { return instancePropertyCount() + PxJointGeneratedInfo::totalPropertyCount(); } template PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const { PX_UNUSED(inOperator); PX_UNUSED(inStartIndex); inOperator( Distance, inStartIndex + 0 );; inOperator( MinDistance, inStartIndex + 1 );; inOperator( MaxDistance, inStartIndex + 2 );; inOperator( Tolerance, inStartIndex + 3 );; inOperator( Stiffness, inStartIndex + 4 );; inOperator( Damping, inStartIndex + 5 );; inOperator( DistanceJointFlags, inStartIndex + 6 );; inOperator( ConcreteTypeName, inStartIndex + 7 );; return 8 + inStartIndex; } }; template<> struct PxClassInfoTraits { PxDistanceJointGeneratedInfo Info; const PxDistanceJointGeneratedInfo* getInfo() { return &Info; } }; class PxContactJoint; struct PxContactJointGeneratedValues : PxJointGeneratedValues { PxVec3 Contact; PxVec3 ContactNormal; PxReal Penetration; PxReal Resititution; PxReal BounceThreshold; const char * ConcreteTypeName; PxContactJointGeneratedValues( const PxContactJoint* inSource ); }; DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxContactJoint, Contact, PxContactJointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxContactJoint, ContactNormal, PxContactJointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxContactJoint, Penetration, PxContactJointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxContactJoint, Resititution, PxContactJointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxContactJoint, BounceThreshold, PxContactJointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxContactJoint, ConcreteTypeName, PxContactJointGeneratedValues) struct PxContactJointGeneratedInfo : PxJointGeneratedInfo { static const char* getClassName() { return "PxContactJoint"; } PxPropertyInfo Contact; PxPropertyInfo ContactNormal; PxPropertyInfo Penetration; PxPropertyInfo Resititution; PxPropertyInfo BounceThreshold; PxReadOnlyPropertyInfo ConcreteTypeName; PxContactJointGeneratedInfo(); template TReturnType visitType( TOperator inOperator ) const { return inOperator( reinterpret_cast(NULL) ); } template void visitBases( TOperator inOperator ) { PX_UNUSED(inOperator); inOperator( *static_cast( this ) ); } template PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const { PX_UNUSED(inOperator); PX_UNUSED(inStartIndex); inStartIndex = PxJointGeneratedInfo::visitBaseProperties( inOperator, inStartIndex ); inStartIndex = PxJointGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex ); return inStartIndex; } static PxU32 instancePropertyCount() { return 6; } static PxU32 totalPropertyCount() { return instancePropertyCount() + PxJointGeneratedInfo::totalPropertyCount(); } template PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const { PX_UNUSED(inOperator); PX_UNUSED(inStartIndex); inOperator( Contact, inStartIndex + 0 );; inOperator( ContactNormal, inStartIndex + 1 );; inOperator( Penetration, inStartIndex + 2 );; inOperator( Resititution, inStartIndex + 3 );; inOperator( BounceThreshold, inStartIndex + 4 );; inOperator( ConcreteTypeName, inStartIndex + 5 );; return 6 + inStartIndex; } }; template<> struct PxClassInfoTraits { PxContactJointGeneratedInfo Info; const PxContactJointGeneratedInfo* getInfo() { return &Info; } }; class PxFixedJoint; struct PxFixedJointGeneratedValues : PxJointGeneratedValues { PxReal ProjectionLinearTolerance; PxReal ProjectionAngularTolerance; const char * ConcreteTypeName; PxFixedJointGeneratedValues( const PxFixedJoint* inSource ); }; DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxFixedJoint, ProjectionLinearTolerance, PxFixedJointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxFixedJoint, ProjectionAngularTolerance, PxFixedJointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxFixedJoint, ConcreteTypeName, PxFixedJointGeneratedValues) struct PxFixedJointGeneratedInfo : PxJointGeneratedInfo { static const char* getClassName() { return "PxFixedJoint"; } PxPropertyInfo ProjectionLinearTolerance; PxPropertyInfo ProjectionAngularTolerance; PxReadOnlyPropertyInfo ConcreteTypeName; PxFixedJointGeneratedInfo(); template TReturnType visitType( TOperator inOperator ) const { return inOperator( reinterpret_cast(NULL) ); } template void visitBases( TOperator inOperator ) { PX_UNUSED(inOperator); inOperator( *static_cast( this ) ); } template PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const { PX_UNUSED(inOperator); PX_UNUSED(inStartIndex); inStartIndex = PxJointGeneratedInfo::visitBaseProperties( inOperator, inStartIndex ); inStartIndex = PxJointGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex ); return inStartIndex; } static PxU32 instancePropertyCount() { return 3; } static PxU32 totalPropertyCount() { return instancePropertyCount() + PxJointGeneratedInfo::totalPropertyCount(); } template PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const { PX_UNUSED(inOperator); PX_UNUSED(inStartIndex); inOperator( ProjectionLinearTolerance, inStartIndex + 0 );; inOperator( ProjectionAngularTolerance, inStartIndex + 1 );; inOperator( ConcreteTypeName, inStartIndex + 2 );; return 3 + inStartIndex; } }; template<> struct PxClassInfoTraits { PxFixedJointGeneratedInfo Info; const PxFixedJointGeneratedInfo* getInfo() { return &Info; } }; static PxU32ToName g_physx__PxPrismaticJointFlag__EnumConversion[] = { { "eLIMIT_ENABLED", static_cast( physx::PxPrismaticJointFlag::eLIMIT_ENABLED ) }, { NULL, 0 } }; template<> struct PxEnumTraits< physx::PxPrismaticJointFlag::Enum > { PxEnumTraits() : NameConversion( g_physx__PxPrismaticJointFlag__EnumConversion ) {} const PxU32ToName* NameConversion; }; class PxPrismaticJoint; struct PxPrismaticJointGeneratedValues : PxJointGeneratedValues { PxReal Position; PxReal Velocity; PxJointLinearLimitPair Limit; PxPrismaticJointFlags PrismaticJointFlags; PxReal ProjectionLinearTolerance; PxReal ProjectionAngularTolerance; const char * ConcreteTypeName; PxPrismaticJointGeneratedValues( const PxPrismaticJoint* inSource ); }; DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxPrismaticJoint, Position, PxPrismaticJointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxPrismaticJoint, Velocity, PxPrismaticJointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxPrismaticJoint, Limit, PxPrismaticJointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxPrismaticJoint, PrismaticJointFlags, PxPrismaticJointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxPrismaticJoint, ProjectionLinearTolerance, PxPrismaticJointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxPrismaticJoint, ProjectionAngularTolerance, PxPrismaticJointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxPrismaticJoint, ConcreteTypeName, PxPrismaticJointGeneratedValues) struct PxPrismaticJointGeneratedInfo : PxJointGeneratedInfo { static const char* getClassName() { return "PxPrismaticJoint"; } PxReadOnlyPropertyInfo Position; PxReadOnlyPropertyInfo Velocity; PxPropertyInfo Limit; PxPropertyInfo PrismaticJointFlags; PxPropertyInfo ProjectionLinearTolerance; PxPropertyInfo ProjectionAngularTolerance; PxReadOnlyPropertyInfo ConcreteTypeName; PxPrismaticJointGeneratedInfo(); template TReturnType visitType( TOperator inOperator ) const { return inOperator( reinterpret_cast(NULL) ); } template void visitBases( TOperator inOperator ) { PX_UNUSED(inOperator); inOperator( *static_cast( this ) ); } template PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const { PX_UNUSED(inOperator); PX_UNUSED(inStartIndex); inStartIndex = PxJointGeneratedInfo::visitBaseProperties( inOperator, inStartIndex ); inStartIndex = PxJointGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex ); return inStartIndex; } static PxU32 instancePropertyCount() { return 7; } static PxU32 totalPropertyCount() { return instancePropertyCount() + PxJointGeneratedInfo::totalPropertyCount(); } template PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const { PX_UNUSED(inOperator); PX_UNUSED(inStartIndex); inOperator( Position, inStartIndex + 0 );; inOperator( Velocity, inStartIndex + 1 );; inOperator( Limit, inStartIndex + 2 );; inOperator( PrismaticJointFlags, inStartIndex + 3 );; inOperator( ProjectionLinearTolerance, inStartIndex + 4 );; inOperator( ProjectionAngularTolerance, inStartIndex + 5 );; inOperator( ConcreteTypeName, inStartIndex + 6 );; return 7 + inStartIndex; } }; template<> struct PxClassInfoTraits { PxPrismaticJointGeneratedInfo Info; const PxPrismaticJointGeneratedInfo* getInfo() { return &Info; } }; static PxU32ToName g_physx__PxRevoluteJointFlag__EnumConversion[] = { { "eLIMIT_ENABLED", static_cast( physx::PxRevoluteJointFlag::eLIMIT_ENABLED ) }, { "eDRIVE_ENABLED", static_cast( physx::PxRevoluteJointFlag::eDRIVE_ENABLED ) }, { "eDRIVE_FREESPIN", static_cast( physx::PxRevoluteJointFlag::eDRIVE_FREESPIN ) }, { NULL, 0 } }; template<> struct PxEnumTraits< physx::PxRevoluteJointFlag::Enum > { PxEnumTraits() : NameConversion( g_physx__PxRevoluteJointFlag__EnumConversion ) {} const PxU32ToName* NameConversion; }; class PxRevoluteJoint; struct PxRevoluteJointGeneratedValues : PxJointGeneratedValues { PxReal Angle; PxReal Velocity; PxJointAngularLimitPair Limit; PxReal DriveVelocity; PxReal DriveForceLimit; PxReal DriveGearRatio; PxRevoluteJointFlags RevoluteJointFlags; PxReal ProjectionLinearTolerance; PxReal ProjectionAngularTolerance; const char * ConcreteTypeName; PxRevoluteJointGeneratedValues( const PxRevoluteJoint* inSource ); }; DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRevoluteJoint, Angle, PxRevoluteJointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRevoluteJoint, Velocity, PxRevoluteJointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRevoluteJoint, Limit, PxRevoluteJointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRevoluteJoint, DriveVelocity, PxRevoluteJointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRevoluteJoint, DriveForceLimit, PxRevoluteJointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRevoluteJoint, DriveGearRatio, PxRevoluteJointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRevoluteJoint, RevoluteJointFlags, PxRevoluteJointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRevoluteJoint, ProjectionLinearTolerance, PxRevoluteJointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRevoluteJoint, ProjectionAngularTolerance, PxRevoluteJointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRevoluteJoint, ConcreteTypeName, PxRevoluteJointGeneratedValues) struct PxRevoluteJointGeneratedInfo : PxJointGeneratedInfo { static const char* getClassName() { return "PxRevoluteJoint"; } PxReadOnlyPropertyInfo Angle; PxReadOnlyPropertyInfo Velocity; PxPropertyInfo Limit; PxPropertyInfo DriveVelocity; PxPropertyInfo DriveForceLimit; PxPropertyInfo DriveGearRatio; PxPropertyInfo RevoluteJointFlags; PxPropertyInfo ProjectionLinearTolerance; PxPropertyInfo ProjectionAngularTolerance; PxReadOnlyPropertyInfo ConcreteTypeName; PxRevoluteJointGeneratedInfo(); template TReturnType visitType( TOperator inOperator ) const { return inOperator( reinterpret_cast(NULL) ); } template void visitBases( TOperator inOperator ) { PX_UNUSED(inOperator); inOperator( *static_cast( this ) ); } template PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const { PX_UNUSED(inOperator); PX_UNUSED(inStartIndex); inStartIndex = PxJointGeneratedInfo::visitBaseProperties( inOperator, inStartIndex ); inStartIndex = PxJointGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex ); return inStartIndex; } static PxU32 instancePropertyCount() { return 10; } static PxU32 totalPropertyCount() { return instancePropertyCount() + PxJointGeneratedInfo::totalPropertyCount(); } template PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const { PX_UNUSED(inOperator); PX_UNUSED(inStartIndex); inOperator( Angle, inStartIndex + 0 );; inOperator( Velocity, inStartIndex + 1 );; inOperator( Limit, inStartIndex + 2 );; inOperator( DriveVelocity, inStartIndex + 3 );; inOperator( DriveForceLimit, inStartIndex + 4 );; inOperator( DriveGearRatio, inStartIndex + 5 );; inOperator( RevoluteJointFlags, inStartIndex + 6 );; inOperator( ProjectionLinearTolerance, inStartIndex + 7 );; inOperator( ProjectionAngularTolerance, inStartIndex + 8 );; inOperator( ConcreteTypeName, inStartIndex + 9 );; return 10 + inStartIndex; } }; template<> struct PxClassInfoTraits { PxRevoluteJointGeneratedInfo Info; const PxRevoluteJointGeneratedInfo* getInfo() { return &Info; } }; static PxU32ToName g_physx__PxSphericalJointFlag__EnumConversion[] = { { "eLIMIT_ENABLED", static_cast( physx::PxSphericalJointFlag::eLIMIT_ENABLED ) }, { NULL, 0 } }; template<> struct PxEnumTraits< physx::PxSphericalJointFlag::Enum > { PxEnumTraits() : NameConversion( g_physx__PxSphericalJointFlag__EnumConversion ) {} const PxU32ToName* NameConversion; }; class PxSphericalJoint; struct PxSphericalJointGeneratedValues : PxJointGeneratedValues { PxJointLimitCone LimitCone; PxReal SwingYAngle; PxReal SwingZAngle; PxSphericalJointFlags SphericalJointFlags; PxReal ProjectionLinearTolerance; const char * ConcreteTypeName; PxSphericalJointGeneratedValues( const PxSphericalJoint* inSource ); }; DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSphericalJoint, LimitCone, PxSphericalJointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSphericalJoint, SwingYAngle, PxSphericalJointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSphericalJoint, SwingZAngle, PxSphericalJointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSphericalJoint, SphericalJointFlags, PxSphericalJointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSphericalJoint, ProjectionLinearTolerance, PxSphericalJointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSphericalJoint, ConcreteTypeName, PxSphericalJointGeneratedValues) struct PxSphericalJointGeneratedInfo : PxJointGeneratedInfo { static const char* getClassName() { return "PxSphericalJoint"; } PxPropertyInfo LimitCone; PxReadOnlyPropertyInfo SwingYAngle; PxReadOnlyPropertyInfo SwingZAngle; PxPropertyInfo SphericalJointFlags; PxPropertyInfo ProjectionLinearTolerance; PxReadOnlyPropertyInfo ConcreteTypeName; PxSphericalJointGeneratedInfo(); template TReturnType visitType( TOperator inOperator ) const { return inOperator( reinterpret_cast(NULL) ); } template void visitBases( TOperator inOperator ) { PX_UNUSED(inOperator); inOperator( *static_cast( this ) ); } template PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const { PX_UNUSED(inOperator); PX_UNUSED(inStartIndex); inStartIndex = PxJointGeneratedInfo::visitBaseProperties( inOperator, inStartIndex ); inStartIndex = PxJointGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex ); return inStartIndex; } static PxU32 instancePropertyCount() { return 6; } static PxU32 totalPropertyCount() { return instancePropertyCount() + PxJointGeneratedInfo::totalPropertyCount(); } template PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const { PX_UNUSED(inOperator); PX_UNUSED(inStartIndex); inOperator( LimitCone, inStartIndex + 0 );; inOperator( SwingYAngle, inStartIndex + 1 );; inOperator( SwingZAngle, inStartIndex + 2 );; inOperator( SphericalJointFlags, inStartIndex + 3 );; inOperator( ProjectionLinearTolerance, inStartIndex + 4 );; inOperator( ConcreteTypeName, inStartIndex + 5 );; return 6 + inStartIndex; } }; template<> struct PxClassInfoTraits { PxSphericalJointGeneratedInfo Info; const PxSphericalJointGeneratedInfo* getInfo() { return &Info; } }; class PxJointLimitParameters; struct PxJointLimitParametersGeneratedValues { PxReal Restitution; PxReal BounceThreshold; PxReal Stiffness; PxReal Damping; PxReal ContactDistance; PxJointLimitParametersGeneratedValues( const PxJointLimitParameters* inSource ); }; DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJointLimitParameters, Restitution, PxJointLimitParametersGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJointLimitParameters, BounceThreshold, PxJointLimitParametersGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJointLimitParameters, Stiffness, PxJointLimitParametersGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJointLimitParameters, Damping, PxJointLimitParametersGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJointLimitParameters, ContactDistance, PxJointLimitParametersGeneratedValues) struct PxJointLimitParametersGeneratedInfo { static const char* getClassName() { return "PxJointLimitParameters"; } PxPropertyInfo Restitution; PxPropertyInfo BounceThreshold; PxPropertyInfo Stiffness; PxPropertyInfo Damping; PxPropertyInfo ContactDistance; PxJointLimitParametersGeneratedInfo(); template TReturnType visitType( TOperator inOperator ) const { return inOperator( reinterpret_cast(NULL) ); } template void visitBases( TOperator inOperator ) { PX_UNUSED(inOperator); } template PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const { PX_UNUSED(inOperator); PX_UNUSED(inStartIndex); return inStartIndex; } static PxU32 instancePropertyCount() { return 5; } static PxU32 totalPropertyCount() { return instancePropertyCount(); } template PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const { PX_UNUSED(inOperator); PX_UNUSED(inStartIndex); inOperator( Restitution, inStartIndex + 0 );; inOperator( BounceThreshold, inStartIndex + 1 );; inOperator( Stiffness, inStartIndex + 2 );; inOperator( Damping, inStartIndex + 3 );; inOperator( ContactDistance, inStartIndex + 4 );; return 5 + inStartIndex; } }; template<> struct PxClassInfoTraits { PxJointLimitParametersGeneratedInfo Info; const PxJointLimitParametersGeneratedInfo* getInfo() { return &Info; } }; class PxJointLinearLimit; struct PxJointLinearLimitGeneratedValues : PxJointLimitParametersGeneratedValues { PxReal Value; PxJointLinearLimitGeneratedValues( const PxJointLinearLimit* inSource ); }; DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJointLinearLimit, Value, PxJointLinearLimitGeneratedValues) struct PxJointLinearLimitGeneratedInfo : PxJointLimitParametersGeneratedInfo { static const char* getClassName() { return "PxJointLinearLimit"; } PxPropertyInfo Value; PxJointLinearLimitGeneratedInfo(); template TReturnType visitType( TOperator inOperator ) const { return inOperator( reinterpret_cast(NULL) ); } template void visitBases( TOperator inOperator ) { PX_UNUSED(inOperator); inOperator( *static_cast( this ) ); } template PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const { PX_UNUSED(inOperator); PX_UNUSED(inStartIndex); inStartIndex = PxJointLimitParametersGeneratedInfo::visitBaseProperties( inOperator, inStartIndex ); inStartIndex = PxJointLimitParametersGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex ); return inStartIndex; } static PxU32 instancePropertyCount() { return 1; } static PxU32 totalPropertyCount() { return instancePropertyCount() + PxJointLimitParametersGeneratedInfo::totalPropertyCount(); } template PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const { PX_UNUSED(inOperator); PX_UNUSED(inStartIndex); inOperator( Value, inStartIndex + 0 );; return 1 + inStartIndex; } }; template<> struct PxClassInfoTraits { PxJointLinearLimitGeneratedInfo Info; const PxJointLinearLimitGeneratedInfo* getInfo() { return &Info; } }; class PxJointLinearLimitPair; struct PxJointLinearLimitPairGeneratedValues : PxJointLimitParametersGeneratedValues { PxReal Upper; PxReal Lower; PxJointLinearLimitPairGeneratedValues( const PxJointLinearLimitPair* inSource ); }; DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJointLinearLimitPair, Upper, PxJointLinearLimitPairGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJointLinearLimitPair, Lower, PxJointLinearLimitPairGeneratedValues) struct PxJointLinearLimitPairGeneratedInfo : PxJointLimitParametersGeneratedInfo { static const char* getClassName() { return "PxJointLinearLimitPair"; } PxPropertyInfo Upper; PxPropertyInfo Lower; PxJointLinearLimitPairGeneratedInfo(); template TReturnType visitType( TOperator inOperator ) const { return inOperator( reinterpret_cast(NULL) ); } template void visitBases( TOperator inOperator ) { PX_UNUSED(inOperator); inOperator( *static_cast( this ) ); } template PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const { PX_UNUSED(inOperator); PX_UNUSED(inStartIndex); inStartIndex = PxJointLimitParametersGeneratedInfo::visitBaseProperties( inOperator, inStartIndex ); inStartIndex = PxJointLimitParametersGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex ); return inStartIndex; } static PxU32 instancePropertyCount() { return 2; } static PxU32 totalPropertyCount() { return instancePropertyCount() + PxJointLimitParametersGeneratedInfo::totalPropertyCount(); } template PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const { PX_UNUSED(inOperator); PX_UNUSED(inStartIndex); inOperator( Upper, inStartIndex + 0 );; inOperator( Lower, inStartIndex + 1 );; return 2 + inStartIndex; } }; template<> struct PxClassInfoTraits { PxJointLinearLimitPairGeneratedInfo Info; const PxJointLinearLimitPairGeneratedInfo* getInfo() { return &Info; } }; class PxJointAngularLimitPair; struct PxJointAngularLimitPairGeneratedValues : PxJointLimitParametersGeneratedValues { PxReal Upper; PxReal Lower; PxJointAngularLimitPairGeneratedValues( const PxJointAngularLimitPair* inSource ); }; DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJointAngularLimitPair, Upper, PxJointAngularLimitPairGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJointAngularLimitPair, Lower, PxJointAngularLimitPairGeneratedValues) struct PxJointAngularLimitPairGeneratedInfo : PxJointLimitParametersGeneratedInfo { static const char* getClassName() { return "PxJointAngularLimitPair"; } PxPropertyInfo Upper; PxPropertyInfo Lower; PxJointAngularLimitPairGeneratedInfo(); template TReturnType visitType( TOperator inOperator ) const { return inOperator( reinterpret_cast(NULL) ); } template void visitBases( TOperator inOperator ) { PX_UNUSED(inOperator); inOperator( *static_cast( this ) ); } template PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const { PX_UNUSED(inOperator); PX_UNUSED(inStartIndex); inStartIndex = PxJointLimitParametersGeneratedInfo::visitBaseProperties( inOperator, inStartIndex ); inStartIndex = PxJointLimitParametersGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex ); return inStartIndex; } static PxU32 instancePropertyCount() { return 2; } static PxU32 totalPropertyCount() { return instancePropertyCount() + PxJointLimitParametersGeneratedInfo::totalPropertyCount(); } template PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const { PX_UNUSED(inOperator); PX_UNUSED(inStartIndex); inOperator( Upper, inStartIndex + 0 );; inOperator( Lower, inStartIndex + 1 );; return 2 + inStartIndex; } }; template<> struct PxClassInfoTraits { PxJointAngularLimitPairGeneratedInfo Info; const PxJointAngularLimitPairGeneratedInfo* getInfo() { return &Info; } }; class PxJointLimitCone; struct PxJointLimitConeGeneratedValues : PxJointLimitParametersGeneratedValues { PxReal YAngle; PxReal ZAngle; PxJointLimitConeGeneratedValues( const PxJointLimitCone* inSource ); }; DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJointLimitCone, YAngle, PxJointLimitConeGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJointLimitCone, ZAngle, PxJointLimitConeGeneratedValues) struct PxJointLimitConeGeneratedInfo : PxJointLimitParametersGeneratedInfo { static const char* getClassName() { return "PxJointLimitCone"; } PxPropertyInfo YAngle; PxPropertyInfo ZAngle; PxJointLimitConeGeneratedInfo(); template TReturnType visitType( TOperator inOperator ) const { return inOperator( reinterpret_cast(NULL) ); } template void visitBases( TOperator inOperator ) { PX_UNUSED(inOperator); inOperator( *static_cast( this ) ); } template PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const { PX_UNUSED(inOperator); PX_UNUSED(inStartIndex); inStartIndex = PxJointLimitParametersGeneratedInfo::visitBaseProperties( inOperator, inStartIndex ); inStartIndex = PxJointLimitParametersGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex ); return inStartIndex; } static PxU32 instancePropertyCount() { return 2; } static PxU32 totalPropertyCount() { return instancePropertyCount() + PxJointLimitParametersGeneratedInfo::totalPropertyCount(); } template PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const { PX_UNUSED(inOperator); PX_UNUSED(inStartIndex); inOperator( YAngle, inStartIndex + 0 );; inOperator( ZAngle, inStartIndex + 1 );; return 2 + inStartIndex; } }; template<> struct PxClassInfoTraits { PxJointLimitConeGeneratedInfo Info; const PxJointLimitConeGeneratedInfo* getInfo() { return &Info; } }; class PxJointLimitPyramid; struct PxJointLimitPyramidGeneratedValues : PxJointLimitParametersGeneratedValues { PxReal YAngleMin; PxReal YAngleMax; PxReal ZAngleMin; PxReal ZAngleMax; PxJointLimitPyramidGeneratedValues( const PxJointLimitPyramid* inSource ); }; DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJointLimitPyramid, YAngleMin, PxJointLimitPyramidGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJointLimitPyramid, YAngleMax, PxJointLimitPyramidGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJointLimitPyramid, ZAngleMin, PxJointLimitPyramidGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJointLimitPyramid, ZAngleMax, PxJointLimitPyramidGeneratedValues) struct PxJointLimitPyramidGeneratedInfo : PxJointLimitParametersGeneratedInfo { static const char* getClassName() { return "PxJointLimitPyramid"; } PxPropertyInfo YAngleMin; PxPropertyInfo YAngleMax; PxPropertyInfo ZAngleMin; PxPropertyInfo ZAngleMax; PxJointLimitPyramidGeneratedInfo(); template TReturnType visitType( TOperator inOperator ) const { return inOperator( reinterpret_cast(NULL) ); } template void visitBases( TOperator inOperator ) { PX_UNUSED(inOperator); inOperator( *static_cast( this ) ); } template PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const { PX_UNUSED(inOperator); PX_UNUSED(inStartIndex); inStartIndex = PxJointLimitParametersGeneratedInfo::visitBaseProperties( inOperator, inStartIndex ); inStartIndex = PxJointLimitParametersGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex ); return inStartIndex; } static PxU32 instancePropertyCount() { return 4; } static PxU32 totalPropertyCount() { return instancePropertyCount() + PxJointLimitParametersGeneratedInfo::totalPropertyCount(); } template PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const { PX_UNUSED(inOperator); PX_UNUSED(inStartIndex); inOperator( YAngleMin, inStartIndex + 0 );; inOperator( YAngleMax, inStartIndex + 1 );; inOperator( ZAngleMin, inStartIndex + 2 );; inOperator( ZAngleMax, inStartIndex + 3 );; return 4 + inStartIndex; } }; template<> struct PxClassInfoTraits { PxJointLimitPyramidGeneratedInfo Info; const PxJointLimitPyramidGeneratedInfo* getInfo() { return &Info; } }; class PxSpring; struct PxSpringGeneratedValues { PxReal Stiffness; PxReal Damping; PxSpringGeneratedValues( const PxSpring* inSource ); }; DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSpring, Stiffness, PxSpringGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSpring, Damping, PxSpringGeneratedValues) struct PxSpringGeneratedInfo { static const char* getClassName() { return "PxSpring"; } PxPropertyInfo Stiffness; PxPropertyInfo Damping; PxSpringGeneratedInfo(); template TReturnType visitType( TOperator inOperator ) const { return inOperator( reinterpret_cast(NULL) ); } template void visitBases( TOperator inOperator ) { PX_UNUSED(inOperator); } template PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const { PX_UNUSED(inOperator); PX_UNUSED(inStartIndex); return inStartIndex; } static PxU32 instancePropertyCount() { return 2; } static PxU32 totalPropertyCount() { return instancePropertyCount(); } template PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const { PX_UNUSED(inOperator); PX_UNUSED(inStartIndex); inOperator( Stiffness, inStartIndex + 0 );; inOperator( Damping, inStartIndex + 1 );; return 2 + inStartIndex; } }; template<> struct PxClassInfoTraits { PxSpringGeneratedInfo Info; const PxSpringGeneratedInfo* getInfo() { return &Info; } }; static PxU32ToName g_physx__PxD6JointDriveFlag__EnumConversion[] = { { "eACCELERATION", static_cast( physx::PxD6JointDriveFlag::eACCELERATION ) }, { NULL, 0 } }; template<> struct PxEnumTraits< physx::PxD6JointDriveFlag::Enum > { PxEnumTraits() : NameConversion( g_physx__PxD6JointDriveFlag__EnumConversion ) {} const PxU32ToName* NameConversion; }; class PxD6JointDrive; struct PxD6JointDriveGeneratedValues : PxSpringGeneratedValues { PxReal ForceLimit; PxD6JointDriveFlags Flags; PxD6JointDriveGeneratedValues( const PxD6JointDrive* inSource ); }; DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxD6JointDrive, ForceLimit, PxD6JointDriveGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxD6JointDrive, Flags, PxD6JointDriveGeneratedValues) struct PxD6JointDriveGeneratedInfo : PxSpringGeneratedInfo { static const char* getClassName() { return "PxD6JointDrive"; } PxPropertyInfo ForceLimit; PxPropertyInfo Flags; PxD6JointDriveGeneratedInfo(); template TReturnType visitType( TOperator inOperator ) const { return inOperator( reinterpret_cast(NULL) ); } template void visitBases( TOperator inOperator ) { PX_UNUSED(inOperator); inOperator( *static_cast( this ) ); } template PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const { PX_UNUSED(inOperator); PX_UNUSED(inStartIndex); inStartIndex = PxSpringGeneratedInfo::visitBaseProperties( inOperator, inStartIndex ); inStartIndex = PxSpringGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex ); return inStartIndex; } static PxU32 instancePropertyCount() { return 2; } static PxU32 totalPropertyCount() { return instancePropertyCount() + PxSpringGeneratedInfo::totalPropertyCount(); } template PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const { PX_UNUSED(inOperator); PX_UNUSED(inStartIndex); inOperator( ForceLimit, inStartIndex + 0 );; inOperator( Flags, inStartIndex + 1 );; return 2 + inStartIndex; } }; template<> struct PxClassInfoTraits { PxD6JointDriveGeneratedInfo Info; const PxD6JointDriveGeneratedInfo* getInfo() { return &Info; } }; #undef THERE_IS_NO_INCLUDE_GUARD_HERE_FOR_A_REASON #undef PX_PROPERTY_INFO_NAME