// // 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-2018 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 PxPropertyInfoName static PxU32ToName g_physx__PxClothFlag__EnumConversion[] = { { "eDEFAULT", static_cast( physx::PxClothFlag::eDEFAULT ) }, { "eCUDA", static_cast( physx::PxClothFlag::eCUDA ) }, { "eGPU", static_cast( physx::PxClothFlag::eGPU ) }, { "eSWEPT_CONTACT", static_cast( physx::PxClothFlag::eSWEPT_CONTACT ) }, { "eSCENE_COLLISION", static_cast( physx::PxClothFlag::eSCENE_COLLISION ) }, { NULL, 0 } }; template<> struct PxEnumTraits< physx::PxClothFlag::Enum > { PxEnumTraits() : NameConversion( g_physx__PxClothFlag__EnumConversion ) {} const PxU32ToName* NameConversion; }; static PxU32ToName g_physx__PxShapeFlag__EnumConversion[] = { { "eSIMULATION_SHAPE", static_cast( physx::PxShapeFlag::eSIMULATION_SHAPE ) }, { "eSCENE_QUERY_SHAPE", static_cast( physx::PxShapeFlag::eSCENE_QUERY_SHAPE ) }, { "eTRIGGER_SHAPE", static_cast( physx::PxShapeFlag::eTRIGGER_SHAPE ) }, { "eVISUALIZATION", static_cast( physx::PxShapeFlag::eVISUALIZATION ) }, { "ePARTICLE_DRAIN", static_cast( physx::PxShapeFlag::ePARTICLE_DRAIN ) }, { NULL, 0 } }; template<> struct PxEnumTraits< physx::PxShapeFlag::Enum > { PxEnumTraits() : NameConversion( g_physx__PxShapeFlag__EnumConversion ) {} const PxU32ToName* NameConversion; }; class PxPhysics; struct PxPhysicsGeneratedValues { PxTolerancesScale TolerancesScale; PX_PHYSX_CORE_API PxPhysicsGeneratedValues( const PxPhysics* inSource ); }; DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxPhysics, TolerancesScale, PxPhysicsGeneratedValues) struct PxPhysicsGeneratedInfo { static const char* getClassName() { return "PxPhysics"; } PxReadOnlyPropertyInfo TolerancesScale; PxFactoryCollectionPropertyInfo TriangleMeshes; PxFactoryCollectionPropertyInfo HeightFields; PxFactoryCollectionPropertyInfo ConvexMeshes; PxReadOnlyCollectionPropertyInfo ClothFabrics; PxFactoryCollectionPropertyInfo Scenes; PxReadOnlyCollectionPropertyInfo Shapes; PxReadOnlyCollectionPropertyInfo Materials; PX_PHYSX_CORE_API PxPhysicsGeneratedInfo(); 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 8; } static PxU32 totalPropertyCount() { return instancePropertyCount(); } template PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const { PX_UNUSED(inOperator); PX_UNUSED(inStartIndex); inOperator( TolerancesScale, inStartIndex + 0 );; inOperator( TriangleMeshes, inStartIndex + 1 );; inOperator( HeightFields, inStartIndex + 2 );; inOperator( ConvexMeshes, inStartIndex + 3 );; inOperator( ClothFabrics, inStartIndex + 4 );; inOperator( Scenes, inStartIndex + 5 );; inOperator( Shapes, inStartIndex + 6 );; inOperator( Materials, inStartIndex + 7 );; return 8 + inStartIndex; } }; template<> struct PxClassInfoTraits { PxPhysicsGeneratedInfo Info; const PxPhysicsGeneratedInfo* getInfo() { return &Info; } }; static PxU32ToName g_physx__PxMaterialFlag__EnumConversion[] = { { "eDISABLE_FRICTION", static_cast( physx::PxMaterialFlag::eDISABLE_FRICTION ) }, { "eDISABLE_STRONG_FRICTION", static_cast( physx::PxMaterialFlag::eDISABLE_STRONG_FRICTION ) }, { NULL, 0 } }; template<> struct PxEnumTraits< physx::PxMaterialFlag::Enum > { PxEnumTraits() : NameConversion( g_physx__PxMaterialFlag__EnumConversion ) {} const PxU32ToName* NameConversion; }; static PxU32ToName g_physx__PxCombineMode__EnumConversion[] = { { "eAVERAGE", static_cast( physx::PxCombineMode::eAVERAGE ) }, { "eMIN", static_cast( physx::PxCombineMode::eMIN ) }, { "eMULTIPLY", static_cast( physx::PxCombineMode::eMULTIPLY ) }, { "eMAX", static_cast( physx::PxCombineMode::eMAX ) }, { "eN_VALUES", static_cast( physx::PxCombineMode::eN_VALUES ) }, { "ePAD_32", static_cast( physx::PxCombineMode::ePAD_32 ) }, { NULL, 0 } }; template<> struct PxEnumTraits< physx::PxCombineMode::Enum > { PxEnumTraits() : NameConversion( g_physx__PxCombineMode__EnumConversion ) {} const PxU32ToName* NameConversion; }; class PxMaterial; struct PxMaterialGeneratedValues { PxU32 ReferenceCount; PxReal DynamicFriction; PxReal StaticFriction; PxReal Restitution; PxMaterialFlags Flags; PxCombineMode::Enum FrictionCombineMode; PxCombineMode::Enum RestitutionCombineMode; const char * ConcreteTypeName; void * UserData; PX_PHYSX_CORE_API PxMaterialGeneratedValues( const PxMaterial* inSource ); }; DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxMaterial, ReferenceCount, PxMaterialGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxMaterial, DynamicFriction, PxMaterialGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxMaterial, StaticFriction, PxMaterialGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxMaterial, Restitution, PxMaterialGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxMaterial, Flags, PxMaterialGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxMaterial, FrictionCombineMode, PxMaterialGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxMaterial, RestitutionCombineMode, PxMaterialGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxMaterial, ConcreteTypeName, PxMaterialGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxMaterial, UserData, PxMaterialGeneratedValues) struct PxMaterialGeneratedInfo { static const char* getClassName() { return "PxMaterial"; } PxReadOnlyPropertyInfo ReferenceCount; PxPropertyInfo DynamicFriction; PxPropertyInfo StaticFriction; PxPropertyInfo Restitution; PxPropertyInfo Flags; PxPropertyInfo FrictionCombineMode; PxPropertyInfo RestitutionCombineMode; PxReadOnlyPropertyInfo ConcreteTypeName; PxPropertyInfo UserData; PX_PHYSX_CORE_API PxMaterialGeneratedInfo(); 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 9; } static PxU32 totalPropertyCount() { return instancePropertyCount(); } template PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const { PX_UNUSED(inOperator); PX_UNUSED(inStartIndex); inOperator( ReferenceCount, inStartIndex + 0 );; inOperator( DynamicFriction, inStartIndex + 1 );; inOperator( StaticFriction, inStartIndex + 2 );; inOperator( Restitution, inStartIndex + 3 );; inOperator( Flags, inStartIndex + 4 );; inOperator( FrictionCombineMode, inStartIndex + 5 );; inOperator( RestitutionCombineMode, inStartIndex + 6 );; inOperator( ConcreteTypeName, inStartIndex + 7 );; inOperator( UserData, inStartIndex + 8 );; return 9 + inStartIndex; } }; template<> struct PxClassInfoTraits { PxMaterialGeneratedInfo Info; const PxMaterialGeneratedInfo* getInfo() { return &Info; } }; static PxU32ToName g_physx__PxActorType__EnumConversion[] = { { "eRIGID_STATIC", static_cast( physx::PxActorType::eRIGID_STATIC ) }, { "eRIGID_DYNAMIC", static_cast( physx::PxActorType::eRIGID_DYNAMIC ) }, { "ePARTICLE_SYSTEM", static_cast( physx::PxActorType::ePARTICLE_SYSTEM ) }, { "ePARTICLE_FLUID", static_cast( physx::PxActorType::ePARTICLE_FLUID ) }, { "eARTICULATION_LINK", static_cast( physx::PxActorType::eARTICULATION_LINK ) }, { "eCLOTH", static_cast( physx::PxActorType::eCLOTH ) }, { NULL, 0 } }; template<> struct PxEnumTraits< physx::PxActorType::Enum > { PxEnumTraits() : NameConversion( g_physx__PxActorType__EnumConversion ) {} const PxU32ToName* NameConversion; }; static PxU32ToName g_physx__PxActorFlag__EnumConversion[] = { { "eVISUALIZATION", static_cast( physx::PxActorFlag::eVISUALIZATION ) }, { "eDISABLE_GRAVITY", static_cast( physx::PxActorFlag::eDISABLE_GRAVITY ) }, { "eSEND_SLEEP_NOTIFIES", static_cast( physx::PxActorFlag::eSEND_SLEEP_NOTIFIES ) }, { "eDISABLE_SIMULATION", static_cast( physx::PxActorFlag::eDISABLE_SIMULATION ) }, { NULL, 0 } }; template<> struct PxEnumTraits< physx::PxActorFlag::Enum > { PxEnumTraits() : NameConversion( g_physx__PxActorFlag__EnumConversion ) {} const PxU32ToName* NameConversion; }; static PxU32ToName g_physx__PxActorClientBehaviorFlag__EnumConversion[] = { { "eREPORT_TO_FOREIGN_CLIENTS_TRIGGER_NOTIFY", static_cast( physx::PxActorClientBehaviorFlag::eREPORT_TO_FOREIGN_CLIENTS_TRIGGER_NOTIFY ) }, { "eREPORT_TO_FOREIGN_CLIENTS_CONTACT_NOTIFY", static_cast( physx::PxActorClientBehaviorFlag::eREPORT_TO_FOREIGN_CLIENTS_CONTACT_NOTIFY ) }, { "eREPORT_TO_FOREIGN_CLIENTS_CONSTRAINT_BREAK_NOTIFY", static_cast( physx::PxActorClientBehaviorFlag::eREPORT_TO_FOREIGN_CLIENTS_CONSTRAINT_BREAK_NOTIFY ) }, { "eREPORT_TO_FOREIGN_CLIENTS_SCENE_QUERY", static_cast( physx::PxActorClientBehaviorFlag::eREPORT_TO_FOREIGN_CLIENTS_SCENE_QUERY ) }, { NULL, 0 } }; template<> struct PxEnumTraits< physx::PxActorClientBehaviorFlag::Enum > { PxEnumTraits() : NameConversion( g_physx__PxActorClientBehaviorFlag__EnumConversion ) {} const PxU32ToName* NameConversion; }; class PxActor; struct PxActorGeneratedValues { PxScene * Scene; const char * Name; PxActorFlags ActorFlags; PxDominanceGroup DominanceGroup; PxClientID OwnerClient; PxActorClientBehaviorFlags ClientBehaviorFlags; PxAggregate * Aggregate; void * UserData; PX_PHYSX_CORE_API PxActorGeneratedValues( const PxActor* inSource ); }; DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxActor, Scene, PxActorGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxActor, Name, PxActorGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxActor, ActorFlags, PxActorGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxActor, DominanceGroup, PxActorGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxActor, OwnerClient, PxActorGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxActor, ClientBehaviorFlags, PxActorGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxActor, Aggregate, PxActorGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxActor, UserData, PxActorGeneratedValues) struct PxActorGeneratedInfo { static const char* getClassName() { return "PxActor"; } PxReadOnlyPropertyInfo Scene; PxPropertyInfo Name; PxPropertyInfo ActorFlags; PxPropertyInfo DominanceGroup; PxPropertyInfo OwnerClient; PxPropertyInfo ClientBehaviorFlags; PxReadOnlyPropertyInfo Aggregate; PxPropertyInfo UserData; PX_PHYSX_CORE_API PxActorGeneratedInfo(); 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 8; } static PxU32 totalPropertyCount() { return instancePropertyCount(); } template PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const { PX_UNUSED(inOperator); PX_UNUSED(inStartIndex); inOperator( Scene, inStartIndex + 0 );; inOperator( Name, inStartIndex + 1 );; inOperator( ActorFlags, inStartIndex + 2 );; inOperator( DominanceGroup, inStartIndex + 3 );; inOperator( OwnerClient, inStartIndex + 4 );; inOperator( ClientBehaviorFlags, inStartIndex + 5 );; inOperator( Aggregate, inStartIndex + 6 );; inOperator( UserData, inStartIndex + 7 );; return 8 + inStartIndex; } }; template<> struct PxClassInfoTraits { PxActorGeneratedInfo Info; const PxActorGeneratedInfo* getInfo() { return &Info; } }; class PxRigidActor; struct PxRigidActorGeneratedValues : PxActorGeneratedValues { PxTransform GlobalPose; PX_PHYSX_CORE_API PxRigidActorGeneratedValues( const PxRigidActor* inSource ); }; DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidActor, GlobalPose, PxRigidActorGeneratedValues) struct PxRigidActorGeneratedInfo : PxActorGeneratedInfo { static const char* getClassName() { return "PxRigidActor"; } PxPropertyInfo GlobalPose; PxRigidActorShapeCollection Shapes; PxReadOnlyCollectionPropertyInfo Constraints; PX_PHYSX_CORE_API PxRigidActorGeneratedInfo(); 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 = PxActorGeneratedInfo::visitBaseProperties( inOperator, inStartIndex ); inStartIndex = PxActorGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex ); return inStartIndex; } static PxU32 instancePropertyCount() { return 3; } static PxU32 totalPropertyCount() { return instancePropertyCount() + PxActorGeneratedInfo::totalPropertyCount(); } template PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const { PX_UNUSED(inOperator); PX_UNUSED(inStartIndex); inOperator( GlobalPose, inStartIndex + 0 );; inOperator( Shapes, inStartIndex + 1 );; inOperator( Constraints, inStartIndex + 2 );; return 3 + inStartIndex; } }; template<> struct PxClassInfoTraits { PxRigidActorGeneratedInfo Info; const PxRigidActorGeneratedInfo* getInfo() { return &Info; } }; static PxU32ToName g_physx__PxForceMode__EnumConversion[] = { { "eFORCE", static_cast( physx::PxForceMode::eFORCE ) }, { "eIMPULSE", static_cast( physx::PxForceMode::eIMPULSE ) }, { "eVELOCITY_CHANGE", static_cast( physx::PxForceMode::eVELOCITY_CHANGE ) }, { "eACCELERATION", static_cast( physx::PxForceMode::eACCELERATION ) }, { NULL, 0 } }; template<> struct PxEnumTraits< physx::PxForceMode::Enum > { PxEnumTraits() : NameConversion( g_physx__PxForceMode__EnumConversion ) {} const PxU32ToName* NameConversion; }; static PxU32ToName g_physx__PxRigidBodyFlag__EnumConversion[] = { { "eKINEMATIC", static_cast( physx::PxRigidBodyFlag::eKINEMATIC ) }, { "eUSE_KINEMATIC_TARGET_FOR_SCENE_QUERIES", static_cast( physx::PxRigidBodyFlag::eUSE_KINEMATIC_TARGET_FOR_SCENE_QUERIES ) }, { "eENABLE_CCD", static_cast( physx::PxRigidBodyFlag::eENABLE_CCD ) }, { "eENABLE_CCD_FRICTION", static_cast( physx::PxRigidBodyFlag::eENABLE_CCD_FRICTION ) }, { "eENABLE_POSE_INTEGRATION_PREVIEW", static_cast( physx::PxRigidBodyFlag::eENABLE_POSE_INTEGRATION_PREVIEW ) }, { "eENABLE_SPECULATIVE_CCD", static_cast( physx::PxRigidBodyFlag::eENABLE_SPECULATIVE_CCD ) }, { "eENABLE_CCD_MAX_CONTACT_IMPULSE", static_cast( physx::PxRigidBodyFlag::eENABLE_CCD_MAX_CONTACT_IMPULSE ) }, { NULL, 0 } }; template<> struct PxEnumTraits< physx::PxRigidBodyFlag::Enum > { PxEnumTraits() : NameConversion( g_physx__PxRigidBodyFlag__EnumConversion ) {} const PxU32ToName* NameConversion; }; class PxRigidBody; struct PxRigidBodyGeneratedValues : PxRigidActorGeneratedValues { PxTransform CMassLocalPose; PxReal Mass; PxReal InvMass; PxVec3 MassSpaceInertiaTensor; PxVec3 MassSpaceInvInertiaTensor; PxVec3 LinearVelocity; PxVec3 AngularVelocity; PxRigidBodyFlags RigidBodyFlags; PxReal MinCCDAdvanceCoefficient; PxReal MaxDepenetrationVelocity; PxReal MaxContactImpulse; PX_PHYSX_CORE_API PxRigidBodyGeneratedValues( const PxRigidBody* inSource ); }; DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidBody, CMassLocalPose, PxRigidBodyGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidBody, Mass, PxRigidBodyGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidBody, InvMass, PxRigidBodyGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidBody, MassSpaceInertiaTensor, PxRigidBodyGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidBody, MassSpaceInvInertiaTensor, PxRigidBodyGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidBody, LinearVelocity, PxRigidBodyGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidBody, AngularVelocity, PxRigidBodyGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidBody, RigidBodyFlags, PxRigidBodyGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidBody, MinCCDAdvanceCoefficient, PxRigidBodyGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidBody, MaxDepenetrationVelocity, PxRigidBodyGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidBody, MaxContactImpulse, PxRigidBodyGeneratedValues) struct PxRigidBodyGeneratedInfo : PxRigidActorGeneratedInfo { static const char* getClassName() { return "PxRigidBody"; } PxPropertyInfo CMassLocalPose; PxPropertyInfo Mass; PxReadOnlyPropertyInfo InvMass; PxPropertyInfo MassSpaceInertiaTensor; PxReadOnlyPropertyInfo MassSpaceInvInertiaTensor; PxPropertyInfo LinearVelocity; PxPropertyInfo AngularVelocity; PxPropertyInfo RigidBodyFlags; PxPropertyInfo MinCCDAdvanceCoefficient; PxPropertyInfo MaxDepenetrationVelocity; PxPropertyInfo MaxContactImpulse; PX_PHYSX_CORE_API PxRigidBodyGeneratedInfo(); 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 = PxRigidActorGeneratedInfo::visitBaseProperties( inOperator, inStartIndex ); inStartIndex = PxRigidActorGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex ); return inStartIndex; } static PxU32 instancePropertyCount() { return 11; } static PxU32 totalPropertyCount() { return instancePropertyCount() + PxRigidActorGeneratedInfo::totalPropertyCount(); } template PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const { PX_UNUSED(inOperator); PX_UNUSED(inStartIndex); inOperator( CMassLocalPose, inStartIndex + 0 );; inOperator( Mass, inStartIndex + 1 );; inOperator( InvMass, inStartIndex + 2 );; inOperator( MassSpaceInertiaTensor, inStartIndex + 3 );; inOperator( MassSpaceInvInertiaTensor, inStartIndex + 4 );; inOperator( LinearVelocity, inStartIndex + 5 );; inOperator( AngularVelocity, inStartIndex + 6 );; inOperator( RigidBodyFlags, inStartIndex + 7 );; inOperator( MinCCDAdvanceCoefficient, inStartIndex + 8 );; inOperator( MaxDepenetrationVelocity, inStartIndex + 9 );; inOperator( MaxContactImpulse, inStartIndex + 10 );; return 11 + inStartIndex; } }; template<> struct PxClassInfoTraits { PxRigidBodyGeneratedInfo Info; const PxRigidBodyGeneratedInfo* getInfo() { return &Info; } }; static PxU32ToName g_physx__PxRigidDynamicLockFlag__EnumConversion[] = { { "eLOCK_LINEAR_X", static_cast( physx::PxRigidDynamicLockFlag::eLOCK_LINEAR_X ) }, { "eLOCK_LINEAR_Y", static_cast( physx::PxRigidDynamicLockFlag::eLOCK_LINEAR_Y ) }, { "eLOCK_LINEAR_Z", static_cast( physx::PxRigidDynamicLockFlag::eLOCK_LINEAR_Z ) }, { "eLOCK_ANGULAR_X", static_cast( physx::PxRigidDynamicLockFlag::eLOCK_ANGULAR_X ) }, { "eLOCK_ANGULAR_Y", static_cast( physx::PxRigidDynamicLockFlag::eLOCK_ANGULAR_Y ) }, { "eLOCK_ANGULAR_Z", static_cast( physx::PxRigidDynamicLockFlag::eLOCK_ANGULAR_Z ) }, { NULL, 0 } }; template<> struct PxEnumTraits< physx::PxRigidDynamicLockFlag::Enum > { PxEnumTraits() : NameConversion( g_physx__PxRigidDynamicLockFlag__EnumConversion ) {} const PxU32ToName* NameConversion; }; class PxRigidDynamic; struct PxRigidDynamicGeneratedValues : PxRigidBodyGeneratedValues { PxReal LinearDamping; PxReal AngularDamping; PxReal MaxAngularVelocity; _Bool IsSleeping; PxReal SleepThreshold; PxReal StabilizationThreshold; PxRigidDynamicLockFlags RigidDynamicLockFlags; PxReal WakeCounter; PxU32 SolverIterationCounts[2]; PxReal ContactReportThreshold; const char * ConcreteTypeName; PX_PHYSX_CORE_API PxRigidDynamicGeneratedValues( const PxRigidDynamic* inSource ); }; DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidDynamic, LinearDamping, PxRigidDynamicGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidDynamic, AngularDamping, PxRigidDynamicGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidDynamic, MaxAngularVelocity, PxRigidDynamicGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidDynamic, IsSleeping, PxRigidDynamicGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidDynamic, SleepThreshold, PxRigidDynamicGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidDynamic, StabilizationThreshold, PxRigidDynamicGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidDynamic, RigidDynamicLockFlags, PxRigidDynamicGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidDynamic, WakeCounter, PxRigidDynamicGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidDynamic, SolverIterationCounts, PxRigidDynamicGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidDynamic, ContactReportThreshold, PxRigidDynamicGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidDynamic, ConcreteTypeName, PxRigidDynamicGeneratedValues) struct PxRigidDynamicGeneratedInfo : PxRigidBodyGeneratedInfo { static const char* getClassName() { return "PxRigidDynamic"; } PxPropertyInfo LinearDamping; PxPropertyInfo AngularDamping; PxPropertyInfo MaxAngularVelocity; PxReadOnlyPropertyInfo IsSleeping; PxPropertyInfo SleepThreshold; PxPropertyInfo StabilizationThreshold; PxPropertyInfo RigidDynamicLockFlags; PxPropertyInfo WakeCounter; PxRangePropertyInfo SolverIterationCounts; PxPropertyInfo ContactReportThreshold; PxReadOnlyPropertyInfo ConcreteTypeName; PX_PHYSX_CORE_API PxRigidDynamicGeneratedInfo(); 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 = PxRigidBodyGeneratedInfo::visitBaseProperties( inOperator, inStartIndex ); inStartIndex = PxRigidBodyGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex ); return inStartIndex; } static PxU32 instancePropertyCount() { return 11; } static PxU32 totalPropertyCount() { return instancePropertyCount() + PxRigidBodyGeneratedInfo::totalPropertyCount(); } template PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const { PX_UNUSED(inOperator); PX_UNUSED(inStartIndex); inOperator( LinearDamping, inStartIndex + 0 );; inOperator( AngularDamping, inStartIndex + 1 );; inOperator( MaxAngularVelocity, inStartIndex + 2 );; inOperator( IsSleeping, inStartIndex + 3 );; inOperator( SleepThreshold, inStartIndex + 4 );; inOperator( StabilizationThreshold, inStartIndex + 5 );; inOperator( RigidDynamicLockFlags, inStartIndex + 6 );; inOperator( WakeCounter, inStartIndex + 7 );; inOperator( SolverIterationCounts, inStartIndex + 8 );; inOperator( ContactReportThreshold, inStartIndex + 9 );; inOperator( ConcreteTypeName, inStartIndex + 10 );; return 11 + inStartIndex; } }; template<> struct PxClassInfoTraits { PxRigidDynamicGeneratedInfo Info; const PxRigidDynamicGeneratedInfo* getInfo() { return &Info; } }; class PxRigidStatic; struct PxRigidStaticGeneratedValues : PxRigidActorGeneratedValues { const char * ConcreteTypeName; PX_PHYSX_CORE_API PxRigidStaticGeneratedValues( const PxRigidStatic* inSource ); }; DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidStatic, ConcreteTypeName, PxRigidStaticGeneratedValues) struct PxRigidStaticGeneratedInfo : PxRigidActorGeneratedInfo { static const char* getClassName() { return "PxRigidStatic"; } PxReadOnlyPropertyInfo ConcreteTypeName; PX_PHYSX_CORE_API PxRigidStaticGeneratedInfo(); 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 = PxRigidActorGeneratedInfo::visitBaseProperties( inOperator, inStartIndex ); inStartIndex = PxRigidActorGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex ); return inStartIndex; } static PxU32 instancePropertyCount() { return 1; } static PxU32 totalPropertyCount() { return instancePropertyCount() + PxRigidActorGeneratedInfo::totalPropertyCount(); } template PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const { PX_UNUSED(inOperator); PX_UNUSED(inStartIndex); inOperator( ConcreteTypeName, inStartIndex + 0 );; return 1 + inStartIndex; } }; template<> struct PxClassInfoTraits { PxRigidStaticGeneratedInfo Info; const PxRigidStaticGeneratedInfo* getInfo() { return &Info; } }; class PxArticulationLink; struct PxArticulationLinkGeneratedValues : PxRigidBodyGeneratedValues { PxArticulationJoint * InboundJoint; const char * ConcreteTypeName; PX_PHYSX_CORE_API PxArticulationLinkGeneratedValues( const PxArticulationLink* inSource ); }; DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationLink, InboundJoint, PxArticulationLinkGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationLink, ConcreteTypeName, PxArticulationLinkGeneratedValues) struct PxArticulationLinkGeneratedInfo : PxRigidBodyGeneratedInfo { static const char* getClassName() { return "PxArticulationLink"; } PxReadOnlyPropertyInfo InboundJoint; PxReadOnlyCollectionPropertyInfo Children; PxReadOnlyPropertyInfo ConcreteTypeName; PX_PHYSX_CORE_API PxArticulationLinkGeneratedInfo(); 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 = PxRigidBodyGeneratedInfo::visitBaseProperties( inOperator, inStartIndex ); inStartIndex = PxRigidBodyGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex ); return inStartIndex; } static PxU32 instancePropertyCount() { return 3; } static PxU32 totalPropertyCount() { return instancePropertyCount() + PxRigidBodyGeneratedInfo::totalPropertyCount(); } template PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const { PX_UNUSED(inOperator); PX_UNUSED(inStartIndex); inOperator( InboundJoint, inStartIndex + 0 );; inOperator( Children, inStartIndex + 1 );; inOperator( ConcreteTypeName, inStartIndex + 2 );; return 3 + inStartIndex; } }; template<> struct PxClassInfoTraits { PxArticulationLinkGeneratedInfo Info; const PxArticulationLinkGeneratedInfo* getInfo() { return &Info; } }; static PxU32ToName g_physx__PxArticulationJointDriveType__EnumConversion[] = { { "eTARGET", static_cast( physx::PxArticulationJointDriveType::eTARGET ) }, { "eERROR", static_cast( physx::PxArticulationJointDriveType::eERROR ) }, { NULL, 0 } }; template<> struct PxEnumTraits< physx::PxArticulationJointDriveType::Enum > { PxEnumTraits() : NameConversion( g_physx__PxArticulationJointDriveType__EnumConversion ) {} const PxU32ToName* NameConversion; }; class PxArticulationJoint; struct PxArticulationJointGeneratedValues { PxTransform ParentPose; PxTransform ChildPose; PxQuat TargetOrientation; PxVec3 TargetVelocity; PxArticulationJointDriveType::Enum DriveType; PxReal Stiffness; PxReal Damping; PxReal InternalCompliance; PxReal ExternalCompliance; PxReal SwingLimit[2]; PxReal TangentialStiffness; PxReal TangentialDamping; PxReal SwingLimitContactDistance; _Bool SwingLimitEnabled; PxReal TwistLimit[2]; _Bool TwistLimitEnabled; PxReal TwistLimitContactDistance; const char * ConcreteTypeName; PX_PHYSX_CORE_API PxArticulationJointGeneratedValues( const PxArticulationJoint* inSource ); }; DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationJoint, ParentPose, PxArticulationJointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationJoint, ChildPose, PxArticulationJointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationJoint, TargetOrientation, PxArticulationJointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationJoint, TargetVelocity, PxArticulationJointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationJoint, DriveType, PxArticulationJointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationJoint, Stiffness, PxArticulationJointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationJoint, Damping, PxArticulationJointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationJoint, InternalCompliance, PxArticulationJointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationJoint, ExternalCompliance, PxArticulationJointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationJoint, SwingLimit, PxArticulationJointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationJoint, TangentialStiffness, PxArticulationJointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationJoint, TangentialDamping, PxArticulationJointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationJoint, SwingLimitContactDistance, PxArticulationJointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationJoint, SwingLimitEnabled, PxArticulationJointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationJoint, TwistLimit, PxArticulationJointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationJoint, TwistLimitEnabled, PxArticulationJointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationJoint, TwistLimitContactDistance, PxArticulationJointGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationJoint, ConcreteTypeName, PxArticulationJointGeneratedValues) struct PxArticulationJointGeneratedInfo { static const char* getClassName() { return "PxArticulationJoint"; } PxPropertyInfo ParentPose; PxPropertyInfo ChildPose; PxPropertyInfo TargetOrientation; PxPropertyInfo TargetVelocity; PxPropertyInfo DriveType; PxPropertyInfo Stiffness; PxPropertyInfo Damping; PxPropertyInfo InternalCompliance; PxPropertyInfo ExternalCompliance; PxRangePropertyInfo SwingLimit; PxPropertyInfo TangentialStiffness; PxPropertyInfo TangentialDamping; PxPropertyInfo SwingLimitContactDistance; PxPropertyInfo SwingLimitEnabled; PxRangePropertyInfo TwistLimit; PxPropertyInfo TwistLimitEnabled; PxPropertyInfo TwistLimitContactDistance; PxReadOnlyPropertyInfo ConcreteTypeName; PX_PHYSX_CORE_API PxArticulationJointGeneratedInfo(); 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 18; } static PxU32 totalPropertyCount() { return instancePropertyCount(); } template PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const { PX_UNUSED(inOperator); PX_UNUSED(inStartIndex); inOperator( ParentPose, inStartIndex + 0 );; inOperator( ChildPose, inStartIndex + 1 );; inOperator( TargetOrientation, inStartIndex + 2 );; inOperator( TargetVelocity, inStartIndex + 3 );; inOperator( DriveType, inStartIndex + 4 );; inOperator( Stiffness, inStartIndex + 5 );; inOperator( Damping, inStartIndex + 6 );; inOperator( InternalCompliance, inStartIndex + 7 );; inOperator( ExternalCompliance, inStartIndex + 8 );; inOperator( SwingLimit, inStartIndex + 9 );; inOperator( TangentialStiffness, inStartIndex + 10 );; inOperator( TangentialDamping, inStartIndex + 11 );; inOperator( SwingLimitContactDistance, inStartIndex + 12 );; inOperator( SwingLimitEnabled, inStartIndex + 13 );; inOperator( TwistLimit, inStartIndex + 14 );; inOperator( TwistLimitEnabled, inStartIndex + 15 );; inOperator( TwistLimitContactDistance, inStartIndex + 16 );; inOperator( ConcreteTypeName, inStartIndex + 17 );; return 18 + inStartIndex; } }; template<> struct PxClassInfoTraits { PxArticulationJointGeneratedInfo Info; const PxArticulationJointGeneratedInfo* getInfo() { return &Info; } }; class PxArticulation; struct PxArticulationGeneratedValues { PxScene * Scene; PxU32 MaxProjectionIterations; PxReal SeparationTolerance; PxU32 InternalDriveIterations; PxU32 ExternalDriveIterations; PxU32 SolverIterationCounts[2]; _Bool IsSleeping; PxReal SleepThreshold; PxReal StabilizationThreshold; PxReal WakeCounter; const char * Name; PxAggregate * Aggregate; const char * ConcreteTypeName; void * UserData; PX_PHYSX_CORE_API PxArticulationGeneratedValues( const PxArticulation* inSource ); }; DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulation, Scene, PxArticulationGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulation, MaxProjectionIterations, PxArticulationGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulation, SeparationTolerance, PxArticulationGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulation, InternalDriveIterations, PxArticulationGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulation, ExternalDriveIterations, PxArticulationGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulation, SolverIterationCounts, PxArticulationGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulation, IsSleeping, PxArticulationGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulation, SleepThreshold, PxArticulationGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulation, StabilizationThreshold, PxArticulationGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulation, WakeCounter, PxArticulationGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulation, Name, PxArticulationGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulation, Aggregate, PxArticulationGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulation, ConcreteTypeName, PxArticulationGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulation, UserData, PxArticulationGeneratedValues) struct PxArticulationGeneratedInfo { static const char* getClassName() { return "PxArticulation"; } PxReadOnlyPropertyInfo Scene; PxPropertyInfo MaxProjectionIterations; PxPropertyInfo SeparationTolerance; PxPropertyInfo InternalDriveIterations; PxPropertyInfo ExternalDriveIterations; PxRangePropertyInfo SolverIterationCounts; PxReadOnlyPropertyInfo IsSleeping; PxPropertyInfo SleepThreshold; PxPropertyInfo StabilizationThreshold; PxPropertyInfo WakeCounter; PxArticulationLinkCollectionProp Links; PxPropertyInfo Name; PxReadOnlyPropertyInfo Aggregate; PxReadOnlyPropertyInfo ConcreteTypeName; PxPropertyInfo UserData; PX_PHYSX_CORE_API PxArticulationGeneratedInfo(); 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( Scene, inStartIndex + 0 );; inOperator( MaxProjectionIterations, inStartIndex + 1 );; inOperator( SeparationTolerance, inStartIndex + 2 );; inOperator( InternalDriveIterations, inStartIndex + 3 );; inOperator( ExternalDriveIterations, inStartIndex + 4 );; inOperator( SolverIterationCounts, inStartIndex + 5 );; inOperator( IsSleeping, inStartIndex + 6 );; inOperator( SleepThreshold, inStartIndex + 7 );; inOperator( StabilizationThreshold, inStartIndex + 8 );; inOperator( WakeCounter, inStartIndex + 9 );; inOperator( Links, inStartIndex + 10 );; inOperator( Name, inStartIndex + 11 );; inOperator( Aggregate, inStartIndex + 12 );; inOperator( ConcreteTypeName, inStartIndex + 13 );; inOperator( UserData, inStartIndex + 14 );; return 15 + inStartIndex; } }; template<> struct PxClassInfoTraits { PxArticulationGeneratedInfo Info; const PxArticulationGeneratedInfo* getInfo() { return &Info; } }; class PxAggregate; struct PxAggregateGeneratedValues { PxU32 MaxNbActors; _Bool SelfCollision; const char * ConcreteTypeName; PX_PHYSX_CORE_API PxAggregateGeneratedValues( const PxAggregate* inSource ); }; DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxAggregate, MaxNbActors, PxAggregateGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxAggregate, SelfCollision, PxAggregateGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxAggregate, ConcreteTypeName, PxAggregateGeneratedValues) struct PxAggregateGeneratedInfo { static const char* getClassName() { return "PxAggregate"; } PxReadOnlyPropertyInfo MaxNbActors; PxReadOnlyCollectionPropertyInfo Actors; PxReadOnlyPropertyInfo SelfCollision; PxReadOnlyPropertyInfo ConcreteTypeName; PX_PHYSX_CORE_API PxAggregateGeneratedInfo(); 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 4; } static PxU32 totalPropertyCount() { return instancePropertyCount(); } template PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const { PX_UNUSED(inOperator); PX_UNUSED(inStartIndex); inOperator( MaxNbActors, inStartIndex + 0 );; inOperator( Actors, inStartIndex + 1 );; inOperator( SelfCollision, inStartIndex + 2 );; inOperator( ConcreteTypeName, inStartIndex + 3 );; return 4 + inStartIndex; } }; template<> struct PxClassInfoTraits { PxAggregateGeneratedInfo Info; const PxAggregateGeneratedInfo* getInfo() { return &Info; } }; static PxU32ToName g_physx__PxConstraintFlag__EnumConversion[] = { { "eBROKEN", static_cast( physx::PxConstraintFlag::eBROKEN ) }, { "ePROJECT_TO_ACTOR0", static_cast( physx::PxConstraintFlag::ePROJECT_TO_ACTOR0 ) }, { "ePROJECT_TO_ACTOR1", static_cast( physx::PxConstraintFlag::ePROJECT_TO_ACTOR1 ) }, { "ePROJECTION", static_cast( physx::PxConstraintFlag::ePROJECTION ) }, { "eCOLLISION_ENABLED", static_cast( physx::PxConstraintFlag::eCOLLISION_ENABLED ) }, { "eVISUALIZATION", static_cast( physx::PxConstraintFlag::eVISUALIZATION ) }, { "eDRIVE_LIMITS_ARE_FORCES", static_cast( physx::PxConstraintFlag::eDRIVE_LIMITS_ARE_FORCES ) }, { "eIMPROVED_SLERP", static_cast( physx::PxConstraintFlag::eIMPROVED_SLERP ) }, { "eDISABLE_PREPROCESSING", static_cast( physx::PxConstraintFlag::eDISABLE_PREPROCESSING ) }, { "eGPU_COMPATIBLE", static_cast( physx::PxConstraintFlag::eGPU_COMPATIBLE ) }, { NULL, 0 } }; template<> struct PxEnumTraits< physx::PxConstraintFlag::Enum > { PxEnumTraits() : NameConversion( g_physx__PxConstraintFlag__EnumConversion ) {} const PxU32ToName* NameConversion; }; class PxConstraint; struct PxConstraintGeneratedValues { PxScene * Scene; PxRigidActor * Actors[2]; PxConstraintFlags Flags; _Bool IsValid; PxReal BreakForce[2]; PxReal MinResponseThreshold; const char * ConcreteTypeName; PX_PHYSX_CORE_API PxConstraintGeneratedValues( const PxConstraint* inSource ); }; DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxConstraint, Scene, PxConstraintGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxConstraint, Actors, PxConstraintGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxConstraint, Flags, PxConstraintGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxConstraint, IsValid, PxConstraintGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxConstraint, BreakForce, PxConstraintGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxConstraint, MinResponseThreshold, PxConstraintGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxConstraint, ConcreteTypeName, PxConstraintGeneratedValues) struct PxConstraintGeneratedInfo { static const char* getClassName() { return "PxConstraint"; } PxReadOnlyPropertyInfo Scene; PxRangePropertyInfo Actors; PxPropertyInfo Flags; PxReadOnlyPropertyInfo IsValid; PxRangePropertyInfo BreakForce; PxPropertyInfo MinResponseThreshold; PxReadOnlyPropertyInfo ConcreteTypeName; PX_PHYSX_CORE_API PxConstraintGeneratedInfo(); 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 7; } static PxU32 totalPropertyCount() { return instancePropertyCount(); } template PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const { PX_UNUSED(inOperator); PX_UNUSED(inStartIndex); inOperator( Scene, inStartIndex + 0 );; inOperator( Actors, inStartIndex + 1 );; inOperator( Flags, inStartIndex + 2 );; inOperator( IsValid, inStartIndex + 3 );; inOperator( BreakForce, inStartIndex + 4 );; inOperator( MinResponseThreshold, inStartIndex + 5 );; inOperator( ConcreteTypeName, inStartIndex + 6 );; return 7 + inStartIndex; } }; template<> struct PxClassInfoTraits { PxConstraintGeneratedInfo Info; const PxConstraintGeneratedInfo* getInfo() { return &Info; } }; static PxU32ToName g_physx__PxGeometryType__EnumConversion[] = { { "eSPHERE", static_cast( physx::PxGeometryType::eSPHERE ) }, { "ePLANE", static_cast( physx::PxGeometryType::ePLANE ) }, { "eCAPSULE", static_cast( physx::PxGeometryType::eCAPSULE ) }, { "eBOX", static_cast( physx::PxGeometryType::eBOX ) }, { "eCONVEXMESH", static_cast( physx::PxGeometryType::eCONVEXMESH ) }, { "eTRIANGLEMESH", static_cast( physx::PxGeometryType::eTRIANGLEMESH ) }, { "eHEIGHTFIELD", static_cast( physx::PxGeometryType::eHEIGHTFIELD ) }, { NULL, 0 } }; template<> struct PxEnumTraits< physx::PxGeometryType::Enum > { PxEnumTraits() : NameConversion( g_physx__PxGeometryType__EnumConversion ) {} const PxU32ToName* NameConversion; }; class PxShape; struct PxShapeGeneratedValues { PxGeometryType::Enum GeometryType; PxGeometryHolder Geometry; PxTransform LocalPose; PxFilterData SimulationFilterData; PxFilterData QueryFilterData; PxReal ContactOffset; PxReal RestOffset; PxShapeFlags Flags; _Bool IsExclusive; const char * Name; const char * ConcreteTypeName; void * UserData; PX_PHYSX_CORE_API PxShapeGeneratedValues( const PxShape* inSource ); }; DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxShape, GeometryType, PxShapeGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxShape, Geometry, PxShapeGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxShape, LocalPose, PxShapeGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxShape, SimulationFilterData, PxShapeGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxShape, QueryFilterData, PxShapeGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxShape, ContactOffset, PxShapeGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxShape, RestOffset, PxShapeGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxShape, Flags, PxShapeGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxShape, IsExclusive, PxShapeGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxShape, Name, PxShapeGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxShape, ConcreteTypeName, PxShapeGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxShape, UserData, PxShapeGeneratedValues) struct PxShapeGeneratedInfo { static const char* getClassName() { return "PxShape"; } PxReadOnlyPropertyInfo GeometryType; PxShapeGeometryProperty Geometry; PxPropertyInfo LocalPose; PxPropertyInfo SimulationFilterData; PxPropertyInfo QueryFilterData; PxShapeMaterialsProperty Materials; PxPropertyInfo ContactOffset; PxPropertyInfo RestOffset; PxPropertyInfo Flags; PxReadOnlyPropertyInfo IsExclusive; PxPropertyInfo Name; PxReadOnlyPropertyInfo ConcreteTypeName; PxPropertyInfo UserData; PX_PHYSX_CORE_API PxShapeGeneratedInfo(); 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 13; } static PxU32 totalPropertyCount() { return instancePropertyCount(); } template PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const { PX_UNUSED(inOperator); PX_UNUSED(inStartIndex); inOperator( GeometryType, inStartIndex + 0 );; inOperator( Geometry, inStartIndex + 1 );; inOperator( LocalPose, inStartIndex + 2 );; inOperator( SimulationFilterData, inStartIndex + 3 );; inOperator( QueryFilterData, inStartIndex + 4 );; inOperator( Materials, inStartIndex + 5 );; inOperator( ContactOffset, inStartIndex + 6 );; inOperator( RestOffset, inStartIndex + 7 );; inOperator( Flags, inStartIndex + 8 );; inOperator( IsExclusive, inStartIndex + 9 );; inOperator( Name, inStartIndex + 10 );; inOperator( ConcreteTypeName, inStartIndex + 11 );; inOperator( UserData, inStartIndex + 12 );; return 13 + inStartIndex; } }; template<> struct PxClassInfoTraits { PxShapeGeneratedInfo Info; const PxShapeGeneratedInfo* getInfo() { return &Info; } }; class PxClothFabric; struct PxClothFabricGeneratedValues { PxU32 NbParticles; PxU32 ReferenceCount; const char * ConcreteTypeName; PX_PHYSX_CORE_API PxClothFabricGeneratedValues( const PxClothFabric* inSource ); }; DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxClothFabric, NbParticles, PxClothFabricGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxClothFabric, ReferenceCount, PxClothFabricGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxClothFabric, ConcreteTypeName, PxClothFabricGeneratedValues) struct PxClothFabricGeneratedInfo { static const char* getClassName() { return "PxClothFabric"; } PxReadOnlyPropertyInfo NbParticles; PxReadOnlyCollectionPropertyInfo Phases; PxReadOnlyCollectionPropertyInfo Sets; PxReadOnlyCollectionPropertyInfo ParticleIndices; PxReadOnlyCollectionPropertyInfo Restvalues; PxReadOnlyPropertyInfo ReferenceCount; PxReadOnlyPropertyInfo ConcreteTypeName; PX_PHYSX_CORE_API PxClothFabricGeneratedInfo(); 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 7; } static PxU32 totalPropertyCount() { return instancePropertyCount(); } template PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const { PX_UNUSED(inOperator); PX_UNUSED(inStartIndex); inOperator( NbParticles, inStartIndex + 0 );; inOperator( Phases, inStartIndex + 1 );; inOperator( Sets, inStartIndex + 2 );; inOperator( ParticleIndices, inStartIndex + 3 );; inOperator( Restvalues, inStartIndex + 4 );; inOperator( ReferenceCount, inStartIndex + 5 );; inOperator( ConcreteTypeName, inStartIndex + 6 );; return 7 + inStartIndex; } }; template<> struct PxClassInfoTraits { PxClothFabricGeneratedInfo Info; const PxClothFabricGeneratedInfo* getInfo() { return &Info; } }; static PxU32ToName g_physx__PxDataAccessFlag__EnumConversion[] = { { "eREADABLE", static_cast( physx::PxDataAccessFlag::eREADABLE ) }, { "eWRITABLE", static_cast( physx::PxDataAccessFlag::eWRITABLE ) }, { "eDEVICE", static_cast( physx::PxDataAccessFlag::eDEVICE ) }, { NULL, 0 } }; template<> struct PxEnumTraits< physx::PxDataAccessFlag::Enum > { PxEnumTraits() : NameConversion( g_physx__PxDataAccessFlag__EnumConversion ) {} const PxU32ToName* NameConversion; }; static PxU32ToName g_physx__PxClothFabricPhaseType__EnumConversion[] = { { "eVERTICAL", static_cast( physx::PxClothFabricPhaseType::eVERTICAL ) }, { "eHORIZONTAL", static_cast( physx::PxClothFabricPhaseType::eHORIZONTAL ) }, { "eBENDING", static_cast( physx::PxClothFabricPhaseType::eBENDING ) }, { "eSHEARING", static_cast( physx::PxClothFabricPhaseType::eSHEARING ) }, { NULL, 0 } }; template<> struct PxEnumTraits< physx::PxClothFabricPhaseType::Enum > { PxEnumTraits() : NameConversion( g_physx__PxClothFabricPhaseType__EnumConversion ) {} const PxU32ToName* NameConversion; }; class PxCloth; struct PxClothGeneratedValues : PxActorGeneratedValues { PxU32 NbParticles; PxClothFlags ClothFlags; PxTransform GlobalPose; PxReal SolverFrequency; PxReal PreviousTimeStep; PxReal StiffnessFrequency; PxVec3 LinearInertiaScale; PxVec3 AngularInertiaScale; PxVec3 CentrifugalInertiaScale; PxVec3 DampingCoefficient; PxVec3 LinearDragCoefficient; PxVec3 AngularDragCoefficient; PxVec3 ExternalAcceleration; PxVec3 WindVelocity; PxReal WindDrag; PxReal WindLift; PxClothMotionConstraintConfig MotionConstraintConfig; PxClothStretchConfig StretchConfig[physx::PxClothFabricPhaseType::eCOUNT]; PxClothTetherConfig TetherConfig; PxReal FrictionCoefficient; PxReal CollisionMassScale; PxReal SelfCollisionDistance; PxReal SelfCollisionStiffness; PxFilterData SimulationFilterData; PxReal ContactOffset; PxReal RestOffset; PxReal SleepLinearVelocity; PxReal WakeCounter; _Bool IsSleeping; const char * ConcreteTypeName; PX_PHYSX_CORE_API PxClothGeneratedValues( const PxCloth* inSource ); }; DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxCloth, NbParticles, PxClothGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxCloth, ClothFlags, PxClothGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxCloth, GlobalPose, PxClothGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxCloth, SolverFrequency, PxClothGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxCloth, PreviousTimeStep, PxClothGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxCloth, StiffnessFrequency, PxClothGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxCloth, LinearInertiaScale, PxClothGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxCloth, AngularInertiaScale, PxClothGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxCloth, CentrifugalInertiaScale, PxClothGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxCloth, DampingCoefficient, PxClothGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxCloth, LinearDragCoefficient, PxClothGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxCloth, AngularDragCoefficient, PxClothGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxCloth, ExternalAcceleration, PxClothGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxCloth, WindVelocity, PxClothGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxCloth, WindDrag, PxClothGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxCloth, WindLift, PxClothGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxCloth, MotionConstraintConfig, PxClothGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxCloth, StretchConfig, PxClothGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxCloth, TetherConfig, PxClothGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxCloth, FrictionCoefficient, PxClothGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxCloth, CollisionMassScale, PxClothGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxCloth, SelfCollisionDistance, PxClothGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxCloth, SelfCollisionStiffness, PxClothGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxCloth, SimulationFilterData, PxClothGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxCloth, ContactOffset, PxClothGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxCloth, RestOffset, PxClothGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxCloth, SleepLinearVelocity, PxClothGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxCloth, WakeCounter, PxClothGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxCloth, IsSleeping, PxClothGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxCloth, ConcreteTypeName, PxClothGeneratedValues) struct PxClothGeneratedInfo : PxActorGeneratedInfo { static const char* getClassName() { return "PxCloth"; } PxReadOnlyPropertyInfo NbParticles; PxPropertyInfo ClothFlags; PxWriteOnlyPropertyInfo TargetPose; PxPropertyInfo GlobalPose; PxPropertyInfo SolverFrequency; PxReadOnlyPropertyInfo PreviousTimeStep; PxPropertyInfo StiffnessFrequency; PxPropertyInfo LinearInertiaScale; PxPropertyInfo AngularInertiaScale; PxPropertyInfo CentrifugalInertiaScale; PxWriteOnlyPropertyInfo InertiaScale; PxPropertyInfo DampingCoefficient; PxPropertyInfo LinearDragCoefficient; PxPropertyInfo AngularDragCoefficient; PxWriteOnlyPropertyInfo DragCoefficient; PxPropertyInfo ExternalAcceleration; PxPropertyInfo WindVelocity; PxPropertyInfo WindDrag; PxPropertyInfo WindLift; PxPropertyInfo MotionConstraintConfig; PxIndexedPropertyInfo StretchConfig; PxPropertyInfo TetherConfig; PxPropertyInfo FrictionCoefficient; PxPropertyInfo CollisionMassScale; PxPropertyInfo SelfCollisionDistance; PxPropertyInfo SelfCollisionStiffness; PxPropertyInfo SimulationFilterData; PxPropertyInfo ContactOffset; PxPropertyInfo RestOffset; PxPropertyInfo SleepLinearVelocity; PxPropertyInfo WakeCounter; PxReadOnlyPropertyInfo IsSleeping; PxReadOnlyPropertyInfo ConcreteTypeName; PX_PHYSX_CORE_API PxClothGeneratedInfo(); 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 = PxActorGeneratedInfo::visitBaseProperties( inOperator, inStartIndex ); inStartIndex = PxActorGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex ); return inStartIndex; } static PxU32 instancePropertyCount() { return 33; } static PxU32 totalPropertyCount() { return instancePropertyCount() + PxActorGeneratedInfo::totalPropertyCount(); } template PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const { PX_UNUSED(inOperator); PX_UNUSED(inStartIndex); inOperator( NbParticles, inStartIndex + 0 );; inOperator( ClothFlags, inStartIndex + 1 );; inOperator( TargetPose, inStartIndex + 2 );; inOperator( GlobalPose, inStartIndex + 3 );; inOperator( SolverFrequency, inStartIndex + 4 );; inOperator( PreviousTimeStep, inStartIndex + 5 );; inOperator( StiffnessFrequency, inStartIndex + 6 );; inOperator( LinearInertiaScale, inStartIndex + 7 );; inOperator( AngularInertiaScale, inStartIndex + 8 );; inOperator( CentrifugalInertiaScale, inStartIndex + 9 );; inOperator( InertiaScale, inStartIndex + 10 );; inOperator( DampingCoefficient, inStartIndex + 11 );; inOperator( LinearDragCoefficient, inStartIndex + 12 );; inOperator( AngularDragCoefficient, inStartIndex + 13 );; inOperator( DragCoefficient, inStartIndex + 14 );; inOperator( ExternalAcceleration, inStartIndex + 15 );; inOperator( WindVelocity, inStartIndex + 16 );; inOperator( WindDrag, inStartIndex + 17 );; inOperator( WindLift, inStartIndex + 18 );; inOperator( MotionConstraintConfig, inStartIndex + 19 );; inOperator( StretchConfig, inStartIndex + 20 );; inOperator( TetherConfig, inStartIndex + 21 );; inOperator( FrictionCoefficient, inStartIndex + 22 );; inOperator( CollisionMassScale, inStartIndex + 23 );; inOperator( SelfCollisionDistance, inStartIndex + 24 );; inOperator( SelfCollisionStiffness, inStartIndex + 25 );; inOperator( SimulationFilterData, inStartIndex + 26 );; inOperator( ContactOffset, inStartIndex + 27 );; inOperator( RestOffset, inStartIndex + 28 );; inOperator( SleepLinearVelocity, inStartIndex + 29 );; inOperator( WakeCounter, inStartIndex + 30 );; inOperator( IsSleeping, inStartIndex + 31 );; inOperator( ConcreteTypeName, inStartIndex + 32 );; return 33 + inStartIndex; } }; template<> struct PxClassInfoTraits { PxClothGeneratedInfo Info; const PxClothGeneratedInfo* getInfo() { return &Info; } }; static PxU32ToName g_physx__PxParticleBaseFlag__EnumConversion[] = { { "eCOLLISION_TWOWAY", static_cast( physx::PxParticleBaseFlag::eCOLLISION_TWOWAY ) }, { "eCOLLISION_WITH_DYNAMIC_ACTORS", static_cast( physx::PxParticleBaseFlag::eCOLLISION_WITH_DYNAMIC_ACTORS ) }, { "eENABLED", static_cast( physx::PxParticleBaseFlag::eENABLED ) }, { "ePROJECT_TO_PLANE", static_cast( physx::PxParticleBaseFlag::ePROJECT_TO_PLANE ) }, { "ePER_PARTICLE_REST_OFFSET", static_cast( physx::PxParticleBaseFlag::ePER_PARTICLE_REST_OFFSET ) }, { "ePER_PARTICLE_COLLISION_CACHE_HINT", static_cast( physx::PxParticleBaseFlag::ePER_PARTICLE_COLLISION_CACHE_HINT ) }, { "eGPU", static_cast( physx::PxParticleBaseFlag::eGPU ) }, { NULL, 0 } }; template<> struct PxEnumTraits< physx::PxParticleBaseFlag::Enum > { PxEnumTraits() : NameConversion( g_physx__PxParticleBaseFlag__EnumConversion ) {} const PxU32ToName* NameConversion; }; static PxU32ToName g_physx__PxParticleReadDataFlag__EnumConversion[] = { { "ePOSITION_BUFFER", static_cast( physx::PxParticleReadDataFlag::ePOSITION_BUFFER ) }, { "eVELOCITY_BUFFER", static_cast( physx::PxParticleReadDataFlag::eVELOCITY_BUFFER ) }, { "eREST_OFFSET_BUFFER", static_cast( physx::PxParticleReadDataFlag::eREST_OFFSET_BUFFER ) }, { "eFLAGS_BUFFER", static_cast( physx::PxParticleReadDataFlag::eFLAGS_BUFFER ) }, { "eCOLLISION_NORMAL_BUFFER", static_cast( physx::PxParticleReadDataFlag::eCOLLISION_NORMAL_BUFFER ) }, { "eCOLLISION_VELOCITY_BUFFER", static_cast( physx::PxParticleReadDataFlag::eCOLLISION_VELOCITY_BUFFER ) }, { "eDENSITY_BUFFER", static_cast( physx::PxParticleReadDataFlag::eDENSITY_BUFFER ) }, { NULL, 0 } }; template<> struct PxEnumTraits< physx::PxParticleReadDataFlag::Enum > { PxEnumTraits() : NameConversion( g_physx__PxParticleReadDataFlag__EnumConversion ) {} const PxU32ToName* NameConversion; }; class PxParticleBase; struct PxParticleBaseGeneratedValues : PxActorGeneratedValues { PxReal Damping; PxVec3 ExternalAcceleration; PxReal ParticleMass; PxReal Restitution; PxReal DynamicFriction; PxReal StaticFriction; PxFilterData SimulationFilterData; PxParticleBaseFlags ParticleBaseFlags; PxU32 MaxParticles; PxReal MaxMotionDistance; PxReal RestOffset; PxReal ContactOffset; PxReal GridSize; PxParticleReadDataFlags ParticleReadDataFlags; PxMetaDataPlane ProjectionPlane; PX_PHYSX_CORE_API PxParticleBaseGeneratedValues( const PxParticleBase* inSource ); }; DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxParticleBase, Damping, PxParticleBaseGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxParticleBase, ExternalAcceleration, PxParticleBaseGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxParticleBase, ParticleMass, PxParticleBaseGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxParticleBase, Restitution, PxParticleBaseGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxParticleBase, DynamicFriction, PxParticleBaseGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxParticleBase, StaticFriction, PxParticleBaseGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxParticleBase, SimulationFilterData, PxParticleBaseGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxParticleBase, ParticleBaseFlags, PxParticleBaseGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxParticleBase, MaxParticles, PxParticleBaseGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxParticleBase, MaxMotionDistance, PxParticleBaseGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxParticleBase, RestOffset, PxParticleBaseGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxParticleBase, ContactOffset, PxParticleBaseGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxParticleBase, GridSize, PxParticleBaseGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxParticleBase, ParticleReadDataFlags, PxParticleBaseGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxParticleBase, ProjectionPlane, PxParticleBaseGeneratedValues) struct PxParticleBaseGeneratedInfo : PxActorGeneratedInfo { static const char* getClassName() { return "PxParticleBase"; } PxPropertyInfo Damping; PxPropertyInfo ExternalAcceleration; PxPropertyInfo ParticleMass; PxPropertyInfo Restitution; PxPropertyInfo DynamicFriction; PxPropertyInfo StaticFriction; PxPropertyInfo SimulationFilterData; PxReadOnlyPropertyInfo ParticleBaseFlags; PxReadOnlyPropertyInfo MaxParticles; PxPropertyInfo MaxMotionDistance; PxPropertyInfo RestOffset; PxPropertyInfo ContactOffset; PxPropertyInfo GridSize; PxReadOnlyPropertyInfo ParticleReadDataFlags; ProjectionPlaneProperty ProjectionPlane; PX_PHYSX_CORE_API PxParticleBaseGeneratedInfo(); 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 = PxActorGeneratedInfo::visitBaseProperties( inOperator, inStartIndex ); inStartIndex = PxActorGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex ); return inStartIndex; } static PxU32 instancePropertyCount() { return 15; } static PxU32 totalPropertyCount() { return instancePropertyCount() + PxActorGeneratedInfo::totalPropertyCount(); } template PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const { PX_UNUSED(inOperator); PX_UNUSED(inStartIndex); inOperator( Damping, inStartIndex + 0 );; inOperator( ExternalAcceleration, inStartIndex + 1 );; inOperator( ParticleMass, inStartIndex + 2 );; inOperator( Restitution, inStartIndex + 3 );; inOperator( DynamicFriction, inStartIndex + 4 );; inOperator( StaticFriction, inStartIndex + 5 );; inOperator( SimulationFilterData, inStartIndex + 6 );; inOperator( ParticleBaseFlags, inStartIndex + 7 );; inOperator( MaxParticles, inStartIndex + 8 );; inOperator( MaxMotionDistance, inStartIndex + 9 );; inOperator( RestOffset, inStartIndex + 10 );; inOperator( ContactOffset, inStartIndex + 11 );; inOperator( GridSize, inStartIndex + 12 );; inOperator( ParticleReadDataFlags, inStartIndex + 13 );; inOperator( ProjectionPlane, inStartIndex + 14 );; return 15 + inStartIndex; } }; template<> struct PxClassInfoTraits { PxParticleBaseGeneratedInfo Info; const PxParticleBaseGeneratedInfo* getInfo() { return &Info; } }; class PxParticleFluid; struct PxParticleFluidGeneratedValues : PxParticleBaseGeneratedValues { PxReal Stiffness; PxReal Viscosity; PxReal RestParticleDistance; const char * ConcreteTypeName; PX_PHYSX_CORE_API PxParticleFluidGeneratedValues( const PxParticleFluid* inSource ); }; DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxParticleFluid, Stiffness, PxParticleFluidGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxParticleFluid, Viscosity, PxParticleFluidGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxParticleFluid, RestParticleDistance, PxParticleFluidGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxParticleFluid, ConcreteTypeName, PxParticleFluidGeneratedValues) struct PxParticleFluidGeneratedInfo : PxParticleBaseGeneratedInfo { static const char* getClassName() { return "PxParticleFluid"; } PxPropertyInfo Stiffness; PxPropertyInfo Viscosity; PxPropertyInfo RestParticleDistance; PxReadOnlyPropertyInfo ConcreteTypeName; PX_PHYSX_CORE_API PxParticleFluidGeneratedInfo(); 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 = PxParticleBaseGeneratedInfo::visitBaseProperties( inOperator, inStartIndex ); inStartIndex = PxParticleBaseGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex ); return inStartIndex; } static PxU32 instancePropertyCount() { return 4; } static PxU32 totalPropertyCount() { return instancePropertyCount() + PxParticleBaseGeneratedInfo::totalPropertyCount(); } template PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const { PX_UNUSED(inOperator); PX_UNUSED(inStartIndex); inOperator( Stiffness, inStartIndex + 0 );; inOperator( Viscosity, inStartIndex + 1 );; inOperator( RestParticleDistance, inStartIndex + 2 );; inOperator( ConcreteTypeName, inStartIndex + 3 );; return 4 + inStartIndex; } }; template<> struct PxClassInfoTraits { PxParticleFluidGeneratedInfo Info; const PxParticleFluidGeneratedInfo* getInfo() { return &Info; } }; class PxParticleSystem; struct PxParticleSystemGeneratedValues : PxParticleBaseGeneratedValues { const char * ConcreteTypeName; PX_PHYSX_CORE_API PxParticleSystemGeneratedValues( const PxParticleSystem* inSource ); }; DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxParticleSystem, ConcreteTypeName, PxParticleSystemGeneratedValues) struct PxParticleSystemGeneratedInfo : PxParticleBaseGeneratedInfo { static const char* getClassName() { return "PxParticleSystem"; } PxReadOnlyPropertyInfo ConcreteTypeName; PX_PHYSX_CORE_API PxParticleSystemGeneratedInfo(); 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 = PxParticleBaseGeneratedInfo::visitBaseProperties( inOperator, inStartIndex ); inStartIndex = PxParticleBaseGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex ); return inStartIndex; } static PxU32 instancePropertyCount() { return 1; } static PxU32 totalPropertyCount() { return instancePropertyCount() + PxParticleBaseGeneratedInfo::totalPropertyCount(); } template PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const { PX_UNUSED(inOperator); PX_UNUSED(inStartIndex); inOperator( ConcreteTypeName, inStartIndex + 0 );; return 1 + inStartIndex; } }; template<> struct PxClassInfoTraits { PxParticleSystemGeneratedInfo Info; const PxParticleSystemGeneratedInfo* getInfo() { return &Info; } }; class PxPruningStructure; struct PxPruningStructureGeneratedValues { const char * ConcreteTypeName; PX_PHYSX_CORE_API PxPruningStructureGeneratedValues( const PxPruningStructure* inSource ); }; DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxPruningStructure, ConcreteTypeName, PxPruningStructureGeneratedValues) struct PxPruningStructureGeneratedInfo { static const char* getClassName() { return "PxPruningStructure"; } PxReadOnlyCollectionPropertyInfo RigidActors; PxReadOnlyPropertyInfo ConcreteTypeName; PX_PHYSX_CORE_API PxPruningStructureGeneratedInfo(); 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( RigidActors, inStartIndex + 0 );; inOperator( ConcreteTypeName, inStartIndex + 1 );; return 2 + inStartIndex; } }; template<> struct PxClassInfoTraits { PxPruningStructureGeneratedInfo Info; const PxPruningStructureGeneratedInfo* getInfo() { return &Info; } }; class PxTolerancesScale; struct PxTolerancesScaleGeneratedValues { _Bool IsValid; PxReal Length; PxReal Mass; PxReal Speed; PX_PHYSX_CORE_API PxTolerancesScaleGeneratedValues( const PxTolerancesScale* inSource ); }; DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxTolerancesScale, IsValid, PxTolerancesScaleGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxTolerancesScale, Length, PxTolerancesScaleGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxTolerancesScale, Mass, PxTolerancesScaleGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxTolerancesScale, Speed, PxTolerancesScaleGeneratedValues) struct PxTolerancesScaleGeneratedInfo { static const char* getClassName() { return "PxTolerancesScale"; } PxReadOnlyPropertyInfo IsValid; PxPropertyInfo Length; PxPropertyInfo Mass; PxPropertyInfo Speed; PX_PHYSX_CORE_API PxTolerancesScaleGeneratedInfo(); 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 4; } static PxU32 totalPropertyCount() { return instancePropertyCount(); } template PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const { PX_UNUSED(inOperator); PX_UNUSED(inStartIndex); inOperator( IsValid, inStartIndex + 0 );; inOperator( Length, inStartIndex + 1 );; inOperator( Mass, inStartIndex + 2 );; inOperator( Speed, inStartIndex + 3 );; return 4 + inStartIndex; } }; template<> struct PxClassInfoTraits { PxTolerancesScaleGeneratedInfo Info; const PxTolerancesScaleGeneratedInfo* getInfo() { return &Info; } }; class PxGeometry; struct PxGeometryGeneratedValues { PX_PHYSX_CORE_API PxGeometryGeneratedValues( const PxGeometry* inSource ); }; struct PxGeometryGeneratedInfo { static const char* getClassName() { return "PxGeometry"; } PX_PHYSX_CORE_API PxGeometryGeneratedInfo(); 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 0; } static PxU32 totalPropertyCount() { return instancePropertyCount(); } template PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const { PX_UNUSED(inOperator); PX_UNUSED(inStartIndex); return 0 + inStartIndex; } }; template<> struct PxClassInfoTraits { PxGeometryGeneratedInfo Info; const PxGeometryGeneratedInfo* getInfo() { return &Info; } }; class PxBoxGeometry; struct PxBoxGeometryGeneratedValues : PxGeometryGeneratedValues { PxVec3 HalfExtents; PX_PHYSX_CORE_API PxBoxGeometryGeneratedValues( const PxBoxGeometry* inSource ); }; DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxBoxGeometry, HalfExtents, PxBoxGeometryGeneratedValues) struct PxBoxGeometryGeneratedInfo : PxGeometryGeneratedInfo { static const char* getClassName() { return "PxBoxGeometry"; } PxPropertyInfo HalfExtents; PX_PHYSX_CORE_API PxBoxGeometryGeneratedInfo(); 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 = PxGeometryGeneratedInfo::visitBaseProperties( inOperator, inStartIndex ); inStartIndex = PxGeometryGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex ); return inStartIndex; } static PxU32 instancePropertyCount() { return 1; } static PxU32 totalPropertyCount() { return instancePropertyCount() + PxGeometryGeneratedInfo::totalPropertyCount(); } template PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const { PX_UNUSED(inOperator); PX_UNUSED(inStartIndex); inOperator( HalfExtents, inStartIndex + 0 );; return 1 + inStartIndex; } }; template<> struct PxClassInfoTraits { PxBoxGeometryGeneratedInfo Info; const PxBoxGeometryGeneratedInfo* getInfo() { return &Info; } }; class PxCapsuleGeometry; struct PxCapsuleGeometryGeneratedValues : PxGeometryGeneratedValues { PxReal Radius; PxReal HalfHeight; PX_PHYSX_CORE_API PxCapsuleGeometryGeneratedValues( const PxCapsuleGeometry* inSource ); }; DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxCapsuleGeometry, Radius, PxCapsuleGeometryGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxCapsuleGeometry, HalfHeight, PxCapsuleGeometryGeneratedValues) struct PxCapsuleGeometryGeneratedInfo : PxGeometryGeneratedInfo { static const char* getClassName() { return "PxCapsuleGeometry"; } PxPropertyInfo Radius; PxPropertyInfo HalfHeight; PX_PHYSX_CORE_API PxCapsuleGeometryGeneratedInfo(); 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 = PxGeometryGeneratedInfo::visitBaseProperties( inOperator, inStartIndex ); inStartIndex = PxGeometryGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex ); return inStartIndex; } static PxU32 instancePropertyCount() { return 2; } static PxU32 totalPropertyCount() { return instancePropertyCount() + PxGeometryGeneratedInfo::totalPropertyCount(); } template PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const { PX_UNUSED(inOperator); PX_UNUSED(inStartIndex); inOperator( Radius, inStartIndex + 0 );; inOperator( HalfHeight, inStartIndex + 1 );; return 2 + inStartIndex; } }; template<> struct PxClassInfoTraits { PxCapsuleGeometryGeneratedInfo Info; const PxCapsuleGeometryGeneratedInfo* getInfo() { return &Info; } }; class PxMeshScale; struct PxMeshScaleGeneratedValues { PxVec3 Scale; PxQuat Rotation; PX_PHYSX_CORE_API PxMeshScaleGeneratedValues( const PxMeshScale* inSource ); }; DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxMeshScale, Scale, PxMeshScaleGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxMeshScale, Rotation, PxMeshScaleGeneratedValues) struct PxMeshScaleGeneratedInfo { static const char* getClassName() { return "PxMeshScale"; } PxPropertyInfo Scale; PxPropertyInfo Rotation; PX_PHYSX_CORE_API PxMeshScaleGeneratedInfo(); 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( Scale, inStartIndex + 0 );; inOperator( Rotation, inStartIndex + 1 );; return 2 + inStartIndex; } }; template<> struct PxClassInfoTraits { PxMeshScaleGeneratedInfo Info; const PxMeshScaleGeneratedInfo* getInfo() { return &Info; } }; static PxU32ToName g_physx__PxConvexMeshGeometryFlag__EnumConversion[] = { { "eTIGHT_BOUNDS", static_cast( physx::PxConvexMeshGeometryFlag::eTIGHT_BOUNDS ) }, { NULL, 0 } }; template<> struct PxEnumTraits< physx::PxConvexMeshGeometryFlag::Enum > { PxEnumTraits() : NameConversion( g_physx__PxConvexMeshGeometryFlag__EnumConversion ) {} const PxU32ToName* NameConversion; }; class PxConvexMeshGeometry; struct PxConvexMeshGeometryGeneratedValues : PxGeometryGeneratedValues { PxMeshScale Scale; PxConvexMesh * ConvexMesh; PxReal MaxMargin; PxConvexMeshGeometryFlags MeshFlags; PX_PHYSX_CORE_API PxConvexMeshGeometryGeneratedValues( const PxConvexMeshGeometry* inSource ); }; DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxConvexMeshGeometry, Scale, PxConvexMeshGeometryGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxConvexMeshGeometry, ConvexMesh, PxConvexMeshGeometryGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxConvexMeshGeometry, MaxMargin, PxConvexMeshGeometryGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxConvexMeshGeometry, MeshFlags, PxConvexMeshGeometryGeneratedValues) struct PxConvexMeshGeometryGeneratedInfo : PxGeometryGeneratedInfo { static const char* getClassName() { return "PxConvexMeshGeometry"; } PxPropertyInfo Scale; PxPropertyInfo ConvexMesh; PxPropertyInfo MaxMargin; PxPropertyInfo MeshFlags; PX_PHYSX_CORE_API PxConvexMeshGeometryGeneratedInfo(); 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 = PxGeometryGeneratedInfo::visitBaseProperties( inOperator, inStartIndex ); inStartIndex = PxGeometryGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex ); return inStartIndex; } static PxU32 instancePropertyCount() { return 4; } static PxU32 totalPropertyCount() { return instancePropertyCount() + PxGeometryGeneratedInfo::totalPropertyCount(); } template PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const { PX_UNUSED(inOperator); PX_UNUSED(inStartIndex); inOperator( Scale, inStartIndex + 0 );; inOperator( ConvexMesh, inStartIndex + 1 );; inOperator( MaxMargin, inStartIndex + 2 );; inOperator( MeshFlags, inStartIndex + 3 );; return 4 + inStartIndex; } }; template<> struct PxClassInfoTraits { PxConvexMeshGeometryGeneratedInfo Info; const PxConvexMeshGeometryGeneratedInfo* getInfo() { return &Info; } }; class PxSphereGeometry; struct PxSphereGeometryGeneratedValues : PxGeometryGeneratedValues { PxReal Radius; PX_PHYSX_CORE_API PxSphereGeometryGeneratedValues( const PxSphereGeometry* inSource ); }; DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSphereGeometry, Radius, PxSphereGeometryGeneratedValues) struct PxSphereGeometryGeneratedInfo : PxGeometryGeneratedInfo { static const char* getClassName() { return "PxSphereGeometry"; } PxPropertyInfo Radius; PX_PHYSX_CORE_API PxSphereGeometryGeneratedInfo(); 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 = PxGeometryGeneratedInfo::visitBaseProperties( inOperator, inStartIndex ); inStartIndex = PxGeometryGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex ); return inStartIndex; } static PxU32 instancePropertyCount() { return 1; } static PxU32 totalPropertyCount() { return instancePropertyCount() + PxGeometryGeneratedInfo::totalPropertyCount(); } template PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const { PX_UNUSED(inOperator); PX_UNUSED(inStartIndex); inOperator( Radius, inStartIndex + 0 );; return 1 + inStartIndex; } }; template<> struct PxClassInfoTraits { PxSphereGeometryGeneratedInfo Info; const PxSphereGeometryGeneratedInfo* getInfo() { return &Info; } }; class PxPlaneGeometry; struct PxPlaneGeometryGeneratedValues : PxGeometryGeneratedValues { PX_PHYSX_CORE_API PxPlaneGeometryGeneratedValues( const PxPlaneGeometry* inSource ); }; struct PxPlaneGeometryGeneratedInfo : PxGeometryGeneratedInfo { static const char* getClassName() { return "PxPlaneGeometry"; } PX_PHYSX_CORE_API PxPlaneGeometryGeneratedInfo(); 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 = PxGeometryGeneratedInfo::visitBaseProperties( inOperator, inStartIndex ); inStartIndex = PxGeometryGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex ); return inStartIndex; } static PxU32 instancePropertyCount() { return 0; } static PxU32 totalPropertyCount() { return instancePropertyCount() + PxGeometryGeneratedInfo::totalPropertyCount(); } template PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const { PX_UNUSED(inOperator); PX_UNUSED(inStartIndex); return 0 + inStartIndex; } }; template<> struct PxClassInfoTraits { PxPlaneGeometryGeneratedInfo Info; const PxPlaneGeometryGeneratedInfo* getInfo() { return &Info; } }; static PxU32ToName g_physx__PxMeshGeometryFlag__EnumConversion[] = { { "eDOUBLE_SIDED", static_cast( physx::PxMeshGeometryFlag::eDOUBLE_SIDED ) }, { NULL, 0 } }; template<> struct PxEnumTraits< physx::PxMeshGeometryFlag::Enum > { PxEnumTraits() : NameConversion( g_physx__PxMeshGeometryFlag__EnumConversion ) {} const PxU32ToName* NameConversion; }; class PxTriangleMeshGeometry; struct PxTriangleMeshGeometryGeneratedValues : PxGeometryGeneratedValues { PxMeshScale Scale; PxMeshGeometryFlags MeshFlags; PxTriangleMesh * TriangleMesh; PX_PHYSX_CORE_API PxTriangleMeshGeometryGeneratedValues( const PxTriangleMeshGeometry* inSource ); }; DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxTriangleMeshGeometry, Scale, PxTriangleMeshGeometryGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxTriangleMeshGeometry, MeshFlags, PxTriangleMeshGeometryGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxTriangleMeshGeometry, TriangleMesh, PxTriangleMeshGeometryGeneratedValues) struct PxTriangleMeshGeometryGeneratedInfo : PxGeometryGeneratedInfo { static const char* getClassName() { return "PxTriangleMeshGeometry"; } PxPropertyInfo Scale; PxPropertyInfo MeshFlags; PxPropertyInfo TriangleMesh; PX_PHYSX_CORE_API PxTriangleMeshGeometryGeneratedInfo(); 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 = PxGeometryGeneratedInfo::visitBaseProperties( inOperator, inStartIndex ); inStartIndex = PxGeometryGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex ); return inStartIndex; } static PxU32 instancePropertyCount() { return 3; } static PxU32 totalPropertyCount() { return instancePropertyCount() + PxGeometryGeneratedInfo::totalPropertyCount(); } template PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const { PX_UNUSED(inOperator); PX_UNUSED(inStartIndex); inOperator( Scale, inStartIndex + 0 );; inOperator( MeshFlags, inStartIndex + 1 );; inOperator( TriangleMesh, inStartIndex + 2 );; return 3 + inStartIndex; } }; template<> struct PxClassInfoTraits { PxTriangleMeshGeometryGeneratedInfo Info; const PxTriangleMeshGeometryGeneratedInfo* getInfo() { return &Info; } }; class PxHeightFieldGeometry; struct PxHeightFieldGeometryGeneratedValues : PxGeometryGeneratedValues { PxHeightField * HeightField; PxReal HeightScale; PxReal RowScale; PxReal ColumnScale; PxMeshGeometryFlags HeightFieldFlags; PX_PHYSX_CORE_API PxHeightFieldGeometryGeneratedValues( const PxHeightFieldGeometry* inSource ); }; DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxHeightFieldGeometry, HeightField, PxHeightFieldGeometryGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxHeightFieldGeometry, HeightScale, PxHeightFieldGeometryGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxHeightFieldGeometry, RowScale, PxHeightFieldGeometryGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxHeightFieldGeometry, ColumnScale, PxHeightFieldGeometryGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxHeightFieldGeometry, HeightFieldFlags, PxHeightFieldGeometryGeneratedValues) struct PxHeightFieldGeometryGeneratedInfo : PxGeometryGeneratedInfo { static const char* getClassName() { return "PxHeightFieldGeometry"; } PxPropertyInfo HeightField; PxPropertyInfo HeightScale; PxPropertyInfo RowScale; PxPropertyInfo ColumnScale; PxPropertyInfo HeightFieldFlags; PX_PHYSX_CORE_API PxHeightFieldGeometryGeneratedInfo(); 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 = PxGeometryGeneratedInfo::visitBaseProperties( inOperator, inStartIndex ); inStartIndex = PxGeometryGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex ); return inStartIndex; } static PxU32 instancePropertyCount() { return 5; } static PxU32 totalPropertyCount() { return instancePropertyCount() + PxGeometryGeneratedInfo::totalPropertyCount(); } template PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const { PX_UNUSED(inOperator); PX_UNUSED(inStartIndex); inOperator( HeightField, inStartIndex + 0 );; inOperator( HeightScale, inStartIndex + 1 );; inOperator( RowScale, inStartIndex + 2 );; inOperator( ColumnScale, inStartIndex + 3 );; inOperator( HeightFieldFlags, inStartIndex + 4 );; return 5 + inStartIndex; } }; template<> struct PxClassInfoTraits { PxHeightFieldGeometryGeneratedInfo Info; const PxHeightFieldGeometryGeneratedInfo* getInfo() { return &Info; } }; static PxU32ToName g_physx__PxHeightFieldFormat__EnumConversion[] = { { "eS16_TM", static_cast( physx::PxHeightFieldFormat::eS16_TM ) }, { NULL, 0 } }; template<> struct PxEnumTraits< physx::PxHeightFieldFormat::Enum > { PxEnumTraits() : NameConversion( g_physx__PxHeightFieldFormat__EnumConversion ) {} const PxU32ToName* NameConversion; }; static PxU32ToName g_physx__PxHeightFieldFlag__EnumConversion[] = { { "eNO_BOUNDARY_EDGES", static_cast( physx::PxHeightFieldFlag::eNO_BOUNDARY_EDGES ) }, { NULL, 0 } }; template<> struct PxEnumTraits< physx::PxHeightFieldFlag::Enum > { PxEnumTraits() : NameConversion( g_physx__PxHeightFieldFlag__EnumConversion ) {} const PxU32ToName* NameConversion; }; class PxHeightFieldDesc; struct PxHeightFieldDescGeneratedValues { PxU32 NbRows; PxU32 NbColumns; PxHeightFieldFormat::Enum Format; PxStridedData Samples; PxReal Thickness; PxReal ConvexEdgeThreshold; PxHeightFieldFlags Flags; PX_PHYSX_CORE_API PxHeightFieldDescGeneratedValues( const PxHeightFieldDesc* inSource ); }; DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxHeightFieldDesc, NbRows, PxHeightFieldDescGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxHeightFieldDesc, NbColumns, PxHeightFieldDescGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxHeightFieldDesc, Format, PxHeightFieldDescGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxHeightFieldDesc, Samples, PxHeightFieldDescGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxHeightFieldDesc, Thickness, PxHeightFieldDescGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxHeightFieldDesc, ConvexEdgeThreshold, PxHeightFieldDescGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxHeightFieldDesc, Flags, PxHeightFieldDescGeneratedValues) struct PxHeightFieldDescGeneratedInfo { static const char* getClassName() { return "PxHeightFieldDesc"; } PxPropertyInfo NbRows; PxPropertyInfo NbColumns; PxPropertyInfo Format; PxPropertyInfo Samples; PxPropertyInfo Thickness; PxPropertyInfo ConvexEdgeThreshold; PxPropertyInfo Flags; PX_PHYSX_CORE_API PxHeightFieldDescGeneratedInfo(); 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 7; } static PxU32 totalPropertyCount() { return instancePropertyCount(); } template PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const { PX_UNUSED(inOperator); PX_UNUSED(inStartIndex); inOperator( NbRows, inStartIndex + 0 );; inOperator( NbColumns, inStartIndex + 1 );; inOperator( Format, inStartIndex + 2 );; inOperator( Samples, inStartIndex + 3 );; inOperator( Thickness, inStartIndex + 4 );; inOperator( ConvexEdgeThreshold, inStartIndex + 5 );; inOperator( Flags, inStartIndex + 6 );; return 7 + inStartIndex; } }; template<> struct PxClassInfoTraits { PxHeightFieldDescGeneratedInfo Info; const PxHeightFieldDescGeneratedInfo* getInfo() { return &Info; } }; static PxU32ToName g_physx__PxSceneFlag__EnumConversion[] = { { "eENABLE_ACTIVE_ACTORS", static_cast( physx::PxSceneFlag::eENABLE_ACTIVE_ACTORS ) }, { "eENABLE_ACTIVETRANSFORMS", static_cast( physx::PxSceneFlag::eENABLE_ACTIVETRANSFORMS ) }, { "eENABLE_CCD", static_cast( physx::PxSceneFlag::eENABLE_CCD ) }, { "eDISABLE_CCD_RESWEEP", static_cast( physx::PxSceneFlag::eDISABLE_CCD_RESWEEP ) }, { "eADAPTIVE_FORCE", static_cast( physx::PxSceneFlag::eADAPTIVE_FORCE ) }, { "eENABLE_KINEMATIC_STATIC_PAIRS", static_cast( physx::PxSceneFlag::eENABLE_KINEMATIC_STATIC_PAIRS ) }, { "eENABLE_KINEMATIC_PAIRS", static_cast( physx::PxSceneFlag::eENABLE_KINEMATIC_PAIRS ) }, { "eENABLE_PCM", static_cast( physx::PxSceneFlag::eENABLE_PCM ) }, { "eDISABLE_CONTACT_REPORT_BUFFER_RESIZE", static_cast( physx::PxSceneFlag::eDISABLE_CONTACT_REPORT_BUFFER_RESIZE ) }, { "eDISABLE_CONTACT_CACHE", static_cast( physx::PxSceneFlag::eDISABLE_CONTACT_CACHE ) }, { "eREQUIRE_RW_LOCK", static_cast( physx::PxSceneFlag::eREQUIRE_RW_LOCK ) }, { "eENABLE_STABILIZATION", static_cast( physx::PxSceneFlag::eENABLE_STABILIZATION ) }, { "eENABLE_AVERAGE_POINT", static_cast( physx::PxSceneFlag::eENABLE_AVERAGE_POINT ) }, { "eDEPRECATED_TRIGGER_TRIGGER_REPORTS", static_cast( physx::PxSceneFlag::eDEPRECATED_TRIGGER_TRIGGER_REPORTS ) }, { "eEXCLUDE_KINEMATICS_FROM_ACTIVE_ACTORS", static_cast( physx::PxSceneFlag::eEXCLUDE_KINEMATICS_FROM_ACTIVE_ACTORS ) }, { "eSUPPRESS_EAGER_SCENE_QUERY_REFIT", static_cast( physx::PxSceneFlag::eSUPPRESS_EAGER_SCENE_QUERY_REFIT ) }, { "eENABLE_GPU_DYNAMICS", static_cast( physx::PxSceneFlag::eENABLE_GPU_DYNAMICS ) }, { "eENABLE_ENHANCED_DETERMINISM", static_cast( physx::PxSceneFlag::eENABLE_ENHANCED_DETERMINISM ) }, { "eMUTABLE_FLAGS", static_cast( physx::PxSceneFlag::eMUTABLE_FLAGS ) }, { NULL, 0 } }; template<> struct PxEnumTraits< physx::PxSceneFlag::Enum > { PxEnumTraits() : NameConversion( g_physx__PxSceneFlag__EnumConversion ) {} const PxU32ToName* NameConversion; }; static PxU32ToName g_physx__PxActorTypeFlag__EnumConversion[] = { { "eRIGID_STATIC", static_cast( physx::PxActorTypeFlag::eRIGID_STATIC ) }, { "eRIGID_DYNAMIC", static_cast( physx::PxActorTypeFlag::eRIGID_DYNAMIC ) }, { "ePARTICLE_SYSTEM", static_cast( physx::PxActorTypeFlag::ePARTICLE_SYSTEM ) }, { "ePARTICLE_FLUID", static_cast( physx::PxActorTypeFlag::ePARTICLE_FLUID ) }, { "eCLOTH", static_cast( physx::PxActorTypeFlag::eCLOTH ) }, { NULL, 0 } }; template<> struct PxEnumTraits< physx::PxActorTypeFlag::Enum > { PxEnumTraits() : NameConversion( g_physx__PxActorTypeFlag__EnumConversion ) {} const PxU32ToName* NameConversion; }; static PxU32ToName g_physx__PxClientBehaviorFlag__EnumConversion[] = { { "eREPORT_FOREIGN_OBJECTS_TO_TRIGGER_NOTIFY", static_cast( physx::PxClientBehaviorFlag::eREPORT_FOREIGN_OBJECTS_TO_TRIGGER_NOTIFY ) }, { "eREPORT_FOREIGN_OBJECTS_TO_CONTACT_NOTIFY", static_cast( physx::PxClientBehaviorFlag::eREPORT_FOREIGN_OBJECTS_TO_CONTACT_NOTIFY ) }, { "eREPORT_FOREIGN_OBJECTS_TO_CONSTRAINT_BREAK_NOTIFY", static_cast( physx::PxClientBehaviorFlag::eREPORT_FOREIGN_OBJECTS_TO_CONSTRAINT_BREAK_NOTIFY ) }, { "eREPORT_FOREIGN_OBJECTS_TO_SCENE_QUERY", static_cast( physx::PxClientBehaviorFlag::eREPORT_FOREIGN_OBJECTS_TO_SCENE_QUERY ) }, { NULL, 0 } }; template<> struct PxEnumTraits< physx::PxClientBehaviorFlag::Enum > { PxEnumTraits() : NameConversion( g_physx__PxClientBehaviorFlag__EnumConversion ) {} const PxU32ToName* NameConversion; }; static PxU32ToName g_physx__PxFrictionType__EnumConversion[] = { { "ePATCH", static_cast( physx::PxFrictionType::ePATCH ) }, { "eONE_DIRECTIONAL", static_cast( physx::PxFrictionType::eONE_DIRECTIONAL ) }, { "eTWO_DIRECTIONAL", static_cast( physx::PxFrictionType::eTWO_DIRECTIONAL ) }, { NULL, 0 } }; template<> struct PxEnumTraits< physx::PxFrictionType::Enum > { PxEnumTraits() : NameConversion( g_physx__PxFrictionType__EnumConversion ) {} const PxU32ToName* NameConversion; }; static PxU32ToName g_physx__PxVisualizationParameter__EnumConversion[] = { { "eSCALE", static_cast( physx::PxVisualizationParameter::eSCALE ) }, { "eWORLD_AXES", static_cast( physx::PxVisualizationParameter::eWORLD_AXES ) }, { "eBODY_AXES", static_cast( physx::PxVisualizationParameter::eBODY_AXES ) }, { "eBODY_MASS_AXES", static_cast( physx::PxVisualizationParameter::eBODY_MASS_AXES ) }, { "eBODY_LIN_VELOCITY", static_cast( physx::PxVisualizationParameter::eBODY_LIN_VELOCITY ) }, { "eBODY_ANG_VELOCITY", static_cast( physx::PxVisualizationParameter::eBODY_ANG_VELOCITY ) }, { "eDEPRECATED_BODY_JOINT_GROUPS", static_cast( physx::PxVisualizationParameter::eDEPRECATED_BODY_JOINT_GROUPS ) }, { "eCONTACT_POINT", static_cast( physx::PxVisualizationParameter::eCONTACT_POINT ) }, { "eCONTACT_NORMAL", static_cast( physx::PxVisualizationParameter::eCONTACT_NORMAL ) }, { "eCONTACT_ERROR", static_cast( physx::PxVisualizationParameter::eCONTACT_ERROR ) }, { "eCONTACT_FORCE", static_cast( physx::PxVisualizationParameter::eCONTACT_FORCE ) }, { "eACTOR_AXES", static_cast( physx::PxVisualizationParameter::eACTOR_AXES ) }, { "eCOLLISION_AABBS", static_cast( physx::PxVisualizationParameter::eCOLLISION_AABBS ) }, { "eCOLLISION_SHAPES", static_cast( physx::PxVisualizationParameter::eCOLLISION_SHAPES ) }, { "eCOLLISION_AXES", static_cast( physx::PxVisualizationParameter::eCOLLISION_AXES ) }, { "eCOLLISION_COMPOUNDS", static_cast( physx::PxVisualizationParameter::eCOLLISION_COMPOUNDS ) }, { "eCOLLISION_FNORMALS", static_cast( physx::PxVisualizationParameter::eCOLLISION_FNORMALS ) }, { "eCOLLISION_EDGES", static_cast( physx::PxVisualizationParameter::eCOLLISION_EDGES ) }, { "eCOLLISION_STATIC", static_cast( physx::PxVisualizationParameter::eCOLLISION_STATIC ) }, { "eCOLLISION_DYNAMIC", static_cast( physx::PxVisualizationParameter::eCOLLISION_DYNAMIC ) }, { "eDEPRECATED_COLLISION_PAIRS", static_cast( physx::PxVisualizationParameter::eDEPRECATED_COLLISION_PAIRS ) }, { "eJOINT_LOCAL_FRAMES", static_cast( physx::PxVisualizationParameter::eJOINT_LOCAL_FRAMES ) }, { "eJOINT_LIMITS", static_cast( physx::PxVisualizationParameter::eJOINT_LIMITS ) }, { "ePARTICLE_SYSTEM_POSITION", static_cast( physx::PxVisualizationParameter::ePARTICLE_SYSTEM_POSITION ) }, { "ePARTICLE_SYSTEM_VELOCITY", static_cast( physx::PxVisualizationParameter::ePARTICLE_SYSTEM_VELOCITY ) }, { "ePARTICLE_SYSTEM_COLLISION_NORMAL", static_cast( physx::PxVisualizationParameter::ePARTICLE_SYSTEM_COLLISION_NORMAL ) }, { "ePARTICLE_SYSTEM_BOUNDS", static_cast( physx::PxVisualizationParameter::ePARTICLE_SYSTEM_BOUNDS ) }, { "ePARTICLE_SYSTEM_GRID", static_cast( physx::PxVisualizationParameter::ePARTICLE_SYSTEM_GRID ) }, { "ePARTICLE_SYSTEM_BROADPHASE_BOUNDS", static_cast( physx::PxVisualizationParameter::ePARTICLE_SYSTEM_BROADPHASE_BOUNDS ) }, { "ePARTICLE_SYSTEM_MAX_MOTION_DISTANCE", static_cast( physx::PxVisualizationParameter::ePARTICLE_SYSTEM_MAX_MOTION_DISTANCE ) }, { "eCULL_BOX", static_cast( physx::PxVisualizationParameter::eCULL_BOX ) }, { "eCLOTH_VERTICAL", static_cast( physx::PxVisualizationParameter::eCLOTH_VERTICAL ) }, { "eCLOTH_HORIZONTAL", static_cast( physx::PxVisualizationParameter::eCLOTH_HORIZONTAL ) }, { "eCLOTH_BENDING", static_cast( physx::PxVisualizationParameter::eCLOTH_BENDING ) }, { "eCLOTH_SHEARING", static_cast( physx::PxVisualizationParameter::eCLOTH_SHEARING ) }, { "eCLOTH_VIRTUAL_PARTICLES", static_cast( physx::PxVisualizationParameter::eCLOTH_VIRTUAL_PARTICLES ) }, { "eMBP_REGIONS", static_cast( physx::PxVisualizationParameter::eMBP_REGIONS ) }, { "eNUM_VALUES", static_cast( physx::PxVisualizationParameter::eNUM_VALUES ) }, { NULL, 0 } }; template<> struct PxEnumTraits< physx::PxVisualizationParameter::Enum > { PxEnumTraits() : NameConversion( g_physx__PxVisualizationParameter__EnumConversion ) {} const PxU32ToName* NameConversion; }; static PxU32ToName g_physx__PxPruningStructureType__EnumConversion[] = { { "eNONE", static_cast( physx::PxPruningStructureType::eNONE ) }, { "eDYNAMIC_AABB_TREE", static_cast( physx::PxPruningStructureType::eDYNAMIC_AABB_TREE ) }, { "eSTATIC_AABB_TREE", static_cast( physx::PxPruningStructureType::eSTATIC_AABB_TREE ) }, { "eLAST", static_cast( physx::PxPruningStructureType::eLAST ) }, { NULL, 0 } }; template<> struct PxEnumTraits< physx::PxPruningStructureType::Enum > { PxEnumTraits() : NameConversion( g_physx__PxPruningStructureType__EnumConversion ) {} const PxU32ToName* NameConversion; }; static PxU32ToName g_physx__PxSceneQueryUpdateMode__EnumConversion[] = { { "eBUILD_ENABLED_COMMIT_ENABLED", static_cast( physx::PxSceneQueryUpdateMode::eBUILD_ENABLED_COMMIT_ENABLED ) }, { "eBUILD_ENABLED_COMMIT_DISABLED", static_cast( physx::PxSceneQueryUpdateMode::eBUILD_ENABLED_COMMIT_DISABLED ) }, { "eBUILD_DISABLED_COMMIT_DISABLED", static_cast( physx::PxSceneQueryUpdateMode::eBUILD_DISABLED_COMMIT_DISABLED ) }, { NULL, 0 } }; template<> struct PxEnumTraits< physx::PxSceneQueryUpdateMode::Enum > { PxEnumTraits() : NameConversion( g_physx__PxSceneQueryUpdateMode__EnumConversion ) {} const PxU32ToName* NameConversion; }; static PxU32ToName g_physx__PxHitFlag__EnumConversion[] = { { "ePOSITION", static_cast( physx::PxHitFlag::ePOSITION ) }, { "eNORMAL", static_cast( physx::PxHitFlag::eNORMAL ) }, { "eDISTANCE", static_cast( physx::PxHitFlag::eDISTANCE ) }, { "eUV", static_cast( physx::PxHitFlag::eUV ) }, { "eASSUME_NO_INITIAL_OVERLAP", static_cast( physx::PxHitFlag::eASSUME_NO_INITIAL_OVERLAP ) }, { "eMESH_MULTIPLE", static_cast( physx::PxHitFlag::eMESH_MULTIPLE ) }, { "eMESH_ANY", static_cast( physx::PxHitFlag::eMESH_ANY ) }, { "eMESH_BOTH_SIDES", static_cast( physx::PxHitFlag::eMESH_BOTH_SIDES ) }, { "ePRECISE_SWEEP", static_cast( physx::PxHitFlag::ePRECISE_SWEEP ) }, { "eMTD", static_cast( physx::PxHitFlag::eMTD ) }, { "eFACE_INDEX", static_cast( physx::PxHitFlag::eFACE_INDEX ) }, { "eDEFAULT", static_cast( physx::PxHitFlag::eDEFAULT ) }, { "eMODIFIABLE_FLAGS", static_cast( physx::PxHitFlag::eMODIFIABLE_FLAGS ) }, { NULL, 0 } }; template<> struct PxEnumTraits< physx::PxHitFlag::Enum > { PxEnumTraits() : NameConversion( g_physx__PxHitFlag__EnumConversion ) {} const PxU32ToName* NameConversion; }; static PxU32ToName g_physx__PxBroadPhaseType__EnumConversion[] = { { "eSAP", static_cast( physx::PxBroadPhaseType::eSAP ) }, { "eMBP", static_cast( physx::PxBroadPhaseType::eMBP ) }, { "eGPU", static_cast( physx::PxBroadPhaseType::eGPU ) }, { "eLAST", static_cast( physx::PxBroadPhaseType::eLAST ) }, { NULL, 0 } }; template<> struct PxEnumTraits< physx::PxBroadPhaseType::Enum > { PxEnumTraits() : NameConversion( g_physx__PxBroadPhaseType__EnumConversion ) {} const PxU32ToName* NameConversion; }; class PxScene; struct PxSceneGeneratedValues { PxSceneFlags Flags; PxSceneLimits Limits; PxU32 Timestamp; PxCpuDispatcher * CpuDispatcher; PxGpuDispatcher * GpuDispatcher; PxF32 ClothInterCollisionDistance; PxF32 ClothInterCollisionStiffness; PxU32 ClothInterCollisionNbIterations; PxContactModifyCallback * ContactModifyCallback; PxCCDContactModifyCallback * CCDContactModifyCallback; PxU32 FilterShaderDataSize; PxSimulationFilterShader FilterShader; PxSimulationFilterCallback * FilterCallback; PxVec3 Gravity; PxReal BounceThresholdVelocity; PxU32 CCDMaxPasses; PxReal FrictionOffsetThreshold; PxFrictionType::Enum FrictionType; PxBounds3 VisualizationCullingBox; PxPruningStructureType::Enum StaticStructure; PxPruningStructureType::Enum DynamicStructure; PxU32 DynamicTreeRebuildRateHint; PxSceneQueryUpdateMode::Enum SceneQueryUpdateMode; PxU32 SceneQueryStaticTimestamp; PxBroadPhaseType::Enum BroadPhaseType; PxTaskManager * TaskManager; PxU32 MaxNbContactDataBlocksUsed; PxU32 ContactReportStreamBufferSize; PxU32 SolverBatchSize; PxReal WakeCounterResetValue; void * UserData; PxSimulationStatistics SimulationStatistics; PX_PHYSX_CORE_API PxSceneGeneratedValues( const PxScene* inSource ); }; DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, Flags, PxSceneGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, Limits, PxSceneGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, Timestamp, PxSceneGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, CpuDispatcher, PxSceneGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, GpuDispatcher, PxSceneGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, ClothInterCollisionDistance, PxSceneGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, ClothInterCollisionStiffness, PxSceneGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, ClothInterCollisionNbIterations, PxSceneGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, ContactModifyCallback, PxSceneGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, CCDContactModifyCallback, PxSceneGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, FilterShaderDataSize, PxSceneGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, FilterShader, PxSceneGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, FilterCallback, PxSceneGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, Gravity, PxSceneGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, BounceThresholdVelocity, PxSceneGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, CCDMaxPasses, PxSceneGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, FrictionOffsetThreshold, PxSceneGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, FrictionType, PxSceneGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, VisualizationCullingBox, PxSceneGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, StaticStructure, PxSceneGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, DynamicStructure, PxSceneGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, DynamicTreeRebuildRateHint, PxSceneGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, SceneQueryUpdateMode, PxSceneGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, SceneQueryStaticTimestamp, PxSceneGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, BroadPhaseType, PxSceneGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, TaskManager, PxSceneGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, MaxNbContactDataBlocksUsed, PxSceneGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, ContactReportStreamBufferSize, PxSceneGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, SolverBatchSize, PxSceneGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, WakeCounterResetValue, PxSceneGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, UserData, PxSceneGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, SimulationStatistics, PxSceneGeneratedValues) struct PxSceneGeneratedInfo { static const char* getClassName() { return "PxScene"; } PxReadOnlyPropertyInfo Flags; PxPropertyInfo Limits; PxReadOnlyPropertyInfo Timestamp; PxReadOnlyFilteredCollectionPropertyInfo Actors; PxReadOnlyCollectionPropertyInfo Articulations; PxReadOnlyCollectionPropertyInfo Constraints; PxReadOnlyCollectionPropertyInfo Aggregates; PxReadOnlyPropertyInfo CpuDispatcher; PxReadOnlyPropertyInfo GpuDispatcher; PxPropertyInfo ClothInterCollisionDistance; PxPropertyInfo ClothInterCollisionStiffness; PxPropertyInfo ClothInterCollisionNbIterations; PxPropertyInfo ContactModifyCallback; PxPropertyInfo CCDContactModifyCallback; PxReadOnlyPropertyInfo FilterShaderDataSize; PxReadOnlyPropertyInfo FilterShader; PxReadOnlyPropertyInfo FilterCallback; PxPropertyInfo Gravity; PxPropertyInfo BounceThresholdVelocity; PxPropertyInfo CCDMaxPasses; PxReadOnlyPropertyInfo FrictionOffsetThreshold; PxPropertyInfo FrictionType; PxPropertyInfo VisualizationCullingBox; PxReadOnlyPropertyInfo StaticStructure; PxReadOnlyPropertyInfo DynamicStructure; PxPropertyInfo DynamicTreeRebuildRateHint; PxPropertyInfo SceneQueryUpdateMode; PxReadOnlyPropertyInfo SceneQueryStaticTimestamp; PxReadOnlyPropertyInfo BroadPhaseType; PxReadOnlyCollectionPropertyInfo BroadPhaseRegions; PxReadOnlyPropertyInfo TaskManager; PxWriteOnlyPropertyInfo NbContactDataBlocks; PxReadOnlyPropertyInfo MaxNbContactDataBlocksUsed; PxReadOnlyPropertyInfo ContactReportStreamBufferSize; PxPropertyInfo SolverBatchSize; PxReadOnlyPropertyInfo WakeCounterResetValue; PxPropertyInfo UserData; SimulationStatisticsProperty SimulationStatistics; PX_PHYSX_CORE_API PxSceneGeneratedInfo(); 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 38; } static PxU32 totalPropertyCount() { return instancePropertyCount(); } template PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const { PX_UNUSED(inOperator); PX_UNUSED(inStartIndex); inOperator( Flags, inStartIndex + 0 );; inOperator( Limits, inStartIndex + 1 );; inOperator( Timestamp, inStartIndex + 2 );; inOperator( Actors, inStartIndex + 3 );; inOperator( Articulations, inStartIndex + 4 );; inOperator( Constraints, inStartIndex + 5 );; inOperator( Aggregates, inStartIndex + 6 );; inOperator( CpuDispatcher, inStartIndex + 7 );; inOperator( GpuDispatcher, inStartIndex + 8 );; inOperator( ClothInterCollisionDistance, inStartIndex + 9 );; inOperator( ClothInterCollisionStiffness, inStartIndex + 10 );; inOperator( ClothInterCollisionNbIterations, inStartIndex + 11 );; inOperator( ContactModifyCallback, inStartIndex + 12 );; inOperator( CCDContactModifyCallback, inStartIndex + 13 );; inOperator( FilterShaderDataSize, inStartIndex + 14 );; inOperator( FilterShader, inStartIndex + 15 );; inOperator( FilterCallback, inStartIndex + 16 );; inOperator( Gravity, inStartIndex + 17 );; inOperator( BounceThresholdVelocity, inStartIndex + 18 );; inOperator( CCDMaxPasses, inStartIndex + 19 );; inOperator( FrictionOffsetThreshold, inStartIndex + 20 );; inOperator( FrictionType, inStartIndex + 21 );; inOperator( VisualizationCullingBox, inStartIndex + 22 );; inOperator( StaticStructure, inStartIndex + 23 );; inOperator( DynamicStructure, inStartIndex + 24 );; inOperator( DynamicTreeRebuildRateHint, inStartIndex + 25 );; inOperator( SceneQueryUpdateMode, inStartIndex + 26 );; inOperator( SceneQueryStaticTimestamp, inStartIndex + 27 );; inOperator( BroadPhaseType, inStartIndex + 28 );; inOperator( BroadPhaseRegions, inStartIndex + 29 );; inOperator( TaskManager, inStartIndex + 30 );; inOperator( NbContactDataBlocks, inStartIndex + 31 );; inOperator( MaxNbContactDataBlocksUsed, inStartIndex + 32 );; inOperator( ContactReportStreamBufferSize, inStartIndex + 33 );; inOperator( SolverBatchSize, inStartIndex + 34 );; inOperator( WakeCounterResetValue, inStartIndex + 35 );; inOperator( UserData, inStartIndex + 36 );; inOperator( SimulationStatistics, inStartIndex + 37 );; return 38 + inStartIndex; } }; template<> struct PxClassInfoTraits { PxSceneGeneratedInfo Info; const PxSceneGeneratedInfo* getInfo() { return &Info; } }; struct PxClothParticle; struct PxClothParticleGeneratedValues { PxVec3 Pos; PxReal InvWeight; PX_PHYSX_CORE_API PxClothParticleGeneratedValues( const PxClothParticle* inSource ); }; DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxClothParticle, Pos, PxClothParticleGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxClothParticle, InvWeight, PxClothParticleGeneratedValues) struct PxClothParticleGeneratedInfo { static const char* getClassName() { return "PxClothParticle"; } PxPropertyInfo Pos; PxPropertyInfo InvWeight; PX_PHYSX_CORE_API PxClothParticleGeneratedInfo(); 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( Pos, inStartIndex + 0 );; inOperator( InvWeight, inStartIndex + 1 );; return 2 + inStartIndex; } }; template<> struct PxClassInfoTraits { PxClothParticleGeneratedInfo Info; const PxClothParticleGeneratedInfo* getInfo() { return &Info; } }; struct PxClothFabricPhase; struct PxClothFabricPhaseGeneratedValues { PxClothFabricPhaseType::Enum PhaseType; PxU32 SetIndex; PX_PHYSX_CORE_API PxClothFabricPhaseGeneratedValues( const PxClothFabricPhase* inSource ); }; DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxClothFabricPhase, PhaseType, PxClothFabricPhaseGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxClothFabricPhase, SetIndex, PxClothFabricPhaseGeneratedValues) struct PxClothFabricPhaseGeneratedInfo { static const char* getClassName() { return "PxClothFabricPhase"; } PxPropertyInfo PhaseType; PxPropertyInfo SetIndex; PX_PHYSX_CORE_API PxClothFabricPhaseGeneratedInfo(); 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( PhaseType, inStartIndex + 0 );; inOperator( SetIndex, inStartIndex + 1 );; return 2 + inStartIndex; } }; template<> struct PxClassInfoTraits { PxClothFabricPhaseGeneratedInfo Info; const PxClothFabricPhaseGeneratedInfo* getInfo() { return &Info; } }; class PxSceneLimits; struct PxSceneLimitsGeneratedValues { PxU32 MaxNbActors; PxU32 MaxNbBodies; PxU32 MaxNbStaticShapes; PxU32 MaxNbDynamicShapes; PxU32 MaxNbAggregates; PxU32 MaxNbConstraints; PxU32 MaxNbRegions; PxU32 MaxNbBroadPhaseOverlaps; PxU32 MaxNbObjectsPerRegion; PX_PHYSX_CORE_API PxSceneLimitsGeneratedValues( const PxSceneLimits* inSource ); }; DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneLimits, MaxNbActors, PxSceneLimitsGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneLimits, MaxNbBodies, PxSceneLimitsGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneLimits, MaxNbStaticShapes, PxSceneLimitsGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneLimits, MaxNbDynamicShapes, PxSceneLimitsGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneLimits, MaxNbAggregates, PxSceneLimitsGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneLimits, MaxNbConstraints, PxSceneLimitsGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneLimits, MaxNbRegions, PxSceneLimitsGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneLimits, MaxNbBroadPhaseOverlaps, PxSceneLimitsGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneLimits, MaxNbObjectsPerRegion, PxSceneLimitsGeneratedValues) struct PxSceneLimitsGeneratedInfo { static const char* getClassName() { return "PxSceneLimits"; } PxPropertyInfo MaxNbActors; PxPropertyInfo MaxNbBodies; PxPropertyInfo MaxNbStaticShapes; PxPropertyInfo MaxNbDynamicShapes; PxPropertyInfo MaxNbAggregates; PxPropertyInfo MaxNbConstraints; PxPropertyInfo MaxNbRegions; PxPropertyInfo MaxNbBroadPhaseOverlaps; PxPropertyInfo MaxNbObjectsPerRegion; PX_PHYSX_CORE_API PxSceneLimitsGeneratedInfo(); 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 9; } static PxU32 totalPropertyCount() { return instancePropertyCount(); } template PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const { PX_UNUSED(inOperator); PX_UNUSED(inStartIndex); inOperator( MaxNbActors, inStartIndex + 0 );; inOperator( MaxNbBodies, inStartIndex + 1 );; inOperator( MaxNbStaticShapes, inStartIndex + 2 );; inOperator( MaxNbDynamicShapes, inStartIndex + 3 );; inOperator( MaxNbAggregates, inStartIndex + 4 );; inOperator( MaxNbConstraints, inStartIndex + 5 );; inOperator( MaxNbRegions, inStartIndex + 6 );; inOperator( MaxNbBroadPhaseOverlaps, inStartIndex + 7 );; inOperator( MaxNbObjectsPerRegion, inStartIndex + 8 );; return 9 + inStartIndex; } }; template<> struct PxClassInfoTraits { PxSceneLimitsGeneratedInfo Info; const PxSceneLimitsGeneratedInfo* getInfo() { return &Info; } }; struct PxgDynamicsMemoryConfig; struct PxgDynamicsMemoryConfigGeneratedValues { PxU32 ConstraintBufferCapacity; PxU32 ContactBufferCapacity; PxU32 TempBufferCapacity; PxU32 ContactStreamSize; PxU32 PatchStreamSize; PxU32 ForceStreamCapacity; PxU32 HeapCapacity; PxU32 FoundLostPairsCapacity; PX_PHYSX_CORE_API PxgDynamicsMemoryConfigGeneratedValues( const PxgDynamicsMemoryConfig* inSource ); }; DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxgDynamicsMemoryConfig, ConstraintBufferCapacity, PxgDynamicsMemoryConfigGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxgDynamicsMemoryConfig, ContactBufferCapacity, PxgDynamicsMemoryConfigGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxgDynamicsMemoryConfig, TempBufferCapacity, PxgDynamicsMemoryConfigGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxgDynamicsMemoryConfig, ContactStreamSize, PxgDynamicsMemoryConfigGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxgDynamicsMemoryConfig, PatchStreamSize, PxgDynamicsMemoryConfigGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxgDynamicsMemoryConfig, ForceStreamCapacity, PxgDynamicsMemoryConfigGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxgDynamicsMemoryConfig, HeapCapacity, PxgDynamicsMemoryConfigGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxgDynamicsMemoryConfig, FoundLostPairsCapacity, PxgDynamicsMemoryConfigGeneratedValues) struct PxgDynamicsMemoryConfigGeneratedInfo { static const char* getClassName() { return "PxgDynamicsMemoryConfig"; } PxPropertyInfo ConstraintBufferCapacity; PxPropertyInfo ContactBufferCapacity; PxPropertyInfo TempBufferCapacity; PxPropertyInfo ContactStreamSize; PxPropertyInfo PatchStreamSize; PxPropertyInfo ForceStreamCapacity; PxPropertyInfo HeapCapacity; PxPropertyInfo FoundLostPairsCapacity; PX_PHYSX_CORE_API PxgDynamicsMemoryConfigGeneratedInfo(); 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 8; } static PxU32 totalPropertyCount() { return instancePropertyCount(); } template PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const { PX_UNUSED(inOperator); PX_UNUSED(inStartIndex); inOperator( ConstraintBufferCapacity, inStartIndex + 0 );; inOperator( ContactBufferCapacity, inStartIndex + 1 );; inOperator( TempBufferCapacity, inStartIndex + 2 );; inOperator( ContactStreamSize, inStartIndex + 3 );; inOperator( PatchStreamSize, inStartIndex + 4 );; inOperator( ForceStreamCapacity, inStartIndex + 5 );; inOperator( HeapCapacity, inStartIndex + 6 );; inOperator( FoundLostPairsCapacity, inStartIndex + 7 );; return 8 + inStartIndex; } }; template<> struct PxClassInfoTraits { PxgDynamicsMemoryConfigGeneratedInfo Info; const PxgDynamicsMemoryConfigGeneratedInfo* getInfo() { return &Info; } }; static PxU32ToName g_physx__PxPairFilteringMode__EnumConversion[] = { { "eKEEP", static_cast( physx::PxPairFilteringMode::eKEEP ) }, { "eSUPPRESS", static_cast( physx::PxPairFilteringMode::eSUPPRESS ) }, { "eKILL", static_cast( physx::PxPairFilteringMode::eKILL ) }, { "eDEFAULT", static_cast( physx::PxPairFilteringMode::eDEFAULT ) }, { NULL, 0 } }; template<> struct PxEnumTraits< physx::PxPairFilteringMode::Enum > { PxEnumTraits() : NameConversion( g_physx__PxPairFilteringMode__EnumConversion ) {} const PxU32ToName* NameConversion; }; class PxSceneDesc; struct PxSceneDescGeneratedValues { PxVec3 Gravity; PxSimulationEventCallback * SimulationEventCallback; PxContactModifyCallback * ContactModifyCallback; PxCCDContactModifyCallback * CcdContactModifyCallback; const void * FilterShaderData; PxU32 FilterShaderDataSize; PxSimulationFilterShader FilterShader; PxSimulationFilterCallback * FilterCallback; PxPairFilteringMode::Enum KineKineFilteringMode; PxPairFilteringMode::Enum StaticKineFilteringMode; PxBroadPhaseType::Enum BroadPhaseType; PxBroadPhaseCallback * BroadPhaseCallback; PxSceneLimits Limits; PxFrictionType::Enum FrictionType; PxReal BounceThresholdVelocity; PxReal FrictionOffsetThreshold; PxReal CcdMaxSeparation; PxReal SolverOffsetSlop; PxSceneFlags Flags; PxCpuDispatcher * CpuDispatcher; PxGpuDispatcher * GpuDispatcher; PxPruningStructureType::Enum StaticStructure; PxPruningStructureType::Enum DynamicStructure; PxU32 DynamicTreeRebuildRateHint; PxSceneQueryUpdateMode::Enum SceneQueryUpdateMode; void * UserData; PxU32 SolverBatchSize; PxU32 NbContactDataBlocks; PxU32 MaxNbContactDataBlocks; PxReal MaxBiasCoefficient; PxU32 ContactReportStreamBufferSize; PxU32 CcdMaxPasses; PxReal WakeCounterResetValue; PxBounds3 SanityBounds; PxgDynamicsMemoryConfig GpuDynamicsConfig; PxU32 GpuMaxNumPartitions; PxU32 GpuComputeVersion; PX_PHYSX_CORE_API PxSceneDescGeneratedValues( const PxSceneDesc* inSource ); }; DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, Gravity, PxSceneDescGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, SimulationEventCallback, PxSceneDescGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, ContactModifyCallback, PxSceneDescGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, CcdContactModifyCallback, PxSceneDescGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, FilterShaderData, PxSceneDescGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, FilterShaderDataSize, PxSceneDescGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, FilterShader, PxSceneDescGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, FilterCallback, PxSceneDescGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, KineKineFilteringMode, PxSceneDescGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, StaticKineFilteringMode, PxSceneDescGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, BroadPhaseType, PxSceneDescGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, BroadPhaseCallback, PxSceneDescGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, Limits, PxSceneDescGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, FrictionType, PxSceneDescGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, BounceThresholdVelocity, PxSceneDescGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, FrictionOffsetThreshold, PxSceneDescGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, CcdMaxSeparation, PxSceneDescGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, SolverOffsetSlop, PxSceneDescGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, Flags, PxSceneDescGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, CpuDispatcher, PxSceneDescGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, GpuDispatcher, PxSceneDescGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, StaticStructure, PxSceneDescGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, DynamicStructure, PxSceneDescGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, DynamicTreeRebuildRateHint, PxSceneDescGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, SceneQueryUpdateMode, PxSceneDescGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, UserData, PxSceneDescGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, SolverBatchSize, PxSceneDescGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, NbContactDataBlocks, PxSceneDescGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, MaxNbContactDataBlocks, PxSceneDescGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, MaxBiasCoefficient, PxSceneDescGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, ContactReportStreamBufferSize, PxSceneDescGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, CcdMaxPasses, PxSceneDescGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, WakeCounterResetValue, PxSceneDescGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, SanityBounds, PxSceneDescGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, GpuDynamicsConfig, PxSceneDescGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, GpuMaxNumPartitions, PxSceneDescGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, GpuComputeVersion, PxSceneDescGeneratedValues) struct PxSceneDescGeneratedInfo { static const char* getClassName() { return "PxSceneDesc"; } PxWriteOnlyPropertyInfo ToDefault; PxPropertyInfo Gravity; PxPropertyInfo SimulationEventCallback; PxPropertyInfo ContactModifyCallback; PxPropertyInfo CcdContactModifyCallback; PxPropertyInfo FilterShaderData; PxPropertyInfo FilterShaderDataSize; PxPropertyInfo FilterShader; PxPropertyInfo FilterCallback; PxPropertyInfo KineKineFilteringMode; PxPropertyInfo StaticKineFilteringMode; PxPropertyInfo BroadPhaseType; PxPropertyInfo BroadPhaseCallback; PxPropertyInfo Limits; PxPropertyInfo FrictionType; PxPropertyInfo BounceThresholdVelocity; PxPropertyInfo FrictionOffsetThreshold; PxPropertyInfo CcdMaxSeparation; PxPropertyInfo SolverOffsetSlop; PxPropertyInfo Flags; PxPropertyInfo CpuDispatcher; PxPropertyInfo GpuDispatcher; PxPropertyInfo StaticStructure; PxPropertyInfo DynamicStructure; PxPropertyInfo DynamicTreeRebuildRateHint; PxPropertyInfo SceneQueryUpdateMode; PxPropertyInfo UserData; PxPropertyInfo SolverBatchSize; PxPropertyInfo NbContactDataBlocks; PxPropertyInfo MaxNbContactDataBlocks; PxPropertyInfo MaxBiasCoefficient; PxPropertyInfo ContactReportStreamBufferSize; PxPropertyInfo CcdMaxPasses; PxPropertyInfo WakeCounterResetValue; PxPropertyInfo SanityBounds; PxPropertyInfo GpuDynamicsConfig; PxPropertyInfo GpuMaxNumPartitions; PxPropertyInfo GpuComputeVersion; PX_PHYSX_CORE_API PxSceneDescGeneratedInfo(); 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 38; } static PxU32 totalPropertyCount() { return instancePropertyCount(); } template PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const { PX_UNUSED(inOperator); PX_UNUSED(inStartIndex); inOperator( ToDefault, inStartIndex + 0 );; inOperator( Gravity, inStartIndex + 1 );; inOperator( SimulationEventCallback, inStartIndex + 2 );; inOperator( ContactModifyCallback, inStartIndex + 3 );; inOperator( CcdContactModifyCallback, inStartIndex + 4 );; inOperator( FilterShaderData, inStartIndex + 5 );; inOperator( FilterShaderDataSize, inStartIndex + 6 );; inOperator( FilterShader, inStartIndex + 7 );; inOperator( FilterCallback, inStartIndex + 8 );; inOperator( KineKineFilteringMode, inStartIndex + 9 );; inOperator( StaticKineFilteringMode, inStartIndex + 10 );; inOperator( BroadPhaseType, inStartIndex + 11 );; inOperator( BroadPhaseCallback, inStartIndex + 12 );; inOperator( Limits, inStartIndex + 13 );; inOperator( FrictionType, inStartIndex + 14 );; inOperator( BounceThresholdVelocity, inStartIndex + 15 );; inOperator( FrictionOffsetThreshold, inStartIndex + 16 );; inOperator( CcdMaxSeparation, inStartIndex + 17 );; inOperator( SolverOffsetSlop, inStartIndex + 18 );; inOperator( Flags, inStartIndex + 19 );; inOperator( CpuDispatcher, inStartIndex + 20 );; inOperator( GpuDispatcher, inStartIndex + 21 );; inOperator( StaticStructure, inStartIndex + 22 );; inOperator( DynamicStructure, inStartIndex + 23 );; inOperator( DynamicTreeRebuildRateHint, inStartIndex + 24 );; inOperator( SceneQueryUpdateMode, inStartIndex + 25 );; inOperator( UserData, inStartIndex + 26 );; inOperator( SolverBatchSize, inStartIndex + 27 );; inOperator( NbContactDataBlocks, inStartIndex + 28 );; inOperator( MaxNbContactDataBlocks, inStartIndex + 29 );; inOperator( MaxBiasCoefficient, inStartIndex + 30 );; inOperator( ContactReportStreamBufferSize, inStartIndex + 31 );; inOperator( CcdMaxPasses, inStartIndex + 32 );; inOperator( WakeCounterResetValue, inStartIndex + 33 );; inOperator( SanityBounds, inStartIndex + 34 );; inOperator( GpuDynamicsConfig, inStartIndex + 35 );; inOperator( GpuMaxNumPartitions, inStartIndex + 36 );; inOperator( GpuComputeVersion, inStartIndex + 37 );; return 38 + inStartIndex; } }; template<> struct PxClassInfoTraits { PxSceneDescGeneratedInfo Info; const PxSceneDescGeneratedInfo* getInfo() { return &Info; } }; static PxU32ToName g_physx__PxSimulationStatistics__VolumeTypeConversion[] = { { "eRIGID_BODY", static_cast( physx::PxSimulationStatistics::eRIGID_BODY ) }, { "ePARTICLE_SYSTEM", static_cast( physx::PxSimulationStatistics::ePARTICLE_SYSTEM ) }, { "eCLOTH", static_cast( physx::PxSimulationStatistics::eCLOTH ) }, { NULL, 0 } }; template<> struct PxEnumTraits< physx::PxSimulationStatistics::VolumeType > { PxEnumTraits() : NameConversion( g_physx__PxSimulationStatistics__VolumeTypeConversion ) {} const PxU32ToName* NameConversion; }; static PxU32ToName g_physx__PxSimulationStatistics__RbPairStatsTypeConversion[] = { { "eDISCRETE_CONTACT_PAIRS", static_cast( physx::PxSimulationStatistics::eDISCRETE_CONTACT_PAIRS ) }, { "eCCD_PAIRS", static_cast( physx::PxSimulationStatistics::eCCD_PAIRS ) }, { "eMODIFIED_CONTACT_PAIRS", static_cast( physx::PxSimulationStatistics::eMODIFIED_CONTACT_PAIRS ) }, { "eTRIGGER_PAIRS", static_cast( physx::PxSimulationStatistics::eTRIGGER_PAIRS ) }, { NULL, 0 } }; template<> struct PxEnumTraits< physx::PxSimulationStatistics::RbPairStatsType > { PxEnumTraits() : NameConversion( g_physx__PxSimulationStatistics__RbPairStatsTypeConversion ) {} const PxU32ToName* NameConversion; }; class PxSimulationStatistics; struct PxSimulationStatisticsGeneratedValues { PxU32 NbActiveConstraints; PxU32 NbActiveDynamicBodies; PxU32 NbActiveKinematicBodies; PxU32 NbStaticBodies; PxU32 NbDynamicBodies; PxU32 NbAggregates; PxU32 NbArticulations; PxU32 NbAxisSolverConstraints; PxU32 CompressedContactSize; PxU32 RequiredContactConstraintMemory; PxU32 PeakConstraintMemory; PxU32 NbDiscreteContactPairsTotal; PxU32 NbDiscreteContactPairsWithCacheHits; PxU32 NbDiscreteContactPairsWithContacts; PxU32 NbNewPairs; PxU32 NbLostPairs; PxU32 NbNewTouches; PxU32 NbLostTouches; PxU32 NbPartitions; PxU32 ParticlesGpuMeshCacheSize; PxU32 ParticlesGpuMeshCacheUsed; PxReal ParticlesGpuMeshCacheHitrate; PxU32 NbDiscreteContactPairs[PxGeometryType::eGEOMETRY_COUNT][PxGeometryType::eGEOMETRY_COUNT]; PxU32 NbModifiedContactPairs[PxGeometryType::eGEOMETRY_COUNT][PxGeometryType::eGEOMETRY_COUNT]; PxU32 NbCCDPairs[PxGeometryType::eGEOMETRY_COUNT][PxGeometryType::eGEOMETRY_COUNT]; PxU32 NbTriggerPairs[PxGeometryType::eGEOMETRY_COUNT][PxGeometryType::eGEOMETRY_COUNT]; PxU32 NbBroadPhaseAdds[PxSimulationStatistics::eVOLUME_COUNT]; PxU32 NbBroadPhaseRemoves[PxSimulationStatistics::eVOLUME_COUNT]; PxU32 NbShapes[PxGeometryType::eGEOMETRY_COUNT]; PX_PHYSX_CORE_API PxSimulationStatisticsGeneratedValues( const PxSimulationStatistics* inSource ); }; DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, NbActiveConstraints, PxSimulationStatisticsGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, NbActiveDynamicBodies, PxSimulationStatisticsGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, NbActiveKinematicBodies, PxSimulationStatisticsGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, NbStaticBodies, PxSimulationStatisticsGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, NbDynamicBodies, PxSimulationStatisticsGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, NbAggregates, PxSimulationStatisticsGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, NbArticulations, PxSimulationStatisticsGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, NbAxisSolverConstraints, PxSimulationStatisticsGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, CompressedContactSize, PxSimulationStatisticsGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, RequiredContactConstraintMemory, PxSimulationStatisticsGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, PeakConstraintMemory, PxSimulationStatisticsGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, NbDiscreteContactPairsTotal, PxSimulationStatisticsGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, NbDiscreteContactPairsWithCacheHits, PxSimulationStatisticsGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, NbDiscreteContactPairsWithContacts, PxSimulationStatisticsGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, NbNewPairs, PxSimulationStatisticsGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, NbLostPairs, PxSimulationStatisticsGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, NbNewTouches, PxSimulationStatisticsGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, NbLostTouches, PxSimulationStatisticsGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, NbPartitions, PxSimulationStatisticsGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, ParticlesGpuMeshCacheSize, PxSimulationStatisticsGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, ParticlesGpuMeshCacheUsed, PxSimulationStatisticsGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, ParticlesGpuMeshCacheHitrate, PxSimulationStatisticsGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, NbDiscreteContactPairs, PxSimulationStatisticsGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, NbModifiedContactPairs, PxSimulationStatisticsGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, NbCCDPairs, PxSimulationStatisticsGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, NbTriggerPairs, PxSimulationStatisticsGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, NbBroadPhaseAdds, PxSimulationStatisticsGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, NbBroadPhaseRemoves, PxSimulationStatisticsGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, NbShapes, PxSimulationStatisticsGeneratedValues) struct PxSimulationStatisticsGeneratedInfo { static const char* getClassName() { return "PxSimulationStatistics"; } PxPropertyInfo NbActiveConstraints; PxPropertyInfo NbActiveDynamicBodies; PxPropertyInfo NbActiveKinematicBodies; PxPropertyInfo NbStaticBodies; PxPropertyInfo NbDynamicBodies; PxPropertyInfo NbAggregates; PxPropertyInfo NbArticulations; PxPropertyInfo NbAxisSolverConstraints; PxPropertyInfo CompressedContactSize; PxPropertyInfo RequiredContactConstraintMemory; PxPropertyInfo PeakConstraintMemory; PxPropertyInfo NbDiscreteContactPairsTotal; PxPropertyInfo NbDiscreteContactPairsWithCacheHits; PxPropertyInfo NbDiscreteContactPairsWithContacts; PxPropertyInfo NbNewPairs; PxPropertyInfo NbLostPairs; PxPropertyInfo NbNewTouches; PxPropertyInfo NbLostTouches; PxPropertyInfo NbPartitions; PxPropertyInfo ParticlesGpuMeshCacheSize; PxPropertyInfo ParticlesGpuMeshCacheUsed; PxPropertyInfo ParticlesGpuMeshCacheHitrate; NbDiscreteContactPairsProperty NbDiscreteContactPairs; NbModifiedContactPairsProperty NbModifiedContactPairs; NbCCDPairsProperty NbCCDPairs; NbTriggerPairsProperty NbTriggerPairs; NbBroadPhaseAddsProperty NbBroadPhaseAdds; NbBroadPhaseRemovesProperty NbBroadPhaseRemoves; NbShapesProperty NbShapes; PX_PHYSX_CORE_API PxSimulationStatisticsGeneratedInfo(); 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 29; } static PxU32 totalPropertyCount() { return instancePropertyCount(); } template PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const { PX_UNUSED(inOperator); PX_UNUSED(inStartIndex); inOperator( NbActiveConstraints, inStartIndex + 0 );; inOperator( NbActiveDynamicBodies, inStartIndex + 1 );; inOperator( NbActiveKinematicBodies, inStartIndex + 2 );; inOperator( NbStaticBodies, inStartIndex + 3 );; inOperator( NbDynamicBodies, inStartIndex + 4 );; inOperator( NbAggregates, inStartIndex + 5 );; inOperator( NbArticulations, inStartIndex + 6 );; inOperator( NbAxisSolverConstraints, inStartIndex + 7 );; inOperator( CompressedContactSize, inStartIndex + 8 );; inOperator( RequiredContactConstraintMemory, inStartIndex + 9 );; inOperator( PeakConstraintMemory, inStartIndex + 10 );; inOperator( NbDiscreteContactPairsTotal, inStartIndex + 11 );; inOperator( NbDiscreteContactPairsWithCacheHits, inStartIndex + 12 );; inOperator( NbDiscreteContactPairsWithContacts, inStartIndex + 13 );; inOperator( NbNewPairs, inStartIndex + 14 );; inOperator( NbLostPairs, inStartIndex + 15 );; inOperator( NbNewTouches, inStartIndex + 16 );; inOperator( NbLostTouches, inStartIndex + 17 );; inOperator( NbPartitions, inStartIndex + 18 );; inOperator( ParticlesGpuMeshCacheSize, inStartIndex + 19 );; inOperator( ParticlesGpuMeshCacheUsed, inStartIndex + 20 );; inOperator( ParticlesGpuMeshCacheHitrate, inStartIndex + 21 );; inOperator( NbDiscreteContactPairs, inStartIndex + 22 );; inOperator( NbModifiedContactPairs, inStartIndex + 23 );; inOperator( NbCCDPairs, inStartIndex + 24 );; inOperator( NbTriggerPairs, inStartIndex + 25 );; inOperator( NbBroadPhaseAdds, inStartIndex + 26 );; inOperator( NbBroadPhaseRemoves, inStartIndex + 27 );; inOperator( NbShapes, inStartIndex + 28 );; return 29 + inStartIndex; } }; template<> struct PxClassInfoTraits { PxSimulationStatisticsGeneratedInfo Info; const PxSimulationStatisticsGeneratedInfo* getInfo() { return &Info; } }; class PxLockedData; struct PxLockedDataGeneratedValues { PX_PHYSX_CORE_API PxLockedDataGeneratedValues( const PxLockedData* inSource ); }; struct PxLockedDataGeneratedInfo { static const char* getClassName() { return "PxLockedData"; } PX_PHYSX_CORE_API PxLockedDataGeneratedInfo(); 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 0; } static PxU32 totalPropertyCount() { return instancePropertyCount(); } template PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const { PX_UNUSED(inOperator); PX_UNUSED(inStartIndex); return 0 + inStartIndex; } }; template<> struct PxClassInfoTraits { PxLockedDataGeneratedInfo Info; const PxLockedDataGeneratedInfo* getInfo() { return &Info; } }; class PxParticleReadData; struct PxParticleReadDataGeneratedValues : PxLockedDataGeneratedValues { PxU32 NbValidParticles; PxU32 ValidParticleRange; const PxU32 * ValidParticleBitmap; PxStrideIterator PositionBuffer; PxStrideIterator VelocityBuffer; PxStrideIterator RestOffsetBuffer; PxStrideIterator FlagsBuffer; PxStrideIterator CollisionNormalBuffer; PxStrideIterator CollisionVelocityBuffer; PX_PHYSX_CORE_API PxParticleReadDataGeneratedValues( const PxParticleReadData* inSource ); }; DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxParticleReadData, NbValidParticles, PxParticleReadDataGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxParticleReadData, ValidParticleRange, PxParticleReadDataGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxParticleReadData, ValidParticleBitmap, PxParticleReadDataGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxParticleReadData, PositionBuffer, PxParticleReadDataGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxParticleReadData, VelocityBuffer, PxParticleReadDataGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxParticleReadData, RestOffsetBuffer, PxParticleReadDataGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxParticleReadData, FlagsBuffer, PxParticleReadDataGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxParticleReadData, CollisionNormalBuffer, PxParticleReadDataGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxParticleReadData, CollisionVelocityBuffer, PxParticleReadDataGeneratedValues) struct PxParticleReadDataGeneratedInfo : PxLockedDataGeneratedInfo { static const char* getClassName() { return "PxParticleReadData"; } PxPropertyInfo NbValidParticles; PxPropertyInfo ValidParticleRange; PxPropertyInfo ValidParticleBitmap; PxPropertyInfo, PxStrideIterator > PositionBuffer; PxPropertyInfo, PxStrideIterator > VelocityBuffer; PxPropertyInfo, PxStrideIterator > RestOffsetBuffer; PxPropertyInfo, PxStrideIterator > FlagsBuffer; PxPropertyInfo, PxStrideIterator > CollisionNormalBuffer; PxPropertyInfo, PxStrideIterator > CollisionVelocityBuffer; PX_PHYSX_CORE_API PxParticleReadDataGeneratedInfo(); 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 = PxLockedDataGeneratedInfo::visitBaseProperties( inOperator, inStartIndex ); inStartIndex = PxLockedDataGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex ); return inStartIndex; } static PxU32 instancePropertyCount() { return 9; } static PxU32 totalPropertyCount() { return instancePropertyCount() + PxLockedDataGeneratedInfo::totalPropertyCount(); } template PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const { PX_UNUSED(inOperator); PX_UNUSED(inStartIndex); inOperator( NbValidParticles, inStartIndex + 0 );; inOperator( ValidParticleRange, inStartIndex + 1 );; inOperator( ValidParticleBitmap, inStartIndex + 2 );; inOperator( PositionBuffer, inStartIndex + 3 );; inOperator( VelocityBuffer, inStartIndex + 4 );; inOperator( RestOffsetBuffer, inStartIndex + 5 );; inOperator( FlagsBuffer, inStartIndex + 6 );; inOperator( CollisionNormalBuffer, inStartIndex + 7 );; inOperator( CollisionVelocityBuffer, inStartIndex + 8 );; return 9 + inStartIndex; } }; template<> struct PxClassInfoTraits { PxParticleReadDataGeneratedInfo Info; const PxParticleReadDataGeneratedInfo* getInfo() { return &Info; } }; struct PxClothStretchConfig; struct PxClothStretchConfigGeneratedValues { PxReal Stiffness; PxReal StiffnessMultiplier; PxReal CompressionLimit; PxReal StretchLimit; PX_PHYSX_CORE_API PxClothStretchConfigGeneratedValues( const PxClothStretchConfig* inSource ); }; DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxClothStretchConfig, Stiffness, PxClothStretchConfigGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxClothStretchConfig, StiffnessMultiplier, PxClothStretchConfigGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxClothStretchConfig, CompressionLimit, PxClothStretchConfigGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxClothStretchConfig, StretchLimit, PxClothStretchConfigGeneratedValues) struct PxClothStretchConfigGeneratedInfo { static const char* getClassName() { return "PxClothStretchConfig"; } PxPropertyInfo Stiffness; PxPropertyInfo StiffnessMultiplier; PxPropertyInfo CompressionLimit; PxPropertyInfo StretchLimit; PX_PHYSX_CORE_API PxClothStretchConfigGeneratedInfo(); 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 4; } 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( StiffnessMultiplier, inStartIndex + 1 );; inOperator( CompressionLimit, inStartIndex + 2 );; inOperator( StretchLimit, inStartIndex + 3 );; return 4 + inStartIndex; } }; template<> struct PxClassInfoTraits { PxClothStretchConfigGeneratedInfo Info; const PxClothStretchConfigGeneratedInfo* getInfo() { return &Info; } }; struct PxClothTetherConfig; struct PxClothTetherConfigGeneratedValues { PxReal Stiffness; PxReal StretchLimit; PX_PHYSX_CORE_API PxClothTetherConfigGeneratedValues( const PxClothTetherConfig* inSource ); }; DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxClothTetherConfig, Stiffness, PxClothTetherConfigGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxClothTetherConfig, StretchLimit, PxClothTetherConfigGeneratedValues) struct PxClothTetherConfigGeneratedInfo { static const char* getClassName() { return "PxClothTetherConfig"; } PxPropertyInfo Stiffness; PxPropertyInfo StretchLimit; PX_PHYSX_CORE_API PxClothTetherConfigGeneratedInfo(); 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( StretchLimit, inStartIndex + 1 );; return 2 + inStartIndex; } }; template<> struct PxClassInfoTraits { PxClothTetherConfigGeneratedInfo Info; const PxClothTetherConfigGeneratedInfo* getInfo() { return &Info; } }; struct PxClothMotionConstraintConfig; struct PxClothMotionConstraintConfigGeneratedValues { PxReal Scale; PxReal Bias; PxReal Stiffness; PX_PHYSX_CORE_API PxClothMotionConstraintConfigGeneratedValues( const PxClothMotionConstraintConfig* inSource ); }; DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxClothMotionConstraintConfig, Scale, PxClothMotionConstraintConfigGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxClothMotionConstraintConfig, Bias, PxClothMotionConstraintConfigGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxClothMotionConstraintConfig, Stiffness, PxClothMotionConstraintConfigGeneratedValues) struct PxClothMotionConstraintConfigGeneratedInfo { static const char* getClassName() { return "PxClothMotionConstraintConfig"; } PxPropertyInfo Scale; PxPropertyInfo Bias; PxPropertyInfo Stiffness; PX_PHYSX_CORE_API PxClothMotionConstraintConfigGeneratedInfo(); 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 3; } static PxU32 totalPropertyCount() { return instancePropertyCount(); } template PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const { PX_UNUSED(inOperator); PX_UNUSED(inStartIndex); inOperator( Scale, inStartIndex + 0 );; inOperator( Bias, inStartIndex + 1 );; inOperator( Stiffness, inStartIndex + 2 );; return 3 + inStartIndex; } }; template<> struct PxClassInfoTraits { PxClothMotionConstraintConfigGeneratedInfo Info; const PxClothMotionConstraintConfigGeneratedInfo* getInfo() { return &Info; } }; class PxClothParticleData; struct PxClothParticleDataGeneratedValues : PxLockedDataGeneratedValues { PxClothParticle * Particles; PxClothParticle * PreviousParticles; PX_PHYSX_CORE_API PxClothParticleDataGeneratedValues( const PxClothParticleData* inSource ); }; DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxClothParticleData, Particles, PxClothParticleDataGeneratedValues) DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxClothParticleData, PreviousParticles, PxClothParticleDataGeneratedValues) struct PxClothParticleDataGeneratedInfo : PxLockedDataGeneratedInfo { static const char* getClassName() { return "PxClothParticleData"; } PxPropertyInfo Particles; PxPropertyInfo PreviousParticles; PX_PHYSX_CORE_API PxClothParticleDataGeneratedInfo(); 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 = PxLockedDataGeneratedInfo::visitBaseProperties( inOperator, inStartIndex ); inStartIndex = PxLockedDataGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex ); return inStartIndex; } static PxU32 instancePropertyCount() { return 2; } static PxU32 totalPropertyCount() { return instancePropertyCount() + PxLockedDataGeneratedInfo::totalPropertyCount(); } template PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const { PX_UNUSED(inOperator); PX_UNUSED(inStartIndex); inOperator( Particles, inStartIndex + 0 );; inOperator( PreviousParticles, inStartIndex + 1 );; return 2 + inStartIndex; } }; template<> struct PxClassInfoTraits { PxClothParticleDataGeneratedInfo Info; const PxClothParticleDataGeneratedInfo* getInfo() { return &Info; } }; #undef THERE_IS_NO_INCLUDE_GUARD_HERE_FOR_A_REASON #undef PX_PROPERTY_INFO_NAME