1//
2// Redistribution and use in source and binary forms, with or without
3// modification, are permitted provided that the following conditions
4// are met:
5// * Redistributions of source code must retain the above copyright
6// notice, this list of conditions and the following disclaimer.
7// * Redistributions in binary form must reproduce the above copyright
8// notice, this list of conditions and the following disclaimer in the
9// documentation and/or other materials provided with the distribution.
10// * Neither the name of NVIDIA CORPORATION nor the names of its
11// contributors may be used to endorse or promote products derived
12// from this software without specific prior written permission.
13//
14// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
15// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
17// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
18// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
19// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
20// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
21// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
22// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
24// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25//
26// Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
27// Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
28// Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
29
30// This code is auto-generated by the PhysX Clang metadata generator. Do not edit or be
31// prepared for your edits to be quietly ignored next time the clang metadata generator is
32// run. You can find the most recent version of clang metadata generator by contacting
33// Chris Nuernberger <chrisn@nvidia.com> or Dilip or Adam.
34// The source code for the generate was at one time checked into:
35// physx/PhysXMetaDataGenerator/llvm/tools/clang/lib/Frontend/PhysXMetaDataAction.cpp
36#define THERE_IS_NO_INCLUDE_GUARD_HERE_FOR_A_REASON
37
38#define PX_PROPERTY_INFO_NAME PxPropertyInfoName
39 static PxU32ToName g_physx__PxShapeFlag__EnumConversion[] = {
40 { .mName: "eSIMULATION_SHAPE", .mValue: static_cast<PxU32>( physx::PxShapeFlag::eSIMULATION_SHAPE ) },
41 { .mName: "eSCENE_QUERY_SHAPE", .mValue: static_cast<PxU32>( physx::PxShapeFlag::eSCENE_QUERY_SHAPE ) },
42 { .mName: "eTRIGGER_SHAPE", .mValue: static_cast<PxU32>( physx::PxShapeFlag::eTRIGGER_SHAPE ) },
43 { .mName: "eVISUALIZATION", .mValue: static_cast<PxU32>( physx::PxShapeFlag::eVISUALIZATION ) },
44 { NULL, .mValue: 0 }
45 };
46
47template<> struct PxEnumTraits< physx::PxShapeFlag::Enum > { PxEnumTraits() : NameConversion( g_physx__PxShapeFlag__EnumConversion ) {} const PxU32ToName* NameConversion; };
48 class PxPhysics;
49 struct PxPhysicsGeneratedValues
50 {
51 PxTolerancesScale TolerancesScale;
52 PX_PHYSX_CORE_API PxPhysicsGeneratedValues( const PxPhysics* inSource );
53 };
54 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxPhysics, TolerancesScale, PxPhysicsGeneratedValues)
55 struct PxPhysicsGeneratedInfo
56
57 {
58 static const char* getClassName() { return "PxPhysics"; }
59 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxPhysics_TolerancesScale, PxPhysics, const PxTolerancesScale > TolerancesScale;
60 PxFactoryCollectionPropertyInfo<PX_PROPERTY_INFO_NAME::PxPhysics_TriangleMeshes, PxPhysics, PxTriangleMesh *, PxInputStream & > TriangleMeshes;
61 PxFactoryCollectionPropertyInfo<PX_PROPERTY_INFO_NAME::PxPhysics_HeightFields, PxPhysics, PxHeightField *, PxInputStream & > HeightFields;
62 PxFactoryCollectionPropertyInfo<PX_PROPERTY_INFO_NAME::PxPhysics_ConvexMeshes, PxPhysics, PxConvexMesh *, PxInputStream & > ConvexMeshes;
63 PxFactoryCollectionPropertyInfo<PX_PROPERTY_INFO_NAME::PxPhysics_BVHStructures, PxPhysics, PxBVHStructure *, PxInputStream & > BVHStructures;
64 PxFactoryCollectionPropertyInfo<PX_PROPERTY_INFO_NAME::PxPhysics_Scenes, PxPhysics, PxScene *, const PxSceneDesc & > Scenes;
65 PxReadOnlyCollectionPropertyInfo<PX_PROPERTY_INFO_NAME::PxPhysics_Shapes, PxPhysics, PxShape * > Shapes;
66 PxReadOnlyCollectionPropertyInfo<PX_PROPERTY_INFO_NAME::PxPhysics_Materials, PxPhysics, PxMaterial * > Materials;
67
68 PX_PHYSX_CORE_API PxPhysicsGeneratedInfo();
69 template<typename TReturnType, typename TOperator>
70 TReturnType visitType( TOperator inOperator ) const
71 {
72 return inOperator( nullptr );
73 }
74 template<typename TOperator>
75 void visitBases( TOperator inOperator )
76 {
77 PX_UNUSED(inOperator);
78 }
79 template<typename TOperator>
80 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
81 {
82 PX_UNUSED(inOperator);
83 PX_UNUSED(inStartIndex);
84 return inStartIndex;
85 }
86 static PxU32 instancePropertyCount() { return 8; }
87 static PxU32 totalPropertyCount() { return instancePropertyCount(); }
88 template<typename TOperator>
89 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
90 {
91 PX_UNUSED(inOperator);
92 PX_UNUSED(inStartIndex);
93 inOperator( TolerancesScale, inStartIndex + 0 );;
94 inOperator( TriangleMeshes, inStartIndex + 1 );;
95 inOperator( HeightFields, inStartIndex + 2 );;
96 inOperator( ConvexMeshes, inStartIndex + 3 );;
97 inOperator( BVHStructures, inStartIndex + 4 );;
98 inOperator( Scenes, inStartIndex + 5 );;
99 inOperator( Shapes, inStartIndex + 6 );;
100 inOperator( Materials, inStartIndex + 7 );;
101 return 8 + inStartIndex;
102 }
103 };
104 template<> struct PxClassInfoTraits<PxPhysics>
105 {
106 PxPhysicsGeneratedInfo Info;
107 const PxPhysicsGeneratedInfo* getInfo() { return &Info; }
108 };
109
110 static PxU32ToName g_physx__PxMaterialFlag__EnumConversion[] = {
111 { .mName: "eDISABLE_FRICTION", .mValue: static_cast<PxU32>( physx::PxMaterialFlag::eDISABLE_FRICTION ) },
112 { .mName: "eDISABLE_STRONG_FRICTION", .mValue: static_cast<PxU32>( physx::PxMaterialFlag::eDISABLE_STRONG_FRICTION ) },
113 { .mName: "eIMPROVED_PATCH_FRICTION", .mValue: static_cast<PxU32>( physx::PxMaterialFlag::eIMPROVED_PATCH_FRICTION ) },
114 { NULL, .mValue: 0 }
115 };
116
117template<> struct PxEnumTraits< physx::PxMaterialFlag::Enum > { PxEnumTraits() : NameConversion( g_physx__PxMaterialFlag__EnumConversion ) {} const PxU32ToName* NameConversion; };
118 static PxU32ToName g_physx__PxCombineMode__EnumConversion[] = {
119 { .mName: "eAVERAGE", .mValue: static_cast<PxU32>( physx::PxCombineMode::eAVERAGE ) },
120 { .mName: "eMIN", .mValue: static_cast<PxU32>( physx::PxCombineMode::eMIN ) },
121 { .mName: "eMULTIPLY", .mValue: static_cast<PxU32>( physx::PxCombineMode::eMULTIPLY ) },
122 { .mName: "eMAX", .mValue: static_cast<PxU32>( physx::PxCombineMode::eMAX ) },
123 { .mName: "eN_VALUES", .mValue: static_cast<PxU32>( physx::PxCombineMode::eN_VALUES ) },
124 { .mName: "ePAD_32", .mValue: static_cast<PxU32>( physx::PxCombineMode::ePAD_32 ) },
125 { NULL, .mValue: 0 }
126 };
127
128template<> struct PxEnumTraits< physx::PxCombineMode::Enum > { PxEnumTraits() : NameConversion( g_physx__PxCombineMode__EnumConversion ) {} const PxU32ToName* NameConversion; };
129 class PxMaterial;
130 struct PxMaterialGeneratedValues
131 {
132 PxU32 ReferenceCount;
133 PxReal DynamicFriction;
134 PxReal StaticFriction;
135 PxReal Restitution;
136 PxMaterialFlags Flags;
137 PxCombineMode::Enum FrictionCombineMode;
138 PxCombineMode::Enum RestitutionCombineMode;
139 const char * ConcreteTypeName;
140 void * UserData;
141 PX_PHYSX_CORE_API PxMaterialGeneratedValues( const PxMaterial* inSource );
142 };
143 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxMaterial, ReferenceCount, PxMaterialGeneratedValues)
144 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxMaterial, DynamicFriction, PxMaterialGeneratedValues)
145 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxMaterial, StaticFriction, PxMaterialGeneratedValues)
146 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxMaterial, Restitution, PxMaterialGeneratedValues)
147 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxMaterial, Flags, PxMaterialGeneratedValues)
148 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxMaterial, FrictionCombineMode, PxMaterialGeneratedValues)
149 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxMaterial, RestitutionCombineMode, PxMaterialGeneratedValues)
150 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxMaterial, ConcreteTypeName, PxMaterialGeneratedValues)
151 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxMaterial, UserData, PxMaterialGeneratedValues)
152 struct PxMaterialGeneratedInfo
153
154 {
155 static const char* getClassName() { return "PxMaterial"; }
156 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxMaterial_ReferenceCount, PxMaterial, PxU32 > ReferenceCount;
157 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxMaterial_DynamicFriction, PxMaterial, PxReal, PxReal > DynamicFriction;
158 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxMaterial_StaticFriction, PxMaterial, PxReal, PxReal > StaticFriction;
159 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxMaterial_Restitution, PxMaterial, PxReal, PxReal > Restitution;
160 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxMaterial_Flags, PxMaterial, PxMaterialFlags, PxMaterialFlags > Flags;
161 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxMaterial_FrictionCombineMode, PxMaterial, PxCombineMode::Enum, PxCombineMode::Enum > FrictionCombineMode;
162 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxMaterial_RestitutionCombineMode, PxMaterial, PxCombineMode::Enum, PxCombineMode::Enum > RestitutionCombineMode;
163 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxMaterial_ConcreteTypeName, PxMaterial, const char * > ConcreteTypeName;
164 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxMaterial_UserData, PxMaterial, void *, void * > UserData;
165
166 PX_PHYSX_CORE_API PxMaterialGeneratedInfo();
167 template<typename TReturnType, typename TOperator>
168 TReturnType visitType( TOperator inOperator ) const
169 {
170 return inOperator( nullptr );
171 }
172 template<typename TOperator>
173 void visitBases( TOperator inOperator )
174 {
175 PX_UNUSED(inOperator);
176 }
177 template<typename TOperator>
178 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
179 {
180 PX_UNUSED(inOperator);
181 PX_UNUSED(inStartIndex);
182 return inStartIndex;
183 }
184 static PxU32 instancePropertyCount() { return 9; }
185 static PxU32 totalPropertyCount() { return instancePropertyCount(); }
186 template<typename TOperator>
187 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
188 {
189 PX_UNUSED(inOperator);
190 PX_UNUSED(inStartIndex);
191 inOperator( ReferenceCount, inStartIndex + 0 );;
192 inOperator( DynamicFriction, inStartIndex + 1 );;
193 inOperator( StaticFriction, inStartIndex + 2 );;
194 inOperator( Restitution, inStartIndex + 3 );;
195 inOperator( Flags, inStartIndex + 4 );;
196 inOperator( FrictionCombineMode, inStartIndex + 5 );;
197 inOperator( RestitutionCombineMode, inStartIndex + 6 );;
198 inOperator( ConcreteTypeName, inStartIndex + 7 );;
199 inOperator( UserData, inStartIndex + 8 );;
200 return 9 + inStartIndex;
201 }
202 };
203 template<> struct PxClassInfoTraits<PxMaterial>
204 {
205 PxMaterialGeneratedInfo Info;
206 const PxMaterialGeneratedInfo* getInfo() { return &Info; }
207 };
208
209 static PxU32ToName g_physx__PxActorType__EnumConversion[] = {
210 { .mName: "eRIGID_STATIC", .mValue: static_cast<PxU32>( physx::PxActorType::eRIGID_STATIC ) },
211 { .mName: "eRIGID_DYNAMIC", .mValue: static_cast<PxU32>( physx::PxActorType::eRIGID_DYNAMIC ) },
212 { .mName: "eARTICULATION_LINK", .mValue: static_cast<PxU32>( physx::PxActorType::eARTICULATION_LINK ) },
213 { NULL, .mValue: 0 }
214 };
215
216template<> struct PxEnumTraits< physx::PxActorType::Enum > { PxEnumTraits() : NameConversion( g_physx__PxActorType__EnumConversion ) {} const PxU32ToName* NameConversion; };
217 static PxU32ToName g_physx__PxActorFlag__EnumConversion[] = {
218 { .mName: "eVISUALIZATION", .mValue: static_cast<PxU32>( physx::PxActorFlag::eVISUALIZATION ) },
219 { .mName: "eDISABLE_GRAVITY", .mValue: static_cast<PxU32>( physx::PxActorFlag::eDISABLE_GRAVITY ) },
220 { .mName: "eSEND_SLEEP_NOTIFIES", .mValue: static_cast<PxU32>( physx::PxActorFlag::eSEND_SLEEP_NOTIFIES ) },
221 { .mName: "eDISABLE_SIMULATION", .mValue: static_cast<PxU32>( physx::PxActorFlag::eDISABLE_SIMULATION ) },
222 { NULL, .mValue: 0 }
223 };
224
225template<> struct PxEnumTraits< physx::PxActorFlag::Enum > { PxEnumTraits() : NameConversion( g_physx__PxActorFlag__EnumConversion ) {} const PxU32ToName* NameConversion; };
226 class PxActor;
227 struct PxActorGeneratedValues
228 {
229 PxScene * Scene;
230 const char * Name;
231 PxActorFlags ActorFlags;
232 PxDominanceGroup DominanceGroup;
233 PxClientID OwnerClient;
234 PxAggregate * Aggregate;
235 void * UserData;
236 PX_PHYSX_CORE_API PxActorGeneratedValues( const PxActor* inSource );
237 };
238 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxActor, Scene, PxActorGeneratedValues)
239 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxActor, Name, PxActorGeneratedValues)
240 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxActor, ActorFlags, PxActorGeneratedValues)
241 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxActor, DominanceGroup, PxActorGeneratedValues)
242 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxActor, OwnerClient, PxActorGeneratedValues)
243 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxActor, Aggregate, PxActorGeneratedValues)
244 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxActor, UserData, PxActorGeneratedValues)
245 struct PxActorGeneratedInfo
246
247 {
248 static const char* getClassName() { return "PxActor"; }
249 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxActor_Scene, PxActor, PxScene * > Scene;
250 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxActor_Name, PxActor, const char *, const char * > Name;
251 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxActor_ActorFlags, PxActor, PxActorFlags, PxActorFlags > ActorFlags;
252 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxActor_DominanceGroup, PxActor, PxDominanceGroup, PxDominanceGroup > DominanceGroup;
253 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxActor_OwnerClient, PxActor, PxClientID, PxClientID > OwnerClient;
254 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxActor_Aggregate, PxActor, PxAggregate * > Aggregate;
255 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxActor_UserData, PxActor, void *, void * > UserData;
256
257 PX_PHYSX_CORE_API PxActorGeneratedInfo();
258 template<typename TReturnType, typename TOperator>
259 TReturnType visitType( TOperator inOperator ) const
260 {
261 return inOperator( nullptr );
262 }
263 template<typename TOperator>
264 void visitBases( TOperator inOperator )
265 {
266 PX_UNUSED(inOperator);
267 }
268 template<typename TOperator>
269 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
270 {
271 PX_UNUSED(inOperator);
272 PX_UNUSED(inStartIndex);
273 return inStartIndex;
274 }
275 static PxU32 instancePropertyCount() { return 7; }
276 static PxU32 totalPropertyCount() { return instancePropertyCount(); }
277 template<typename TOperator>
278 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
279 {
280 PX_UNUSED(inOperator);
281 PX_UNUSED(inStartIndex);
282 inOperator( Scene, inStartIndex + 0 );;
283 inOperator( Name, inStartIndex + 1 );;
284 inOperator( ActorFlags, inStartIndex + 2 );;
285 inOperator( DominanceGroup, inStartIndex + 3 );;
286 inOperator( OwnerClient, inStartIndex + 4 );;
287 inOperator( Aggregate, inStartIndex + 5 );;
288 inOperator( UserData, inStartIndex + 6 );;
289 return 7 + inStartIndex;
290 }
291 };
292 template<> struct PxClassInfoTraits<PxActor>
293 {
294 PxActorGeneratedInfo Info;
295 const PxActorGeneratedInfo* getInfo() { return &Info; }
296 };
297
298 class PxRigidActor;
299 struct PxRigidActorGeneratedValues
300 : PxActorGeneratedValues {
301 PxTransform GlobalPose;
302 PX_PHYSX_CORE_API PxRigidActorGeneratedValues( const PxRigidActor* inSource );
303 };
304 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidActor, GlobalPose, PxRigidActorGeneratedValues)
305 struct PxRigidActorGeneratedInfo
306 : PxActorGeneratedInfo
307 {
308 static const char* getClassName() { return "PxRigidActor"; }
309 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxRigidActor_GlobalPose, PxRigidActor, const PxTransform &, PxTransform > GlobalPose;
310 PxRigidActorShapeCollection Shapes;
311 PxReadOnlyCollectionPropertyInfo<PX_PROPERTY_INFO_NAME::PxRigidActor_Constraints, PxRigidActor, PxConstraint * > Constraints;
312
313 PX_PHYSX_CORE_API PxRigidActorGeneratedInfo();
314 template<typename TReturnType, typename TOperator>
315 TReturnType visitType( TOperator inOperator ) const
316 {
317 return inOperator( nullptr );
318 }
319 template<typename TOperator>
320 void visitBases( TOperator inOperator )
321 {
322 PX_UNUSED(inOperator);
323 inOperator( *static_cast<PxActorGeneratedInfo*>( this ) );
324 }
325 template<typename TOperator>
326 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
327 {
328 PX_UNUSED(inOperator);
329 PX_UNUSED(inStartIndex);
330 inStartIndex = PxActorGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
331 inStartIndex = PxActorGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
332 return inStartIndex;
333 }
334 static PxU32 instancePropertyCount() { return 3; }
335 static PxU32 totalPropertyCount() { return instancePropertyCount()
336 + PxActorGeneratedInfo::totalPropertyCount(); }
337 template<typename TOperator>
338 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
339 {
340 PX_UNUSED(inOperator);
341 PX_UNUSED(inStartIndex);
342 inOperator( GlobalPose, inStartIndex + 0 );;
343 inOperator( Shapes, inStartIndex + 1 );;
344 inOperator( Constraints, inStartIndex + 2 );;
345 return 3 + inStartIndex;
346 }
347 };
348 template<> struct PxClassInfoTraits<PxRigidActor>
349 {
350 PxRigidActorGeneratedInfo Info;
351 const PxRigidActorGeneratedInfo* getInfo() { return &Info; }
352 };
353
354 static PxU32ToName g_physx__PxForceMode__EnumConversion[] = {
355 { .mName: "eFORCE", .mValue: static_cast<PxU32>( physx::PxForceMode::eFORCE ) },
356 { .mName: "eIMPULSE", .mValue: static_cast<PxU32>( physx::PxForceMode::eIMPULSE ) },
357 { .mName: "eVELOCITY_CHANGE", .mValue: static_cast<PxU32>( physx::PxForceMode::eVELOCITY_CHANGE ) },
358 { .mName: "eACCELERATION", .mValue: static_cast<PxU32>( physx::PxForceMode::eACCELERATION ) },
359 { NULL, .mValue: 0 }
360 };
361
362template<> struct PxEnumTraits< physx::PxForceMode::Enum > { PxEnumTraits() : NameConversion( g_physx__PxForceMode__EnumConversion ) {} const PxU32ToName* NameConversion; };
363 static PxU32ToName g_physx__PxRigidBodyFlag__EnumConversion[] = {
364 { .mName: "eKINEMATIC", .mValue: static_cast<PxU32>( physx::PxRigidBodyFlag::eKINEMATIC ) },
365 { .mName: "eUSE_KINEMATIC_TARGET_FOR_SCENE_QUERIES", .mValue: static_cast<PxU32>( physx::PxRigidBodyFlag::eUSE_KINEMATIC_TARGET_FOR_SCENE_QUERIES ) },
366 { .mName: "eENABLE_CCD", .mValue: static_cast<PxU32>( physx::PxRigidBodyFlag::eENABLE_CCD ) },
367 { .mName: "eENABLE_CCD_FRICTION", .mValue: static_cast<PxU32>( physx::PxRigidBodyFlag::eENABLE_CCD_FRICTION ) },
368 { .mName: "eENABLE_POSE_INTEGRATION_PREVIEW", .mValue: static_cast<PxU32>( physx::PxRigidBodyFlag::eENABLE_POSE_INTEGRATION_PREVIEW ) },
369 { .mName: "eENABLE_SPECULATIVE_CCD", .mValue: static_cast<PxU32>( physx::PxRigidBodyFlag::eENABLE_SPECULATIVE_CCD ) },
370 { .mName: "eENABLE_CCD_MAX_CONTACT_IMPULSE", .mValue: static_cast<PxU32>( physx::PxRigidBodyFlag::eENABLE_CCD_MAX_CONTACT_IMPULSE ) },
371 { .mName: "eRETAIN_ACCELERATIONS", .mValue: static_cast<PxU32>( physx::PxRigidBodyFlag::eRETAIN_ACCELERATIONS ) },
372 { .mName: "eFORCE_KINE_KINE_NOTIFICATIONS", .mValue: static_cast<PxU32>( physx::PxRigidBodyFlag::eFORCE_KINE_KINE_NOTIFICATIONS ) },
373 { .mName: "eFORCE_STATIC_KINE_NOTIFICATIONS", .mValue: static_cast<PxU32>( physx::PxRigidBodyFlag::eFORCE_STATIC_KINE_NOTIFICATIONS ) },
374 { .mName: "eRESERVED", .mValue: static_cast<PxU32>( physx::PxRigidBodyFlag::eRESERVED ) },
375 { NULL, .mValue: 0 }
376 };
377
378template<> struct PxEnumTraits< physx::PxRigidBodyFlag::Enum > { PxEnumTraits() : NameConversion( g_physx__PxRigidBodyFlag__EnumConversion ) {} const PxU32ToName* NameConversion; };
379 class PxRigidBody;
380 struct PxRigidBodyGeneratedValues
381 : PxRigidActorGeneratedValues {
382 PxTransform CMassLocalPose;
383 PxReal Mass;
384 PxReal InvMass;
385 PxVec3 MassSpaceInertiaTensor;
386 PxVec3 MassSpaceInvInertiaTensor;
387 PxReal LinearDamping;
388 PxReal AngularDamping;
389 PxVec3 LinearVelocity;
390 PxVec3 AngularVelocity;
391 PxReal MaxAngularVelocity;
392 PxReal MaxLinearVelocity;
393 PxRigidBodyFlags RigidBodyFlags;
394 PxReal MinCCDAdvanceCoefficient;
395 PxReal MaxDepenetrationVelocity;
396 PxReal MaxContactImpulse;
397 PX_PHYSX_CORE_API PxRigidBodyGeneratedValues( const PxRigidBody* inSource );
398 };
399 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidBody, CMassLocalPose, PxRigidBodyGeneratedValues)
400 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidBody, Mass, PxRigidBodyGeneratedValues)
401 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidBody, InvMass, PxRigidBodyGeneratedValues)
402 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidBody, MassSpaceInertiaTensor, PxRigidBodyGeneratedValues)
403 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidBody, MassSpaceInvInertiaTensor, PxRigidBodyGeneratedValues)
404 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidBody, LinearDamping, PxRigidBodyGeneratedValues)
405 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidBody, AngularDamping, PxRigidBodyGeneratedValues)
406 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidBody, LinearVelocity, PxRigidBodyGeneratedValues)
407 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidBody, AngularVelocity, PxRigidBodyGeneratedValues)
408 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidBody, MaxAngularVelocity, PxRigidBodyGeneratedValues)
409 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidBody, MaxLinearVelocity, PxRigidBodyGeneratedValues)
410 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidBody, RigidBodyFlags, PxRigidBodyGeneratedValues)
411 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidBody, MinCCDAdvanceCoefficient, PxRigidBodyGeneratedValues)
412 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidBody, MaxDepenetrationVelocity, PxRigidBodyGeneratedValues)
413 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidBody, MaxContactImpulse, PxRigidBodyGeneratedValues)
414 struct PxRigidBodyGeneratedInfo
415 : PxRigidActorGeneratedInfo
416 {
417 static const char* getClassName() { return "PxRigidBody"; }
418 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxRigidBody_CMassLocalPose, PxRigidBody, const PxTransform &, PxTransform > CMassLocalPose;
419 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxRigidBody_Mass, PxRigidBody, PxReal, PxReal > Mass;
420 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxRigidBody_InvMass, PxRigidBody, PxReal > InvMass;
421 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxRigidBody_MassSpaceInertiaTensor, PxRigidBody, const PxVec3 &, PxVec3 > MassSpaceInertiaTensor;
422 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxRigidBody_MassSpaceInvInertiaTensor, PxRigidBody, PxVec3 > MassSpaceInvInertiaTensor;
423 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxRigidBody_LinearDamping, PxRigidBody, PxReal, PxReal > LinearDamping;
424 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxRigidBody_AngularDamping, PxRigidBody, PxReal, PxReal > AngularDamping;
425 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxRigidBody_LinearVelocity, PxRigidBody, const PxVec3 &, PxVec3 > LinearVelocity;
426 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxRigidBody_AngularVelocity, PxRigidBody, const PxVec3 &, PxVec3 > AngularVelocity;
427 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxRigidBody_MaxAngularVelocity, PxRigidBody, PxReal, PxReal > MaxAngularVelocity;
428 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxRigidBody_MaxLinearVelocity, PxRigidBody, PxReal, PxReal > MaxLinearVelocity;
429 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxRigidBody_RigidBodyFlags, PxRigidBody, PxRigidBodyFlags, PxRigidBodyFlags > RigidBodyFlags;
430 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxRigidBody_MinCCDAdvanceCoefficient, PxRigidBody, PxReal, PxReal > MinCCDAdvanceCoefficient;
431 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxRigidBody_MaxDepenetrationVelocity, PxRigidBody, PxReal, PxReal > MaxDepenetrationVelocity;
432 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxRigidBody_MaxContactImpulse, PxRigidBody, PxReal, PxReal > MaxContactImpulse;
433
434 PX_PHYSX_CORE_API PxRigidBodyGeneratedInfo();
435 template<typename TReturnType, typename TOperator>
436 TReturnType visitType( TOperator inOperator ) const
437 {
438 return inOperator( nullptr );
439 }
440 template<typename TOperator>
441 void visitBases( TOperator inOperator )
442 {
443 PX_UNUSED(inOperator);
444 inOperator( *static_cast<PxRigidActorGeneratedInfo*>( this ) );
445 }
446 template<typename TOperator>
447 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
448 {
449 PX_UNUSED(inOperator);
450 PX_UNUSED(inStartIndex);
451 inStartIndex = PxRigidActorGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
452 inStartIndex = PxRigidActorGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
453 return inStartIndex;
454 }
455 static PxU32 instancePropertyCount() { return 15; }
456 static PxU32 totalPropertyCount() { return instancePropertyCount()
457 + PxRigidActorGeneratedInfo::totalPropertyCount(); }
458 template<typename TOperator>
459 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
460 {
461 PX_UNUSED(inOperator);
462 PX_UNUSED(inStartIndex);
463 inOperator( CMassLocalPose, inStartIndex + 0 );;
464 inOperator( Mass, inStartIndex + 1 );;
465 inOperator( InvMass, inStartIndex + 2 );;
466 inOperator( MassSpaceInertiaTensor, inStartIndex + 3 );;
467 inOperator( MassSpaceInvInertiaTensor, inStartIndex + 4 );;
468 inOperator( LinearDamping, inStartIndex + 5 );;
469 inOperator( AngularDamping, inStartIndex + 6 );;
470 inOperator( LinearVelocity, inStartIndex + 7 );;
471 inOperator( AngularVelocity, inStartIndex + 8 );;
472 inOperator( MaxAngularVelocity, inStartIndex + 9 );;
473 inOperator( MaxLinearVelocity, inStartIndex + 10 );;
474 inOperator( RigidBodyFlags, inStartIndex + 11 );;
475 inOperator( MinCCDAdvanceCoefficient, inStartIndex + 12 );;
476 inOperator( MaxDepenetrationVelocity, inStartIndex + 13 );;
477 inOperator( MaxContactImpulse, inStartIndex + 14 );;
478 return 15 + inStartIndex;
479 }
480 };
481 template<> struct PxClassInfoTraits<PxRigidBody>
482 {
483 PxRigidBodyGeneratedInfo Info;
484 const PxRigidBodyGeneratedInfo* getInfo() { return &Info; }
485 };
486
487 static PxU32ToName g_physx__PxRigidDynamicLockFlag__EnumConversion[] = {
488 { .mName: "eLOCK_LINEAR_X", .mValue: static_cast<PxU32>( physx::PxRigidDynamicLockFlag::eLOCK_LINEAR_X ) },
489 { .mName: "eLOCK_LINEAR_Y", .mValue: static_cast<PxU32>( physx::PxRigidDynamicLockFlag::eLOCK_LINEAR_Y ) },
490 { .mName: "eLOCK_LINEAR_Z", .mValue: static_cast<PxU32>( physx::PxRigidDynamicLockFlag::eLOCK_LINEAR_Z ) },
491 { .mName: "eLOCK_ANGULAR_X", .mValue: static_cast<PxU32>( physx::PxRigidDynamicLockFlag::eLOCK_ANGULAR_X ) },
492 { .mName: "eLOCK_ANGULAR_Y", .mValue: static_cast<PxU32>( physx::PxRigidDynamicLockFlag::eLOCK_ANGULAR_Y ) },
493 { .mName: "eLOCK_ANGULAR_Z", .mValue: static_cast<PxU32>( physx::PxRigidDynamicLockFlag::eLOCK_ANGULAR_Z ) },
494 { NULL, .mValue: 0 }
495 };
496
497template<> struct PxEnumTraits< physx::PxRigidDynamicLockFlag::Enum > { PxEnumTraits() : NameConversion( g_physx__PxRigidDynamicLockFlag__EnumConversion ) {} const PxU32ToName* NameConversion; };
498 class PxRigidDynamic;
499 struct PxRigidDynamicGeneratedValues
500 : PxRigidBodyGeneratedValues {
501 _Bool IsSleeping;
502 PxReal SleepThreshold;
503 PxReal StabilizationThreshold;
504 PxRigidDynamicLockFlags RigidDynamicLockFlags;
505 PxReal WakeCounter;
506 PxU32 SolverIterationCounts[2];
507 PxReal ContactReportThreshold;
508 const char * ConcreteTypeName;
509 PX_PHYSX_CORE_API PxRigidDynamicGeneratedValues( const PxRigidDynamic* inSource );
510 };
511 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidDynamic, IsSleeping, PxRigidDynamicGeneratedValues)
512 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidDynamic, SleepThreshold, PxRigidDynamicGeneratedValues)
513 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidDynamic, StabilizationThreshold, PxRigidDynamicGeneratedValues)
514 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidDynamic, RigidDynamicLockFlags, PxRigidDynamicGeneratedValues)
515 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidDynamic, WakeCounter, PxRigidDynamicGeneratedValues)
516 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidDynamic, SolverIterationCounts, PxRigidDynamicGeneratedValues)
517 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidDynamic, ContactReportThreshold, PxRigidDynamicGeneratedValues)
518 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidDynamic, ConcreteTypeName, PxRigidDynamicGeneratedValues)
519 struct PxRigidDynamicGeneratedInfo
520 : PxRigidBodyGeneratedInfo
521 {
522 static const char* getClassName() { return "PxRigidDynamic"; }
523 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxRigidDynamic_IsSleeping, PxRigidDynamic, _Bool > IsSleeping;
524 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxRigidDynamic_SleepThreshold, PxRigidDynamic, PxReal, PxReal > SleepThreshold;
525 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxRigidDynamic_StabilizationThreshold, PxRigidDynamic, PxReal, PxReal > StabilizationThreshold;
526 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxRigidDynamic_RigidDynamicLockFlags, PxRigidDynamic, PxRigidDynamicLockFlags, PxRigidDynamicLockFlags > RigidDynamicLockFlags;
527 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxRigidDynamic_WakeCounter, PxRigidDynamic, PxReal, PxReal > WakeCounter;
528 PxRangePropertyInfo<PX_PROPERTY_INFO_NAME::PxRigidDynamic_SolverIterationCounts, PxRigidDynamic, PxU32 > SolverIterationCounts;
529 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxRigidDynamic_ContactReportThreshold, PxRigidDynamic, PxReal, PxReal > ContactReportThreshold;
530 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxRigidDynamic_ConcreteTypeName, PxRigidDynamic, const char * > ConcreteTypeName;
531
532 PX_PHYSX_CORE_API PxRigidDynamicGeneratedInfo();
533 template<typename TReturnType, typename TOperator>
534 TReturnType visitType( TOperator inOperator ) const
535 {
536 return inOperator( nullptr );
537 }
538 template<typename TOperator>
539 void visitBases( TOperator inOperator )
540 {
541 PX_UNUSED(inOperator);
542 inOperator( *static_cast<PxRigidBodyGeneratedInfo*>( this ) );
543 }
544 template<typename TOperator>
545 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
546 {
547 PX_UNUSED(inOperator);
548 PX_UNUSED(inStartIndex);
549 inStartIndex = PxRigidBodyGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
550 inStartIndex = PxRigidBodyGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
551 return inStartIndex;
552 }
553 static PxU32 instancePropertyCount() { return 8; }
554 static PxU32 totalPropertyCount() { return instancePropertyCount()
555 + PxRigidBodyGeneratedInfo::totalPropertyCount(); }
556 template<typename TOperator>
557 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
558 {
559 PX_UNUSED(inOperator);
560 PX_UNUSED(inStartIndex);
561 inOperator( IsSleeping, inStartIndex + 0 );;
562 inOperator( SleepThreshold, inStartIndex + 1 );;
563 inOperator( StabilizationThreshold, inStartIndex + 2 );;
564 inOperator( RigidDynamicLockFlags, inStartIndex + 3 );;
565 inOperator( WakeCounter, inStartIndex + 4 );;
566 inOperator( SolverIterationCounts, inStartIndex + 5 );;
567 inOperator( ContactReportThreshold, inStartIndex + 6 );;
568 inOperator( ConcreteTypeName, inStartIndex + 7 );;
569 return 8 + inStartIndex;
570 }
571 };
572 template<> struct PxClassInfoTraits<PxRigidDynamic>
573 {
574 PxRigidDynamicGeneratedInfo Info;
575 const PxRigidDynamicGeneratedInfo* getInfo() { return &Info; }
576 };
577
578 class PxRigidStatic;
579 struct PxRigidStaticGeneratedValues
580 : PxRigidActorGeneratedValues {
581 const char * ConcreteTypeName;
582 PX_PHYSX_CORE_API PxRigidStaticGeneratedValues( const PxRigidStatic* inSource );
583 };
584 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidStatic, ConcreteTypeName, PxRigidStaticGeneratedValues)
585 struct PxRigidStaticGeneratedInfo
586 : PxRigidActorGeneratedInfo
587 {
588 static const char* getClassName() { return "PxRigidStatic"; }
589 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxRigidStatic_ConcreteTypeName, PxRigidStatic, const char * > ConcreteTypeName;
590
591 PX_PHYSX_CORE_API PxRigidStaticGeneratedInfo();
592 template<typename TReturnType, typename TOperator>
593 TReturnType visitType( TOperator inOperator ) const
594 {
595 return inOperator( nullptr );
596 }
597 template<typename TOperator>
598 void visitBases( TOperator inOperator )
599 {
600 PX_UNUSED(inOperator);
601 inOperator( *static_cast<PxRigidActorGeneratedInfo*>( this ) );
602 }
603 template<typename TOperator>
604 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
605 {
606 PX_UNUSED(inOperator);
607 PX_UNUSED(inStartIndex);
608 inStartIndex = PxRigidActorGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
609 inStartIndex = PxRigidActorGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
610 return inStartIndex;
611 }
612 static PxU32 instancePropertyCount() { return 1; }
613 static PxU32 totalPropertyCount() { return instancePropertyCount()
614 + PxRigidActorGeneratedInfo::totalPropertyCount(); }
615 template<typename TOperator>
616 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
617 {
618 PX_UNUSED(inOperator);
619 PX_UNUSED(inStartIndex);
620 inOperator( ConcreteTypeName, inStartIndex + 0 );;
621 return 1 + inStartIndex;
622 }
623 };
624 template<> struct PxClassInfoTraits<PxRigidStatic>
625 {
626 PxRigidStaticGeneratedInfo Info;
627 const PxRigidStaticGeneratedInfo* getInfo() { return &Info; }
628 };
629
630 class PxArticulationLink;
631 struct PxArticulationLinkGeneratedValues
632 : PxRigidBodyGeneratedValues {
633 PxArticulationJointBase * InboundJoint;
634 PxU32 InboundJointDof;
635 PxU32 LinkIndex;
636 const char * ConcreteTypeName;
637 PX_PHYSX_CORE_API PxArticulationLinkGeneratedValues( const PxArticulationLink* inSource );
638 };
639 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationLink, InboundJoint, PxArticulationLinkGeneratedValues)
640 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationLink, InboundJointDof, PxArticulationLinkGeneratedValues)
641 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationLink, LinkIndex, PxArticulationLinkGeneratedValues)
642 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationLink, ConcreteTypeName, PxArticulationLinkGeneratedValues)
643 struct PxArticulationLinkGeneratedInfo
644 : PxRigidBodyGeneratedInfo
645 {
646 static const char* getClassName() { return "PxArticulationLink"; }
647 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationLink_InboundJoint, PxArticulationLink, PxArticulationJointBase * > InboundJoint;
648 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationLink_InboundJointDof, PxArticulationLink, PxU32 > InboundJointDof;
649 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationLink_LinkIndex, PxArticulationLink, PxU32 > LinkIndex;
650 PxReadOnlyCollectionPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationLink_Children, PxArticulationLink, PxArticulationLink * > Children;
651 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationLink_ConcreteTypeName, PxArticulationLink, const char * > ConcreteTypeName;
652
653 PX_PHYSX_CORE_API PxArticulationLinkGeneratedInfo();
654 template<typename TReturnType, typename TOperator>
655 TReturnType visitType( TOperator inOperator ) const
656 {
657 return inOperator( nullptr );
658 }
659 template<typename TOperator>
660 void visitBases( TOperator inOperator )
661 {
662 PX_UNUSED(inOperator);
663 inOperator( *static_cast<PxRigidBodyGeneratedInfo*>( this ) );
664 }
665 template<typename TOperator>
666 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
667 {
668 PX_UNUSED(inOperator);
669 PX_UNUSED(inStartIndex);
670 inStartIndex = PxRigidBodyGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
671 inStartIndex = PxRigidBodyGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
672 return inStartIndex;
673 }
674 static PxU32 instancePropertyCount() { return 5; }
675 static PxU32 totalPropertyCount() { return instancePropertyCount()
676 + PxRigidBodyGeneratedInfo::totalPropertyCount(); }
677 template<typename TOperator>
678 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
679 {
680 PX_UNUSED(inOperator);
681 PX_UNUSED(inStartIndex);
682 inOperator( InboundJoint, inStartIndex + 0 );;
683 inOperator( InboundJointDof, inStartIndex + 1 );;
684 inOperator( LinkIndex, inStartIndex + 2 );;
685 inOperator( Children, inStartIndex + 3 );;
686 inOperator( ConcreteTypeName, inStartIndex + 4 );;
687 return 5 + inStartIndex;
688 }
689 };
690 template<> struct PxClassInfoTraits<PxArticulationLink>
691 {
692 PxArticulationLinkGeneratedInfo Info;
693 const PxArticulationLinkGeneratedInfo* getInfo() { return &Info; }
694 };
695
696 class PxArticulationJointBase;
697 struct PxArticulationJointBaseGeneratedValues
698 {
699 PxTransform ParentPose;
700 PxTransform ChildPose;
701 PX_PHYSX_CORE_API PxArticulationJointBaseGeneratedValues( const PxArticulationJointBase* inSource );
702 };
703 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationJointBase, ParentPose, PxArticulationJointBaseGeneratedValues)
704 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationJointBase, ChildPose, PxArticulationJointBaseGeneratedValues)
705 struct PxArticulationJointBaseGeneratedInfo
706
707 {
708 static const char* getClassName() { return "PxArticulationJointBase"; }
709 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationJointBase_ParentPose, PxArticulationJointBase, const PxTransform &, PxTransform > ParentPose;
710 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationJointBase_ChildPose, PxArticulationJointBase, const PxTransform &, PxTransform > ChildPose;
711
712 PX_PHYSX_CORE_API PxArticulationJointBaseGeneratedInfo();
713 template<typename TReturnType, typename TOperator>
714 TReturnType visitType( TOperator inOperator ) const
715 {
716 return inOperator( nullptr );
717 }
718 template<typename TOperator>
719 void visitBases( TOperator inOperator )
720 {
721 PX_UNUSED(inOperator);
722 }
723 template<typename TOperator>
724 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
725 {
726 PX_UNUSED(inOperator);
727 PX_UNUSED(inStartIndex);
728 return inStartIndex;
729 }
730 static PxU32 instancePropertyCount() { return 2; }
731 static PxU32 totalPropertyCount() { return instancePropertyCount(); }
732 template<typename TOperator>
733 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
734 {
735 PX_UNUSED(inOperator);
736 PX_UNUSED(inStartIndex);
737 inOperator( ParentPose, inStartIndex + 0 );;
738 inOperator( ChildPose, inStartIndex + 1 );;
739 return 2 + inStartIndex;
740 }
741 };
742 template<> struct PxClassInfoTraits<PxArticulationJointBase>
743 {
744 PxArticulationJointBaseGeneratedInfo Info;
745 const PxArticulationJointBaseGeneratedInfo* getInfo() { return &Info; }
746 };
747
748 static PxU32ToName g_physx__PxArticulationJointDriveType__EnumConversion[] = {
749 { .mName: "eTARGET", .mValue: static_cast<PxU32>( physx::PxArticulationJointDriveType::eTARGET ) },
750 { .mName: "eERROR", .mValue: static_cast<PxU32>( physx::PxArticulationJointDriveType::eERROR ) },
751 { NULL, .mValue: 0 }
752 };
753
754template<> struct PxEnumTraits< physx::PxArticulationJointDriveType::Enum > { PxEnumTraits() : NameConversion( g_physx__PxArticulationJointDriveType__EnumConversion ) {} const PxU32ToName* NameConversion; };
755 class PxArticulationJoint;
756 struct PxArticulationJointGeneratedValues
757 : PxArticulationJointBaseGeneratedValues {
758 PxQuat TargetOrientation;
759 PxVec3 TargetVelocity;
760 PxArticulationJointDriveType::Enum DriveType;
761 PxReal Stiffness;
762 PxReal Damping;
763 PxReal InternalCompliance;
764 PxReal ExternalCompliance;
765 PxReal SwingLimit[2];
766 PxReal TangentialStiffness;
767 PxReal TangentialDamping;
768 PxReal SwingLimitContactDistance;
769 _Bool SwingLimitEnabled;
770 PxReal TwistLimit[2];
771 _Bool TwistLimitEnabled;
772 PxReal TwistLimitContactDistance;
773 const char * ConcreteTypeName;
774 PX_PHYSX_CORE_API PxArticulationJointGeneratedValues( const PxArticulationJoint* inSource );
775 };
776 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationJoint, TargetOrientation, PxArticulationJointGeneratedValues)
777 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationJoint, TargetVelocity, PxArticulationJointGeneratedValues)
778 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationJoint, DriveType, PxArticulationJointGeneratedValues)
779 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationJoint, Stiffness, PxArticulationJointGeneratedValues)
780 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationJoint, Damping, PxArticulationJointGeneratedValues)
781 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationJoint, InternalCompliance, PxArticulationJointGeneratedValues)
782 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationJoint, ExternalCompliance, PxArticulationJointGeneratedValues)
783 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationJoint, SwingLimit, PxArticulationJointGeneratedValues)
784 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationJoint, TangentialStiffness, PxArticulationJointGeneratedValues)
785 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationJoint, TangentialDamping, PxArticulationJointGeneratedValues)
786 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationJoint, SwingLimitContactDistance, PxArticulationJointGeneratedValues)
787 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationJoint, SwingLimitEnabled, PxArticulationJointGeneratedValues)
788 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationJoint, TwistLimit, PxArticulationJointGeneratedValues)
789 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationJoint, TwistLimitEnabled, PxArticulationJointGeneratedValues)
790 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationJoint, TwistLimitContactDistance, PxArticulationJointGeneratedValues)
791 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationJoint, ConcreteTypeName, PxArticulationJointGeneratedValues)
792 struct PxArticulationJointGeneratedInfo
793 : PxArticulationJointBaseGeneratedInfo
794 {
795 static const char* getClassName() { return "PxArticulationJoint"; }
796 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationJoint_TargetOrientation, PxArticulationJoint, const PxQuat &, PxQuat > TargetOrientation;
797 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationJoint_TargetVelocity, PxArticulationJoint, const PxVec3 &, PxVec3 > TargetVelocity;
798 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationJoint_DriveType, PxArticulationJoint, PxArticulationJointDriveType::Enum, PxArticulationJointDriveType::Enum > DriveType;
799 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationJoint_Stiffness, PxArticulationJoint, PxReal, PxReal > Stiffness;
800 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationJoint_Damping, PxArticulationJoint, PxReal, PxReal > Damping;
801 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationJoint_InternalCompliance, PxArticulationJoint, PxReal, PxReal > InternalCompliance;
802 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationJoint_ExternalCompliance, PxArticulationJoint, PxReal, PxReal > ExternalCompliance;
803 PxRangePropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationJoint_SwingLimit, PxArticulationJoint, PxReal > SwingLimit;
804 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationJoint_TangentialStiffness, PxArticulationJoint, PxReal, PxReal > TangentialStiffness;
805 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationJoint_TangentialDamping, PxArticulationJoint, PxReal, PxReal > TangentialDamping;
806 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationJoint_SwingLimitContactDistance, PxArticulationJoint, PxReal, PxReal > SwingLimitContactDistance;
807 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationJoint_SwingLimitEnabled, PxArticulationJoint, _Bool, _Bool > SwingLimitEnabled;
808 PxRangePropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationJoint_TwistLimit, PxArticulationJoint, PxReal > TwistLimit;
809 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationJoint_TwistLimitEnabled, PxArticulationJoint, _Bool, _Bool > TwistLimitEnabled;
810 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationJoint_TwistLimitContactDistance, PxArticulationJoint, PxReal, PxReal > TwistLimitContactDistance;
811 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationJoint_ConcreteTypeName, PxArticulationJoint, const char * > ConcreteTypeName;
812
813 PX_PHYSX_CORE_API PxArticulationJointGeneratedInfo();
814 template<typename TReturnType, typename TOperator>
815 TReturnType visitType( TOperator inOperator ) const
816 {
817 return inOperator( nullptr );
818 }
819 template<typename TOperator>
820 void visitBases( TOperator inOperator )
821 {
822 PX_UNUSED(inOperator);
823 inOperator( *static_cast<PxArticulationJointBaseGeneratedInfo*>( this ) );
824 }
825 template<typename TOperator>
826 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
827 {
828 PX_UNUSED(inOperator);
829 PX_UNUSED(inStartIndex);
830 inStartIndex = PxArticulationJointBaseGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
831 inStartIndex = PxArticulationJointBaseGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
832 return inStartIndex;
833 }
834 static PxU32 instancePropertyCount() { return 16; }
835 static PxU32 totalPropertyCount() { return instancePropertyCount()
836 + PxArticulationJointBaseGeneratedInfo::totalPropertyCount(); }
837 template<typename TOperator>
838 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
839 {
840 PX_UNUSED(inOperator);
841 PX_UNUSED(inStartIndex);
842 inOperator( TargetOrientation, inStartIndex + 0 );;
843 inOperator( TargetVelocity, inStartIndex + 1 );;
844 inOperator( DriveType, inStartIndex + 2 );;
845 inOperator( Stiffness, inStartIndex + 3 );;
846 inOperator( Damping, inStartIndex + 4 );;
847 inOperator( InternalCompliance, inStartIndex + 5 );;
848 inOperator( ExternalCompliance, inStartIndex + 6 );;
849 inOperator( SwingLimit, inStartIndex + 7 );;
850 inOperator( TangentialStiffness, inStartIndex + 8 );;
851 inOperator( TangentialDamping, inStartIndex + 9 );;
852 inOperator( SwingLimitContactDistance, inStartIndex + 10 );;
853 inOperator( SwingLimitEnabled, inStartIndex + 11 );;
854 inOperator( TwistLimit, inStartIndex + 12 );;
855 inOperator( TwistLimitEnabled, inStartIndex + 13 );;
856 inOperator( TwistLimitContactDistance, inStartIndex + 14 );;
857 inOperator( ConcreteTypeName, inStartIndex + 15 );;
858 return 16 + inStartIndex;
859 }
860 };
861 template<> struct PxClassInfoTraits<PxArticulationJoint>
862 {
863 PxArticulationJointGeneratedInfo Info;
864 const PxArticulationJointGeneratedInfo* getInfo() { return &Info; }
865 };
866
867 static PxU32ToName g_physx__PxArticulationJointType__EnumConversion[] = {
868 { .mName: "eFIX", .mValue: static_cast<PxU32>( physx::PxArticulationJointType::eFIX ) },
869 { .mName: "ePRISMATIC", .mValue: static_cast<PxU32>( physx::PxArticulationJointType::ePRISMATIC ) },
870 { .mName: "eREVOLUTE", .mValue: static_cast<PxU32>( physx::PxArticulationJointType::eREVOLUTE ) },
871 { .mName: "eSPHERICAL", .mValue: static_cast<PxU32>( physx::PxArticulationJointType::eSPHERICAL ) },
872 { .mName: "eUNDEFINED", .mValue: static_cast<PxU32>( physx::PxArticulationJointType::eUNDEFINED ) },
873 { NULL, .mValue: 0 }
874 };
875
876template<> struct PxEnumTraits< physx::PxArticulationJointType::Enum > { PxEnumTraits() : NameConversion( g_physx__PxArticulationJointType__EnumConversion ) {} const PxU32ToName* NameConversion; };
877 static PxU32ToName g_physx__PxArticulationAxis__EnumConversion[] = {
878 { .mName: "eTWIST", .mValue: static_cast<PxU32>( physx::PxArticulationAxis::eTWIST ) },
879 { .mName: "eSWING1", .mValue: static_cast<PxU32>( physx::PxArticulationAxis::eSWING1 ) },
880 { .mName: "eSWING2", .mValue: static_cast<PxU32>( physx::PxArticulationAxis::eSWING2 ) },
881 { .mName: "eX", .mValue: static_cast<PxU32>( physx::PxArticulationAxis::eX ) },
882 { .mName: "eY", .mValue: static_cast<PxU32>( physx::PxArticulationAxis::eY ) },
883 { .mName: "eZ", .mValue: static_cast<PxU32>( physx::PxArticulationAxis::eZ ) },
884 { NULL, .mValue: 0 }
885 };
886
887template<> struct PxEnumTraits< physx::PxArticulationAxis::Enum > { PxEnumTraits() : NameConversion( g_physx__PxArticulationAxis__EnumConversion ) {} const PxU32ToName* NameConversion; };
888 static PxU32ToName g_physx__PxArticulationMotion__EnumConversion[] = {
889 { .mName: "eLOCKED", .mValue: static_cast<PxU32>( physx::PxArticulationMotion::eLOCKED ) },
890 { .mName: "eLIMITED", .mValue: static_cast<PxU32>( physx::PxArticulationMotion::eLIMITED ) },
891 { .mName: "eFREE", .mValue: static_cast<PxU32>( physx::PxArticulationMotion::eFREE ) },
892 { NULL, .mValue: 0 }
893 };
894
895template<> struct PxEnumTraits< physx::PxArticulationMotion::Enum > { PxEnumTraits() : NameConversion( g_physx__PxArticulationMotion__EnumConversion ) {} const PxU32ToName* NameConversion; };
896 static PxU32ToName g_physx__PxArticulationDriveType__EnumConversion[] = {
897 { .mName: "eFORCE", .mValue: static_cast<PxU32>( physx::PxArticulationDriveType::eFORCE ) },
898 { .mName: "eACCELERATION", .mValue: static_cast<PxU32>( physx::PxArticulationDriveType::eACCELERATION ) },
899 { .mName: "eTARGET", .mValue: static_cast<PxU32>( physx::PxArticulationDriveType::eTARGET ) },
900 { .mName: "eVELOCITY", .mValue: static_cast<PxU32>( physx::PxArticulationDriveType::eVELOCITY ) },
901 { .mName: "eNONE", .mValue: static_cast<PxU32>( physx::PxArticulationDriveType::eNONE ) },
902 { NULL, .mValue: 0 }
903 };
904
905template<> struct PxEnumTraits< physx::PxArticulationDriveType::Enum > { PxEnumTraits() : NameConversion( g_physx__PxArticulationDriveType__EnumConversion ) {} const PxU32ToName* NameConversion; };
906 class PxArticulationJointReducedCoordinate;
907 struct PxArticulationJointReducedCoordinateGeneratedValues
908 : PxArticulationJointBaseGeneratedValues {
909 PxArticulationJointType::Enum JointType;
910 PxArticulationMotion::Enum Motion[physx::PxArticulationAxis::eCOUNT];
911 PxReal FrictionCoefficient;
912 const char * ConcreteTypeName;
913 PxReal MaxJointVelocity;
914 PX_PHYSX_CORE_API PxArticulationJointReducedCoordinateGeneratedValues( const PxArticulationJointReducedCoordinate* inSource );
915 };
916 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationJointReducedCoordinate, JointType, PxArticulationJointReducedCoordinateGeneratedValues)
917 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationJointReducedCoordinate, Motion, PxArticulationJointReducedCoordinateGeneratedValues)
918 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationJointReducedCoordinate, FrictionCoefficient, PxArticulationJointReducedCoordinateGeneratedValues)
919 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationJointReducedCoordinate, ConcreteTypeName, PxArticulationJointReducedCoordinateGeneratedValues)
920 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationJointReducedCoordinate, MaxJointVelocity, PxArticulationJointReducedCoordinateGeneratedValues)
921 struct PxArticulationJointReducedCoordinateGeneratedInfo
922 : PxArticulationJointBaseGeneratedInfo
923 {
924 static const char* getClassName() { return "PxArticulationJointReducedCoordinate"; }
925 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationJointReducedCoordinate_JointType, PxArticulationJointReducedCoordinate, PxArticulationJointType::Enum, PxArticulationJointType::Enum > JointType;
926 PxIndexedPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationJointReducedCoordinate_Motion, PxArticulationJointReducedCoordinate, PxArticulationAxis::Enum, PxArticulationMotion::Enum > Motion;
927 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationJointReducedCoordinate_FrictionCoefficient, PxArticulationJointReducedCoordinate, const PxReal, PxReal > FrictionCoefficient;
928 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationJointReducedCoordinate_ConcreteTypeName, PxArticulationJointReducedCoordinate, const char * > ConcreteTypeName;
929 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationJointReducedCoordinate_MaxJointVelocity, PxArticulationJointReducedCoordinate, const PxReal, PxReal > MaxJointVelocity;
930
931 PX_PHYSX_CORE_API PxArticulationJointReducedCoordinateGeneratedInfo();
932 template<typename TReturnType, typename TOperator>
933 TReturnType visitType( TOperator inOperator ) const
934 {
935 return inOperator( nullptr );
936 }
937 template<typename TOperator>
938 void visitBases( TOperator inOperator )
939 {
940 PX_UNUSED(inOperator);
941 inOperator( *static_cast<PxArticulationJointBaseGeneratedInfo*>( this ) );
942 }
943 template<typename TOperator>
944 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
945 {
946 PX_UNUSED(inOperator);
947 PX_UNUSED(inStartIndex);
948 inStartIndex = PxArticulationJointBaseGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
949 inStartIndex = PxArticulationJointBaseGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
950 return inStartIndex;
951 }
952 static PxU32 instancePropertyCount() { return 5; }
953 static PxU32 totalPropertyCount() { return instancePropertyCount()
954 + PxArticulationJointBaseGeneratedInfo::totalPropertyCount(); }
955 template<typename TOperator>
956 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
957 {
958 PX_UNUSED(inOperator);
959 PX_UNUSED(inStartIndex);
960 inOperator( JointType, inStartIndex + 0 );;
961 inOperator( Motion, inStartIndex + 1 );;
962 inOperator( FrictionCoefficient, inStartIndex + 2 );;
963 inOperator( ConcreteTypeName, inStartIndex + 3 );;
964 inOperator( MaxJointVelocity, inStartIndex + 4 );;
965 return 5 + inStartIndex;
966 }
967 };
968 template<> struct PxClassInfoTraits<PxArticulationJointReducedCoordinate>
969 {
970 PxArticulationJointReducedCoordinateGeneratedInfo Info;
971 const PxArticulationJointReducedCoordinateGeneratedInfo* getInfo() { return &Info; }
972 };
973
974 class PxArticulationBase;
975 struct PxArticulationBaseGeneratedValues
976 {
977 PxScene * Scene;
978 PxU32 SolverIterationCounts[2];
979 _Bool IsSleeping;
980 PxReal SleepThreshold;
981 PxReal StabilizationThreshold;
982 PxReal WakeCounter;
983 const char * Name;
984 PxAggregate * Aggregate;
985 void * UserData;
986 PX_PHYSX_CORE_API PxArticulationBaseGeneratedValues( const PxArticulationBase* inSource );
987 };
988 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationBase, Scene, PxArticulationBaseGeneratedValues)
989 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationBase, SolverIterationCounts, PxArticulationBaseGeneratedValues)
990 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationBase, IsSleeping, PxArticulationBaseGeneratedValues)
991 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationBase, SleepThreshold, PxArticulationBaseGeneratedValues)
992 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationBase, StabilizationThreshold, PxArticulationBaseGeneratedValues)
993 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationBase, WakeCounter, PxArticulationBaseGeneratedValues)
994 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationBase, Name, PxArticulationBaseGeneratedValues)
995 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationBase, Aggregate, PxArticulationBaseGeneratedValues)
996 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationBase, UserData, PxArticulationBaseGeneratedValues)
997 struct PxArticulationBaseGeneratedInfo
998
999 {
1000 static const char* getClassName() { return "PxArticulationBase"; }
1001 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationBase_Scene, PxArticulationBase, PxScene * > Scene;
1002 PxRangePropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationBase_SolverIterationCounts, PxArticulationBase, PxU32 > SolverIterationCounts;
1003 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationBase_IsSleeping, PxArticulationBase, _Bool > IsSleeping;
1004 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationBase_SleepThreshold, PxArticulationBase, PxReal, PxReal > SleepThreshold;
1005 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationBase_StabilizationThreshold, PxArticulationBase, PxReal, PxReal > StabilizationThreshold;
1006 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationBase_WakeCounter, PxArticulationBase, PxReal, PxReal > WakeCounter;
1007 PxArticulationLinkCollectionProp Links;
1008 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationBase_Name, PxArticulationBase, const char *, const char * > Name;
1009 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationBase_Aggregate, PxArticulationBase, PxAggregate * > Aggregate;
1010 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationBase_UserData, PxArticulationBase, void *, void * > UserData;
1011
1012 PX_PHYSX_CORE_API PxArticulationBaseGeneratedInfo();
1013 template<typename TReturnType, typename TOperator>
1014 TReturnType visitType( TOperator inOperator ) const
1015 {
1016 return inOperator( nullptr );
1017 }
1018 template<typename TOperator>
1019 void visitBases( TOperator inOperator )
1020 {
1021 PX_UNUSED(inOperator);
1022 }
1023 template<typename TOperator>
1024 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1025 {
1026 PX_UNUSED(inOperator);
1027 PX_UNUSED(inStartIndex);
1028 return inStartIndex;
1029 }
1030 static PxU32 instancePropertyCount() { return 10; }
1031 static PxU32 totalPropertyCount() { return instancePropertyCount(); }
1032 template<typename TOperator>
1033 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1034 {
1035 PX_UNUSED(inOperator);
1036 PX_UNUSED(inStartIndex);
1037 inOperator( Scene, inStartIndex + 0 );;
1038 inOperator( SolverIterationCounts, inStartIndex + 1 );;
1039 inOperator( IsSleeping, inStartIndex + 2 );;
1040 inOperator( SleepThreshold, inStartIndex + 3 );;
1041 inOperator( StabilizationThreshold, inStartIndex + 4 );;
1042 inOperator( WakeCounter, inStartIndex + 5 );;
1043 inOperator( Links, inStartIndex + 6 );;
1044 inOperator( Name, inStartIndex + 7 );;
1045 inOperator( Aggregate, inStartIndex + 8 );;
1046 inOperator( UserData, inStartIndex + 9 );;
1047 return 10 + inStartIndex;
1048 }
1049 };
1050 template<> struct PxClassInfoTraits<PxArticulationBase>
1051 {
1052 PxArticulationBaseGeneratedInfo Info;
1053 const PxArticulationBaseGeneratedInfo* getInfo() { return &Info; }
1054 };
1055
1056 class PxArticulation;
1057 struct PxArticulationGeneratedValues
1058 : PxArticulationBaseGeneratedValues {
1059 PxU32 MaxProjectionIterations;
1060 PxReal SeparationTolerance;
1061 PxU32 InternalDriveIterations;
1062 PxU32 ExternalDriveIterations;
1063 PX_PHYSX_CORE_API PxArticulationGeneratedValues( const PxArticulation* inSource );
1064 };
1065 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulation, MaxProjectionIterations, PxArticulationGeneratedValues)
1066 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulation, SeparationTolerance, PxArticulationGeneratedValues)
1067 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulation, InternalDriveIterations, PxArticulationGeneratedValues)
1068 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulation, ExternalDriveIterations, PxArticulationGeneratedValues)
1069 struct PxArticulationGeneratedInfo
1070 : PxArticulationBaseGeneratedInfo
1071 {
1072 static const char* getClassName() { return "PxArticulation"; }
1073 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulation_MaxProjectionIterations, PxArticulation, PxU32, PxU32 > MaxProjectionIterations;
1074 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulation_SeparationTolerance, PxArticulation, PxReal, PxReal > SeparationTolerance;
1075 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulation_InternalDriveIterations, PxArticulation, PxU32, PxU32 > InternalDriveIterations;
1076 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulation_ExternalDriveIterations, PxArticulation, PxU32, PxU32 > ExternalDriveIterations;
1077
1078 PX_PHYSX_CORE_API PxArticulationGeneratedInfo();
1079 template<typename TReturnType, typename TOperator>
1080 TReturnType visitType( TOperator inOperator ) const
1081 {
1082 return inOperator( nullptr );
1083 }
1084 template<typename TOperator>
1085 void visitBases( TOperator inOperator )
1086 {
1087 PX_UNUSED(inOperator);
1088 inOperator( *static_cast<PxArticulationBaseGeneratedInfo*>( this ) );
1089 }
1090 template<typename TOperator>
1091 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1092 {
1093 PX_UNUSED(inOperator);
1094 PX_UNUSED(inStartIndex);
1095 inStartIndex = PxArticulationBaseGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
1096 inStartIndex = PxArticulationBaseGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
1097 return inStartIndex;
1098 }
1099 static PxU32 instancePropertyCount() { return 4; }
1100 static PxU32 totalPropertyCount() { return instancePropertyCount()
1101 + PxArticulationBaseGeneratedInfo::totalPropertyCount(); }
1102 template<typename TOperator>
1103 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1104 {
1105 PX_UNUSED(inOperator);
1106 PX_UNUSED(inStartIndex);
1107 inOperator( MaxProjectionIterations, inStartIndex + 0 );;
1108 inOperator( SeparationTolerance, inStartIndex + 1 );;
1109 inOperator( InternalDriveIterations, inStartIndex + 2 );;
1110 inOperator( ExternalDriveIterations, inStartIndex + 3 );;
1111 return 4 + inStartIndex;
1112 }
1113 };
1114 template<> struct PxClassInfoTraits<PxArticulation>
1115 {
1116 PxArticulationGeneratedInfo Info;
1117 const PxArticulationGeneratedInfo* getInfo() { return &Info; }
1118 };
1119
1120 static PxU32ToName g_physx__PxArticulationFlag__EnumConversion[] = {
1121 { .mName: "eFIX_BASE", .mValue: static_cast<PxU32>( physx::PxArticulationFlag::eFIX_BASE ) },
1122 { .mName: "eDRIVE_LIMITS_ARE_FORCES", .mValue: static_cast<PxU32>( physx::PxArticulationFlag::eDRIVE_LIMITS_ARE_FORCES ) },
1123 { NULL, .mValue: 0 }
1124 };
1125
1126template<> struct PxEnumTraits< physx::PxArticulationFlag::Enum > { PxEnumTraits() : NameConversion( g_physx__PxArticulationFlag__EnumConversion ) {} const PxU32ToName* NameConversion; };
1127 static PxU32ToName g_physx__PxArticulationCache__EnumConversion[] = {
1128 { .mName: "eVELOCITY", .mValue: static_cast<PxU32>( physx::PxArticulationCache::eVELOCITY ) },
1129 { .mName: "eACCELERATION", .mValue: static_cast<PxU32>( physx::PxArticulationCache::eACCELERATION ) },
1130 { .mName: "ePOSITION", .mValue: static_cast<PxU32>( physx::PxArticulationCache::ePOSITION ) },
1131 { .mName: "eFORCE", .mValue: static_cast<PxU32>( physx::PxArticulationCache::eFORCE ) },
1132 { .mName: "eLINKVELOCITY", .mValue: static_cast<PxU32>( physx::PxArticulationCache::eLINKVELOCITY ) },
1133 { .mName: "eLINKACCELERATION", .mValue: static_cast<PxU32>( physx::PxArticulationCache::eLINKACCELERATION ) },
1134 { .mName: "eROOT", .mValue: static_cast<PxU32>( physx::PxArticulationCache::eROOT ) },
1135 { .mName: "eALL", .mValue: static_cast<PxU32>( physx::PxArticulationCache::eALL ) },
1136 { NULL, .mValue: 0 }
1137 };
1138
1139template<> struct PxEnumTraits< physx::PxArticulationCache::Enum > { PxEnumTraits() : NameConversion( g_physx__PxArticulationCache__EnumConversion ) {} const PxU32ToName* NameConversion; };
1140 class PxArticulationReducedCoordinate;
1141 struct PxArticulationReducedCoordinateGeneratedValues
1142 : PxArticulationBaseGeneratedValues {
1143 PxArticulationFlags ArticulationFlags;
1144 PxU32 Dofs;
1145 PxU32 CacheDataSize;
1146 PxU32 CoefficientMatrixSize;
1147 PX_PHYSX_CORE_API PxArticulationReducedCoordinateGeneratedValues( const PxArticulationReducedCoordinate* inSource );
1148 };
1149 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationReducedCoordinate, ArticulationFlags, PxArticulationReducedCoordinateGeneratedValues)
1150 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationReducedCoordinate, Dofs, PxArticulationReducedCoordinateGeneratedValues)
1151 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationReducedCoordinate, CacheDataSize, PxArticulationReducedCoordinateGeneratedValues)
1152 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationReducedCoordinate, CoefficientMatrixSize, PxArticulationReducedCoordinateGeneratedValues)
1153 struct PxArticulationReducedCoordinateGeneratedInfo
1154 : PxArticulationBaseGeneratedInfo
1155 {
1156 static const char* getClassName() { return "PxArticulationReducedCoordinate"; }
1157 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationReducedCoordinate_ArticulationFlags, PxArticulationReducedCoordinate, PxArticulationFlags, PxArticulationFlags > ArticulationFlags;
1158 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationReducedCoordinate_Dofs, PxArticulationReducedCoordinate, PxU32 > Dofs;
1159 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationReducedCoordinate_CacheDataSize, PxArticulationReducedCoordinate, PxU32 > CacheDataSize;
1160 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationReducedCoordinate_CoefficientMatrixSize, PxArticulationReducedCoordinate, PxU32 > CoefficientMatrixSize;
1161
1162 PX_PHYSX_CORE_API PxArticulationReducedCoordinateGeneratedInfo();
1163 template<typename TReturnType, typename TOperator>
1164 TReturnType visitType( TOperator inOperator ) const
1165 {
1166 return inOperator( nullptr );
1167 }
1168 template<typename TOperator>
1169 void visitBases( TOperator inOperator )
1170 {
1171 PX_UNUSED(inOperator);
1172 inOperator( *static_cast<PxArticulationBaseGeneratedInfo*>( this ) );
1173 }
1174 template<typename TOperator>
1175 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1176 {
1177 PX_UNUSED(inOperator);
1178 PX_UNUSED(inStartIndex);
1179 inStartIndex = PxArticulationBaseGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
1180 inStartIndex = PxArticulationBaseGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
1181 return inStartIndex;
1182 }
1183 static PxU32 instancePropertyCount() { return 4; }
1184 static PxU32 totalPropertyCount() { return instancePropertyCount()
1185 + PxArticulationBaseGeneratedInfo::totalPropertyCount(); }
1186 template<typename TOperator>
1187 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1188 {
1189 PX_UNUSED(inOperator);
1190 PX_UNUSED(inStartIndex);
1191 inOperator( ArticulationFlags, inStartIndex + 0 );;
1192 inOperator( Dofs, inStartIndex + 1 );;
1193 inOperator( CacheDataSize, inStartIndex + 2 );;
1194 inOperator( CoefficientMatrixSize, inStartIndex + 3 );;
1195 return 4 + inStartIndex;
1196 }
1197 };
1198 template<> struct PxClassInfoTraits<PxArticulationReducedCoordinate>
1199 {
1200 PxArticulationReducedCoordinateGeneratedInfo Info;
1201 const PxArticulationReducedCoordinateGeneratedInfo* getInfo() { return &Info; }
1202 };
1203
1204 class PxAggregate;
1205 struct PxAggregateGeneratedValues
1206 {
1207 PxU32 MaxNbActors;
1208 _Bool SelfCollision;
1209 const char * ConcreteTypeName;
1210 PX_PHYSX_CORE_API PxAggregateGeneratedValues( const PxAggregate* inSource );
1211 };
1212 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxAggregate, MaxNbActors, PxAggregateGeneratedValues)
1213 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxAggregate, SelfCollision, PxAggregateGeneratedValues)
1214 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxAggregate, ConcreteTypeName, PxAggregateGeneratedValues)
1215 struct PxAggregateGeneratedInfo
1216
1217 {
1218 static const char* getClassName() { return "PxAggregate"; }
1219 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxAggregate_MaxNbActors, PxAggregate, PxU32 > MaxNbActors;
1220 PxReadOnlyCollectionPropertyInfo<PX_PROPERTY_INFO_NAME::PxAggregate_Actors, PxAggregate, PxActor * > Actors;
1221 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxAggregate_SelfCollision, PxAggregate, _Bool > SelfCollision;
1222 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxAggregate_ConcreteTypeName, PxAggregate, const char * > ConcreteTypeName;
1223
1224 PX_PHYSX_CORE_API PxAggregateGeneratedInfo();
1225 template<typename TReturnType, typename TOperator>
1226 TReturnType visitType( TOperator inOperator ) const
1227 {
1228 return inOperator( nullptr );
1229 }
1230 template<typename TOperator>
1231 void visitBases( TOperator inOperator )
1232 {
1233 PX_UNUSED(inOperator);
1234 }
1235 template<typename TOperator>
1236 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1237 {
1238 PX_UNUSED(inOperator);
1239 PX_UNUSED(inStartIndex);
1240 return inStartIndex;
1241 }
1242 static PxU32 instancePropertyCount() { return 4; }
1243 static PxU32 totalPropertyCount() { return instancePropertyCount(); }
1244 template<typename TOperator>
1245 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1246 {
1247 PX_UNUSED(inOperator);
1248 PX_UNUSED(inStartIndex);
1249 inOperator( MaxNbActors, inStartIndex + 0 );;
1250 inOperator( Actors, inStartIndex + 1 );;
1251 inOperator( SelfCollision, inStartIndex + 2 );;
1252 inOperator( ConcreteTypeName, inStartIndex + 3 );;
1253 return 4 + inStartIndex;
1254 }
1255 };
1256 template<> struct PxClassInfoTraits<PxAggregate>
1257 {
1258 PxAggregateGeneratedInfo Info;
1259 const PxAggregateGeneratedInfo* getInfo() { return &Info; }
1260 };
1261
1262 static PxU32ToName g_physx__PxConstraintFlag__EnumConversion[] = {
1263 { .mName: "eBROKEN", .mValue: static_cast<PxU32>( physx::PxConstraintFlag::eBROKEN ) },
1264 { .mName: "ePROJECT_TO_ACTOR0", .mValue: static_cast<PxU32>( physx::PxConstraintFlag::ePROJECT_TO_ACTOR0 ) },
1265 { .mName: "ePROJECT_TO_ACTOR1", .mValue: static_cast<PxU32>( physx::PxConstraintFlag::ePROJECT_TO_ACTOR1 ) },
1266 { .mName: "ePROJECTION", .mValue: static_cast<PxU32>( physx::PxConstraintFlag::ePROJECTION ) },
1267 { .mName: "eCOLLISION_ENABLED", .mValue: static_cast<PxU32>( physx::PxConstraintFlag::eCOLLISION_ENABLED ) },
1268 { .mName: "eVISUALIZATION", .mValue: static_cast<PxU32>( physx::PxConstraintFlag::eVISUALIZATION ) },
1269 { .mName: "eDRIVE_LIMITS_ARE_FORCES", .mValue: static_cast<PxU32>( physx::PxConstraintFlag::eDRIVE_LIMITS_ARE_FORCES ) },
1270 { .mName: "eIMPROVED_SLERP", .mValue: static_cast<PxU32>( physx::PxConstraintFlag::eIMPROVED_SLERP ) },
1271 { .mName: "eDISABLE_PREPROCESSING", .mValue: static_cast<PxU32>( physx::PxConstraintFlag::eDISABLE_PREPROCESSING ) },
1272 { .mName: "eENABLE_EXTENDED_LIMITS", .mValue: static_cast<PxU32>( physx::PxConstraintFlag::eENABLE_EXTENDED_LIMITS ) },
1273 { .mName: "eGPU_COMPATIBLE", .mValue: static_cast<PxU32>( physx::PxConstraintFlag::eGPU_COMPATIBLE ) },
1274 { NULL, .mValue: 0 }
1275 };
1276
1277template<> struct PxEnumTraits< physx::PxConstraintFlag::Enum > { PxEnumTraits() : NameConversion( g_physx__PxConstraintFlag__EnumConversion ) {} const PxU32ToName* NameConversion; };
1278 class PxConstraint;
1279 struct PxConstraintGeneratedValues
1280 {
1281 PxScene * Scene;
1282 PxRigidActor * Actors[2];
1283 PxConstraintFlags Flags;
1284 _Bool IsValid;
1285 PxReal BreakForce[2];
1286 PxReal MinResponseThreshold;
1287 const char * ConcreteTypeName;
1288 PX_PHYSX_CORE_API PxConstraintGeneratedValues( const PxConstraint* inSource );
1289 };
1290 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxConstraint, Scene, PxConstraintGeneratedValues)
1291 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxConstraint, Actors, PxConstraintGeneratedValues)
1292 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxConstraint, Flags, PxConstraintGeneratedValues)
1293 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxConstraint, IsValid, PxConstraintGeneratedValues)
1294 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxConstraint, BreakForce, PxConstraintGeneratedValues)
1295 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxConstraint, MinResponseThreshold, PxConstraintGeneratedValues)
1296 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxConstraint, ConcreteTypeName, PxConstraintGeneratedValues)
1297 struct PxConstraintGeneratedInfo
1298
1299 {
1300 static const char* getClassName() { return "PxConstraint"; }
1301 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxConstraint_Scene, PxConstraint, PxScene * > Scene;
1302 PxRangePropertyInfo<PX_PROPERTY_INFO_NAME::PxConstraint_Actors, PxConstraint, PxRigidActor * > Actors;
1303 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxConstraint_Flags, PxConstraint, PxConstraintFlags, PxConstraintFlags > Flags;
1304 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxConstraint_IsValid, PxConstraint, _Bool > IsValid;
1305 PxRangePropertyInfo<PX_PROPERTY_INFO_NAME::PxConstraint_BreakForce, PxConstraint, PxReal > BreakForce;
1306 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxConstraint_MinResponseThreshold, PxConstraint, PxReal, PxReal > MinResponseThreshold;
1307 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxConstraint_ConcreteTypeName, PxConstraint, const char * > ConcreteTypeName;
1308
1309 PX_PHYSX_CORE_API PxConstraintGeneratedInfo();
1310 template<typename TReturnType, typename TOperator>
1311 TReturnType visitType( TOperator inOperator ) const
1312 {
1313 return inOperator( nullptr );
1314 }
1315 template<typename TOperator>
1316 void visitBases( TOperator inOperator )
1317 {
1318 PX_UNUSED(inOperator);
1319 }
1320 template<typename TOperator>
1321 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1322 {
1323 PX_UNUSED(inOperator);
1324 PX_UNUSED(inStartIndex);
1325 return inStartIndex;
1326 }
1327 static PxU32 instancePropertyCount() { return 7; }
1328 static PxU32 totalPropertyCount() { return instancePropertyCount(); }
1329 template<typename TOperator>
1330 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1331 {
1332 PX_UNUSED(inOperator);
1333 PX_UNUSED(inStartIndex);
1334 inOperator( Scene, inStartIndex + 0 );;
1335 inOperator( Actors, inStartIndex + 1 );;
1336 inOperator( Flags, inStartIndex + 2 );;
1337 inOperator( IsValid, inStartIndex + 3 );;
1338 inOperator( BreakForce, inStartIndex + 4 );;
1339 inOperator( MinResponseThreshold, inStartIndex + 5 );;
1340 inOperator( ConcreteTypeName, inStartIndex + 6 );;
1341 return 7 + inStartIndex;
1342 }
1343 };
1344 template<> struct PxClassInfoTraits<PxConstraint>
1345 {
1346 PxConstraintGeneratedInfo Info;
1347 const PxConstraintGeneratedInfo* getInfo() { return &Info; }
1348 };
1349
1350 static PxU32ToName g_physx__PxGeometryType__EnumConversion[] = {
1351 { .mName: "eSPHERE", .mValue: static_cast<PxU32>( physx::PxGeometryType::eSPHERE ) },
1352 { .mName: "ePLANE", .mValue: static_cast<PxU32>( physx::PxGeometryType::ePLANE ) },
1353 { .mName: "eCAPSULE", .mValue: static_cast<PxU32>( physx::PxGeometryType::eCAPSULE ) },
1354 { .mName: "eBOX", .mValue: static_cast<PxU32>( physx::PxGeometryType::eBOX ) },
1355 { .mName: "eCONVEXMESH", .mValue: static_cast<PxU32>( physx::PxGeometryType::eCONVEXMESH ) },
1356 { .mName: "eTRIANGLEMESH", .mValue: static_cast<PxU32>( physx::PxGeometryType::eTRIANGLEMESH ) },
1357 { .mName: "eHEIGHTFIELD", .mValue: static_cast<PxU32>( physx::PxGeometryType::eHEIGHTFIELD ) },
1358 { NULL, .mValue: 0 }
1359 };
1360
1361template<> struct PxEnumTraits< physx::PxGeometryType::Enum > { PxEnumTraits() : NameConversion( g_physx__PxGeometryType__EnumConversion ) {} const PxU32ToName* NameConversion; };
1362 class PxShape;
1363 struct PxShapeGeneratedValues
1364 {
1365 PxU32 ReferenceCount;
1366 PxGeometryType::Enum GeometryType;
1367 PxGeometryHolder Geometry;
1368 PxTransform LocalPose;
1369 PxFilterData SimulationFilterData;
1370 PxFilterData QueryFilterData;
1371 PxReal ContactOffset;
1372 PxReal RestOffset;
1373 PxReal TorsionalPatchRadius;
1374 PxReal MinTorsionalPatchRadius;
1375 PxShapeFlags Flags;
1376 _Bool IsExclusive;
1377 const char * Name;
1378 const char * ConcreteTypeName;
1379 void * UserData;
1380 PX_PHYSX_CORE_API PxShapeGeneratedValues( const PxShape* inSource );
1381 };
1382 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxShape, ReferenceCount, PxShapeGeneratedValues)
1383 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxShape, GeometryType, PxShapeGeneratedValues)
1384 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxShape, Geometry, PxShapeGeneratedValues)
1385 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxShape, LocalPose, PxShapeGeneratedValues)
1386 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxShape, SimulationFilterData, PxShapeGeneratedValues)
1387 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxShape, QueryFilterData, PxShapeGeneratedValues)
1388 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxShape, ContactOffset, PxShapeGeneratedValues)
1389 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxShape, RestOffset, PxShapeGeneratedValues)
1390 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxShape, TorsionalPatchRadius, PxShapeGeneratedValues)
1391 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxShape, MinTorsionalPatchRadius, PxShapeGeneratedValues)
1392 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxShape, Flags, PxShapeGeneratedValues)
1393 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxShape, IsExclusive, PxShapeGeneratedValues)
1394 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxShape, Name, PxShapeGeneratedValues)
1395 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxShape, ConcreteTypeName, PxShapeGeneratedValues)
1396 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxShape, UserData, PxShapeGeneratedValues)
1397 struct PxShapeGeneratedInfo
1398
1399 {
1400 static const char* getClassName() { return "PxShape"; }
1401 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxShape_ReferenceCount, PxShape, PxU32 > ReferenceCount;
1402 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxShape_GeometryType, PxShape, PxGeometryType::Enum > GeometryType;
1403 PxShapeGeometryProperty Geometry;
1404 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxShape_LocalPose, PxShape, const PxTransform &, PxTransform > LocalPose;
1405 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxShape_SimulationFilterData, PxShape, const PxFilterData &, PxFilterData > SimulationFilterData;
1406 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxShape_QueryFilterData, PxShape, const PxFilterData &, PxFilterData > QueryFilterData;
1407 PxShapeMaterialsProperty Materials;
1408 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxShape_ContactOffset, PxShape, PxReal, PxReal > ContactOffset;
1409 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxShape_RestOffset, PxShape, PxReal, PxReal > RestOffset;
1410 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxShape_TorsionalPatchRadius, PxShape, PxReal, PxReal > TorsionalPatchRadius;
1411 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxShape_MinTorsionalPatchRadius, PxShape, PxReal, PxReal > MinTorsionalPatchRadius;
1412 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxShape_Flags, PxShape, PxShapeFlags, PxShapeFlags > Flags;
1413 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxShape_IsExclusive, PxShape, _Bool > IsExclusive;
1414 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxShape_Name, PxShape, const char *, const char * > Name;
1415 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxShape_ConcreteTypeName, PxShape, const char * > ConcreteTypeName;
1416 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxShape_UserData, PxShape, void *, void * > UserData;
1417
1418 PX_PHYSX_CORE_API PxShapeGeneratedInfo();
1419 template<typename TReturnType, typename TOperator>
1420 TReturnType visitType( TOperator inOperator ) const
1421 {
1422 return inOperator( nullptr );
1423 }
1424 template<typename TOperator>
1425 void visitBases( TOperator inOperator )
1426 {
1427 PX_UNUSED(inOperator);
1428 }
1429 template<typename TOperator>
1430 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1431 {
1432 PX_UNUSED(inOperator);
1433 PX_UNUSED(inStartIndex);
1434 return inStartIndex;
1435 }
1436 static PxU32 instancePropertyCount() { return 16; }
1437 static PxU32 totalPropertyCount() { return instancePropertyCount(); }
1438 template<typename TOperator>
1439 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1440 {
1441 PX_UNUSED(inOperator);
1442 PX_UNUSED(inStartIndex);
1443 inOperator( ReferenceCount, inStartIndex + 0 );;
1444 inOperator( GeometryType, inStartIndex + 1 );;
1445 inOperator( Geometry, inStartIndex + 2 );;
1446 inOperator( LocalPose, inStartIndex + 3 );;
1447 inOperator( SimulationFilterData, inStartIndex + 4 );;
1448 inOperator( QueryFilterData, inStartIndex + 5 );;
1449 inOperator( Materials, inStartIndex + 6 );;
1450 inOperator( ContactOffset, inStartIndex + 7 );;
1451 inOperator( RestOffset, inStartIndex + 8 );;
1452 inOperator( TorsionalPatchRadius, inStartIndex + 9 );;
1453 inOperator( MinTorsionalPatchRadius, inStartIndex + 10 );;
1454 inOperator( Flags, inStartIndex + 11 );;
1455 inOperator( IsExclusive, inStartIndex + 12 );;
1456 inOperator( Name, inStartIndex + 13 );;
1457 inOperator( ConcreteTypeName, inStartIndex + 14 );;
1458 inOperator( UserData, inStartIndex + 15 );;
1459 return 16 + inStartIndex;
1460 }
1461 };
1462 template<> struct PxClassInfoTraits<PxShape>
1463 {
1464 PxShapeGeneratedInfo Info;
1465 const PxShapeGeneratedInfo* getInfo() { return &Info; }
1466 };
1467
1468 class PxPruningStructure;
1469 struct PxPruningStructureGeneratedValues
1470 {
1471 const char * ConcreteTypeName;
1472 PX_PHYSX_CORE_API PxPruningStructureGeneratedValues( const PxPruningStructure* inSource );
1473 };
1474 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxPruningStructure, ConcreteTypeName, PxPruningStructureGeneratedValues)
1475 struct PxPruningStructureGeneratedInfo
1476
1477 {
1478 static const char* getClassName() { return "PxPruningStructure"; }
1479 PxReadOnlyCollectionPropertyInfo<PX_PROPERTY_INFO_NAME::PxPruningStructure_RigidActors, PxPruningStructure, PxRigidActor * > RigidActors;
1480 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxPruningStructure_ConcreteTypeName, PxPruningStructure, const char * > ConcreteTypeName;
1481
1482 PX_PHYSX_CORE_API PxPruningStructureGeneratedInfo();
1483 template<typename TReturnType, typename TOperator>
1484 TReturnType visitType( TOperator inOperator ) const
1485 {
1486 return inOperator( nullptr );
1487 }
1488 template<typename TOperator>
1489 void visitBases( TOperator inOperator )
1490 {
1491 PX_UNUSED(inOperator);
1492 }
1493 template<typename TOperator>
1494 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1495 {
1496 PX_UNUSED(inOperator);
1497 PX_UNUSED(inStartIndex);
1498 return inStartIndex;
1499 }
1500 static PxU32 instancePropertyCount() { return 2; }
1501 static PxU32 totalPropertyCount() { return instancePropertyCount(); }
1502 template<typename TOperator>
1503 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1504 {
1505 PX_UNUSED(inOperator);
1506 PX_UNUSED(inStartIndex);
1507 inOperator( RigidActors, inStartIndex + 0 );;
1508 inOperator( ConcreteTypeName, inStartIndex + 1 );;
1509 return 2 + inStartIndex;
1510 }
1511 };
1512 template<> struct PxClassInfoTraits<PxPruningStructure>
1513 {
1514 PxPruningStructureGeneratedInfo Info;
1515 const PxPruningStructureGeneratedInfo* getInfo() { return &Info; }
1516 };
1517
1518 class PxTolerancesScale;
1519 struct PxTolerancesScaleGeneratedValues
1520 {
1521 _Bool IsValid;
1522 PxReal Length;
1523 PxReal Speed;
1524 PX_PHYSX_CORE_API PxTolerancesScaleGeneratedValues( const PxTolerancesScale* inSource );
1525 };
1526 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxTolerancesScale, IsValid, PxTolerancesScaleGeneratedValues)
1527 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxTolerancesScale, Length, PxTolerancesScaleGeneratedValues)
1528 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxTolerancesScale, Speed, PxTolerancesScaleGeneratedValues)
1529 struct PxTolerancesScaleGeneratedInfo
1530
1531 {
1532 static const char* getClassName() { return "PxTolerancesScale"; }
1533 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxTolerancesScale_IsValid, PxTolerancesScale, _Bool > IsValid;
1534 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxTolerancesScale_Length, PxTolerancesScale, PxReal, PxReal > Length;
1535 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxTolerancesScale_Speed, PxTolerancesScale, PxReal, PxReal > Speed;
1536
1537 PX_PHYSX_CORE_API PxTolerancesScaleGeneratedInfo();
1538 template<typename TReturnType, typename TOperator>
1539 TReturnType visitType( TOperator inOperator ) const
1540 {
1541 return inOperator( nullptr );
1542 }
1543 template<typename TOperator>
1544 void visitBases( TOperator inOperator )
1545 {
1546 PX_UNUSED(inOperator);
1547 }
1548 template<typename TOperator>
1549 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1550 {
1551 PX_UNUSED(inOperator);
1552 PX_UNUSED(inStartIndex);
1553 return inStartIndex;
1554 }
1555 static PxU32 instancePropertyCount() { return 3; }
1556 static PxU32 totalPropertyCount() { return instancePropertyCount(); }
1557 template<typename TOperator>
1558 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1559 {
1560 PX_UNUSED(inOperator);
1561 PX_UNUSED(inStartIndex);
1562 inOperator( IsValid, inStartIndex + 0 );;
1563 inOperator( Length, inStartIndex + 1 );;
1564 inOperator( Speed, inStartIndex + 2 );;
1565 return 3 + inStartIndex;
1566 }
1567 };
1568 template<> struct PxClassInfoTraits<PxTolerancesScale>
1569 {
1570 PxTolerancesScaleGeneratedInfo Info;
1571 const PxTolerancesScaleGeneratedInfo* getInfo() { return &Info; }
1572 };
1573
1574 class PxGeometry;
1575 struct PxGeometryGeneratedValues
1576 {
1577 PX_PHYSX_CORE_API PxGeometryGeneratedValues( const PxGeometry* inSource );
1578 };
1579 struct PxGeometryGeneratedInfo
1580
1581 {
1582 static const char* getClassName() { return "PxGeometry"; }
1583
1584 PX_PHYSX_CORE_API PxGeometryGeneratedInfo();
1585 template<typename TReturnType, typename TOperator>
1586 TReturnType visitType( TOperator inOperator ) const
1587 {
1588 return inOperator( nullptr );
1589 }
1590 template<typename TOperator>
1591 void visitBases( TOperator inOperator )
1592 {
1593 PX_UNUSED(inOperator);
1594 }
1595 template<typename TOperator>
1596 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1597 {
1598 PX_UNUSED(inOperator);
1599 PX_UNUSED(inStartIndex);
1600 return inStartIndex;
1601 }
1602 static PxU32 instancePropertyCount() { return 0; }
1603 static PxU32 totalPropertyCount() { return instancePropertyCount(); }
1604 template<typename TOperator>
1605 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1606 {
1607 PX_UNUSED(inOperator);
1608 PX_UNUSED(inStartIndex);
1609 return 0 + inStartIndex;
1610 }
1611 };
1612 template<> struct PxClassInfoTraits<PxGeometry>
1613 {
1614 PxGeometryGeneratedInfo Info;
1615 const PxGeometryGeneratedInfo* getInfo() { return &Info; }
1616 };
1617
1618 class PxBoxGeometry;
1619 struct PxBoxGeometryGeneratedValues
1620 : PxGeometryGeneratedValues {
1621 PxVec3 HalfExtents;
1622 PX_PHYSX_CORE_API PxBoxGeometryGeneratedValues( const PxBoxGeometry* inSource );
1623 };
1624 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxBoxGeometry, HalfExtents, PxBoxGeometryGeneratedValues)
1625 struct PxBoxGeometryGeneratedInfo
1626 : PxGeometryGeneratedInfo
1627 {
1628 static const char* getClassName() { return "PxBoxGeometry"; }
1629 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxBoxGeometry_HalfExtents, PxBoxGeometry, PxVec3, PxVec3 > HalfExtents;
1630
1631 PX_PHYSX_CORE_API PxBoxGeometryGeneratedInfo();
1632 template<typename TReturnType, typename TOperator>
1633 TReturnType visitType( TOperator inOperator ) const
1634 {
1635 return inOperator( nullptr );
1636 }
1637 template<typename TOperator>
1638 void visitBases( TOperator inOperator )
1639 {
1640 PX_UNUSED(inOperator);
1641 inOperator( *static_cast<PxGeometryGeneratedInfo*>( this ) );
1642 }
1643 template<typename TOperator>
1644 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1645 {
1646 PX_UNUSED(inOperator);
1647 PX_UNUSED(inStartIndex);
1648 inStartIndex = PxGeometryGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
1649 inStartIndex = PxGeometryGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
1650 return inStartIndex;
1651 }
1652 static PxU32 instancePropertyCount() { return 1; }
1653 static PxU32 totalPropertyCount() { return instancePropertyCount()
1654 + PxGeometryGeneratedInfo::totalPropertyCount(); }
1655 template<typename TOperator>
1656 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1657 {
1658 PX_UNUSED(inOperator);
1659 PX_UNUSED(inStartIndex);
1660 inOperator( HalfExtents, inStartIndex + 0 );;
1661 return 1 + inStartIndex;
1662 }
1663 };
1664 template<> struct PxClassInfoTraits<PxBoxGeometry>
1665 {
1666 PxBoxGeometryGeneratedInfo Info;
1667 const PxBoxGeometryGeneratedInfo* getInfo() { return &Info; }
1668 };
1669
1670 class PxCapsuleGeometry;
1671 struct PxCapsuleGeometryGeneratedValues
1672 : PxGeometryGeneratedValues {
1673 PxReal Radius;
1674 PxReal HalfHeight;
1675 PX_PHYSX_CORE_API PxCapsuleGeometryGeneratedValues( const PxCapsuleGeometry* inSource );
1676 };
1677 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxCapsuleGeometry, Radius, PxCapsuleGeometryGeneratedValues)
1678 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxCapsuleGeometry, HalfHeight, PxCapsuleGeometryGeneratedValues)
1679 struct PxCapsuleGeometryGeneratedInfo
1680 : PxGeometryGeneratedInfo
1681 {
1682 static const char* getClassName() { return "PxCapsuleGeometry"; }
1683 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxCapsuleGeometry_Radius, PxCapsuleGeometry, PxReal, PxReal > Radius;
1684 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxCapsuleGeometry_HalfHeight, PxCapsuleGeometry, PxReal, PxReal > HalfHeight;
1685
1686 PX_PHYSX_CORE_API PxCapsuleGeometryGeneratedInfo();
1687 template<typename TReturnType, typename TOperator>
1688 TReturnType visitType( TOperator inOperator ) const
1689 {
1690 return inOperator( nullptr );
1691 }
1692 template<typename TOperator>
1693 void visitBases( TOperator inOperator )
1694 {
1695 PX_UNUSED(inOperator);
1696 inOperator( *static_cast<PxGeometryGeneratedInfo*>( this ) );
1697 }
1698 template<typename TOperator>
1699 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1700 {
1701 PX_UNUSED(inOperator);
1702 PX_UNUSED(inStartIndex);
1703 inStartIndex = PxGeometryGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
1704 inStartIndex = PxGeometryGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
1705 return inStartIndex;
1706 }
1707 static PxU32 instancePropertyCount() { return 2; }
1708 static PxU32 totalPropertyCount() { return instancePropertyCount()
1709 + PxGeometryGeneratedInfo::totalPropertyCount(); }
1710 template<typename TOperator>
1711 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1712 {
1713 PX_UNUSED(inOperator);
1714 PX_UNUSED(inStartIndex);
1715 inOperator( Radius, inStartIndex + 0 );;
1716 inOperator( HalfHeight, inStartIndex + 1 );;
1717 return 2 + inStartIndex;
1718 }
1719 };
1720 template<> struct PxClassInfoTraits<PxCapsuleGeometry>
1721 {
1722 PxCapsuleGeometryGeneratedInfo Info;
1723 const PxCapsuleGeometryGeneratedInfo* getInfo() { return &Info; }
1724 };
1725
1726 class PxMeshScale;
1727 struct PxMeshScaleGeneratedValues
1728 {
1729 PxVec3 Scale;
1730 PxQuat Rotation;
1731 PX_PHYSX_CORE_API PxMeshScaleGeneratedValues( const PxMeshScale* inSource );
1732 };
1733 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxMeshScale, Scale, PxMeshScaleGeneratedValues)
1734 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxMeshScale, Rotation, PxMeshScaleGeneratedValues)
1735 struct PxMeshScaleGeneratedInfo
1736
1737 {
1738 static const char* getClassName() { return "PxMeshScale"; }
1739 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxMeshScale_Scale, PxMeshScale, PxVec3, PxVec3 > Scale;
1740 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxMeshScale_Rotation, PxMeshScale, PxQuat, PxQuat > Rotation;
1741
1742 PX_PHYSX_CORE_API PxMeshScaleGeneratedInfo();
1743 template<typename TReturnType, typename TOperator>
1744 TReturnType visitType( TOperator inOperator ) const
1745 {
1746 return inOperator( nullptr );
1747 }
1748 template<typename TOperator>
1749 void visitBases( TOperator inOperator )
1750 {
1751 PX_UNUSED(inOperator);
1752 }
1753 template<typename TOperator>
1754 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1755 {
1756 PX_UNUSED(inOperator);
1757 PX_UNUSED(inStartIndex);
1758 return inStartIndex;
1759 }
1760 static PxU32 instancePropertyCount() { return 2; }
1761 static PxU32 totalPropertyCount() { return instancePropertyCount(); }
1762 template<typename TOperator>
1763 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1764 {
1765 PX_UNUSED(inOperator);
1766 PX_UNUSED(inStartIndex);
1767 inOperator( Scale, inStartIndex + 0 );;
1768 inOperator( Rotation, inStartIndex + 1 );;
1769 return 2 + inStartIndex;
1770 }
1771 };
1772 template<> struct PxClassInfoTraits<PxMeshScale>
1773 {
1774 PxMeshScaleGeneratedInfo Info;
1775 const PxMeshScaleGeneratedInfo* getInfo() { return &Info; }
1776 };
1777
1778 static PxU32ToName g_physx__PxConvexMeshGeometryFlag__EnumConversion[] = {
1779 { .mName: "eTIGHT_BOUNDS", .mValue: static_cast<PxU32>( physx::PxConvexMeshGeometryFlag::eTIGHT_BOUNDS ) },
1780 { NULL, .mValue: 0 }
1781 };
1782
1783template<> struct PxEnumTraits< physx::PxConvexMeshGeometryFlag::Enum > { PxEnumTraits() : NameConversion( g_physx__PxConvexMeshGeometryFlag__EnumConversion ) {} const PxU32ToName* NameConversion; };
1784 class PxConvexMeshGeometry;
1785 struct PxConvexMeshGeometryGeneratedValues
1786 : PxGeometryGeneratedValues {
1787 PxMeshScale Scale;
1788 PxConvexMesh * ConvexMesh;
1789 PxConvexMeshGeometryFlags MeshFlags;
1790 PX_PHYSX_CORE_API PxConvexMeshGeometryGeneratedValues( const PxConvexMeshGeometry* inSource );
1791 };
1792 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxConvexMeshGeometry, Scale, PxConvexMeshGeometryGeneratedValues)
1793 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxConvexMeshGeometry, ConvexMesh, PxConvexMeshGeometryGeneratedValues)
1794 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxConvexMeshGeometry, MeshFlags, PxConvexMeshGeometryGeneratedValues)
1795 struct PxConvexMeshGeometryGeneratedInfo
1796 : PxGeometryGeneratedInfo
1797 {
1798 static const char* getClassName() { return "PxConvexMeshGeometry"; }
1799 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxConvexMeshGeometry_Scale, PxConvexMeshGeometry, PxMeshScale, PxMeshScale > Scale;
1800 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxConvexMeshGeometry_ConvexMesh, PxConvexMeshGeometry, PxConvexMesh *, PxConvexMesh * > ConvexMesh;
1801 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxConvexMeshGeometry_MeshFlags, PxConvexMeshGeometry, PxConvexMeshGeometryFlags, PxConvexMeshGeometryFlags > MeshFlags;
1802
1803 PX_PHYSX_CORE_API PxConvexMeshGeometryGeneratedInfo();
1804 template<typename TReturnType, typename TOperator>
1805 TReturnType visitType( TOperator inOperator ) const
1806 {
1807 return inOperator( nullptr );
1808 }
1809 template<typename TOperator>
1810 void visitBases( TOperator inOperator )
1811 {
1812 PX_UNUSED(inOperator);
1813 inOperator( *static_cast<PxGeometryGeneratedInfo*>( this ) );
1814 }
1815 template<typename TOperator>
1816 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1817 {
1818 PX_UNUSED(inOperator);
1819 PX_UNUSED(inStartIndex);
1820 inStartIndex = PxGeometryGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
1821 inStartIndex = PxGeometryGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
1822 return inStartIndex;
1823 }
1824 static PxU32 instancePropertyCount() { return 3; }
1825 static PxU32 totalPropertyCount() { return instancePropertyCount()
1826 + PxGeometryGeneratedInfo::totalPropertyCount(); }
1827 template<typename TOperator>
1828 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1829 {
1830 PX_UNUSED(inOperator);
1831 PX_UNUSED(inStartIndex);
1832 inOperator( Scale, inStartIndex + 0 );;
1833 inOperator( ConvexMesh, inStartIndex + 1 );;
1834 inOperator( MeshFlags, inStartIndex + 2 );;
1835 return 3 + inStartIndex;
1836 }
1837 };
1838 template<> struct PxClassInfoTraits<PxConvexMeshGeometry>
1839 {
1840 PxConvexMeshGeometryGeneratedInfo Info;
1841 const PxConvexMeshGeometryGeneratedInfo* getInfo() { return &Info; }
1842 };
1843
1844 class PxSphereGeometry;
1845 struct PxSphereGeometryGeneratedValues
1846 : PxGeometryGeneratedValues {
1847 PxReal Radius;
1848 PX_PHYSX_CORE_API PxSphereGeometryGeneratedValues( const PxSphereGeometry* inSource );
1849 };
1850 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSphereGeometry, Radius, PxSphereGeometryGeneratedValues)
1851 struct PxSphereGeometryGeneratedInfo
1852 : PxGeometryGeneratedInfo
1853 {
1854 static const char* getClassName() { return "PxSphereGeometry"; }
1855 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSphereGeometry_Radius, PxSphereGeometry, PxReal, PxReal > Radius;
1856
1857 PX_PHYSX_CORE_API PxSphereGeometryGeneratedInfo();
1858 template<typename TReturnType, typename TOperator>
1859 TReturnType visitType( TOperator inOperator ) const
1860 {
1861 return inOperator( nullptr );
1862 }
1863 template<typename TOperator>
1864 void visitBases( TOperator inOperator )
1865 {
1866 PX_UNUSED(inOperator);
1867 inOperator( *static_cast<PxGeometryGeneratedInfo*>( this ) );
1868 }
1869 template<typename TOperator>
1870 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1871 {
1872 PX_UNUSED(inOperator);
1873 PX_UNUSED(inStartIndex);
1874 inStartIndex = PxGeometryGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
1875 inStartIndex = PxGeometryGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
1876 return inStartIndex;
1877 }
1878 static PxU32 instancePropertyCount() { return 1; }
1879 static PxU32 totalPropertyCount() { return instancePropertyCount()
1880 + PxGeometryGeneratedInfo::totalPropertyCount(); }
1881 template<typename TOperator>
1882 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1883 {
1884 PX_UNUSED(inOperator);
1885 PX_UNUSED(inStartIndex);
1886 inOperator( Radius, inStartIndex + 0 );;
1887 return 1 + inStartIndex;
1888 }
1889 };
1890 template<> struct PxClassInfoTraits<PxSphereGeometry>
1891 {
1892 PxSphereGeometryGeneratedInfo Info;
1893 const PxSphereGeometryGeneratedInfo* getInfo() { return &Info; }
1894 };
1895
1896 class PxPlaneGeometry;
1897 struct PxPlaneGeometryGeneratedValues
1898 : PxGeometryGeneratedValues {
1899 PX_PHYSX_CORE_API PxPlaneGeometryGeneratedValues( const PxPlaneGeometry* inSource );
1900 };
1901 struct PxPlaneGeometryGeneratedInfo
1902 : PxGeometryGeneratedInfo
1903 {
1904 static const char* getClassName() { return "PxPlaneGeometry"; }
1905
1906 PX_PHYSX_CORE_API PxPlaneGeometryGeneratedInfo();
1907 template<typename TReturnType, typename TOperator>
1908 TReturnType visitType( TOperator inOperator ) const
1909 {
1910 return inOperator( nullptr );
1911 }
1912 template<typename TOperator>
1913 void visitBases( TOperator inOperator )
1914 {
1915 PX_UNUSED(inOperator);
1916 inOperator( *static_cast<PxGeometryGeneratedInfo*>( this ) );
1917 }
1918 template<typename TOperator>
1919 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1920 {
1921 PX_UNUSED(inOperator);
1922 PX_UNUSED(inStartIndex);
1923 inStartIndex = PxGeometryGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
1924 inStartIndex = PxGeometryGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
1925 return inStartIndex;
1926 }
1927 static PxU32 instancePropertyCount() { return 0; }
1928 static PxU32 totalPropertyCount() { return instancePropertyCount()
1929 + PxGeometryGeneratedInfo::totalPropertyCount(); }
1930 template<typename TOperator>
1931 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1932 {
1933 PX_UNUSED(inOperator);
1934 PX_UNUSED(inStartIndex);
1935 return 0 + inStartIndex;
1936 }
1937 };
1938 template<> struct PxClassInfoTraits<PxPlaneGeometry>
1939 {
1940 PxPlaneGeometryGeneratedInfo Info;
1941 const PxPlaneGeometryGeneratedInfo* getInfo() { return &Info; }
1942 };
1943
1944 static PxU32ToName g_physx__PxMeshGeometryFlag__EnumConversion[] = {
1945 { .mName: "eDOUBLE_SIDED", .mValue: static_cast<PxU32>( physx::PxMeshGeometryFlag::eDOUBLE_SIDED ) },
1946 { NULL, .mValue: 0 }
1947 };
1948
1949template<> struct PxEnumTraits< physx::PxMeshGeometryFlag::Enum > { PxEnumTraits() : NameConversion( g_physx__PxMeshGeometryFlag__EnumConversion ) {} const PxU32ToName* NameConversion; };
1950 class PxTriangleMeshGeometry;
1951 struct PxTriangleMeshGeometryGeneratedValues
1952 : PxGeometryGeneratedValues {
1953 PxMeshScale Scale;
1954 PxMeshGeometryFlags MeshFlags;
1955 PxTriangleMesh * TriangleMesh;
1956 PX_PHYSX_CORE_API PxTriangleMeshGeometryGeneratedValues( const PxTriangleMeshGeometry* inSource );
1957 };
1958 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxTriangleMeshGeometry, Scale, PxTriangleMeshGeometryGeneratedValues)
1959 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxTriangleMeshGeometry, MeshFlags, PxTriangleMeshGeometryGeneratedValues)
1960 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxTriangleMeshGeometry, TriangleMesh, PxTriangleMeshGeometryGeneratedValues)
1961 struct PxTriangleMeshGeometryGeneratedInfo
1962 : PxGeometryGeneratedInfo
1963 {
1964 static const char* getClassName() { return "PxTriangleMeshGeometry"; }
1965 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxTriangleMeshGeometry_Scale, PxTriangleMeshGeometry, PxMeshScale, PxMeshScale > Scale;
1966 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxTriangleMeshGeometry_MeshFlags, PxTriangleMeshGeometry, PxMeshGeometryFlags, PxMeshGeometryFlags > MeshFlags;
1967 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxTriangleMeshGeometry_TriangleMesh, PxTriangleMeshGeometry, PxTriangleMesh *, PxTriangleMesh * > TriangleMesh;
1968
1969 PX_PHYSX_CORE_API PxTriangleMeshGeometryGeneratedInfo();
1970 template<typename TReturnType, typename TOperator>
1971 TReturnType visitType( TOperator inOperator ) const
1972 {
1973 return inOperator( nullptr );
1974 }
1975 template<typename TOperator>
1976 void visitBases( TOperator inOperator )
1977 {
1978 PX_UNUSED(inOperator);
1979 inOperator( *static_cast<PxGeometryGeneratedInfo*>( this ) );
1980 }
1981 template<typename TOperator>
1982 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1983 {
1984 PX_UNUSED(inOperator);
1985 PX_UNUSED(inStartIndex);
1986 inStartIndex = PxGeometryGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
1987 inStartIndex = PxGeometryGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
1988 return inStartIndex;
1989 }
1990 static PxU32 instancePropertyCount() { return 3; }
1991 static PxU32 totalPropertyCount() { return instancePropertyCount()
1992 + PxGeometryGeneratedInfo::totalPropertyCount(); }
1993 template<typename TOperator>
1994 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1995 {
1996 PX_UNUSED(inOperator);
1997 PX_UNUSED(inStartIndex);
1998 inOperator( Scale, inStartIndex + 0 );;
1999 inOperator( MeshFlags, inStartIndex + 1 );;
2000 inOperator( TriangleMesh, inStartIndex + 2 );;
2001 return 3 + inStartIndex;
2002 }
2003 };
2004 template<> struct PxClassInfoTraits<PxTriangleMeshGeometry>
2005 {
2006 PxTriangleMeshGeometryGeneratedInfo Info;
2007 const PxTriangleMeshGeometryGeneratedInfo* getInfo() { return &Info; }
2008 };
2009
2010 class PxHeightFieldGeometry;
2011 struct PxHeightFieldGeometryGeneratedValues
2012 : PxGeometryGeneratedValues {
2013 PxHeightField * HeightField;
2014 PxReal HeightScale;
2015 PxReal RowScale;
2016 PxReal ColumnScale;
2017 PxMeshGeometryFlags HeightFieldFlags;
2018 PX_PHYSX_CORE_API PxHeightFieldGeometryGeneratedValues( const PxHeightFieldGeometry* inSource );
2019 };
2020 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxHeightFieldGeometry, HeightField, PxHeightFieldGeometryGeneratedValues)
2021 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxHeightFieldGeometry, HeightScale, PxHeightFieldGeometryGeneratedValues)
2022 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxHeightFieldGeometry, RowScale, PxHeightFieldGeometryGeneratedValues)
2023 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxHeightFieldGeometry, ColumnScale, PxHeightFieldGeometryGeneratedValues)
2024 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxHeightFieldGeometry, HeightFieldFlags, PxHeightFieldGeometryGeneratedValues)
2025 struct PxHeightFieldGeometryGeneratedInfo
2026 : PxGeometryGeneratedInfo
2027 {
2028 static const char* getClassName() { return "PxHeightFieldGeometry"; }
2029 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxHeightFieldGeometry_HeightField, PxHeightFieldGeometry, PxHeightField *, PxHeightField * > HeightField;
2030 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxHeightFieldGeometry_HeightScale, PxHeightFieldGeometry, PxReal, PxReal > HeightScale;
2031 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxHeightFieldGeometry_RowScale, PxHeightFieldGeometry, PxReal, PxReal > RowScale;
2032 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxHeightFieldGeometry_ColumnScale, PxHeightFieldGeometry, PxReal, PxReal > ColumnScale;
2033 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxHeightFieldGeometry_HeightFieldFlags, PxHeightFieldGeometry, PxMeshGeometryFlags, PxMeshGeometryFlags > HeightFieldFlags;
2034
2035 PX_PHYSX_CORE_API PxHeightFieldGeometryGeneratedInfo();
2036 template<typename TReturnType, typename TOperator>
2037 TReturnType visitType( TOperator inOperator ) const
2038 {
2039 return inOperator( nullptr );
2040 }
2041 template<typename TOperator>
2042 void visitBases( TOperator inOperator )
2043 {
2044 PX_UNUSED(inOperator);
2045 inOperator( *static_cast<PxGeometryGeneratedInfo*>( this ) );
2046 }
2047 template<typename TOperator>
2048 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
2049 {
2050 PX_UNUSED(inOperator);
2051 PX_UNUSED(inStartIndex);
2052 inStartIndex = PxGeometryGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
2053 inStartIndex = PxGeometryGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
2054 return inStartIndex;
2055 }
2056 static PxU32 instancePropertyCount() { return 5; }
2057 static PxU32 totalPropertyCount() { return instancePropertyCount()
2058 + PxGeometryGeneratedInfo::totalPropertyCount(); }
2059 template<typename TOperator>
2060 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
2061 {
2062 PX_UNUSED(inOperator);
2063 PX_UNUSED(inStartIndex);
2064 inOperator( HeightField, inStartIndex + 0 );;
2065 inOperator( HeightScale, inStartIndex + 1 );;
2066 inOperator( RowScale, inStartIndex + 2 );;
2067 inOperator( ColumnScale, inStartIndex + 3 );;
2068 inOperator( HeightFieldFlags, inStartIndex + 4 );;
2069 return 5 + inStartIndex;
2070 }
2071 };
2072 template<> struct PxClassInfoTraits<PxHeightFieldGeometry>
2073 {
2074 PxHeightFieldGeometryGeneratedInfo Info;
2075 const PxHeightFieldGeometryGeneratedInfo* getInfo() { return &Info; }
2076 };
2077
2078 static PxU32ToName g_physx__PxHeightFieldFormat__EnumConversion[] = {
2079 { .mName: "eS16_TM", .mValue: static_cast<PxU32>( physx::PxHeightFieldFormat::eS16_TM ) },
2080 { NULL, .mValue: 0 }
2081 };
2082
2083template<> struct PxEnumTraits< physx::PxHeightFieldFormat::Enum > { PxEnumTraits() : NameConversion( g_physx__PxHeightFieldFormat__EnumConversion ) {} const PxU32ToName* NameConversion; };
2084 static PxU32ToName g_physx__PxHeightFieldFlag__EnumConversion[] = {
2085 { .mName: "eNO_BOUNDARY_EDGES", .mValue: static_cast<PxU32>( physx::PxHeightFieldFlag::eNO_BOUNDARY_EDGES ) },
2086 { NULL, .mValue: 0 }
2087 };
2088
2089template<> struct PxEnumTraits< physx::PxHeightFieldFlag::Enum > { PxEnumTraits() : NameConversion( g_physx__PxHeightFieldFlag__EnumConversion ) {} const PxU32ToName* NameConversion; };
2090 class PxHeightFieldDesc;
2091 struct PxHeightFieldDescGeneratedValues
2092 {
2093 PxU32 NbRows;
2094 PxU32 NbColumns;
2095 PxHeightFieldFormat::Enum Format;
2096 PxStridedData Samples;
2097 PxReal ConvexEdgeThreshold;
2098 PxHeightFieldFlags Flags;
2099 PX_PHYSX_CORE_API PxHeightFieldDescGeneratedValues( const PxHeightFieldDesc* inSource );
2100 };
2101 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxHeightFieldDesc, NbRows, PxHeightFieldDescGeneratedValues)
2102 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxHeightFieldDesc, NbColumns, PxHeightFieldDescGeneratedValues)
2103 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxHeightFieldDesc, Format, PxHeightFieldDescGeneratedValues)
2104 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxHeightFieldDesc, Samples, PxHeightFieldDescGeneratedValues)
2105 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxHeightFieldDesc, ConvexEdgeThreshold, PxHeightFieldDescGeneratedValues)
2106 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxHeightFieldDesc, Flags, PxHeightFieldDescGeneratedValues)
2107 struct PxHeightFieldDescGeneratedInfo
2108
2109 {
2110 static const char* getClassName() { return "PxHeightFieldDesc"; }
2111 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxHeightFieldDesc_NbRows, PxHeightFieldDesc, PxU32, PxU32 > NbRows;
2112 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxHeightFieldDesc_NbColumns, PxHeightFieldDesc, PxU32, PxU32 > NbColumns;
2113 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxHeightFieldDesc_Format, PxHeightFieldDesc, PxHeightFieldFormat::Enum, PxHeightFieldFormat::Enum > Format;
2114 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxHeightFieldDesc_Samples, PxHeightFieldDesc, PxStridedData, PxStridedData > Samples;
2115 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxHeightFieldDesc_ConvexEdgeThreshold, PxHeightFieldDesc, PxReal, PxReal > ConvexEdgeThreshold;
2116 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxHeightFieldDesc_Flags, PxHeightFieldDesc, PxHeightFieldFlags, PxHeightFieldFlags > Flags;
2117
2118 PX_PHYSX_CORE_API PxHeightFieldDescGeneratedInfo();
2119 template<typename TReturnType, typename TOperator>
2120 TReturnType visitType( TOperator inOperator ) const
2121 {
2122 return inOperator( nullptr );
2123 }
2124 template<typename TOperator>
2125 void visitBases( TOperator inOperator )
2126 {
2127 PX_UNUSED(inOperator);
2128 }
2129 template<typename TOperator>
2130 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
2131 {
2132 PX_UNUSED(inOperator);
2133 PX_UNUSED(inStartIndex);
2134 return inStartIndex;
2135 }
2136 static PxU32 instancePropertyCount() { return 6; }
2137 static PxU32 totalPropertyCount() { return instancePropertyCount(); }
2138 template<typename TOperator>
2139 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
2140 {
2141 PX_UNUSED(inOperator);
2142 PX_UNUSED(inStartIndex);
2143 inOperator( NbRows, inStartIndex + 0 );;
2144 inOperator( NbColumns, inStartIndex + 1 );;
2145 inOperator( Format, inStartIndex + 2 );;
2146 inOperator( Samples, inStartIndex + 3 );;
2147 inOperator( ConvexEdgeThreshold, inStartIndex + 4 );;
2148 inOperator( Flags, inStartIndex + 5 );;
2149 return 6 + inStartIndex;
2150 }
2151 };
2152 template<> struct PxClassInfoTraits<PxHeightFieldDesc>
2153 {
2154 PxHeightFieldDescGeneratedInfo Info;
2155 const PxHeightFieldDescGeneratedInfo* getInfo() { return &Info; }
2156 };
2157
2158 static PxU32ToName g_physx__PxSceneFlag__EnumConversion[] = {
2159 { .mName: "eENABLE_ACTIVE_ACTORS", .mValue: static_cast<PxU32>( physx::PxSceneFlag::eENABLE_ACTIVE_ACTORS ) },
2160 { .mName: "eENABLE_CCD", .mValue: static_cast<PxU32>( physx::PxSceneFlag::eENABLE_CCD ) },
2161 { .mName: "eDISABLE_CCD_RESWEEP", .mValue: static_cast<PxU32>( physx::PxSceneFlag::eDISABLE_CCD_RESWEEP ) },
2162 { .mName: "eADAPTIVE_FORCE", .mValue: static_cast<PxU32>( physx::PxSceneFlag::eADAPTIVE_FORCE ) },
2163 { .mName: "eENABLE_PCM", .mValue: static_cast<PxU32>( physx::PxSceneFlag::eENABLE_PCM ) },
2164 { .mName: "eDISABLE_CONTACT_REPORT_BUFFER_RESIZE", .mValue: static_cast<PxU32>( physx::PxSceneFlag::eDISABLE_CONTACT_REPORT_BUFFER_RESIZE ) },
2165 { .mName: "eDISABLE_CONTACT_CACHE", .mValue: static_cast<PxU32>( physx::PxSceneFlag::eDISABLE_CONTACT_CACHE ) },
2166 { .mName: "eREQUIRE_RW_LOCK", .mValue: static_cast<PxU32>( physx::PxSceneFlag::eREQUIRE_RW_LOCK ) },
2167 { .mName: "eENABLE_STABILIZATION", .mValue: static_cast<PxU32>( physx::PxSceneFlag::eENABLE_STABILIZATION ) },
2168 { .mName: "eENABLE_AVERAGE_POINT", .mValue: static_cast<PxU32>( physx::PxSceneFlag::eENABLE_AVERAGE_POINT ) },
2169 { .mName: "eEXCLUDE_KINEMATICS_FROM_ACTIVE_ACTORS", .mValue: static_cast<PxU32>( physx::PxSceneFlag::eEXCLUDE_KINEMATICS_FROM_ACTIVE_ACTORS ) },
2170 { .mName: "eENABLE_GPU_DYNAMICS", .mValue: static_cast<PxU32>( physx::PxSceneFlag::eENABLE_GPU_DYNAMICS ) },
2171 { .mName: "eENABLE_ENHANCED_DETERMINISM", .mValue: static_cast<PxU32>( physx::PxSceneFlag::eENABLE_ENHANCED_DETERMINISM ) },
2172 { .mName: "eENABLE_FRICTION_EVERY_ITERATION", .mValue: static_cast<PxU32>( physx::PxSceneFlag::eENABLE_FRICTION_EVERY_ITERATION ) },
2173 { .mName: "eMUTABLE_FLAGS", .mValue: static_cast<PxU32>( physx::PxSceneFlag::eMUTABLE_FLAGS ) },
2174 { NULL, .mValue: 0 }
2175 };
2176
2177template<> struct PxEnumTraits< physx::PxSceneFlag::Enum > { PxEnumTraits() : NameConversion( g_physx__PxSceneFlag__EnumConversion ) {} const PxU32ToName* NameConversion; };
2178 static PxU32ToName g_physx__PxActorTypeFlag__EnumConversion[] = {
2179 { .mName: "eRIGID_STATIC", .mValue: static_cast<PxU32>( physx::PxActorTypeFlag::eRIGID_STATIC ) },
2180 { .mName: "eRIGID_DYNAMIC", .mValue: static_cast<PxU32>( physx::PxActorTypeFlag::eRIGID_DYNAMIC ) },
2181 { NULL, .mValue: 0 }
2182 };
2183
2184template<> struct PxEnumTraits< physx::PxActorTypeFlag::Enum > { PxEnumTraits() : NameConversion( g_physx__PxActorTypeFlag__EnumConversion ) {} const PxU32ToName* NameConversion; };
2185 static PxU32ToName g_physx__PxPairFilteringMode__EnumConversion[] = {
2186 { .mName: "eKEEP", .mValue: static_cast<PxU32>( physx::PxPairFilteringMode::eKEEP ) },
2187 { .mName: "eSUPPRESS", .mValue: static_cast<PxU32>( physx::PxPairFilteringMode::eSUPPRESS ) },
2188 { .mName: "eKILL", .mValue: static_cast<PxU32>( physx::PxPairFilteringMode::eKILL ) },
2189 { .mName: "eDEFAULT", .mValue: static_cast<PxU32>( physx::PxPairFilteringMode::eDEFAULT ) },
2190 { NULL, .mValue: 0 }
2191 };
2192
2193template<> struct PxEnumTraits< physx::PxPairFilteringMode::Enum > { PxEnumTraits() : NameConversion( g_physx__PxPairFilteringMode__EnumConversion ) {} const PxU32ToName* NameConversion; };
2194 static PxU32ToName g_physx__PxFrictionType__EnumConversion[] = {
2195 { .mName: "ePATCH", .mValue: static_cast<PxU32>( physx::PxFrictionType::ePATCH ) },
2196 { .mName: "eONE_DIRECTIONAL", .mValue: static_cast<PxU32>( physx::PxFrictionType::eONE_DIRECTIONAL ) },
2197 { .mName: "eTWO_DIRECTIONAL", .mValue: static_cast<PxU32>( physx::PxFrictionType::eTWO_DIRECTIONAL ) },
2198 { NULL, .mValue: 0 }
2199 };
2200
2201template<> struct PxEnumTraits< physx::PxFrictionType::Enum > { PxEnumTraits() : NameConversion( g_physx__PxFrictionType__EnumConversion ) {} const PxU32ToName* NameConversion; };
2202 static PxU32ToName g_physx__PxVisualizationParameter__EnumConversion[] = {
2203 { .mName: "eSCALE", .mValue: static_cast<PxU32>( physx::PxVisualizationParameter::eSCALE ) },
2204 { .mName: "eWORLD_AXES", .mValue: static_cast<PxU32>( physx::PxVisualizationParameter::eWORLD_AXES ) },
2205 { .mName: "eBODY_AXES", .mValue: static_cast<PxU32>( physx::PxVisualizationParameter::eBODY_AXES ) },
2206 { .mName: "eBODY_MASS_AXES", .mValue: static_cast<PxU32>( physx::PxVisualizationParameter::eBODY_MASS_AXES ) },
2207 { .mName: "eBODY_LIN_VELOCITY", .mValue: static_cast<PxU32>( physx::PxVisualizationParameter::eBODY_LIN_VELOCITY ) },
2208 { .mName: "eBODY_ANG_VELOCITY", .mValue: static_cast<PxU32>( physx::PxVisualizationParameter::eBODY_ANG_VELOCITY ) },
2209 { .mName: "eCONTACT_POINT", .mValue: static_cast<PxU32>( physx::PxVisualizationParameter::eCONTACT_POINT ) },
2210 { .mName: "eCONTACT_NORMAL", .mValue: static_cast<PxU32>( physx::PxVisualizationParameter::eCONTACT_NORMAL ) },
2211 { .mName: "eCONTACT_ERROR", .mValue: static_cast<PxU32>( physx::PxVisualizationParameter::eCONTACT_ERROR ) },
2212 { .mName: "eCONTACT_FORCE", .mValue: static_cast<PxU32>( physx::PxVisualizationParameter::eCONTACT_FORCE ) },
2213 { .mName: "eACTOR_AXES", .mValue: static_cast<PxU32>( physx::PxVisualizationParameter::eACTOR_AXES ) },
2214 { .mName: "eCOLLISION_AABBS", .mValue: static_cast<PxU32>( physx::PxVisualizationParameter::eCOLLISION_AABBS ) },
2215 { .mName: "eCOLLISION_SHAPES", .mValue: static_cast<PxU32>( physx::PxVisualizationParameter::eCOLLISION_SHAPES ) },
2216 { .mName: "eCOLLISION_AXES", .mValue: static_cast<PxU32>( physx::PxVisualizationParameter::eCOLLISION_AXES ) },
2217 { .mName: "eCOLLISION_COMPOUNDS", .mValue: static_cast<PxU32>( physx::PxVisualizationParameter::eCOLLISION_COMPOUNDS ) },
2218 { .mName: "eCOLLISION_FNORMALS", .mValue: static_cast<PxU32>( physx::PxVisualizationParameter::eCOLLISION_FNORMALS ) },
2219 { .mName: "eCOLLISION_EDGES", .mValue: static_cast<PxU32>( physx::PxVisualizationParameter::eCOLLISION_EDGES ) },
2220 { .mName: "eCOLLISION_STATIC", .mValue: static_cast<PxU32>( physx::PxVisualizationParameter::eCOLLISION_STATIC ) },
2221 { .mName: "eCOLLISION_DYNAMIC", .mValue: static_cast<PxU32>( physx::PxVisualizationParameter::eCOLLISION_DYNAMIC ) },
2222 { .mName: "eDEPRECATED_COLLISION_PAIRS", .mValue: static_cast<PxU32>( physx::PxVisualizationParameter::eDEPRECATED_COLLISION_PAIRS ) },
2223 { .mName: "eJOINT_LOCAL_FRAMES", .mValue: static_cast<PxU32>( physx::PxVisualizationParameter::eJOINT_LOCAL_FRAMES ) },
2224 { .mName: "eJOINT_LIMITS", .mValue: static_cast<PxU32>( physx::PxVisualizationParameter::eJOINT_LIMITS ) },
2225 { .mName: "eCULL_BOX", .mValue: static_cast<PxU32>( physx::PxVisualizationParameter::eCULL_BOX ) },
2226 { .mName: "eMBP_REGIONS", .mValue: static_cast<PxU32>( physx::PxVisualizationParameter::eMBP_REGIONS ) },
2227 { .mName: "eNUM_VALUES", .mValue: static_cast<PxU32>( physx::PxVisualizationParameter::eNUM_VALUES ) },
2228 { NULL, .mValue: 0 }
2229 };
2230
2231template<> struct PxEnumTraits< physx::PxVisualizationParameter::Enum > { PxEnumTraits() : NameConversion( g_physx__PxVisualizationParameter__EnumConversion ) {} const PxU32ToName* NameConversion; };
2232 static PxU32ToName g_physx__PxPruningStructureType__EnumConversion[] = {
2233 { .mName: "eNONE", .mValue: static_cast<PxU32>( physx::PxPruningStructureType::eNONE ) },
2234 { .mName: "eDYNAMIC_AABB_TREE", .mValue: static_cast<PxU32>( physx::PxPruningStructureType::eDYNAMIC_AABB_TREE ) },
2235 { .mName: "eSTATIC_AABB_TREE", .mValue: static_cast<PxU32>( physx::PxPruningStructureType::eSTATIC_AABB_TREE ) },
2236 { .mName: "eLAST", .mValue: static_cast<PxU32>( physx::PxPruningStructureType::eLAST ) },
2237 { NULL, .mValue: 0 }
2238 };
2239
2240template<> struct PxEnumTraits< physx::PxPruningStructureType::Enum > { PxEnumTraits() : NameConversion( g_physx__PxPruningStructureType__EnumConversion ) {} const PxU32ToName* NameConversion; };
2241 static PxU32ToName g_physx__PxSceneQueryUpdateMode__EnumConversion[] = {
2242 { .mName: "eBUILD_ENABLED_COMMIT_ENABLED", .mValue: static_cast<PxU32>( physx::PxSceneQueryUpdateMode::eBUILD_ENABLED_COMMIT_ENABLED ) },
2243 { .mName: "eBUILD_ENABLED_COMMIT_DISABLED", .mValue: static_cast<PxU32>( physx::PxSceneQueryUpdateMode::eBUILD_ENABLED_COMMIT_DISABLED ) },
2244 { .mName: "eBUILD_DISABLED_COMMIT_DISABLED", .mValue: static_cast<PxU32>( physx::PxSceneQueryUpdateMode::eBUILD_DISABLED_COMMIT_DISABLED ) },
2245 { NULL, .mValue: 0 }
2246 };
2247
2248template<> struct PxEnumTraits< physx::PxSceneQueryUpdateMode::Enum > { PxEnumTraits() : NameConversion( g_physx__PxSceneQueryUpdateMode__EnumConversion ) {} const PxU32ToName* NameConversion; };
2249 static PxU32ToName g_physx__PxHitFlag__EnumConversion[] = {
2250 { .mName: "ePOSITION", .mValue: static_cast<PxU32>( physx::PxHitFlag::ePOSITION ) },
2251 { .mName: "eNORMAL", .mValue: static_cast<PxU32>( physx::PxHitFlag::eNORMAL ) },
2252 { .mName: "eUV", .mValue: static_cast<PxU32>( physx::PxHitFlag::eUV ) },
2253 { .mName: "eASSUME_NO_INITIAL_OVERLAP", .mValue: static_cast<PxU32>( physx::PxHitFlag::eASSUME_NO_INITIAL_OVERLAP ) },
2254 { .mName: "eMESH_MULTIPLE", .mValue: static_cast<PxU32>( physx::PxHitFlag::eMESH_MULTIPLE ) },
2255 { .mName: "eMESH_ANY", .mValue: static_cast<PxU32>( physx::PxHitFlag::eMESH_ANY ) },
2256 { .mName: "eMESH_BOTH_SIDES", .mValue: static_cast<PxU32>( physx::PxHitFlag::eMESH_BOTH_SIDES ) },
2257 { .mName: "ePRECISE_SWEEP", .mValue: static_cast<PxU32>( physx::PxHitFlag::ePRECISE_SWEEP ) },
2258 { .mName: "eMTD", .mValue: static_cast<PxU32>( physx::PxHitFlag::eMTD ) },
2259 { .mName: "eFACE_INDEX", .mValue: static_cast<PxU32>( physx::PxHitFlag::eFACE_INDEX ) },
2260 { .mName: "eDEFAULT", .mValue: static_cast<PxU32>( physx::PxHitFlag::eDEFAULT ) },
2261 { .mName: "eMODIFIABLE_FLAGS", .mValue: static_cast<PxU32>( physx::PxHitFlag::eMODIFIABLE_FLAGS ) },
2262 { NULL, .mValue: 0 }
2263 };
2264
2265template<> struct PxEnumTraits< physx::PxHitFlag::Enum > { PxEnumTraits() : NameConversion( g_physx__PxHitFlag__EnumConversion ) {} const PxU32ToName* NameConversion; };
2266 static PxU32ToName g_physx__PxBroadPhaseType__EnumConversion[] = {
2267 { .mName: "eSAP", .mValue: static_cast<PxU32>( physx::PxBroadPhaseType::eSAP ) },
2268 { .mName: "eMBP", .mValue: static_cast<PxU32>( physx::PxBroadPhaseType::eMBP ) },
2269 { .mName: "eABP", .mValue: static_cast<PxU32>( physx::PxBroadPhaseType::eABP ) },
2270 { .mName: "eGPU", .mValue: static_cast<PxU32>( physx::PxBroadPhaseType::eGPU ) },
2271 { .mName: "eLAST", .mValue: static_cast<PxU32>( physx::PxBroadPhaseType::eLAST ) },
2272 { NULL, .mValue: 0 }
2273 };
2274
2275template<> struct PxEnumTraits< physx::PxBroadPhaseType::Enum > { PxEnumTraits() : NameConversion( g_physx__PxBroadPhaseType__EnumConversion ) {} const PxU32ToName* NameConversion; };
2276 class PxScene;
2277 struct PxSceneGeneratedValues
2278 {
2279 PxSceneFlags Flags;
2280 PxSceneLimits Limits;
2281 PxU32 Timestamp;
2282 PxCpuDispatcher * CpuDispatcher;
2283 PxCudaContextManager * CudaContextManager;
2284 PxSimulationEventCallback * SimulationEventCallback;
2285 PxContactModifyCallback * ContactModifyCallback;
2286 PxCCDContactModifyCallback * CCDContactModifyCallback;
2287 PxBroadPhaseCallback * BroadPhaseCallback;
2288 PxU32 FilterShaderDataSize;
2289 PxSimulationFilterShader FilterShader;
2290 PxSimulationFilterCallback * FilterCallback;
2291 PxPairFilteringMode::Enum KinematicKinematicFilteringMode;
2292 PxPairFilteringMode::Enum StaticKinematicFilteringMode;
2293 PxVec3 Gravity;
2294 PxReal BounceThresholdVelocity;
2295 PxU32 CCDMaxPasses;
2296 PxReal FrictionOffsetThreshold;
2297 PxFrictionType::Enum FrictionType;
2298 PxBounds3 VisualizationCullingBox;
2299 PxPruningStructureType::Enum StaticStructure;
2300 PxPruningStructureType::Enum DynamicStructure;
2301 PxU32 DynamicTreeRebuildRateHint;
2302 PxSceneQueryUpdateMode::Enum SceneQueryUpdateMode;
2303 PxU32 SceneQueryStaticTimestamp;
2304 PxBroadPhaseType::Enum BroadPhaseType;
2305 PxTaskManager * TaskManager;
2306 PxU32 MaxNbContactDataBlocksUsed;
2307 PxU32 ContactReportStreamBufferSize;
2308 PxU32 SolverBatchSize;
2309 PxU32 SolverArticulationBatchSize;
2310 PxReal WakeCounterResetValue;
2311 void * UserData;
2312 PxSimulationStatistics SimulationStatistics;
2313 PX_PHYSX_CORE_API PxSceneGeneratedValues( const PxScene* inSource );
2314 };
2315 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, Flags, PxSceneGeneratedValues)
2316 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, Limits, PxSceneGeneratedValues)
2317 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, Timestamp, PxSceneGeneratedValues)
2318 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, CpuDispatcher, PxSceneGeneratedValues)
2319 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, CudaContextManager, PxSceneGeneratedValues)
2320 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, SimulationEventCallback, PxSceneGeneratedValues)
2321 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, ContactModifyCallback, PxSceneGeneratedValues)
2322 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, CCDContactModifyCallback, PxSceneGeneratedValues)
2323 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, BroadPhaseCallback, PxSceneGeneratedValues)
2324 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, FilterShaderDataSize, PxSceneGeneratedValues)
2325 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, FilterShader, PxSceneGeneratedValues)
2326 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, FilterCallback, PxSceneGeneratedValues)
2327 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, KinematicKinematicFilteringMode, PxSceneGeneratedValues)
2328 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, StaticKinematicFilteringMode, PxSceneGeneratedValues)
2329 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, Gravity, PxSceneGeneratedValues)
2330 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, BounceThresholdVelocity, PxSceneGeneratedValues)
2331 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, CCDMaxPasses, PxSceneGeneratedValues)
2332 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, FrictionOffsetThreshold, PxSceneGeneratedValues)
2333 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, FrictionType, PxSceneGeneratedValues)
2334 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, VisualizationCullingBox, PxSceneGeneratedValues)
2335 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, StaticStructure, PxSceneGeneratedValues)
2336 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, DynamicStructure, PxSceneGeneratedValues)
2337 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, DynamicTreeRebuildRateHint, PxSceneGeneratedValues)
2338 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, SceneQueryUpdateMode, PxSceneGeneratedValues)
2339 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, SceneQueryStaticTimestamp, PxSceneGeneratedValues)
2340 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, BroadPhaseType, PxSceneGeneratedValues)
2341 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, TaskManager, PxSceneGeneratedValues)
2342 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, MaxNbContactDataBlocksUsed, PxSceneGeneratedValues)
2343 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, ContactReportStreamBufferSize, PxSceneGeneratedValues)
2344 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, SolverBatchSize, PxSceneGeneratedValues)
2345 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, SolverArticulationBatchSize, PxSceneGeneratedValues)
2346 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, WakeCounterResetValue, PxSceneGeneratedValues)
2347 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, UserData, PxSceneGeneratedValues)
2348 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, SimulationStatistics, PxSceneGeneratedValues)
2349 struct PxSceneGeneratedInfo
2350
2351 {
2352 static const char* getClassName() { return "PxScene"; }
2353 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_Flags, PxScene, PxSceneFlags > Flags;
2354 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_Limits, PxScene, const PxSceneLimits &, PxSceneLimits > Limits;
2355 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_Timestamp, PxScene, PxU32 > Timestamp;
2356 PxReadOnlyFilteredCollectionPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_Actors, PxScene, PxActor *, PxActorTypeFlags > Actors;
2357 PxReadOnlyCollectionPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_Articulations, PxScene, PxArticulationBase * > Articulations;
2358 PxReadOnlyCollectionPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_Constraints, PxScene, PxConstraint * > Constraints;
2359 PxReadOnlyCollectionPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_Aggregates, PxScene, PxAggregate * > Aggregates;
2360 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_CpuDispatcher, PxScene, PxCpuDispatcher * > CpuDispatcher;
2361 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_CudaContextManager, PxScene, PxCudaContextManager * > CudaContextManager;
2362 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_SimulationEventCallback, PxScene, PxSimulationEventCallback *, PxSimulationEventCallback * > SimulationEventCallback;
2363 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_ContactModifyCallback, PxScene, PxContactModifyCallback *, PxContactModifyCallback * > ContactModifyCallback;
2364 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_CCDContactModifyCallback, PxScene, PxCCDContactModifyCallback *, PxCCDContactModifyCallback * > CCDContactModifyCallback;
2365 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_BroadPhaseCallback, PxScene, PxBroadPhaseCallback *, PxBroadPhaseCallback * > BroadPhaseCallback;
2366 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_FilterShaderDataSize, PxScene, PxU32 > FilterShaderDataSize;
2367 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_FilterShader, PxScene, PxSimulationFilterShader > FilterShader;
2368 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_FilterCallback, PxScene, PxSimulationFilterCallback * > FilterCallback;
2369 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_KinematicKinematicFilteringMode, PxScene, PxPairFilteringMode::Enum > KinematicKinematicFilteringMode;
2370 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_StaticKinematicFilteringMode, PxScene, PxPairFilteringMode::Enum > StaticKinematicFilteringMode;
2371 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_Gravity, PxScene, const PxVec3 &, PxVec3 > Gravity;
2372 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_BounceThresholdVelocity, PxScene, const PxReal, PxReal > BounceThresholdVelocity;
2373 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_CCDMaxPasses, PxScene, PxU32, PxU32 > CCDMaxPasses;
2374 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_FrictionOffsetThreshold, PxScene, PxReal > FrictionOffsetThreshold;
2375 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_FrictionType, PxScene, PxFrictionType::Enum, PxFrictionType::Enum > FrictionType;
2376 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_VisualizationCullingBox, PxScene, const PxBounds3 &, PxBounds3 > VisualizationCullingBox;
2377 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_StaticStructure, PxScene, PxPruningStructureType::Enum > StaticStructure;
2378 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_DynamicStructure, PxScene, PxPruningStructureType::Enum > DynamicStructure;
2379 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_DynamicTreeRebuildRateHint, PxScene, PxU32, PxU32 > DynamicTreeRebuildRateHint;
2380 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_SceneQueryUpdateMode, PxScene, PxSceneQueryUpdateMode::Enum, PxSceneQueryUpdateMode::Enum > SceneQueryUpdateMode;
2381 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_SceneQueryStaticTimestamp, PxScene, PxU32 > SceneQueryStaticTimestamp;
2382 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_BroadPhaseType, PxScene, PxBroadPhaseType::Enum > BroadPhaseType;
2383 PxReadOnlyCollectionPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_BroadPhaseRegions, PxScene, PxBroadPhaseRegionInfo > BroadPhaseRegions;
2384 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_TaskManager, PxScene, PxTaskManager * > TaskManager;
2385 PxWriteOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_NbContactDataBlocks, PxScene, PxU32 > NbContactDataBlocks;
2386 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_MaxNbContactDataBlocksUsed, PxScene, PxU32 > MaxNbContactDataBlocksUsed;
2387 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_ContactReportStreamBufferSize, PxScene, PxU32 > ContactReportStreamBufferSize;
2388 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_SolverBatchSize, PxScene, PxU32, PxU32 > SolverBatchSize;
2389 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_SolverArticulationBatchSize, PxScene, PxU32, PxU32 > SolverArticulationBatchSize;
2390 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_WakeCounterResetValue, PxScene, PxReal > WakeCounterResetValue;
2391 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_UserData, PxScene, void *, void * > UserData;
2392 SimulationStatisticsProperty SimulationStatistics;
2393
2394 PX_PHYSX_CORE_API PxSceneGeneratedInfo();
2395 template<typename TReturnType, typename TOperator>
2396 TReturnType visitType( TOperator inOperator ) const
2397 {
2398 return inOperator( nullptr );
2399 }
2400 template<typename TOperator>
2401 void visitBases( TOperator inOperator )
2402 {
2403 PX_UNUSED(inOperator);
2404 }
2405 template<typename TOperator>
2406 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
2407 {
2408 PX_UNUSED(inOperator);
2409 PX_UNUSED(inStartIndex);
2410 return inStartIndex;
2411 }
2412 static PxU32 instancePropertyCount() { return 40; }
2413 static PxU32 totalPropertyCount() { return instancePropertyCount(); }
2414 template<typename TOperator>
2415 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
2416 {
2417 PX_UNUSED(inOperator);
2418 PX_UNUSED(inStartIndex);
2419 inOperator( Flags, inStartIndex + 0 );;
2420 inOperator( Limits, inStartIndex + 1 );;
2421 inOperator( Timestamp, inStartIndex + 2 );;
2422 inOperator( Actors, inStartIndex + 3 );;
2423 inOperator( Articulations, inStartIndex + 4 );;
2424 inOperator( Constraints, inStartIndex + 5 );;
2425 inOperator( Aggregates, inStartIndex + 6 );;
2426 inOperator( CpuDispatcher, inStartIndex + 7 );;
2427 inOperator( CudaContextManager, inStartIndex + 8 );;
2428 inOperator( SimulationEventCallback, inStartIndex + 9 );;
2429 inOperator( ContactModifyCallback, inStartIndex + 10 );;
2430 inOperator( CCDContactModifyCallback, inStartIndex + 11 );;
2431 inOperator( BroadPhaseCallback, inStartIndex + 12 );;
2432 inOperator( FilterShaderDataSize, inStartIndex + 13 );;
2433 inOperator( FilterShader, inStartIndex + 14 );;
2434 inOperator( FilterCallback, inStartIndex + 15 );;
2435 inOperator( KinematicKinematicFilteringMode, inStartIndex + 16 );;
2436 inOperator( StaticKinematicFilteringMode, inStartIndex + 17 );;
2437 inOperator( Gravity, inStartIndex + 18 );;
2438 inOperator( BounceThresholdVelocity, inStartIndex + 19 );;
2439 inOperator( CCDMaxPasses, inStartIndex + 20 );;
2440 inOperator( FrictionOffsetThreshold, inStartIndex + 21 );;
2441 inOperator( FrictionType, inStartIndex + 22 );;
2442 inOperator( VisualizationCullingBox, inStartIndex + 23 );;
2443 inOperator( StaticStructure, inStartIndex + 24 );;
2444 inOperator( DynamicStructure, inStartIndex + 25 );;
2445 inOperator( DynamicTreeRebuildRateHint, inStartIndex + 26 );;
2446 inOperator( SceneQueryUpdateMode, inStartIndex + 27 );;
2447 inOperator( SceneQueryStaticTimestamp, inStartIndex + 28 );;
2448 inOperator( BroadPhaseType, inStartIndex + 29 );;
2449 inOperator( BroadPhaseRegions, inStartIndex + 30 );;
2450 inOperator( TaskManager, inStartIndex + 31 );;
2451 inOperator( NbContactDataBlocks, inStartIndex + 32 );;
2452 inOperator( MaxNbContactDataBlocksUsed, inStartIndex + 33 );;
2453 inOperator( ContactReportStreamBufferSize, inStartIndex + 34 );;
2454 inOperator( SolverBatchSize, inStartIndex + 35 );;
2455 inOperator( SolverArticulationBatchSize, inStartIndex + 36 );;
2456 inOperator( WakeCounterResetValue, inStartIndex + 37 );;
2457 inOperator( UserData, inStartIndex + 38 );;
2458 inOperator( SimulationStatistics, inStartIndex + 39 );;
2459 return 40 + inStartIndex;
2460 }
2461 };
2462 template<> struct PxClassInfoTraits<PxScene>
2463 {
2464 PxSceneGeneratedInfo Info;
2465 const PxSceneGeneratedInfo* getInfo() { return &Info; }
2466 };
2467
2468 class PxSceneLimits;
2469 struct PxSceneLimitsGeneratedValues
2470 {
2471 PxU32 MaxNbActors;
2472 PxU32 MaxNbBodies;
2473 PxU32 MaxNbStaticShapes;
2474 PxU32 MaxNbDynamicShapes;
2475 PxU32 MaxNbAggregates;
2476 PxU32 MaxNbConstraints;
2477 PxU32 MaxNbRegions;
2478 PxU32 MaxNbBroadPhaseOverlaps;
2479 PX_PHYSX_CORE_API PxSceneLimitsGeneratedValues( const PxSceneLimits* inSource );
2480 };
2481 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneLimits, MaxNbActors, PxSceneLimitsGeneratedValues)
2482 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneLimits, MaxNbBodies, PxSceneLimitsGeneratedValues)
2483 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneLimits, MaxNbStaticShapes, PxSceneLimitsGeneratedValues)
2484 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneLimits, MaxNbDynamicShapes, PxSceneLimitsGeneratedValues)
2485 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneLimits, MaxNbAggregates, PxSceneLimitsGeneratedValues)
2486 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneLimits, MaxNbConstraints, PxSceneLimitsGeneratedValues)
2487 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneLimits, MaxNbRegions, PxSceneLimitsGeneratedValues)
2488 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneLimits, MaxNbBroadPhaseOverlaps, PxSceneLimitsGeneratedValues)
2489 struct PxSceneLimitsGeneratedInfo
2490
2491 {
2492 static const char* getClassName() { return "PxSceneLimits"; }
2493 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneLimits_MaxNbActors, PxSceneLimits, PxU32, PxU32 > MaxNbActors;
2494 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneLimits_MaxNbBodies, PxSceneLimits, PxU32, PxU32 > MaxNbBodies;
2495 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneLimits_MaxNbStaticShapes, PxSceneLimits, PxU32, PxU32 > MaxNbStaticShapes;
2496 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneLimits_MaxNbDynamicShapes, PxSceneLimits, PxU32, PxU32 > MaxNbDynamicShapes;
2497 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneLimits_MaxNbAggregates, PxSceneLimits, PxU32, PxU32 > MaxNbAggregates;
2498 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneLimits_MaxNbConstraints, PxSceneLimits, PxU32, PxU32 > MaxNbConstraints;
2499 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneLimits_MaxNbRegions, PxSceneLimits, PxU32, PxU32 > MaxNbRegions;
2500 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneLimits_MaxNbBroadPhaseOverlaps, PxSceneLimits, PxU32, PxU32 > MaxNbBroadPhaseOverlaps;
2501
2502 PX_PHYSX_CORE_API PxSceneLimitsGeneratedInfo();
2503 template<typename TReturnType, typename TOperator>
2504 TReturnType visitType( TOperator inOperator ) const
2505 {
2506 return inOperator( nullptr );
2507 }
2508 template<typename TOperator>
2509 void visitBases( TOperator inOperator )
2510 {
2511 PX_UNUSED(inOperator);
2512 }
2513 template<typename TOperator>
2514 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
2515 {
2516 PX_UNUSED(inOperator);
2517 PX_UNUSED(inStartIndex);
2518 return inStartIndex;
2519 }
2520 static PxU32 instancePropertyCount() { return 8; }
2521 static PxU32 totalPropertyCount() { return instancePropertyCount(); }
2522 template<typename TOperator>
2523 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
2524 {
2525 PX_UNUSED(inOperator);
2526 PX_UNUSED(inStartIndex);
2527 inOperator( MaxNbActors, inStartIndex + 0 );;
2528 inOperator( MaxNbBodies, inStartIndex + 1 );;
2529 inOperator( MaxNbStaticShapes, inStartIndex + 2 );;
2530 inOperator( MaxNbDynamicShapes, inStartIndex + 3 );;
2531 inOperator( MaxNbAggregates, inStartIndex + 4 );;
2532 inOperator( MaxNbConstraints, inStartIndex + 5 );;
2533 inOperator( MaxNbRegions, inStartIndex + 6 );;
2534 inOperator( MaxNbBroadPhaseOverlaps, inStartIndex + 7 );;
2535 return 8 + inStartIndex;
2536 }
2537 };
2538 template<> struct PxClassInfoTraits<PxSceneLimits>
2539 {
2540 PxSceneLimitsGeneratedInfo Info;
2541 const PxSceneLimitsGeneratedInfo* getInfo() { return &Info; }
2542 };
2543
2544 struct PxgDynamicsMemoryConfig;
2545 struct PxgDynamicsMemoryConfigGeneratedValues
2546 {
2547 PxU32 ConstraintBufferCapacity;
2548 PxU32 ContactBufferCapacity;
2549 PxU32 TempBufferCapacity;
2550 PxU32 ContactStreamSize;
2551 PxU32 PatchStreamSize;
2552 PxU32 ForceStreamCapacity;
2553 PxU32 HeapCapacity;
2554 PxU32 FoundLostPairsCapacity;
2555 PX_PHYSX_CORE_API PxgDynamicsMemoryConfigGeneratedValues( const PxgDynamicsMemoryConfig* inSource );
2556 };
2557 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxgDynamicsMemoryConfig, ConstraintBufferCapacity, PxgDynamicsMemoryConfigGeneratedValues)
2558 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxgDynamicsMemoryConfig, ContactBufferCapacity, PxgDynamicsMemoryConfigGeneratedValues)
2559 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxgDynamicsMemoryConfig, TempBufferCapacity, PxgDynamicsMemoryConfigGeneratedValues)
2560 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxgDynamicsMemoryConfig, ContactStreamSize, PxgDynamicsMemoryConfigGeneratedValues)
2561 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxgDynamicsMemoryConfig, PatchStreamSize, PxgDynamicsMemoryConfigGeneratedValues)
2562 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxgDynamicsMemoryConfig, ForceStreamCapacity, PxgDynamicsMemoryConfigGeneratedValues)
2563 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxgDynamicsMemoryConfig, HeapCapacity, PxgDynamicsMemoryConfigGeneratedValues)
2564 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxgDynamicsMemoryConfig, FoundLostPairsCapacity, PxgDynamicsMemoryConfigGeneratedValues)
2565 struct PxgDynamicsMemoryConfigGeneratedInfo
2566
2567 {
2568 static const char* getClassName() { return "PxgDynamicsMemoryConfig"; }
2569 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxgDynamicsMemoryConfig_ConstraintBufferCapacity, PxgDynamicsMemoryConfig, PxU32, PxU32 > ConstraintBufferCapacity;
2570 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxgDynamicsMemoryConfig_ContactBufferCapacity, PxgDynamicsMemoryConfig, PxU32, PxU32 > ContactBufferCapacity;
2571 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxgDynamicsMemoryConfig_TempBufferCapacity, PxgDynamicsMemoryConfig, PxU32, PxU32 > TempBufferCapacity;
2572 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxgDynamicsMemoryConfig_ContactStreamSize, PxgDynamicsMemoryConfig, PxU32, PxU32 > ContactStreamSize;
2573 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxgDynamicsMemoryConfig_PatchStreamSize, PxgDynamicsMemoryConfig, PxU32, PxU32 > PatchStreamSize;
2574 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxgDynamicsMemoryConfig_ForceStreamCapacity, PxgDynamicsMemoryConfig, PxU32, PxU32 > ForceStreamCapacity;
2575 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxgDynamicsMemoryConfig_HeapCapacity, PxgDynamicsMemoryConfig, PxU32, PxU32 > HeapCapacity;
2576 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxgDynamicsMemoryConfig_FoundLostPairsCapacity, PxgDynamicsMemoryConfig, PxU32, PxU32 > FoundLostPairsCapacity;
2577
2578 PX_PHYSX_CORE_API PxgDynamicsMemoryConfigGeneratedInfo();
2579 template<typename TReturnType, typename TOperator>
2580 TReturnType visitType( TOperator inOperator ) const
2581 {
2582 return inOperator( nullptr );
2583 }
2584 template<typename TOperator>
2585 void visitBases( TOperator inOperator )
2586 {
2587 PX_UNUSED(inOperator);
2588 }
2589 template<typename TOperator>
2590 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
2591 {
2592 PX_UNUSED(inOperator);
2593 PX_UNUSED(inStartIndex);
2594 return inStartIndex;
2595 }
2596 static PxU32 instancePropertyCount() { return 8; }
2597 static PxU32 totalPropertyCount() { return instancePropertyCount(); }
2598 template<typename TOperator>
2599 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
2600 {
2601 PX_UNUSED(inOperator);
2602 PX_UNUSED(inStartIndex);
2603 inOperator( ConstraintBufferCapacity, inStartIndex + 0 );;
2604 inOperator( ContactBufferCapacity, inStartIndex + 1 );;
2605 inOperator( TempBufferCapacity, inStartIndex + 2 );;
2606 inOperator( ContactStreamSize, inStartIndex + 3 );;
2607 inOperator( PatchStreamSize, inStartIndex + 4 );;
2608 inOperator( ForceStreamCapacity, inStartIndex + 5 );;
2609 inOperator( HeapCapacity, inStartIndex + 6 );;
2610 inOperator( FoundLostPairsCapacity, inStartIndex + 7 );;
2611 return 8 + inStartIndex;
2612 }
2613 };
2614 template<> struct PxClassInfoTraits<PxgDynamicsMemoryConfig>
2615 {
2616 PxgDynamicsMemoryConfigGeneratedInfo Info;
2617 const PxgDynamicsMemoryConfigGeneratedInfo* getInfo() { return &Info; }
2618 };
2619
2620 static PxU32ToName g_physx__PxSolverType__EnumConversion[] = {
2621 { .mName: "ePGS", .mValue: static_cast<PxU32>( physx::PxSolverType::ePGS ) },
2622 { .mName: "eTGS", .mValue: static_cast<PxU32>( physx::PxSolverType::eTGS ) },
2623 { NULL, .mValue: 0 }
2624 };
2625
2626template<> struct PxEnumTraits< physx::PxSolverType::Enum > { PxEnumTraits() : NameConversion( g_physx__PxSolverType__EnumConversion ) {} const PxU32ToName* NameConversion; };
2627 class PxSceneDesc;
2628 struct PxSceneDescGeneratedValues
2629 {
2630 PxVec3 Gravity;
2631 PxSimulationEventCallback * SimulationEventCallback;
2632 PxContactModifyCallback * ContactModifyCallback;
2633 PxCCDContactModifyCallback * CcdContactModifyCallback;
2634 const void * FilterShaderData;
2635 PxU32 FilterShaderDataSize;
2636 PxSimulationFilterShader FilterShader;
2637 PxSimulationFilterCallback * FilterCallback;
2638 PxPairFilteringMode::Enum KineKineFilteringMode;
2639 PxPairFilteringMode::Enum StaticKineFilteringMode;
2640 PxBroadPhaseType::Enum BroadPhaseType;
2641 PxBroadPhaseCallback * BroadPhaseCallback;
2642 PxSceneLimits Limits;
2643 PxFrictionType::Enum FrictionType;
2644 PxSolverType::Enum SolverType;
2645 PxReal BounceThresholdVelocity;
2646 PxReal FrictionOffsetThreshold;
2647 PxReal CcdMaxSeparation;
2648 PxReal SolverOffsetSlop;
2649 PxSceneFlags Flags;
2650 PxCpuDispatcher * CpuDispatcher;
2651 PxCudaContextManager * CudaContextManager;
2652 PxPruningStructureType::Enum StaticStructure;
2653 PxPruningStructureType::Enum DynamicStructure;
2654 PxU32 DynamicTreeRebuildRateHint;
2655 PxSceneQueryUpdateMode::Enum SceneQueryUpdateMode;
2656 void * UserData;
2657 PxU32 SolverBatchSize;
2658 PxU32 SolverArticulationBatchSize;
2659 PxU32 NbContactDataBlocks;
2660 PxU32 MaxNbContactDataBlocks;
2661 PxReal MaxBiasCoefficient;
2662 PxU32 ContactReportStreamBufferSize;
2663 PxU32 CcdMaxPasses;
2664 PxReal CcdThreshold;
2665 PxReal WakeCounterResetValue;
2666 PxBounds3 SanityBounds;
2667 PxgDynamicsMemoryConfig GpuDynamicsConfig;
2668 PxU32 GpuMaxNumPartitions;
2669 PxU32 GpuComputeVersion;
2670 PX_PHYSX_CORE_API PxSceneDescGeneratedValues( const PxSceneDesc* inSource );
2671 };
2672 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, Gravity, PxSceneDescGeneratedValues)
2673 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, SimulationEventCallback, PxSceneDescGeneratedValues)
2674 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, ContactModifyCallback, PxSceneDescGeneratedValues)
2675 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, CcdContactModifyCallback, PxSceneDescGeneratedValues)
2676 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, FilterShaderData, PxSceneDescGeneratedValues)
2677 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, FilterShaderDataSize, PxSceneDescGeneratedValues)
2678 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, FilterShader, PxSceneDescGeneratedValues)
2679 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, FilterCallback, PxSceneDescGeneratedValues)
2680 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, KineKineFilteringMode, PxSceneDescGeneratedValues)
2681 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, StaticKineFilteringMode, PxSceneDescGeneratedValues)
2682 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, BroadPhaseType, PxSceneDescGeneratedValues)
2683 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, BroadPhaseCallback, PxSceneDescGeneratedValues)
2684 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, Limits, PxSceneDescGeneratedValues)
2685 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, FrictionType, PxSceneDescGeneratedValues)
2686 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, SolverType, PxSceneDescGeneratedValues)
2687 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, BounceThresholdVelocity, PxSceneDescGeneratedValues)
2688 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, FrictionOffsetThreshold, PxSceneDescGeneratedValues)
2689 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, CcdMaxSeparation, PxSceneDescGeneratedValues)
2690 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, SolverOffsetSlop, PxSceneDescGeneratedValues)
2691 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, Flags, PxSceneDescGeneratedValues)
2692 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, CpuDispatcher, PxSceneDescGeneratedValues)
2693 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, CudaContextManager, PxSceneDescGeneratedValues)
2694 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, StaticStructure, PxSceneDescGeneratedValues)
2695 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, DynamicStructure, PxSceneDescGeneratedValues)
2696 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, DynamicTreeRebuildRateHint, PxSceneDescGeneratedValues)
2697 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, SceneQueryUpdateMode, PxSceneDescGeneratedValues)
2698 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, UserData, PxSceneDescGeneratedValues)
2699 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, SolverBatchSize, PxSceneDescGeneratedValues)
2700 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, SolverArticulationBatchSize, PxSceneDescGeneratedValues)
2701 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, NbContactDataBlocks, PxSceneDescGeneratedValues)
2702 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, MaxNbContactDataBlocks, PxSceneDescGeneratedValues)
2703 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, MaxBiasCoefficient, PxSceneDescGeneratedValues)
2704 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, ContactReportStreamBufferSize, PxSceneDescGeneratedValues)
2705 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, CcdMaxPasses, PxSceneDescGeneratedValues)
2706 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, CcdThreshold, PxSceneDescGeneratedValues)
2707 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, WakeCounterResetValue, PxSceneDescGeneratedValues)
2708 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, SanityBounds, PxSceneDescGeneratedValues)
2709 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, GpuDynamicsConfig, PxSceneDescGeneratedValues)
2710 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, GpuMaxNumPartitions, PxSceneDescGeneratedValues)
2711 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, GpuComputeVersion, PxSceneDescGeneratedValues)
2712 struct PxSceneDescGeneratedInfo
2713
2714 {
2715 static const char* getClassName() { return "PxSceneDesc"; }
2716 PxWriteOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_ToDefault, PxSceneDesc, const PxTolerancesScale & > ToDefault;
2717 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_Gravity, PxSceneDesc, PxVec3, PxVec3 > Gravity;
2718 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_SimulationEventCallback, PxSceneDesc, PxSimulationEventCallback *, PxSimulationEventCallback * > SimulationEventCallback;
2719 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_ContactModifyCallback, PxSceneDesc, PxContactModifyCallback *, PxContactModifyCallback * > ContactModifyCallback;
2720 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_CcdContactModifyCallback, PxSceneDesc, PxCCDContactModifyCallback *, PxCCDContactModifyCallback * > CcdContactModifyCallback;
2721 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_FilterShaderData, PxSceneDesc, const void *, const void * > FilterShaderData;
2722 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_FilterShaderDataSize, PxSceneDesc, PxU32, PxU32 > FilterShaderDataSize;
2723 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_FilterShader, PxSceneDesc, PxSimulationFilterShader, PxSimulationFilterShader > FilterShader;
2724 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_FilterCallback, PxSceneDesc, PxSimulationFilterCallback *, PxSimulationFilterCallback * > FilterCallback;
2725 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_KineKineFilteringMode, PxSceneDesc, PxPairFilteringMode::Enum, PxPairFilteringMode::Enum > KineKineFilteringMode;
2726 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_StaticKineFilteringMode, PxSceneDesc, PxPairFilteringMode::Enum, PxPairFilteringMode::Enum > StaticKineFilteringMode;
2727 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_BroadPhaseType, PxSceneDesc, PxBroadPhaseType::Enum, PxBroadPhaseType::Enum > BroadPhaseType;
2728 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_BroadPhaseCallback, PxSceneDesc, PxBroadPhaseCallback *, PxBroadPhaseCallback * > BroadPhaseCallback;
2729 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_Limits, PxSceneDesc, PxSceneLimits, PxSceneLimits > Limits;
2730 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_FrictionType, PxSceneDesc, PxFrictionType::Enum, PxFrictionType::Enum > FrictionType;
2731 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_SolverType, PxSceneDesc, PxSolverType::Enum, PxSolverType::Enum > SolverType;
2732 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_BounceThresholdVelocity, PxSceneDesc, PxReal, PxReal > BounceThresholdVelocity;
2733 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_FrictionOffsetThreshold, PxSceneDesc, PxReal, PxReal > FrictionOffsetThreshold;
2734 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_CcdMaxSeparation, PxSceneDesc, PxReal, PxReal > CcdMaxSeparation;
2735 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_SolverOffsetSlop, PxSceneDesc, PxReal, PxReal > SolverOffsetSlop;
2736 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_Flags, PxSceneDesc, PxSceneFlags, PxSceneFlags > Flags;
2737 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_CpuDispatcher, PxSceneDesc, PxCpuDispatcher *, PxCpuDispatcher * > CpuDispatcher;
2738 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_CudaContextManager, PxSceneDesc, PxCudaContextManager *, PxCudaContextManager * > CudaContextManager;
2739 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_StaticStructure, PxSceneDesc, PxPruningStructureType::Enum, PxPruningStructureType::Enum > StaticStructure;
2740 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_DynamicStructure, PxSceneDesc, PxPruningStructureType::Enum, PxPruningStructureType::Enum > DynamicStructure;
2741 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_DynamicTreeRebuildRateHint, PxSceneDesc, PxU32, PxU32 > DynamicTreeRebuildRateHint;
2742 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_SceneQueryUpdateMode, PxSceneDesc, PxSceneQueryUpdateMode::Enum, PxSceneQueryUpdateMode::Enum > SceneQueryUpdateMode;
2743 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_UserData, PxSceneDesc, void *, void * > UserData;
2744 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_SolverBatchSize, PxSceneDesc, PxU32, PxU32 > SolverBatchSize;
2745 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_SolverArticulationBatchSize, PxSceneDesc, PxU32, PxU32 > SolverArticulationBatchSize;
2746 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_NbContactDataBlocks, PxSceneDesc, PxU32, PxU32 > NbContactDataBlocks;
2747 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_MaxNbContactDataBlocks, PxSceneDesc, PxU32, PxU32 > MaxNbContactDataBlocks;
2748 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_MaxBiasCoefficient, PxSceneDesc, PxReal, PxReal > MaxBiasCoefficient;
2749 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_ContactReportStreamBufferSize, PxSceneDesc, PxU32, PxU32 > ContactReportStreamBufferSize;
2750 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_CcdMaxPasses, PxSceneDesc, PxU32, PxU32 > CcdMaxPasses;
2751 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_CcdThreshold, PxSceneDesc, PxReal, PxReal > CcdThreshold;
2752 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_WakeCounterResetValue, PxSceneDesc, PxReal, PxReal > WakeCounterResetValue;
2753 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_SanityBounds, PxSceneDesc, PxBounds3, PxBounds3 > SanityBounds;
2754 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_GpuDynamicsConfig, PxSceneDesc, PxgDynamicsMemoryConfig, PxgDynamicsMemoryConfig > GpuDynamicsConfig;
2755 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_GpuMaxNumPartitions, PxSceneDesc, PxU32, PxU32 > GpuMaxNumPartitions;
2756 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_GpuComputeVersion, PxSceneDesc, PxU32, PxU32 > GpuComputeVersion;
2757
2758 PX_PHYSX_CORE_API PxSceneDescGeneratedInfo();
2759 template<typename TReturnType, typename TOperator>
2760 TReturnType visitType( TOperator inOperator ) const
2761 {
2762 return inOperator( nullptr );
2763 }
2764 template<typename TOperator>
2765 void visitBases( TOperator inOperator )
2766 {
2767 PX_UNUSED(inOperator);
2768 }
2769 template<typename TOperator>
2770 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
2771 {
2772 PX_UNUSED(inOperator);
2773 PX_UNUSED(inStartIndex);
2774 return inStartIndex;
2775 }
2776 static PxU32 instancePropertyCount() { return 41; }
2777 static PxU32 totalPropertyCount() { return instancePropertyCount(); }
2778 template<typename TOperator>
2779 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
2780 {
2781 PX_UNUSED(inOperator);
2782 PX_UNUSED(inStartIndex);
2783 inOperator( ToDefault, inStartIndex + 0 );;
2784 inOperator( Gravity, inStartIndex + 1 );;
2785 inOperator( SimulationEventCallback, inStartIndex + 2 );;
2786 inOperator( ContactModifyCallback, inStartIndex + 3 );;
2787 inOperator( CcdContactModifyCallback, inStartIndex + 4 );;
2788 inOperator( FilterShaderData, inStartIndex + 5 );;
2789 inOperator( FilterShaderDataSize, inStartIndex + 6 );;
2790 inOperator( FilterShader, inStartIndex + 7 );;
2791 inOperator( FilterCallback, inStartIndex + 8 );;
2792 inOperator( KineKineFilteringMode, inStartIndex + 9 );;
2793 inOperator( StaticKineFilteringMode, inStartIndex + 10 );;
2794 inOperator( BroadPhaseType, inStartIndex + 11 );;
2795 inOperator( BroadPhaseCallback, inStartIndex + 12 );;
2796 inOperator( Limits, inStartIndex + 13 );;
2797 inOperator( FrictionType, inStartIndex + 14 );;
2798 inOperator( SolverType, inStartIndex + 15 );;
2799 inOperator( BounceThresholdVelocity, inStartIndex + 16 );;
2800 inOperator( FrictionOffsetThreshold, inStartIndex + 17 );;
2801 inOperator( CcdMaxSeparation, inStartIndex + 18 );;
2802 inOperator( SolverOffsetSlop, inStartIndex + 19 );;
2803 inOperator( Flags, inStartIndex + 20 );;
2804 inOperator( CpuDispatcher, inStartIndex + 21 );;
2805 inOperator( CudaContextManager, inStartIndex + 22 );;
2806 inOperator( StaticStructure, inStartIndex + 23 );;
2807 inOperator( DynamicStructure, inStartIndex + 24 );;
2808 inOperator( DynamicTreeRebuildRateHint, inStartIndex + 25 );;
2809 inOperator( SceneQueryUpdateMode, inStartIndex + 26 );;
2810 inOperator( UserData, inStartIndex + 27 );;
2811 inOperator( SolverBatchSize, inStartIndex + 28 );;
2812 inOperator( SolverArticulationBatchSize, inStartIndex + 29 );;
2813 inOperator( NbContactDataBlocks, inStartIndex + 30 );;
2814 inOperator( MaxNbContactDataBlocks, inStartIndex + 31 );;
2815 inOperator( MaxBiasCoefficient, inStartIndex + 32 );;
2816 inOperator( ContactReportStreamBufferSize, inStartIndex + 33 );;
2817 inOperator( CcdMaxPasses, inStartIndex + 34 );;
2818 inOperator( CcdThreshold, inStartIndex + 35 );;
2819 inOperator( WakeCounterResetValue, inStartIndex + 36 );;
2820 inOperator( SanityBounds, inStartIndex + 37 );;
2821 inOperator( GpuDynamicsConfig, inStartIndex + 38 );;
2822 inOperator( GpuMaxNumPartitions, inStartIndex + 39 );;
2823 inOperator( GpuComputeVersion, inStartIndex + 40 );;
2824 return 41 + inStartIndex;
2825 }
2826 };
2827 template<> struct PxClassInfoTraits<PxSceneDesc>
2828 {
2829 PxSceneDescGeneratedInfo Info;
2830 const PxSceneDescGeneratedInfo* getInfo() { return &Info; }
2831 };
2832
2833 static PxU32ToName g_physx__PxSimulationStatistics__RbPairStatsTypeConversion[] = {
2834 { .mName: "eDISCRETE_CONTACT_PAIRS", .mValue: static_cast<PxU32>( physx::PxSimulationStatistics::eDISCRETE_CONTACT_PAIRS ) },
2835 { .mName: "eCCD_PAIRS", .mValue: static_cast<PxU32>( physx::PxSimulationStatistics::eCCD_PAIRS ) },
2836 { .mName: "eMODIFIED_CONTACT_PAIRS", .mValue: static_cast<PxU32>( physx::PxSimulationStatistics::eMODIFIED_CONTACT_PAIRS ) },
2837 { .mName: "eTRIGGER_PAIRS", .mValue: static_cast<PxU32>( physx::PxSimulationStatistics::eTRIGGER_PAIRS ) },
2838 { NULL, .mValue: 0 }
2839 };
2840
2841template<> struct PxEnumTraits< physx::PxSimulationStatistics::RbPairStatsType > { PxEnumTraits() : NameConversion( g_physx__PxSimulationStatistics__RbPairStatsTypeConversion ) {} const PxU32ToName* NameConversion; };
2842 class PxSimulationStatistics;
2843 struct PxSimulationStatisticsGeneratedValues
2844 {
2845 PxU32 NbActiveConstraints;
2846 PxU32 NbActiveDynamicBodies;
2847 PxU32 NbActiveKinematicBodies;
2848 PxU32 NbStaticBodies;
2849 PxU32 NbDynamicBodies;
2850 PxU32 NbKinematicBodies;
2851 PxU32 NbAggregates;
2852 PxU32 NbArticulations;
2853 PxU32 NbAxisSolverConstraints;
2854 PxU32 CompressedContactSize;
2855 PxU32 RequiredContactConstraintMemory;
2856 PxU32 PeakConstraintMemory;
2857 PxU32 NbDiscreteContactPairsTotal;
2858 PxU32 NbDiscreteContactPairsWithCacheHits;
2859 PxU32 NbDiscreteContactPairsWithContacts;
2860 PxU32 NbNewPairs;
2861 PxU32 NbLostPairs;
2862 PxU32 NbNewTouches;
2863 PxU32 NbLostTouches;
2864 PxU32 NbPartitions;
2865 PxU32 NbBroadPhaseAdds;
2866 PxU32 NbBroadPhaseRemoves;
2867 PxU32 NbDiscreteContactPairs[PxGeometryType::eGEOMETRY_COUNT][PxGeometryType::eGEOMETRY_COUNT];
2868 PxU32 NbModifiedContactPairs[PxGeometryType::eGEOMETRY_COUNT][PxGeometryType::eGEOMETRY_COUNT];
2869 PxU32 NbCCDPairs[PxGeometryType::eGEOMETRY_COUNT][PxGeometryType::eGEOMETRY_COUNT];
2870 PxU32 NbTriggerPairs[PxGeometryType::eGEOMETRY_COUNT][PxGeometryType::eGEOMETRY_COUNT];
2871 PxU32 NbShapes[PxGeometryType::eGEOMETRY_COUNT];
2872 PX_PHYSX_CORE_API PxSimulationStatisticsGeneratedValues( const PxSimulationStatistics* inSource );
2873 };
2874 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, NbActiveConstraints, PxSimulationStatisticsGeneratedValues)
2875 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, NbActiveDynamicBodies, PxSimulationStatisticsGeneratedValues)
2876 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, NbActiveKinematicBodies, PxSimulationStatisticsGeneratedValues)
2877 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, NbStaticBodies, PxSimulationStatisticsGeneratedValues)
2878 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, NbDynamicBodies, PxSimulationStatisticsGeneratedValues)
2879 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, NbKinematicBodies, PxSimulationStatisticsGeneratedValues)
2880 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, NbAggregates, PxSimulationStatisticsGeneratedValues)
2881 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, NbArticulations, PxSimulationStatisticsGeneratedValues)
2882 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, NbAxisSolverConstraints, PxSimulationStatisticsGeneratedValues)
2883 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, CompressedContactSize, PxSimulationStatisticsGeneratedValues)
2884 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, RequiredContactConstraintMemory, PxSimulationStatisticsGeneratedValues)
2885 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, PeakConstraintMemory, PxSimulationStatisticsGeneratedValues)
2886 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, NbDiscreteContactPairsTotal, PxSimulationStatisticsGeneratedValues)
2887 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, NbDiscreteContactPairsWithCacheHits, PxSimulationStatisticsGeneratedValues)
2888 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, NbDiscreteContactPairsWithContacts, PxSimulationStatisticsGeneratedValues)
2889 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, NbNewPairs, PxSimulationStatisticsGeneratedValues)
2890 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, NbLostPairs, PxSimulationStatisticsGeneratedValues)
2891 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, NbNewTouches, PxSimulationStatisticsGeneratedValues)
2892 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, NbLostTouches, PxSimulationStatisticsGeneratedValues)
2893 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, NbPartitions, PxSimulationStatisticsGeneratedValues)
2894 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, NbBroadPhaseAdds, PxSimulationStatisticsGeneratedValues)
2895 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, NbBroadPhaseRemoves, PxSimulationStatisticsGeneratedValues)
2896 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, NbDiscreteContactPairs, PxSimulationStatisticsGeneratedValues)
2897 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, NbModifiedContactPairs, PxSimulationStatisticsGeneratedValues)
2898 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, NbCCDPairs, PxSimulationStatisticsGeneratedValues)
2899 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, NbTriggerPairs, PxSimulationStatisticsGeneratedValues)
2900 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, NbShapes, PxSimulationStatisticsGeneratedValues)
2901 struct PxSimulationStatisticsGeneratedInfo
2902
2903 {
2904 static const char* getClassName() { return "PxSimulationStatistics"; }
2905 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSimulationStatistics_NbActiveConstraints, PxSimulationStatistics, PxU32, PxU32 > NbActiveConstraints;
2906 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSimulationStatistics_NbActiveDynamicBodies, PxSimulationStatistics, PxU32, PxU32 > NbActiveDynamicBodies;
2907 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSimulationStatistics_NbActiveKinematicBodies, PxSimulationStatistics, PxU32, PxU32 > NbActiveKinematicBodies;
2908 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSimulationStatistics_NbStaticBodies, PxSimulationStatistics, PxU32, PxU32 > NbStaticBodies;
2909 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSimulationStatistics_NbDynamicBodies, PxSimulationStatistics, PxU32, PxU32 > NbDynamicBodies;
2910 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSimulationStatistics_NbKinematicBodies, PxSimulationStatistics, PxU32, PxU32 > NbKinematicBodies;
2911 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSimulationStatistics_NbAggregates, PxSimulationStatistics, PxU32, PxU32 > NbAggregates;
2912 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSimulationStatistics_NbArticulations, PxSimulationStatistics, PxU32, PxU32 > NbArticulations;
2913 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSimulationStatistics_NbAxisSolverConstraints, PxSimulationStatistics, PxU32, PxU32 > NbAxisSolverConstraints;
2914 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSimulationStatistics_CompressedContactSize, PxSimulationStatistics, PxU32, PxU32 > CompressedContactSize;
2915 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSimulationStatistics_RequiredContactConstraintMemory, PxSimulationStatistics, PxU32, PxU32 > RequiredContactConstraintMemory;
2916 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSimulationStatistics_PeakConstraintMemory, PxSimulationStatistics, PxU32, PxU32 > PeakConstraintMemory;
2917 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSimulationStatistics_NbDiscreteContactPairsTotal, PxSimulationStatistics, PxU32, PxU32 > NbDiscreteContactPairsTotal;
2918 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSimulationStatistics_NbDiscreteContactPairsWithCacheHits, PxSimulationStatistics, PxU32, PxU32 > NbDiscreteContactPairsWithCacheHits;
2919 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSimulationStatistics_NbDiscreteContactPairsWithContacts, PxSimulationStatistics, PxU32, PxU32 > NbDiscreteContactPairsWithContacts;
2920 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSimulationStatistics_NbNewPairs, PxSimulationStatistics, PxU32, PxU32 > NbNewPairs;
2921 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSimulationStatistics_NbLostPairs, PxSimulationStatistics, PxU32, PxU32 > NbLostPairs;
2922 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSimulationStatistics_NbNewTouches, PxSimulationStatistics, PxU32, PxU32 > NbNewTouches;
2923 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSimulationStatistics_NbLostTouches, PxSimulationStatistics, PxU32, PxU32 > NbLostTouches;
2924 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSimulationStatistics_NbPartitions, PxSimulationStatistics, PxU32, PxU32 > NbPartitions;
2925 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSimulationStatistics_NbBroadPhaseAdds, PxSimulationStatistics, PxU32, PxU32 > NbBroadPhaseAdds;
2926 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSimulationStatistics_NbBroadPhaseRemoves, PxSimulationStatistics, PxU32, PxU32 > NbBroadPhaseRemoves;
2927 NbDiscreteContactPairsProperty NbDiscreteContactPairs;
2928 NbModifiedContactPairsProperty NbModifiedContactPairs;
2929 NbCCDPairsProperty NbCCDPairs;
2930 NbTriggerPairsProperty NbTriggerPairs;
2931 NbShapesProperty NbShapes;
2932
2933 PX_PHYSX_CORE_API PxSimulationStatisticsGeneratedInfo();
2934 template<typename TReturnType, typename TOperator>
2935 TReturnType visitType( TOperator inOperator ) const
2936 {
2937 return inOperator( nullptr );
2938 }
2939 template<typename TOperator>
2940 void visitBases( TOperator inOperator )
2941 {
2942 PX_UNUSED(inOperator);
2943 }
2944 template<typename TOperator>
2945 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
2946 {
2947 PX_UNUSED(inOperator);
2948 PX_UNUSED(inStartIndex);
2949 return inStartIndex;
2950 }
2951 static PxU32 instancePropertyCount() { return 27; }
2952 static PxU32 totalPropertyCount() { return instancePropertyCount(); }
2953 template<typename TOperator>
2954 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
2955 {
2956 PX_UNUSED(inOperator);
2957 PX_UNUSED(inStartIndex);
2958 inOperator( NbActiveConstraints, inStartIndex + 0 );;
2959 inOperator( NbActiveDynamicBodies, inStartIndex + 1 );;
2960 inOperator( NbActiveKinematicBodies, inStartIndex + 2 );;
2961 inOperator( NbStaticBodies, inStartIndex + 3 );;
2962 inOperator( NbDynamicBodies, inStartIndex + 4 );;
2963 inOperator( NbKinematicBodies, inStartIndex + 5 );;
2964 inOperator( NbAggregates, inStartIndex + 6 );;
2965 inOperator( NbArticulations, inStartIndex + 7 );;
2966 inOperator( NbAxisSolverConstraints, inStartIndex + 8 );;
2967 inOperator( CompressedContactSize, inStartIndex + 9 );;
2968 inOperator( RequiredContactConstraintMemory, inStartIndex + 10 );;
2969 inOperator( PeakConstraintMemory, inStartIndex + 11 );;
2970 inOperator( NbDiscreteContactPairsTotal, inStartIndex + 12 );;
2971 inOperator( NbDiscreteContactPairsWithCacheHits, inStartIndex + 13 );;
2972 inOperator( NbDiscreteContactPairsWithContacts, inStartIndex + 14 );;
2973 inOperator( NbNewPairs, inStartIndex + 15 );;
2974 inOperator( NbLostPairs, inStartIndex + 16 );;
2975 inOperator( NbNewTouches, inStartIndex + 17 );;
2976 inOperator( NbLostTouches, inStartIndex + 18 );;
2977 inOperator( NbPartitions, inStartIndex + 19 );;
2978 inOperator( NbBroadPhaseAdds, inStartIndex + 20 );;
2979 inOperator( NbBroadPhaseRemoves, inStartIndex + 21 );;
2980 inOperator( NbDiscreteContactPairs, inStartIndex + 22 );;
2981 inOperator( NbModifiedContactPairs, inStartIndex + 23 );;
2982 inOperator( NbCCDPairs, inStartIndex + 24 );;
2983 inOperator( NbTriggerPairs, inStartIndex + 25 );;
2984 inOperator( NbShapes, inStartIndex + 26 );;
2985 return 27 + inStartIndex;
2986 }
2987 };
2988 template<> struct PxClassInfoTraits<PxSimulationStatistics>
2989 {
2990 PxSimulationStatisticsGeneratedInfo Info;
2991 const PxSimulationStatisticsGeneratedInfo* getInfo() { return &Info; }
2992 };
2993
2994
2995
2996#undef THERE_IS_NO_INCLUDE_GUARD_HERE_FOR_A_REASON
2997#undef PX_PROPERTY_INFO_NAME
2998

source code of qtquick3dphysics/src/3rdparty/PhysX/source/physxmetadata/core/include/PxAutoGeneratedMetaDataObjects.h