RavEngine
Loading...
Searching...
No Matches
PxAutoGeneratedMetaDataObjects.h
1// Redistribution and use in source and binary forms, with or without
2// modification, are permitted provided that the following conditions
3// are met:
4// * Redistributions of source code must retain the above copyright
5// notice, this list of conditions and the following disclaimer.
6// * Redistributions in binary form must reproduce the above copyright
7// notice, this list of conditions and the following disclaimer in the
8// documentation and/or other materials provided with the distribution.
9// * Neither the name of NVIDIA CORPORATION nor the names of its
10// contributors may be used to endorse or promote products derived
11// from this software without specific prior written permission.
12//
13// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
14// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
17// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
18// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
19// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
20// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
21// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
23// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24//
25// Copyright (c) 2008-2022 NVIDIA Corporation. All rights reserved.
26// Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
27// Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
28
29// This code is auto-generated by the PhysX Clang metadata generator. Do not edit or be
30// prepared for your edits to be quietly ignored next time the clang metadata generator is
31// run. You can find the most recent version of clang metadata generator by contacting
32// Chris Nuernberger <chrisn@nvidia.com> or Dilip or Adam.
33// The source code for the generate was at one time checked into:
34// physx/PhysXMetaDataGenerator/llvm/tools/clang/lib/Frontend/PhysXMetaDataAction.cpp
35#define THERE_IS_NO_INCLUDE_GUARD_HERE_FOR_A_REASON
36
37#define PX_PROPERTY_INFO_NAME PxPropertyInfoName
38 static PxU32ToName g_physx__PxShapeFlag__EnumConversion[] = {
39 { "eSIMULATION_SHAPE", static_cast<PxU32>( physx::PxShapeFlag::eSIMULATION_SHAPE ) },
40 { "eSCENE_QUERY_SHAPE", static_cast<PxU32>( physx::PxShapeFlag::eSCENE_QUERY_SHAPE ) },
41 { "eTRIGGER_SHAPE", static_cast<PxU32>( physx::PxShapeFlag::eTRIGGER_SHAPE ) },
42 { "eVISUALIZATION", static_cast<PxU32>( physx::PxShapeFlag::eVISUALIZATION ) },
43 { NULL, 0 }
44 };
45
46template<> struct PxEnumTraits< physx::PxShapeFlag::Enum > { PxEnumTraits() : NameConversion( g_physx__PxShapeFlag__EnumConversion ) {} const PxU32ToName* NameConversion; };
47 static PxU32ToName g_physx__PxBufferType__EnumConversion[] = {
48 { "eHOST", static_cast<PxU32>( physx::PxBufferType::eHOST ) },
49 { "eDEVICE", static_cast<PxU32>( physx::PxBufferType::eDEVICE ) },
50 { NULL, 0 }
51 };
52
53template<> struct PxEnumTraits< physx::PxBufferType::Enum > { PxEnumTraits() : NameConversion( g_physx__PxBufferType__EnumConversion ) {} const PxU32ToName* NameConversion; };
54 class PxPhysics;
56 {
57 PxTolerancesScale TolerancesScale;
58 PX_PHYSX_CORE_API PxPhysicsGeneratedValues( const PxPhysics* inSource );
59 };
60 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxPhysics, TolerancesScale, PxPhysicsGeneratedValues)
62
63 {
64 static const char* getClassName() { return "PxPhysics"; }
65 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxPhysics_TolerancesScale, PxPhysics, const PxTolerancesScale > TolerancesScale;
66 PxFactoryCollectionPropertyInfo<PX_PROPERTY_INFO_NAME::PxPhysics_TriangleMeshes, PxPhysics, PxTriangleMesh *, PxInputStream & > TriangleMeshes;
67 PxFactoryCollectionPropertyInfo<PX_PROPERTY_INFO_NAME::PxPhysics_TetrahedronMeshes, PxPhysics, PxTetrahedronMesh *, PxInputStream & > TetrahedronMeshes;
68 PxFactoryCollectionPropertyInfo<PX_PROPERTY_INFO_NAME::PxPhysics_HeightFields, PxPhysics, PxHeightField *, PxInputStream & > HeightFields;
69 PxFactoryCollectionPropertyInfo<PX_PROPERTY_INFO_NAME::PxPhysics_ConvexMeshes, PxPhysics, PxConvexMesh *, PxInputStream & > ConvexMeshes;
70 PxFactoryCollectionPropertyInfo<PX_PROPERTY_INFO_NAME::PxPhysics_BVHs, PxPhysics, PxBVH *, PxInputStream & > BVHs;
71 PxFactoryCollectionPropertyInfo<PX_PROPERTY_INFO_NAME::PxPhysics_BVHStructures, PxPhysics, PxBVHStructure *, PxInputStream & > BVHStructures;
72 PxFactoryCollectionPropertyInfo<PX_PROPERTY_INFO_NAME::PxPhysics_Scenes, PxPhysics, PxScene *, const PxSceneDesc & > Scenes;
73 PxReadOnlyCollectionPropertyInfo<PX_PROPERTY_INFO_NAME::PxPhysics_Shapes, PxPhysics, PxShape * > Shapes;
74 PxReadOnlyCollectionPropertyInfo<PX_PROPERTY_INFO_NAME::PxPhysics_Materials, PxPhysics, PxMaterial * > Materials;
75 PxReadOnlyCollectionPropertyInfo<PX_PROPERTY_INFO_NAME::PxPhysics_FEMSoftBodyMaterials, PxPhysics, PxFEMSoftBodyMaterial * > FEMSoftBodyMaterials;
76 PxReadOnlyCollectionPropertyInfo<PX_PROPERTY_INFO_NAME::PxPhysics_FEMClothMaterials, PxPhysics, PxFEMClothMaterial * > FEMClothMaterials;
77 PxReadOnlyCollectionPropertyInfo<PX_PROPERTY_INFO_NAME::PxPhysics_PBDMaterials, PxPhysics, PxPBDMaterial * > PBDMaterials;
78 PxFactoryCollectionPropertyInfo<PX_PROPERTY_INFO_NAME::PxPhysics_CustomMaterials, PxPhysics, PxCustomMaterial *, void * > CustomMaterials;
79
80 PX_PHYSX_CORE_API PxPhysicsGeneratedInfo();
81 template<typename TReturnType, typename TOperator>
82 TReturnType visitType( TOperator inOperator ) const
83 {
84 return inOperator( reinterpret_cast<PxPhysics*>(NULL) );
85 }
86 template<typename TOperator>
87 void visitBases( TOperator inOperator )
88 {
89 PX_UNUSED(inOperator);
90 }
91 template<typename TOperator>
92 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
93 {
94 PX_UNUSED(inOperator);
95 PX_UNUSED(inStartIndex);
96 return inStartIndex;
97 }
98 static PxU32 instancePropertyCount() { return 14; }
99 static PxU32 totalPropertyCount() { return instancePropertyCount(); }
100 template<typename TOperator>
101 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
102 {
103 PX_UNUSED(inOperator);
104 PX_UNUSED(inStartIndex);
105 inOperator( TolerancesScale, inStartIndex + 0 );;
106 inOperator( TriangleMeshes, inStartIndex + 1 );;
107 inOperator( TetrahedronMeshes, inStartIndex + 2 );;
108 inOperator( HeightFields, inStartIndex + 3 );;
109 inOperator( ConvexMeshes, inStartIndex + 4 );;
110 inOperator( BVHs, inStartIndex + 5 );;
111 inOperator( BVHStructures, inStartIndex + 6 );;
112 inOperator( Scenes, inStartIndex + 7 );;
113 inOperator( Shapes, inStartIndex + 8 );;
114 inOperator( Materials, inStartIndex + 9 );;
115 inOperator( FEMSoftBodyMaterials, inStartIndex + 10 );;
116 inOperator( FEMClothMaterials, inStartIndex + 11 );;
117 inOperator( PBDMaterials, inStartIndex + 12 );;
118 inOperator( CustomMaterials, inStartIndex + 13 );;
119 return 14 + inStartIndex;
120 }
121 };
122 template<> struct PxClassInfoTraits<PxPhysics>
123 {
125 const PxPhysicsGeneratedInfo* getInfo() { return &Info; }
126 };
127
128 class PxRefCounted;
130 {
131 PxU32 ReferenceCount;
132 PX_PHYSX_CORE_API PxRefCountedGeneratedValues( const PxRefCounted* inSource );
133 };
134 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRefCounted, ReferenceCount, PxRefCountedGeneratedValues)
136
137 {
138 static const char* getClassName() { return "PxRefCounted"; }
139 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxRefCounted_ReferenceCount, PxRefCounted, PxU32 > ReferenceCount;
140
141 PX_PHYSX_CORE_API PxRefCountedGeneratedInfo();
142 template<typename TReturnType, typename TOperator>
143 TReturnType visitType( TOperator inOperator ) const
144 {
145 return inOperator( reinterpret_cast<PxRefCounted*>(NULL) );
146 }
147 template<typename TOperator>
148 void visitBases( TOperator inOperator )
149 {
150 PX_UNUSED(inOperator);
151 }
152 template<typename TOperator>
153 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
154 {
155 PX_UNUSED(inOperator);
156 PX_UNUSED(inStartIndex);
157 return inStartIndex;
158 }
159 static PxU32 instancePropertyCount() { return 1; }
160 static PxU32 totalPropertyCount() { return instancePropertyCount(); }
161 template<typename TOperator>
162 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
163 {
164 PX_UNUSED(inOperator);
165 PX_UNUSED(inStartIndex);
166 inOperator( ReferenceCount, inStartIndex + 0 );;
167 return 1 + inStartIndex;
168 }
169 };
170 template<> struct PxClassInfoTraits<PxRefCounted>
171 {
173 const PxRefCountedGeneratedInfo* getInfo() { return &Info; }
174 };
175
176 class PxBaseMaterial;
179 void * UserData;
180 PX_PHYSX_CORE_API PxBaseMaterialGeneratedValues( const PxBaseMaterial* inSource );
181 };
182 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxBaseMaterial, UserData, PxBaseMaterialGeneratedValues)
185 {
186 static const char* getClassName() { return "PxBaseMaterial"; }
187 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxBaseMaterial_UserData, PxBaseMaterial, void *, void * > UserData;
188
189 PX_PHYSX_CORE_API PxBaseMaterialGeneratedInfo();
190 template<typename TReturnType, typename TOperator>
191 TReturnType visitType( TOperator inOperator ) const
192 {
193 return inOperator( reinterpret_cast<PxBaseMaterial*>(NULL) );
194 }
195 template<typename TOperator>
196 void visitBases( TOperator inOperator )
197 {
198 PX_UNUSED(inOperator);
199 inOperator( *static_cast<PxRefCountedGeneratedInfo*>( this ) );
200 }
201 template<typename TOperator>
202 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
203 {
204 PX_UNUSED(inOperator);
205 PX_UNUSED(inStartIndex);
206 inStartIndex = PxRefCountedGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
207 inStartIndex = PxRefCountedGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
208 return inStartIndex;
209 }
210 static PxU32 instancePropertyCount() { return 1; }
211 static PxU32 totalPropertyCount() { return instancePropertyCount()
212 + PxRefCountedGeneratedInfo::totalPropertyCount(); }
213 template<typename TOperator>
214 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
215 {
216 PX_UNUSED(inOperator);
217 PX_UNUSED(inStartIndex);
218 inOperator( UserData, inStartIndex + 0 );;
219 return 1 + inStartIndex;
220 }
221 };
222 template<> struct PxClassInfoTraits<PxBaseMaterial>
223 {
225 const PxBaseMaterialGeneratedInfo* getInfo() { return &Info; }
226 };
227
228 static PxU32ToName g_physx__PxMaterialFlag__EnumConversion[] = {
229 { "eDISABLE_FRICTION", static_cast<PxU32>( physx::PxMaterialFlag::eDISABLE_FRICTION ) },
230 { "eDISABLE_STRONG_FRICTION", static_cast<PxU32>( physx::PxMaterialFlag::eDISABLE_STRONG_FRICTION ) },
231 { "eIMPROVED_PATCH_FRICTION", static_cast<PxU32>( physx::PxMaterialFlag::eIMPROVED_PATCH_FRICTION ) },
232 { "eCOMPLIANT_CONTACT", static_cast<PxU32>( physx::PxMaterialFlag::eCOMPLIANT_CONTACT ) },
233 { NULL, 0 }
234 };
235
236template<> struct PxEnumTraits< physx::PxMaterialFlag::Enum > { PxEnumTraits() : NameConversion( g_physx__PxMaterialFlag__EnumConversion ) {} const PxU32ToName* NameConversion; };
237 static PxU32ToName g_physx__PxCombineMode__EnumConversion[] = {
238 { "eAVERAGE", static_cast<PxU32>( physx::PxCombineMode::eAVERAGE ) },
239 { "eMIN", static_cast<PxU32>( physx::PxCombineMode::eMIN ) },
240 { "eMULTIPLY", static_cast<PxU32>( physx::PxCombineMode::eMULTIPLY ) },
241 { "eMAX", static_cast<PxU32>( physx::PxCombineMode::eMAX ) },
242 { "eN_VALUES", static_cast<PxU32>( physx::PxCombineMode::eN_VALUES ) },
243 { "ePAD_32", static_cast<PxU32>( physx::PxCombineMode::ePAD_32 ) },
244 { NULL, 0 }
245 };
246
247template<> struct PxEnumTraits< physx::PxCombineMode::Enum > { PxEnumTraits() : NameConversion( g_physx__PxCombineMode__EnumConversion ) {} const PxU32ToName* NameConversion; };
248 class PxMaterial;
251 PxReal DynamicFriction;
252 PxReal StaticFriction;
253 PxReal Restitution;
254 PxReal Damping;
255 PxMaterialFlags Flags;
256 PxCombineMode::Enum FrictionCombineMode;
257 PxCombineMode::Enum RestitutionCombineMode;
258 const char * ConcreteTypeName;
259 PX_PHYSX_CORE_API PxMaterialGeneratedValues( const PxMaterial* inSource );
260 };
261 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxMaterial, DynamicFriction, PxMaterialGeneratedValues)
262 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxMaterial, StaticFriction, PxMaterialGeneratedValues)
263 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxMaterial, Restitution, PxMaterialGeneratedValues)
264 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxMaterial, Damping, PxMaterialGeneratedValues)
265 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxMaterial, Flags, PxMaterialGeneratedValues)
266 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxMaterial, FrictionCombineMode, PxMaterialGeneratedValues)
267 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxMaterial, RestitutionCombineMode, PxMaterialGeneratedValues)
268 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxMaterial, ConcreteTypeName, PxMaterialGeneratedValues)
271 {
272 static const char* getClassName() { return "PxMaterial"; }
273 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxMaterial_DynamicFriction, PxMaterial, PxReal, PxReal > DynamicFriction;
274 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxMaterial_StaticFriction, PxMaterial, PxReal, PxReal > StaticFriction;
275 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxMaterial_Restitution, PxMaterial, PxReal, PxReal > Restitution;
276 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxMaterial_Damping, PxMaterial, PxReal, PxReal > Damping;
277 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxMaterial_Flags, PxMaterial, PxMaterialFlags, PxMaterialFlags > Flags;
278 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxMaterial_FrictionCombineMode, PxMaterial, PxCombineMode::Enum, PxCombineMode::Enum > FrictionCombineMode;
279 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxMaterial_RestitutionCombineMode, PxMaterial, PxCombineMode::Enum, PxCombineMode::Enum > RestitutionCombineMode;
280 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxMaterial_ConcreteTypeName, PxMaterial, const char * > ConcreteTypeName;
281
282 PX_PHYSX_CORE_API PxMaterialGeneratedInfo();
283 template<typename TReturnType, typename TOperator>
284 TReturnType visitType( TOperator inOperator ) const
285 {
286 return inOperator( reinterpret_cast<PxMaterial*>(NULL) );
287 }
288 template<typename TOperator>
289 void visitBases( TOperator inOperator )
290 {
291 PX_UNUSED(inOperator);
292 inOperator( *static_cast<PxBaseMaterialGeneratedInfo*>( this ) );
293 }
294 template<typename TOperator>
295 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
296 {
297 PX_UNUSED(inOperator);
298 PX_UNUSED(inStartIndex);
299 inStartIndex = PxBaseMaterialGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
300 inStartIndex = PxBaseMaterialGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
301 return inStartIndex;
302 }
303 static PxU32 instancePropertyCount() { return 8; }
304 static PxU32 totalPropertyCount() { return instancePropertyCount()
305 + PxBaseMaterialGeneratedInfo::totalPropertyCount(); }
306 template<typename TOperator>
307 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
308 {
309 PX_UNUSED(inOperator);
310 PX_UNUSED(inStartIndex);
311 inOperator( DynamicFriction, inStartIndex + 0 );;
312 inOperator( StaticFriction, inStartIndex + 1 );;
313 inOperator( Restitution, inStartIndex + 2 );;
314 inOperator( Damping, inStartIndex + 3 );;
315 inOperator( Flags, inStartIndex + 4 );;
316 inOperator( FrictionCombineMode, inStartIndex + 5 );;
317 inOperator( RestitutionCombineMode, inStartIndex + 6 );;
318 inOperator( ConcreteTypeName, inStartIndex + 7 );;
319 return 8 + inStartIndex;
320 }
321 };
322 template<> struct PxClassInfoTraits<PxMaterial>
323 {
325 const PxMaterialGeneratedInfo* getInfo() { return &Info; }
326 };
327
328 class PxFEMMaterial;
331 PxReal YoungsModulus;
332 PxReal Poissons;
333 PxReal DynamicFriction;
334 PX_PHYSX_CORE_API PxFEMMaterialGeneratedValues( const PxFEMMaterial* inSource );
335 };
336 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxFEMMaterial, YoungsModulus, PxFEMMaterialGeneratedValues)
337 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxFEMMaterial, Poissons, PxFEMMaterialGeneratedValues)
338 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxFEMMaterial, DynamicFriction, PxFEMMaterialGeneratedValues)
341 {
342 static const char* getClassName() { return "PxFEMMaterial"; }
343 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxFEMMaterial_YoungsModulus, PxFEMMaterial, PxReal, PxReal > YoungsModulus;
344 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxFEMMaterial_Poissons, PxFEMMaterial, PxReal, PxReal > Poissons;
345 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxFEMMaterial_DynamicFriction, PxFEMMaterial, PxReal, PxReal > DynamicFriction;
346
347 PX_PHYSX_CORE_API PxFEMMaterialGeneratedInfo();
348 template<typename TReturnType, typename TOperator>
349 TReturnType visitType( TOperator inOperator ) const
350 {
351 return inOperator( reinterpret_cast<PxFEMMaterial*>(NULL) );
352 }
353 template<typename TOperator>
354 void visitBases( TOperator inOperator )
355 {
356 PX_UNUSED(inOperator);
357 inOperator( *static_cast<PxBaseMaterialGeneratedInfo*>( this ) );
358 }
359 template<typename TOperator>
360 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
361 {
362 PX_UNUSED(inOperator);
363 PX_UNUSED(inStartIndex);
364 inStartIndex = PxBaseMaterialGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
365 inStartIndex = PxBaseMaterialGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
366 return inStartIndex;
367 }
368 static PxU32 instancePropertyCount() { return 3; }
369 static PxU32 totalPropertyCount() { return instancePropertyCount()
370 + PxBaseMaterialGeneratedInfo::totalPropertyCount(); }
371 template<typename TOperator>
372 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
373 {
374 PX_UNUSED(inOperator);
375 PX_UNUSED(inStartIndex);
376 inOperator( YoungsModulus, inStartIndex + 0 );;
377 inOperator( Poissons, inStartIndex + 1 );;
378 inOperator( DynamicFriction, inStartIndex + 2 );;
379 return 3 + inStartIndex;
380 }
381 };
382 template<> struct PxClassInfoTraits<PxFEMMaterial>
383 {
385 const PxFEMMaterialGeneratedInfo* getInfo() { return &Info; }
386 };
387
388 class PxFEMSoftBodyMaterial;
391 PxReal Damping;
392 PxReal DampingScale;
393 const char * ConcreteTypeName;
394 PX_PHYSX_CORE_API PxFEMSoftBodyMaterialGeneratedValues( const PxFEMSoftBodyMaterial* inSource );
395 };
396 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxFEMSoftBodyMaterial, Damping, PxFEMSoftBodyMaterialGeneratedValues)
397 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxFEMSoftBodyMaterial, DampingScale, PxFEMSoftBodyMaterialGeneratedValues)
398 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxFEMSoftBodyMaterial, ConcreteTypeName, PxFEMSoftBodyMaterialGeneratedValues)
401 {
402 static const char* getClassName() { return "PxFEMSoftBodyMaterial"; }
403 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxFEMSoftBodyMaterial_Damping, PxFEMSoftBodyMaterial, PxReal, PxReal > Damping;
404 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxFEMSoftBodyMaterial_DampingScale, PxFEMSoftBodyMaterial, PxReal, PxReal > DampingScale;
405 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxFEMSoftBodyMaterial_ConcreteTypeName, PxFEMSoftBodyMaterial, const char * > ConcreteTypeName;
406
407 PX_PHYSX_CORE_API PxFEMSoftBodyMaterialGeneratedInfo();
408 template<typename TReturnType, typename TOperator>
409 TReturnType visitType( TOperator inOperator ) const
410 {
411 return inOperator( reinterpret_cast<PxFEMSoftBodyMaterial*>(NULL) );
412 }
413 template<typename TOperator>
414 void visitBases( TOperator inOperator )
415 {
416 PX_UNUSED(inOperator);
417 inOperator( *static_cast<PxFEMMaterialGeneratedInfo*>( this ) );
418 }
419 template<typename TOperator>
420 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
421 {
422 PX_UNUSED(inOperator);
423 PX_UNUSED(inStartIndex);
424 inStartIndex = PxFEMMaterialGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
425 inStartIndex = PxFEMMaterialGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
426 return inStartIndex;
427 }
428 static PxU32 instancePropertyCount() { return 3; }
429 static PxU32 totalPropertyCount() { return instancePropertyCount()
430 + PxFEMMaterialGeneratedInfo::totalPropertyCount(); }
431 template<typename TOperator>
432 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
433 {
434 PX_UNUSED(inOperator);
435 PX_UNUSED(inStartIndex);
436 inOperator( Damping, inStartIndex + 0 );;
437 inOperator( DampingScale, inStartIndex + 1 );;
438 inOperator( ConcreteTypeName, inStartIndex + 2 );;
439 return 3 + inStartIndex;
440 }
441 };
442 template<> struct PxClassInfoTraits<PxFEMSoftBodyMaterial>
443 {
445 const PxFEMSoftBodyMaterialGeneratedInfo* getInfo() { return &Info; }
446 };
447
448 class PxParticleMaterial;
451 PxReal Friction;
452 PxReal Damping;
453 PxReal Adhesion;
454 PxReal GravityScale;
455 PxReal AdhesionRadiusScale;
456 PX_PHYSX_CORE_API PxParticleMaterialGeneratedValues( const PxParticleMaterial* inSource );
457 };
458 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxParticleMaterial, Friction, PxParticleMaterialGeneratedValues)
459 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxParticleMaterial, Damping, PxParticleMaterialGeneratedValues)
460 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxParticleMaterial, Adhesion, PxParticleMaterialGeneratedValues)
461 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxParticleMaterial, GravityScale, PxParticleMaterialGeneratedValues)
462 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxParticleMaterial, AdhesionRadiusScale, PxParticleMaterialGeneratedValues)
465 {
466 static const char* getClassName() { return "PxParticleMaterial"; }
467 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxParticleMaterial_Friction, PxParticleMaterial, PxReal, PxReal > Friction;
468 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxParticleMaterial_Damping, PxParticleMaterial, PxReal, PxReal > Damping;
469 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxParticleMaterial_Adhesion, PxParticleMaterial, PxReal, PxReal > Adhesion;
470 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxParticleMaterial_GravityScale, PxParticleMaterial, PxReal, PxReal > GravityScale;
471 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxParticleMaterial_AdhesionRadiusScale, PxParticleMaterial, PxReal, PxReal > AdhesionRadiusScale;
472
473 PX_PHYSX_CORE_API PxParticleMaterialGeneratedInfo();
474 template<typename TReturnType, typename TOperator>
475 TReturnType visitType( TOperator inOperator ) const
476 {
477 return inOperator( reinterpret_cast<PxParticleMaterial*>(NULL) );
478 }
479 template<typename TOperator>
480 void visitBases( TOperator inOperator )
481 {
482 PX_UNUSED(inOperator);
483 inOperator( *static_cast<PxBaseMaterialGeneratedInfo*>( this ) );
484 }
485 template<typename TOperator>
486 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
487 {
488 PX_UNUSED(inOperator);
489 PX_UNUSED(inStartIndex);
490 inStartIndex = PxBaseMaterialGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
491 inStartIndex = PxBaseMaterialGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
492 return inStartIndex;
493 }
494 static PxU32 instancePropertyCount() { return 5; }
495 static PxU32 totalPropertyCount() { return instancePropertyCount()
496 + PxBaseMaterialGeneratedInfo::totalPropertyCount(); }
497 template<typename TOperator>
498 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
499 {
500 PX_UNUSED(inOperator);
501 PX_UNUSED(inStartIndex);
502 inOperator( Friction, inStartIndex + 0 );;
503 inOperator( Damping, inStartIndex + 1 );;
504 inOperator( Adhesion, inStartIndex + 2 );;
505 inOperator( GravityScale, inStartIndex + 3 );;
506 inOperator( AdhesionRadiusScale, inStartIndex + 4 );;
507 return 5 + inStartIndex;
508 }
509 };
510 template<> struct PxClassInfoTraits<PxParticleMaterial>
511 {
513 const PxParticleMaterialGeneratedInfo* getInfo() { return &Info; }
514 };
515
516 class PxPBDMaterial;
519 PxReal Viscosity;
520 PxReal VorticityConfinement;
521 PxReal SurfaceTension;
522 PxReal Cohesion;
523 PxReal Lift;
524 PxReal Drag;
525 PxReal CFLCoefficient;
526 PxReal ParticleFrictionScale;
527 PxReal ParticleAdhesionScale;
528 const char * ConcreteTypeName;
529 PX_PHYSX_CORE_API PxPBDMaterialGeneratedValues( const PxPBDMaterial* inSource );
530 };
531 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxPBDMaterial, Viscosity, PxPBDMaterialGeneratedValues)
532 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxPBDMaterial, VorticityConfinement, PxPBDMaterialGeneratedValues)
533 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxPBDMaterial, SurfaceTension, PxPBDMaterialGeneratedValues)
534 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxPBDMaterial, Cohesion, PxPBDMaterialGeneratedValues)
535 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxPBDMaterial, Lift, PxPBDMaterialGeneratedValues)
536 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxPBDMaterial, Drag, PxPBDMaterialGeneratedValues)
537 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxPBDMaterial, CFLCoefficient, PxPBDMaterialGeneratedValues)
538 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxPBDMaterial, ParticleFrictionScale, PxPBDMaterialGeneratedValues)
539 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxPBDMaterial, ParticleAdhesionScale, PxPBDMaterialGeneratedValues)
540 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxPBDMaterial, ConcreteTypeName, PxPBDMaterialGeneratedValues)
543 {
544 static const char* getClassName() { return "PxPBDMaterial"; }
545 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxPBDMaterial_Viscosity, PxPBDMaterial, PxReal, PxReal > Viscosity;
546 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxPBDMaterial_VorticityConfinement, PxPBDMaterial, PxReal, PxReal > VorticityConfinement;
547 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxPBDMaterial_SurfaceTension, PxPBDMaterial, PxReal, PxReal > SurfaceTension;
548 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxPBDMaterial_Cohesion, PxPBDMaterial, PxReal, PxReal > Cohesion;
549 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxPBDMaterial_Lift, PxPBDMaterial, PxReal, PxReal > Lift;
550 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxPBDMaterial_Drag, PxPBDMaterial, PxReal, PxReal > Drag;
551 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxPBDMaterial_CFLCoefficient, PxPBDMaterial, PxReal, PxReal > CFLCoefficient;
552 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxPBDMaterial_ParticleFrictionScale, PxPBDMaterial, PxReal, PxReal > ParticleFrictionScale;
553 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxPBDMaterial_ParticleAdhesionScale, PxPBDMaterial, PxReal, PxReal > ParticleAdhesionScale;
554 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxPBDMaterial_ConcreteTypeName, PxPBDMaterial, const char * > ConcreteTypeName;
555
556 PX_PHYSX_CORE_API PxPBDMaterialGeneratedInfo();
557 template<typename TReturnType, typename TOperator>
558 TReturnType visitType( TOperator inOperator ) const
559 {
560 return inOperator( reinterpret_cast<PxPBDMaterial*>(NULL) );
561 }
562 template<typename TOperator>
563 void visitBases( TOperator inOperator )
564 {
565 PX_UNUSED(inOperator);
566 inOperator( *static_cast<PxParticleMaterialGeneratedInfo*>( this ) );
567 }
568 template<typename TOperator>
569 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
570 {
571 PX_UNUSED(inOperator);
572 PX_UNUSED(inStartIndex);
573 inStartIndex = PxParticleMaterialGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
574 inStartIndex = PxParticleMaterialGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
575 return inStartIndex;
576 }
577 static PxU32 instancePropertyCount() { return 10; }
578 static PxU32 totalPropertyCount() { return instancePropertyCount()
579 + PxParticleMaterialGeneratedInfo::totalPropertyCount(); }
580 template<typename TOperator>
581 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
582 {
583 PX_UNUSED(inOperator);
584 PX_UNUSED(inStartIndex);
585 inOperator( Viscosity, inStartIndex + 0 );;
586 inOperator( VorticityConfinement, inStartIndex + 1 );;
587 inOperator( SurfaceTension, inStartIndex + 2 );;
588 inOperator( Cohesion, inStartIndex + 3 );;
589 inOperator( Lift, inStartIndex + 4 );;
590 inOperator( Drag, inStartIndex + 5 );;
591 inOperator( CFLCoefficient, inStartIndex + 6 );;
592 inOperator( ParticleFrictionScale, inStartIndex + 7 );;
593 inOperator( ParticleAdhesionScale, inStartIndex + 8 );;
594 inOperator( ConcreteTypeName, inStartIndex + 9 );;
595 return 10 + inStartIndex;
596 }
597 };
598 template<> struct PxClassInfoTraits<PxPBDMaterial>
599 {
601 const PxPBDMaterialGeneratedInfo* getInfo() { return &Info; }
602 };
603
604 static PxU32ToName g_physx__PxActorType__EnumConversion[] = {
605 { "eRIGID_STATIC", static_cast<PxU32>( physx::PxActorType::eRIGID_STATIC ) },
606 { "eRIGID_DYNAMIC", static_cast<PxU32>( physx::PxActorType::eRIGID_DYNAMIC ) },
607 { "eARTICULATION_LINK", static_cast<PxU32>( physx::PxActorType::eARTICULATION_LINK ) },
608 { "eSOFTBODY", static_cast<PxU32>( physx::PxActorType::eSOFTBODY ) },
609 { "eFEMCLOTH", static_cast<PxU32>( physx::PxActorType::eFEMCLOTH ) },
610 { "ePBD_PARTICLESYSTEM", static_cast<PxU32>( physx::PxActorType::ePBD_PARTICLESYSTEM ) },
611 { "eFLIP_PARTICLESYSTEM", static_cast<PxU32>( physx::PxActorType::eFLIP_PARTICLESYSTEM ) },
612 { "eMPM_PARTICLESYSTEM", static_cast<PxU32>( physx::PxActorType::eMPM_PARTICLESYSTEM ) },
613 { "eCUSTOM_PARTICLESYSTEM", static_cast<PxU32>( physx::PxActorType::eCUSTOM_PARTICLESYSTEM ) },
614 { "eHAIRSYSTEM", static_cast<PxU32>( physx::PxActorType::eHAIRSYSTEM ) },
615 { NULL, 0 }
616 };
617
618template<> struct PxEnumTraits< physx::PxActorType::Enum > { PxEnumTraits() : NameConversion( g_physx__PxActorType__EnumConversion ) {} const PxU32ToName* NameConversion; };
619 static PxU32ToName g_physx__PxActorFlag__EnumConversion[] = {
620 { "eVISUALIZATION", static_cast<PxU32>( physx::PxActorFlag::eVISUALIZATION ) },
621 { "eDISABLE_GRAVITY", static_cast<PxU32>( physx::PxActorFlag::eDISABLE_GRAVITY ) },
622 { "eSEND_SLEEP_NOTIFIES", static_cast<PxU32>( physx::PxActorFlag::eSEND_SLEEP_NOTIFIES ) },
623 { "eDISABLE_SIMULATION", static_cast<PxU32>( physx::PxActorFlag::eDISABLE_SIMULATION ) },
624 { NULL, 0 }
625 };
626
627template<> struct PxEnumTraits< physx::PxActorFlag::Enum > { PxEnumTraits() : NameConversion( g_physx__PxActorFlag__EnumConversion ) {} const PxU32ToName* NameConversion; };
628 class PxActor;
630 {
631 PxScene * Scene;
632 const char * Name;
633 PxActorFlags ActorFlags;
634 PxDominanceGroup DominanceGroup;
635 PxClientID OwnerClient;
636 PxAggregate * Aggregate;
637 void * UserData;
638 PX_PHYSX_CORE_API PxActorGeneratedValues( const PxActor* inSource );
639 };
640 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxActor, Scene, PxActorGeneratedValues)
641 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxActor, Name, PxActorGeneratedValues)
642 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxActor, ActorFlags, PxActorGeneratedValues)
643 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxActor, DominanceGroup, PxActorGeneratedValues)
644 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxActor, OwnerClient, PxActorGeneratedValues)
645 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxActor, Aggregate, PxActorGeneratedValues)
646 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxActor, UserData, PxActorGeneratedValues)
648
649 {
650 static const char* getClassName() { return "PxActor"; }
651 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxActor_Scene, PxActor, PxScene * > Scene;
652 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxActor_Name, PxActor, const char *, const char * > Name;
653 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxActor_ActorFlags, PxActor, PxActorFlags, PxActorFlags > ActorFlags;
654 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxActor_DominanceGroup, PxActor, PxDominanceGroup, PxDominanceGroup > DominanceGroup;
655 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxActor_OwnerClient, PxActor, PxClientID, PxClientID > OwnerClient;
656 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxActor_Aggregate, PxActor, PxAggregate * > Aggregate;
657 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxActor_UserData, PxActor, void *, void * > UserData;
658
659 PX_PHYSX_CORE_API PxActorGeneratedInfo();
660 template<typename TReturnType, typename TOperator>
661 TReturnType visitType( TOperator inOperator ) const
662 {
663 return inOperator( reinterpret_cast<PxActor*>(NULL) );
664 }
665 template<typename TOperator>
666 void visitBases( TOperator inOperator )
667 {
668 PX_UNUSED(inOperator);
669 }
670 template<typename TOperator>
671 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
672 {
673 PX_UNUSED(inOperator);
674 PX_UNUSED(inStartIndex);
675 return inStartIndex;
676 }
677 static PxU32 instancePropertyCount() { return 7; }
678 static PxU32 totalPropertyCount() { return instancePropertyCount(); }
679 template<typename TOperator>
680 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
681 {
682 PX_UNUSED(inOperator);
683 PX_UNUSED(inStartIndex);
684 inOperator( Scene, inStartIndex + 0 );;
685 inOperator( Name, inStartIndex + 1 );;
686 inOperator( ActorFlags, inStartIndex + 2 );;
687 inOperator( DominanceGroup, inStartIndex + 3 );;
688 inOperator( OwnerClient, inStartIndex + 4 );;
689 inOperator( Aggregate, inStartIndex + 5 );;
690 inOperator( UserData, inStartIndex + 6 );;
691 return 7 + inStartIndex;
692 }
693 };
694 template<> struct PxClassInfoTraits<PxActor>
695 {
697 const PxActorGeneratedInfo* getInfo() { return &Info; }
698 };
699
700 class PxRigidActor;
703 PxTransform GlobalPose;
704 PX_PHYSX_CORE_API PxRigidActorGeneratedValues( const PxRigidActor* inSource );
705 };
706 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidActor, GlobalPose, PxRigidActorGeneratedValues)
709 {
710 static const char* getClassName() { return "PxRigidActor"; }
711 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxRigidActor_GlobalPose, PxRigidActor, const PxTransform &, PxTransform > GlobalPose;
712 PxRigidActorShapeCollection Shapes;
713 PxReadOnlyCollectionPropertyInfo<PX_PROPERTY_INFO_NAME::PxRigidActor_Constraints, PxRigidActor, PxConstraint * > Constraints;
714
715 PX_PHYSX_CORE_API PxRigidActorGeneratedInfo();
716 template<typename TReturnType, typename TOperator>
717 TReturnType visitType( TOperator inOperator ) const
718 {
719 return inOperator( reinterpret_cast<PxRigidActor*>(NULL) );
720 }
721 template<typename TOperator>
722 void visitBases( TOperator inOperator )
723 {
724 PX_UNUSED(inOperator);
725 inOperator( *static_cast<PxActorGeneratedInfo*>( this ) );
726 }
727 template<typename TOperator>
728 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
729 {
730 PX_UNUSED(inOperator);
731 PX_UNUSED(inStartIndex);
732 inStartIndex = PxActorGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
733 inStartIndex = PxActorGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
734 return inStartIndex;
735 }
736 static PxU32 instancePropertyCount() { return 3; }
737 static PxU32 totalPropertyCount() { return instancePropertyCount()
738 + PxActorGeneratedInfo::totalPropertyCount(); }
739 template<typename TOperator>
740 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
741 {
742 PX_UNUSED(inOperator);
743 PX_UNUSED(inStartIndex);
744 inOperator( GlobalPose, inStartIndex + 0 );;
745 inOperator( Shapes, inStartIndex + 1 );;
746 inOperator( Constraints, inStartIndex + 2 );;
747 return 3 + inStartIndex;
748 }
749 };
750 template<> struct PxClassInfoTraits<PxRigidActor>
751 {
753 const PxRigidActorGeneratedInfo* getInfo() { return &Info; }
754 };
755
756 static PxU32ToName g_physx__PxForceMode__EnumConversion[] = {
757 { "eFORCE", static_cast<PxU32>( physx::PxForceMode::eFORCE ) },
758 { "eIMPULSE", static_cast<PxU32>( physx::PxForceMode::eIMPULSE ) },
759 { "eVELOCITY_CHANGE", static_cast<PxU32>( physx::PxForceMode::eVELOCITY_CHANGE ) },
760 { "eACCELERATION", static_cast<PxU32>( physx::PxForceMode::eACCELERATION ) },
761 { NULL, 0 }
762 };
763
764template<> struct PxEnumTraits< physx::PxForceMode::Enum > { PxEnumTraits() : NameConversion( g_physx__PxForceMode__EnumConversion ) {} const PxU32ToName* NameConversion; };
765 static PxU32ToName g_physx__PxRigidBodyFlag__EnumConversion[] = {
766 { "eKINEMATIC", static_cast<PxU32>( physx::PxRigidBodyFlag::eKINEMATIC ) },
767 { "eUSE_KINEMATIC_TARGET_FOR_SCENE_QUERIES", static_cast<PxU32>( physx::PxRigidBodyFlag::eUSE_KINEMATIC_TARGET_FOR_SCENE_QUERIES ) },
768 { "eENABLE_CCD", static_cast<PxU32>( physx::PxRigidBodyFlag::eENABLE_CCD ) },
769 { "eENABLE_CCD_FRICTION", static_cast<PxU32>( physx::PxRigidBodyFlag::eENABLE_CCD_FRICTION ) },
770 { "eENABLE_SPECULATIVE_CCD", static_cast<PxU32>( physx::PxRigidBodyFlag::eENABLE_SPECULATIVE_CCD ) },
771 { "eENABLE_POSE_INTEGRATION_PREVIEW", static_cast<PxU32>( physx::PxRigidBodyFlag::eENABLE_POSE_INTEGRATION_PREVIEW ) },
772 { "eENABLE_CCD_MAX_CONTACT_IMPULSE", static_cast<PxU32>( physx::PxRigidBodyFlag::eENABLE_CCD_MAX_CONTACT_IMPULSE ) },
773 { "eRETAIN_ACCELERATIONS", static_cast<PxU32>( physx::PxRigidBodyFlag::eRETAIN_ACCELERATIONS ) },
774 { "eFORCE_KINE_KINE_NOTIFICATIONS", static_cast<PxU32>( physx::PxRigidBodyFlag::eFORCE_KINE_KINE_NOTIFICATIONS ) },
775 { "eFORCE_STATIC_KINE_NOTIFICATIONS", static_cast<PxU32>( physx::PxRigidBodyFlag::eFORCE_STATIC_KINE_NOTIFICATIONS ) },
776 { "eENABLE_GYROSCOPIC_FORCES", static_cast<PxU32>( physx::PxRigidBodyFlag::eENABLE_GYROSCOPIC_FORCES ) },
777 { "eRESERVED", static_cast<PxU32>( physx::PxRigidBodyFlag::eRESERVED ) },
778 { NULL, 0 }
779 };
780
781template<> struct PxEnumTraits< physx::PxRigidBodyFlag::Enum > { PxEnumTraits() : NameConversion( g_physx__PxRigidBodyFlag__EnumConversion ) {} const PxU32ToName* NameConversion; };
782 class PxRigidBody;
785 PxTransform CMassLocalPose;
786 PxReal Mass;
787 PxReal InvMass;
788 PxVec3 MassSpaceInertiaTensor;
789 PxVec3 MassSpaceInvInertiaTensor;
790 PxReal LinearDamping;
791 PxReal AngularDamping;
792 PxReal MaxLinearVelocity;
793 PxReal MaxAngularVelocity;
794 PxRigidBodyFlags RigidBodyFlags;
795 PxReal MinCCDAdvanceCoefficient;
796 PxReal MaxDepenetrationVelocity;
797 PxReal MaxContactImpulse;
798 PxReal ContactSlopCoefficient;
799 PX_PHYSX_CORE_API PxRigidBodyGeneratedValues( const PxRigidBody* inSource );
800 };
801 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidBody, CMassLocalPose, PxRigidBodyGeneratedValues)
802 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidBody, Mass, PxRigidBodyGeneratedValues)
803 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidBody, InvMass, PxRigidBodyGeneratedValues)
804 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidBody, MassSpaceInertiaTensor, PxRigidBodyGeneratedValues)
805 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidBody, MassSpaceInvInertiaTensor, PxRigidBodyGeneratedValues)
806 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidBody, LinearDamping, PxRigidBodyGeneratedValues)
807 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidBody, AngularDamping, PxRigidBodyGeneratedValues)
808 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidBody, MaxLinearVelocity, PxRigidBodyGeneratedValues)
809 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidBody, MaxAngularVelocity, PxRigidBodyGeneratedValues)
810 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidBody, RigidBodyFlags, PxRigidBodyGeneratedValues)
811 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidBody, MinCCDAdvanceCoefficient, PxRigidBodyGeneratedValues)
812 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidBody, MaxDepenetrationVelocity, PxRigidBodyGeneratedValues)
813 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidBody, MaxContactImpulse, PxRigidBodyGeneratedValues)
814 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidBody, ContactSlopCoefficient, PxRigidBodyGeneratedValues)
817 {
818 static const char* getClassName() { return "PxRigidBody"; }
819 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxRigidBody_CMassLocalPose, PxRigidBody, const PxTransform &, PxTransform > CMassLocalPose;
820 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxRigidBody_Mass, PxRigidBody, PxReal, PxReal > Mass;
821 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxRigidBody_InvMass, PxRigidBody, PxReal > InvMass;
822 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxRigidBody_MassSpaceInertiaTensor, PxRigidBody, const PxVec3 &, PxVec3 > MassSpaceInertiaTensor;
823 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxRigidBody_MassSpaceInvInertiaTensor, PxRigidBody, PxVec3 > MassSpaceInvInertiaTensor;
824 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxRigidBody_LinearDamping, PxRigidBody, PxReal, PxReal > LinearDamping;
825 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxRigidBody_AngularDamping, PxRigidBody, PxReal, PxReal > AngularDamping;
826 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxRigidBody_MaxLinearVelocity, PxRigidBody, PxReal, PxReal > MaxLinearVelocity;
827 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxRigidBody_MaxAngularVelocity, PxRigidBody, PxReal, PxReal > MaxAngularVelocity;
828 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxRigidBody_RigidBodyFlags, PxRigidBody, PxRigidBodyFlags, PxRigidBodyFlags > RigidBodyFlags;
829 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxRigidBody_MinCCDAdvanceCoefficient, PxRigidBody, PxReal, PxReal > MinCCDAdvanceCoefficient;
830 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxRigidBody_MaxDepenetrationVelocity, PxRigidBody, PxReal, PxReal > MaxDepenetrationVelocity;
831 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxRigidBody_MaxContactImpulse, PxRigidBody, PxReal, PxReal > MaxContactImpulse;
832 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxRigidBody_ContactSlopCoefficient, PxRigidBody, PxReal, PxReal > ContactSlopCoefficient;
833
834 PX_PHYSX_CORE_API PxRigidBodyGeneratedInfo();
835 template<typename TReturnType, typename TOperator>
836 TReturnType visitType( TOperator inOperator ) const
837 {
838 return inOperator( reinterpret_cast<PxRigidBody*>(NULL) );
839 }
840 template<typename TOperator>
841 void visitBases( TOperator inOperator )
842 {
843 PX_UNUSED(inOperator);
844 inOperator( *static_cast<PxRigidActorGeneratedInfo*>( this ) );
845 }
846 template<typename TOperator>
847 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
848 {
849 PX_UNUSED(inOperator);
850 PX_UNUSED(inStartIndex);
851 inStartIndex = PxRigidActorGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
852 inStartIndex = PxRigidActorGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
853 return inStartIndex;
854 }
855 static PxU32 instancePropertyCount() { return 14; }
856 static PxU32 totalPropertyCount() { return instancePropertyCount()
857 + PxRigidActorGeneratedInfo::totalPropertyCount(); }
858 template<typename TOperator>
859 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
860 {
861 PX_UNUSED(inOperator);
862 PX_UNUSED(inStartIndex);
863 inOperator( CMassLocalPose, inStartIndex + 0 );;
864 inOperator( Mass, inStartIndex + 1 );;
865 inOperator( InvMass, inStartIndex + 2 );;
866 inOperator( MassSpaceInertiaTensor, inStartIndex + 3 );;
867 inOperator( MassSpaceInvInertiaTensor, inStartIndex + 4 );;
868 inOperator( LinearDamping, inStartIndex + 5 );;
869 inOperator( AngularDamping, inStartIndex + 6 );;
870 inOperator( MaxLinearVelocity, inStartIndex + 7 );;
871 inOperator( MaxAngularVelocity, inStartIndex + 8 );;
872 inOperator( RigidBodyFlags, inStartIndex + 9 );;
873 inOperator( MinCCDAdvanceCoefficient, inStartIndex + 10 );;
874 inOperator( MaxDepenetrationVelocity, inStartIndex + 11 );;
875 inOperator( MaxContactImpulse, inStartIndex + 12 );;
876 inOperator( ContactSlopCoefficient, inStartIndex + 13 );;
877 return 14 + inStartIndex;
878 }
879 };
880 template<> struct PxClassInfoTraits<PxRigidBody>
881 {
883 const PxRigidBodyGeneratedInfo* getInfo() { return &Info; }
884 };
885
886 static PxU32ToName g_physx__PxRigidDynamicLockFlag__EnumConversion[] = {
887 { "eLOCK_LINEAR_X", static_cast<PxU32>( physx::PxRigidDynamicLockFlag::eLOCK_LINEAR_X ) },
888 { "eLOCK_LINEAR_Y", static_cast<PxU32>( physx::PxRigidDynamicLockFlag::eLOCK_LINEAR_Y ) },
889 { "eLOCK_LINEAR_Z", static_cast<PxU32>( physx::PxRigidDynamicLockFlag::eLOCK_LINEAR_Z ) },
890 { "eLOCK_ANGULAR_X", static_cast<PxU32>( physx::PxRigidDynamicLockFlag::eLOCK_ANGULAR_X ) },
891 { "eLOCK_ANGULAR_Y", static_cast<PxU32>( physx::PxRigidDynamicLockFlag::eLOCK_ANGULAR_Y ) },
892 { "eLOCK_ANGULAR_Z", static_cast<PxU32>( physx::PxRigidDynamicLockFlag::eLOCK_ANGULAR_Z ) },
893 { NULL, 0 }
894 };
895
896template<> struct PxEnumTraits< physx::PxRigidDynamicLockFlag::Enum > { PxEnumTraits() : NameConversion( g_physx__PxRigidDynamicLockFlag__EnumConversion ) {} const PxU32ToName* NameConversion; };
897 class PxRigidDynamic;
900 _Bool IsSleeping;
901 PxReal SleepThreshold;
902 PxReal StabilizationThreshold;
903 PxRigidDynamicLockFlags RigidDynamicLockFlags;
904 PxVec3 LinearVelocity;
905 PxVec3 AngularVelocity;
906 PxReal WakeCounter;
907 PxU32 SolverIterationCounts[2];
908 PxReal ContactReportThreshold;
909 const char * ConcreteTypeName;
910 PX_PHYSX_CORE_API PxRigidDynamicGeneratedValues( const PxRigidDynamic* inSource );
911 };
912 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidDynamic, IsSleeping, PxRigidDynamicGeneratedValues)
913 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidDynamic, SleepThreshold, PxRigidDynamicGeneratedValues)
914 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidDynamic, StabilizationThreshold, PxRigidDynamicGeneratedValues)
915 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidDynamic, RigidDynamicLockFlags, PxRigidDynamicGeneratedValues)
916 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidDynamic, LinearVelocity, PxRigidDynamicGeneratedValues)
917 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidDynamic, AngularVelocity, PxRigidDynamicGeneratedValues)
918 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidDynamic, WakeCounter, PxRigidDynamicGeneratedValues)
919 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidDynamic, SolverIterationCounts, PxRigidDynamicGeneratedValues)
920 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidDynamic, ContactReportThreshold, PxRigidDynamicGeneratedValues)
921 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidDynamic, ConcreteTypeName, PxRigidDynamicGeneratedValues)
924 {
925 static const char* getClassName() { return "PxRigidDynamic"; }
926 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxRigidDynamic_IsSleeping, PxRigidDynamic, _Bool > IsSleeping;
927 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxRigidDynamic_SleepThreshold, PxRigidDynamic, PxReal, PxReal > SleepThreshold;
928 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxRigidDynamic_StabilizationThreshold, PxRigidDynamic, PxReal, PxReal > StabilizationThreshold;
929 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxRigidDynamic_RigidDynamicLockFlags, PxRigidDynamic, PxRigidDynamicLockFlags, PxRigidDynamicLockFlags > RigidDynamicLockFlags;
930 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxRigidDynamic_LinearVelocity, PxRigidDynamic, const PxVec3 &, PxVec3 > LinearVelocity;
931 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxRigidDynamic_AngularVelocity, PxRigidDynamic, const PxVec3 &, PxVec3 > AngularVelocity;
932 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxRigidDynamic_WakeCounter, PxRigidDynamic, PxReal, PxReal > WakeCounter;
933 PxRangePropertyInfo<PX_PROPERTY_INFO_NAME::PxRigidDynamic_SolverIterationCounts, PxRigidDynamic, PxU32 > SolverIterationCounts;
934 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxRigidDynamic_ContactReportThreshold, PxRigidDynamic, PxReal, PxReal > ContactReportThreshold;
935 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxRigidDynamic_ConcreteTypeName, PxRigidDynamic, const char * > ConcreteTypeName;
936
937 PX_PHYSX_CORE_API PxRigidDynamicGeneratedInfo();
938 template<typename TReturnType, typename TOperator>
939 TReturnType visitType( TOperator inOperator ) const
940 {
941 return inOperator( reinterpret_cast<PxRigidDynamic*>(NULL) );
942 }
943 template<typename TOperator>
944 void visitBases( TOperator inOperator )
945 {
946 PX_UNUSED(inOperator);
947 inOperator( *static_cast<PxRigidBodyGeneratedInfo*>( this ) );
948 }
949 template<typename TOperator>
950 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
951 {
952 PX_UNUSED(inOperator);
953 PX_UNUSED(inStartIndex);
954 inStartIndex = PxRigidBodyGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
955 inStartIndex = PxRigidBodyGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
956 return inStartIndex;
957 }
958 static PxU32 instancePropertyCount() { return 10; }
959 static PxU32 totalPropertyCount() { return instancePropertyCount()
960 + PxRigidBodyGeneratedInfo::totalPropertyCount(); }
961 template<typename TOperator>
962 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
963 {
964 PX_UNUSED(inOperator);
965 PX_UNUSED(inStartIndex);
966 inOperator( IsSleeping, inStartIndex + 0 );;
967 inOperator( SleepThreshold, inStartIndex + 1 );;
968 inOperator( StabilizationThreshold, inStartIndex + 2 );;
969 inOperator( RigidDynamicLockFlags, inStartIndex + 3 );;
970 inOperator( LinearVelocity, inStartIndex + 4 );;
971 inOperator( AngularVelocity, inStartIndex + 5 );;
972 inOperator( WakeCounter, inStartIndex + 6 );;
973 inOperator( SolverIterationCounts, inStartIndex + 7 );;
974 inOperator( ContactReportThreshold, inStartIndex + 8 );;
975 inOperator( ConcreteTypeName, inStartIndex + 9 );;
976 return 10 + inStartIndex;
977 }
978 };
979 template<> struct PxClassInfoTraits<PxRigidDynamic>
980 {
982 const PxRigidDynamicGeneratedInfo* getInfo() { return &Info; }
983 };
984
985 class PxRigidStatic;
988 const char * ConcreteTypeName;
989 PX_PHYSX_CORE_API PxRigidStaticGeneratedValues( const PxRigidStatic* inSource );
990 };
991 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRigidStatic, ConcreteTypeName, PxRigidStaticGeneratedValues)
994 {
995 static const char* getClassName() { return "PxRigidStatic"; }
996 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxRigidStatic_ConcreteTypeName, PxRigidStatic, const char * > ConcreteTypeName;
997
998 PX_PHYSX_CORE_API PxRigidStaticGeneratedInfo();
999 template<typename TReturnType, typename TOperator>
1000 TReturnType visitType( TOperator inOperator ) const
1001 {
1002 return inOperator( reinterpret_cast<PxRigidStatic*>(NULL) );
1003 }
1004 template<typename TOperator>
1005 void visitBases( TOperator inOperator )
1006 {
1007 PX_UNUSED(inOperator);
1008 inOperator( *static_cast<PxRigidActorGeneratedInfo*>( this ) );
1009 }
1010 template<typename TOperator>
1011 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1012 {
1013 PX_UNUSED(inOperator);
1014 PX_UNUSED(inStartIndex);
1015 inStartIndex = PxRigidActorGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
1016 inStartIndex = PxRigidActorGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
1017 return inStartIndex;
1018 }
1019 static PxU32 instancePropertyCount() { return 1; }
1020 static PxU32 totalPropertyCount() { return instancePropertyCount()
1021 + PxRigidActorGeneratedInfo::totalPropertyCount(); }
1022 template<typename TOperator>
1023 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1024 {
1025 PX_UNUSED(inOperator);
1026 PX_UNUSED(inStartIndex);
1027 inOperator( ConcreteTypeName, inStartIndex + 0 );;
1028 return 1 + inStartIndex;
1029 }
1030 };
1031 template<> struct PxClassInfoTraits<PxRigidStatic>
1032 {
1034 const PxRigidStaticGeneratedInfo* getInfo() { return &Info; }
1035 };
1036
1037 class PxArticulationLink;
1040 PxArticulationJointReducedCoordinate * InboundJoint;
1041 PxU32 InboundJointDof;
1042 PxU32 LinkIndex;
1043 PxReal CfmScale;
1044 PxVec3 LinearVelocity;
1045 PxVec3 AngularVelocity;
1046 const char * ConcreteTypeName;
1047 PX_PHYSX_CORE_API PxArticulationLinkGeneratedValues( const PxArticulationLink* inSource );
1048 };
1049 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationLink, InboundJoint, PxArticulationLinkGeneratedValues)
1050 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationLink, InboundJointDof, PxArticulationLinkGeneratedValues)
1051 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationLink, LinkIndex, PxArticulationLinkGeneratedValues)
1052 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationLink, CfmScale, PxArticulationLinkGeneratedValues)
1053 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationLink, LinearVelocity, PxArticulationLinkGeneratedValues)
1054 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationLink, AngularVelocity, PxArticulationLinkGeneratedValues)
1055 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationLink, ConcreteTypeName, PxArticulationLinkGeneratedValues)
1058 {
1059 static const char* getClassName() { return "PxArticulationLink"; }
1060 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationLink_InboundJoint, PxArticulationLink, PxArticulationJointReducedCoordinate * > InboundJoint;
1061 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationLink_InboundJointDof, PxArticulationLink, PxU32 > InboundJointDof;
1062 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationLink_LinkIndex, PxArticulationLink, PxU32 > LinkIndex;
1063 PxReadOnlyCollectionPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationLink_Children, PxArticulationLink, PxArticulationLink * > Children;
1064 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationLink_CfmScale, PxArticulationLink, const PxReal, PxReal > CfmScale;
1065 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationLink_LinearVelocity, PxArticulationLink, PxVec3 > LinearVelocity;
1066 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationLink_AngularVelocity, PxArticulationLink, PxVec3 > AngularVelocity;
1067 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationLink_ConcreteTypeName, PxArticulationLink, const char * > ConcreteTypeName;
1068
1069 PX_PHYSX_CORE_API PxArticulationLinkGeneratedInfo();
1070 template<typename TReturnType, typename TOperator>
1071 TReturnType visitType( TOperator inOperator ) const
1072 {
1073 return inOperator( reinterpret_cast<PxArticulationLink*>(NULL) );
1074 }
1075 template<typename TOperator>
1076 void visitBases( TOperator inOperator )
1077 {
1078 PX_UNUSED(inOperator);
1079 inOperator( *static_cast<PxRigidBodyGeneratedInfo*>( this ) );
1080 }
1081 template<typename TOperator>
1082 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1083 {
1084 PX_UNUSED(inOperator);
1085 PX_UNUSED(inStartIndex);
1086 inStartIndex = PxRigidBodyGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
1087 inStartIndex = PxRigidBodyGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
1088 return inStartIndex;
1089 }
1090 static PxU32 instancePropertyCount() { return 8; }
1091 static PxU32 totalPropertyCount() { return instancePropertyCount()
1092 + PxRigidBodyGeneratedInfo::totalPropertyCount(); }
1093 template<typename TOperator>
1094 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1095 {
1096 PX_UNUSED(inOperator);
1097 PX_UNUSED(inStartIndex);
1098 inOperator( InboundJoint, inStartIndex + 0 );;
1099 inOperator( InboundJointDof, inStartIndex + 1 );;
1100 inOperator( LinkIndex, inStartIndex + 2 );;
1101 inOperator( Children, inStartIndex + 3 );;
1102 inOperator( CfmScale, inStartIndex + 4 );;
1103 inOperator( LinearVelocity, inStartIndex + 5 );;
1104 inOperator( AngularVelocity, inStartIndex + 6 );;
1105 inOperator( ConcreteTypeName, inStartIndex + 7 );;
1106 return 8 + inStartIndex;
1107 }
1108 };
1109 template<> struct PxClassInfoTraits<PxArticulationLink>
1110 {
1112 const PxArticulationLinkGeneratedInfo* getInfo() { return &Info; }
1113 };
1114
1115 static PxU32ToName g_physx__PxArticulationJointType__EnumConversion[] = {
1116 { "eFIX", static_cast<PxU32>( physx::PxArticulationJointType::eFIX ) },
1117 { "ePRISMATIC", static_cast<PxU32>( physx::PxArticulationJointType::ePRISMATIC ) },
1118 { "eREVOLUTE", static_cast<PxU32>( physx::PxArticulationJointType::eREVOLUTE ) },
1119 { "eREVOLUTE_UNWRAPPED", static_cast<PxU32>( physx::PxArticulationJointType::eREVOLUTE_UNWRAPPED ) },
1120 { "eSPHERICAL", static_cast<PxU32>( physx::PxArticulationJointType::eSPHERICAL ) },
1121 { "eUNDEFINED", static_cast<PxU32>( physx::PxArticulationJointType::eUNDEFINED ) },
1122 { NULL, 0 }
1123 };
1124
1125template<> struct PxEnumTraits< physx::PxArticulationJointType::Enum > { PxEnumTraits() : NameConversion( g_physx__PxArticulationJointType__EnumConversion ) {} const PxU32ToName* NameConversion; };
1126 static PxU32ToName g_physx__PxArticulationAxis__EnumConversion[] = {
1127 { "eTWIST", static_cast<PxU32>( physx::PxArticulationAxis::eTWIST ) },
1128 { "eSWING1", static_cast<PxU32>( physx::PxArticulationAxis::eSWING1 ) },
1129 { "eSWING2", static_cast<PxU32>( physx::PxArticulationAxis::eSWING2 ) },
1130 { "eX", static_cast<PxU32>( physx::PxArticulationAxis::eX ) },
1131 { "eY", static_cast<PxU32>( physx::PxArticulationAxis::eY ) },
1132 { "eZ", static_cast<PxU32>( physx::PxArticulationAxis::eZ ) },
1133 { NULL, 0 }
1134 };
1135
1136template<> struct PxEnumTraits< physx::PxArticulationAxis::Enum > { PxEnumTraits() : NameConversion( g_physx__PxArticulationAxis__EnumConversion ) {} const PxU32ToName* NameConversion; };
1137 static PxU32ToName g_physx__PxArticulationMotion__EnumConversion[] = {
1138 { "eLOCKED", static_cast<PxU32>( physx::PxArticulationMotion::eLOCKED ) },
1139 { "eLIMITED", static_cast<PxU32>( physx::PxArticulationMotion::eLIMITED ) },
1140 { "eFREE", static_cast<PxU32>( physx::PxArticulationMotion::eFREE ) },
1141 { NULL, 0 }
1142 };
1143
1144template<> struct PxEnumTraits< physx::PxArticulationMotion::Enum > { PxEnumTraits() : NameConversion( g_physx__PxArticulationMotion__EnumConversion ) {} const PxU32ToName* NameConversion; };
1145 static PxU32ToName g_physx__PxArticulationDriveType__EnumConversion[] = {
1146 { "eFORCE", static_cast<PxU32>( physx::PxArticulationDriveType::eFORCE ) },
1147 { "eACCELERATION", static_cast<PxU32>( physx::PxArticulationDriveType::eACCELERATION ) },
1148 { "eTARGET", static_cast<PxU32>( physx::PxArticulationDriveType::eTARGET ) },
1149 { "eVELOCITY", static_cast<PxU32>( physx::PxArticulationDriveType::eVELOCITY ) },
1150 { "eNONE", static_cast<PxU32>( physx::PxArticulationDriveType::eNONE ) },
1151 { NULL, 0 }
1152 };
1153
1154template<> struct PxEnumTraits< physx::PxArticulationDriveType::Enum > { PxEnumTraits() : NameConversion( g_physx__PxArticulationDriveType__EnumConversion ) {} const PxU32ToName* NameConversion; };
1155 class PxArticulationJointReducedCoordinate;
1157 {
1158 PxTransform ParentPose;
1159 PxTransform ChildPose;
1160 PxArticulationJointType::Enum JointType;
1161 PxArticulationMotion::Enum Motion[physx::PxArticulationAxis::eCOUNT];
1162 PxArticulationLimit LimitParams[physx::PxArticulationAxis::eCOUNT];
1163 PxArticulationDrive DriveParams[physx::PxArticulationAxis::eCOUNT];
1164 PxReal Armature[physx::PxArticulationAxis::eCOUNT];
1165 PxReal FrictionCoefficient;
1166 PxReal MaxJointVelocity;
1167 PxReal JointPosition[physx::PxArticulationAxis::eCOUNT];
1168 PxReal JointVelocity[physx::PxArticulationAxis::eCOUNT];
1169 const char * ConcreteTypeName;
1170 void * UserData;
1171 PX_PHYSX_CORE_API PxArticulationJointReducedCoordinateGeneratedValues( const PxArticulationJointReducedCoordinate* inSource );
1172 };
1173 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationJointReducedCoordinate, ParentPose, PxArticulationJointReducedCoordinateGeneratedValues)
1174 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationJointReducedCoordinate, ChildPose, PxArticulationJointReducedCoordinateGeneratedValues)
1175 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationJointReducedCoordinate, JointType, PxArticulationJointReducedCoordinateGeneratedValues)
1176 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationJointReducedCoordinate, Motion, PxArticulationJointReducedCoordinateGeneratedValues)
1177 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationJointReducedCoordinate, LimitParams, PxArticulationJointReducedCoordinateGeneratedValues)
1178 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationJointReducedCoordinate, DriveParams, PxArticulationJointReducedCoordinateGeneratedValues)
1179 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationJointReducedCoordinate, Armature, PxArticulationJointReducedCoordinateGeneratedValues)
1180 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationJointReducedCoordinate, FrictionCoefficient, PxArticulationJointReducedCoordinateGeneratedValues)
1181 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationJointReducedCoordinate, MaxJointVelocity, PxArticulationJointReducedCoordinateGeneratedValues)
1182 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationJointReducedCoordinate, JointPosition, PxArticulationJointReducedCoordinateGeneratedValues)
1183 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationJointReducedCoordinate, JointVelocity, PxArticulationJointReducedCoordinateGeneratedValues)
1184 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationJointReducedCoordinate, ConcreteTypeName, PxArticulationJointReducedCoordinateGeneratedValues)
1185 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationJointReducedCoordinate, UserData, PxArticulationJointReducedCoordinateGeneratedValues)
1187
1188 {
1189 static const char* getClassName() { return "PxArticulationJointReducedCoordinate"; }
1190 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationJointReducedCoordinate_ParentPose, PxArticulationJointReducedCoordinate, const PxTransform &, PxTransform > ParentPose;
1191 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationJointReducedCoordinate_ChildPose, PxArticulationJointReducedCoordinate, const PxTransform &, PxTransform > ChildPose;
1192 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationJointReducedCoordinate_JointType, PxArticulationJointReducedCoordinate, PxArticulationJointType::Enum, PxArticulationJointType::Enum > JointType;
1193 PxIndexedPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationJointReducedCoordinate_Motion, PxArticulationJointReducedCoordinate, PxArticulationAxis::Enum, PxArticulationMotion::Enum > Motion;
1194 PxIndexedPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationJointReducedCoordinate_LimitParams, PxArticulationJointReducedCoordinate, PxArticulationAxis::Enum, PxArticulationLimit > LimitParams;
1195 PxIndexedPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationJointReducedCoordinate_DriveParams, PxArticulationJointReducedCoordinate, PxArticulationAxis::Enum, PxArticulationDrive > DriveParams;
1196 PxIndexedPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationJointReducedCoordinate_Armature, PxArticulationJointReducedCoordinate, PxArticulationAxis::Enum, PxReal > Armature;
1197 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationJointReducedCoordinate_FrictionCoefficient, PxArticulationJointReducedCoordinate, const PxReal, PxReal > FrictionCoefficient;
1198 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationJointReducedCoordinate_MaxJointVelocity, PxArticulationJointReducedCoordinate, const PxReal, PxReal > MaxJointVelocity;
1199 PxIndexedPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationJointReducedCoordinate_JointPosition, PxArticulationJointReducedCoordinate, PxArticulationAxis::Enum, PxReal > JointPosition;
1200 PxIndexedPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationJointReducedCoordinate_JointVelocity, PxArticulationJointReducedCoordinate, PxArticulationAxis::Enum, PxReal > JointVelocity;
1201 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationJointReducedCoordinate_ConcreteTypeName, PxArticulationJointReducedCoordinate, const char * > ConcreteTypeName;
1202 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationJointReducedCoordinate_UserData, PxArticulationJointReducedCoordinate, void *, void * > UserData;
1203
1205 template<typename TReturnType, typename TOperator>
1206 TReturnType visitType( TOperator inOperator ) const
1207 {
1208 return inOperator( reinterpret_cast<PxArticulationJointReducedCoordinate*>(NULL) );
1209 }
1210 template<typename TOperator>
1211 void visitBases( TOperator inOperator )
1212 {
1213 PX_UNUSED(inOperator);
1214 }
1215 template<typename TOperator>
1216 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1217 {
1218 PX_UNUSED(inOperator);
1219 PX_UNUSED(inStartIndex);
1220 return inStartIndex;
1221 }
1222 static PxU32 instancePropertyCount() { return 13; }
1223 static PxU32 totalPropertyCount() { return instancePropertyCount(); }
1224 template<typename TOperator>
1225 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1226 {
1227 PX_UNUSED(inOperator);
1228 PX_UNUSED(inStartIndex);
1229 inOperator( ParentPose, inStartIndex + 0 );;
1230 inOperator( ChildPose, inStartIndex + 1 );;
1231 inOperator( JointType, inStartIndex + 2 );;
1232 inOperator( Motion, inStartIndex + 3 );;
1233 inOperator( LimitParams, inStartIndex + 4 );;
1234 inOperator( DriveParams, inStartIndex + 5 );;
1235 inOperator( Armature, inStartIndex + 6 );;
1236 inOperator( FrictionCoefficient, inStartIndex + 7 );;
1237 inOperator( MaxJointVelocity, inStartIndex + 8 );;
1238 inOperator( JointPosition, inStartIndex + 9 );;
1239 inOperator( JointVelocity, inStartIndex + 10 );;
1240 inOperator( ConcreteTypeName, inStartIndex + 11 );;
1241 inOperator( UserData, inStartIndex + 12 );;
1242 return 13 + inStartIndex;
1243 }
1244 };
1245 template<> struct PxClassInfoTraits<PxArticulationJointReducedCoordinate>
1246 {
1248 const PxArticulationJointReducedCoordinateGeneratedInfo* getInfo() { return &Info; }
1249 };
1250
1251 static PxU32ToName g_physx__PxArticulationFlag__EnumConversion[] = {
1252 { "eFIX_BASE", static_cast<PxU32>( physx::PxArticulationFlag::eFIX_BASE ) },
1253 { "eDRIVE_LIMITS_ARE_FORCES", static_cast<PxU32>( physx::PxArticulationFlag::eDRIVE_LIMITS_ARE_FORCES ) },
1254 { "eDISABLE_SELF_COLLISION", static_cast<PxU32>( physx::PxArticulationFlag::eDISABLE_SELF_COLLISION ) },
1255 { "eCOMPUTE_JOINT_FORCES", static_cast<PxU32>( physx::PxArticulationFlag::eCOMPUTE_JOINT_FORCES ) },
1256 { NULL, 0 }
1257 };
1258
1259template<> struct PxEnumTraits< physx::PxArticulationFlag::Enum > { PxEnumTraits() : NameConversion( g_physx__PxArticulationFlag__EnumConversion ) {} const PxU32ToName* NameConversion; };
1260 static PxU32ToName g_physx__PxArticulationCacheFlag__EnumConversion[] = {
1261 { "eVELOCITY", static_cast<PxU32>( physx::PxArticulationCacheFlag::eVELOCITY ) },
1262 { "eACCELERATION", static_cast<PxU32>( physx::PxArticulationCacheFlag::eACCELERATION ) },
1263 { "ePOSITION", static_cast<PxU32>( physx::PxArticulationCacheFlag::ePOSITION ) },
1264 { "eFORCE", static_cast<PxU32>( physx::PxArticulationCacheFlag::eFORCE ) },
1265 { "eLINK_VELOCITY", static_cast<PxU32>( physx::PxArticulationCacheFlag::eLINK_VELOCITY ) },
1266 { "eLINK_ACCELERATION", static_cast<PxU32>( physx::PxArticulationCacheFlag::eLINK_ACCELERATION ) },
1267 { "eROOT_TRANSFORM", static_cast<PxU32>( physx::PxArticulationCacheFlag::eROOT_TRANSFORM ) },
1268 { "eROOT_VELOCITIES", static_cast<PxU32>( physx::PxArticulationCacheFlag::eROOT_VELOCITIES ) },
1269 { "eSENSOR_FORCES", static_cast<PxU32>( physx::PxArticulationCacheFlag::eSENSOR_FORCES ) },
1270 { "eJOINT_SOLVER_FORCES", static_cast<PxU32>( physx::PxArticulationCacheFlag::eJOINT_SOLVER_FORCES ) },
1271 { "eALL", static_cast<PxU32>( physx::PxArticulationCacheFlag::eALL ) },
1272 { NULL, 0 }
1273 };
1274
1275template<> struct PxEnumTraits< physx::PxArticulationCacheFlag::Enum > { PxEnumTraits() : NameConversion( g_physx__PxArticulationCacheFlag__EnumConversion ) {} const PxU32ToName* NameConversion; };
1276 class PxArticulationReducedCoordinate;
1278 {
1279 PxScene * Scene;
1280 PxU32 SolverIterationCounts[2];
1281 _Bool IsSleeping;
1282 PxReal SleepThreshold;
1283 PxReal StabilizationThreshold;
1284 PxReal WakeCounter;
1285 PxReal MaxCOMLinearVelocity;
1286 PxReal MaxCOMAngularVelocity;
1287 const char * Name;
1288 PxAggregate * Aggregate;
1289 PxArticulationFlags ArticulationFlags;
1290 PxTransform RootGlobalPose;
1291 PxVec3 RootLinearVelocity;
1292 PxVec3 RootAngularVelocity;
1293 void * UserData;
1294 PX_PHYSX_CORE_API PxArticulationReducedCoordinateGeneratedValues( const PxArticulationReducedCoordinate* inSource );
1295 };
1296 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationReducedCoordinate, Scene, PxArticulationReducedCoordinateGeneratedValues)
1297 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationReducedCoordinate, SolverIterationCounts, PxArticulationReducedCoordinateGeneratedValues)
1298 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationReducedCoordinate, IsSleeping, PxArticulationReducedCoordinateGeneratedValues)
1299 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationReducedCoordinate, SleepThreshold, PxArticulationReducedCoordinateGeneratedValues)
1300 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationReducedCoordinate, StabilizationThreshold, PxArticulationReducedCoordinateGeneratedValues)
1301 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationReducedCoordinate, WakeCounter, PxArticulationReducedCoordinateGeneratedValues)
1302 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationReducedCoordinate, MaxCOMLinearVelocity, PxArticulationReducedCoordinateGeneratedValues)
1303 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationReducedCoordinate, MaxCOMAngularVelocity, PxArticulationReducedCoordinateGeneratedValues)
1304 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationReducedCoordinate, Name, PxArticulationReducedCoordinateGeneratedValues)
1305 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationReducedCoordinate, Aggregate, PxArticulationReducedCoordinateGeneratedValues)
1306 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationReducedCoordinate, ArticulationFlags, PxArticulationReducedCoordinateGeneratedValues)
1307 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationReducedCoordinate, RootGlobalPose, PxArticulationReducedCoordinateGeneratedValues)
1308 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationReducedCoordinate, RootLinearVelocity, PxArticulationReducedCoordinateGeneratedValues)
1309 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationReducedCoordinate, RootAngularVelocity, PxArticulationReducedCoordinateGeneratedValues)
1310 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationReducedCoordinate, UserData, PxArticulationReducedCoordinateGeneratedValues)
1312
1313 {
1314 static const char* getClassName() { return "PxArticulationReducedCoordinate"; }
1315 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationReducedCoordinate_Scene, PxArticulationReducedCoordinate, PxScene * > Scene;
1316 PxRangePropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationReducedCoordinate_SolverIterationCounts, PxArticulationReducedCoordinate, PxU32 > SolverIterationCounts;
1317 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationReducedCoordinate_IsSleeping, PxArticulationReducedCoordinate, _Bool > IsSleeping;
1318 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationReducedCoordinate_SleepThreshold, PxArticulationReducedCoordinate, PxReal, PxReal > SleepThreshold;
1319 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationReducedCoordinate_StabilizationThreshold, PxArticulationReducedCoordinate, PxReal, PxReal > StabilizationThreshold;
1320 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationReducedCoordinate_WakeCounter, PxArticulationReducedCoordinate, PxReal, PxReal > WakeCounter;
1321 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationReducedCoordinate_MaxCOMLinearVelocity, PxArticulationReducedCoordinate, const PxReal, PxReal > MaxCOMLinearVelocity;
1322 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationReducedCoordinate_MaxCOMAngularVelocity, PxArticulationReducedCoordinate, const PxReal, PxReal > MaxCOMAngularVelocity;
1323 PxArticulationLinkCollectionProp Links;
1324 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationReducedCoordinate_Name, PxArticulationReducedCoordinate, const char *, const char * > Name;
1325 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationReducedCoordinate_Aggregate, PxArticulationReducedCoordinate, PxAggregate * > Aggregate;
1326 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationReducedCoordinate_ArticulationFlags, PxArticulationReducedCoordinate, PxArticulationFlags, PxArticulationFlags > ArticulationFlags;
1327 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationReducedCoordinate_RootGlobalPose, PxArticulationReducedCoordinate, const PxTransform &, PxTransform > RootGlobalPose;
1328 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationReducedCoordinate_RootLinearVelocity, PxArticulationReducedCoordinate, const PxVec3 &, PxVec3 > RootLinearVelocity;
1329 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationReducedCoordinate_RootAngularVelocity, PxArticulationReducedCoordinate, const PxVec3 &, PxVec3 > RootAngularVelocity;
1330 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationReducedCoordinate_UserData, PxArticulationReducedCoordinate, void *, void * > UserData;
1331
1333 template<typename TReturnType, typename TOperator>
1334 TReturnType visitType( TOperator inOperator ) const
1335 {
1336 return inOperator( reinterpret_cast<PxArticulationReducedCoordinate*>(NULL) );
1337 }
1338 template<typename TOperator>
1339 void visitBases( TOperator inOperator )
1340 {
1341 PX_UNUSED(inOperator);
1342 }
1343 template<typename TOperator>
1344 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1345 {
1346 PX_UNUSED(inOperator);
1347 PX_UNUSED(inStartIndex);
1348 return inStartIndex;
1349 }
1350 static PxU32 instancePropertyCount() { return 16; }
1351 static PxU32 totalPropertyCount() { return instancePropertyCount(); }
1352 template<typename TOperator>
1353 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1354 {
1355 PX_UNUSED(inOperator);
1356 PX_UNUSED(inStartIndex);
1357 inOperator( Scene, inStartIndex + 0 );;
1358 inOperator( SolverIterationCounts, inStartIndex + 1 );;
1359 inOperator( IsSleeping, inStartIndex + 2 );;
1360 inOperator( SleepThreshold, inStartIndex + 3 );;
1361 inOperator( StabilizationThreshold, inStartIndex + 4 );;
1362 inOperator( WakeCounter, inStartIndex + 5 );;
1363 inOperator( MaxCOMLinearVelocity, inStartIndex + 6 );;
1364 inOperator( MaxCOMAngularVelocity, inStartIndex + 7 );;
1365 inOperator( Links, inStartIndex + 8 );;
1366 inOperator( Name, inStartIndex + 9 );;
1367 inOperator( Aggregate, inStartIndex + 10 );;
1368 inOperator( ArticulationFlags, inStartIndex + 11 );;
1369 inOperator( RootGlobalPose, inStartIndex + 12 );;
1370 inOperator( RootLinearVelocity, inStartIndex + 13 );;
1371 inOperator( RootAngularVelocity, inStartIndex + 14 );;
1372 inOperator( UserData, inStartIndex + 15 );;
1373 return 16 + inStartIndex;
1374 }
1375 };
1376 template<> struct PxClassInfoTraits<PxArticulationReducedCoordinate>
1377 {
1379 const PxArticulationReducedCoordinateGeneratedInfo* getInfo() { return &Info; }
1380 };
1381
1382 class PxAggregate;
1384 {
1385 PxU32 MaxNbActors;
1386 PxU32 MaxNbShapes;
1387 _Bool SelfCollision;
1388 const char * ConcreteTypeName;
1389 void * UserData;
1390 PX_PHYSX_CORE_API PxAggregateGeneratedValues( const PxAggregate* inSource );
1391 };
1392 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxAggregate, MaxNbActors, PxAggregateGeneratedValues)
1393 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxAggregate, MaxNbShapes, PxAggregateGeneratedValues)
1394 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxAggregate, SelfCollision, PxAggregateGeneratedValues)
1395 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxAggregate, ConcreteTypeName, PxAggregateGeneratedValues)
1396 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxAggregate, UserData, PxAggregateGeneratedValues)
1398
1399 {
1400 static const char* getClassName() { return "PxAggregate"; }
1401 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxAggregate_MaxNbActors, PxAggregate, PxU32 > MaxNbActors;
1402 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxAggregate_MaxNbShapes, PxAggregate, PxU32 > MaxNbShapes;
1403 PxReadOnlyCollectionPropertyInfo<PX_PROPERTY_INFO_NAME::PxAggregate_Actors, PxAggregate, PxActor * > Actors;
1404 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxAggregate_SelfCollision, PxAggregate, _Bool > SelfCollision;
1405 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxAggregate_ConcreteTypeName, PxAggregate, const char * > ConcreteTypeName;
1406 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxAggregate_UserData, PxAggregate, void *, void * > UserData;
1407
1408 PX_PHYSX_CORE_API PxAggregateGeneratedInfo();
1409 template<typename TReturnType, typename TOperator>
1410 TReturnType visitType( TOperator inOperator ) const
1411 {
1412 return inOperator( reinterpret_cast<PxAggregate*>(NULL) );
1413 }
1414 template<typename TOperator>
1415 void visitBases( TOperator inOperator )
1416 {
1417 PX_UNUSED(inOperator);
1418 }
1419 template<typename TOperator>
1420 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1421 {
1422 PX_UNUSED(inOperator);
1423 PX_UNUSED(inStartIndex);
1424 return inStartIndex;
1425 }
1426 static PxU32 instancePropertyCount() { return 6; }
1427 static PxU32 totalPropertyCount() { return instancePropertyCount(); }
1428 template<typename TOperator>
1429 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1430 {
1431 PX_UNUSED(inOperator);
1432 PX_UNUSED(inStartIndex);
1433 inOperator( MaxNbActors, inStartIndex + 0 );;
1434 inOperator( MaxNbShapes, inStartIndex + 1 );;
1435 inOperator( Actors, inStartIndex + 2 );;
1436 inOperator( SelfCollision, inStartIndex + 3 );;
1437 inOperator( ConcreteTypeName, inStartIndex + 4 );;
1438 inOperator( UserData, inStartIndex + 5 );;
1439 return 6 + inStartIndex;
1440 }
1441 };
1442 template<> struct PxClassInfoTraits<PxAggregate>
1443 {
1445 const PxAggregateGeneratedInfo* getInfo() { return &Info; }
1446 };
1447
1448 static PxU32ToName g_physx__PxConstraintFlag__EnumConversion[] = {
1449 { "eBROKEN", static_cast<PxU32>( physx::PxConstraintFlag::eBROKEN ) },
1450 { "ePROJECT_TO_ACTOR0", static_cast<PxU32>( physx::PxConstraintFlag::ePROJECT_TO_ACTOR0 ) },
1451 { "ePROJECT_TO_ACTOR1", static_cast<PxU32>( physx::PxConstraintFlag::ePROJECT_TO_ACTOR1 ) },
1452 { "ePROJECTION", static_cast<PxU32>( physx::PxConstraintFlag::ePROJECTION ) },
1453 { "eCOLLISION_ENABLED", static_cast<PxU32>( physx::PxConstraintFlag::eCOLLISION_ENABLED ) },
1454 { "eVISUALIZATION", static_cast<PxU32>( physx::PxConstraintFlag::eVISUALIZATION ) },
1455 { "eDRIVE_LIMITS_ARE_FORCES", static_cast<PxU32>( physx::PxConstraintFlag::eDRIVE_LIMITS_ARE_FORCES ) },
1456 { "eIMPROVED_SLERP", static_cast<PxU32>( physx::PxConstraintFlag::eIMPROVED_SLERP ) },
1457 { "eDISABLE_PREPROCESSING", static_cast<PxU32>( physx::PxConstraintFlag::eDISABLE_PREPROCESSING ) },
1458 { "eENABLE_EXTENDED_LIMITS", static_cast<PxU32>( physx::PxConstraintFlag::eENABLE_EXTENDED_LIMITS ) },
1459 { "eGPU_COMPATIBLE", static_cast<PxU32>( physx::PxConstraintFlag::eGPU_COMPATIBLE ) },
1460 { "eALWAYS_UPDATE", static_cast<PxU32>( physx::PxConstraintFlag::eALWAYS_UPDATE ) },
1461 { "eDISABLE_CONSTRAINT", static_cast<PxU32>( physx::PxConstraintFlag::eDISABLE_CONSTRAINT ) },
1462 { NULL, 0 }
1463 };
1464
1465template<> struct PxEnumTraits< physx::PxConstraintFlag::Enum > { PxEnumTraits() : NameConversion( g_physx__PxConstraintFlag__EnumConversion ) {} const PxU32ToName* NameConversion; };
1466 class PxConstraint;
1468 {
1469 PxScene * Scene;
1470 PxRigidActor * Actors[2];
1471 PxConstraintFlags Flags;
1472 _Bool IsValid;
1473 PxReal BreakForce[2];
1474 PxReal MinResponseThreshold;
1475 const char * ConcreteTypeName;
1476 void * UserData;
1477 PX_PHYSX_CORE_API PxConstraintGeneratedValues( const PxConstraint* inSource );
1478 };
1479 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxConstraint, Scene, PxConstraintGeneratedValues)
1480 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxConstraint, Actors, PxConstraintGeneratedValues)
1481 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxConstraint, Flags, PxConstraintGeneratedValues)
1482 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxConstraint, IsValid, PxConstraintGeneratedValues)
1483 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxConstraint, BreakForce, PxConstraintGeneratedValues)
1484 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxConstraint, MinResponseThreshold, PxConstraintGeneratedValues)
1485 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxConstraint, ConcreteTypeName, PxConstraintGeneratedValues)
1486 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxConstraint, UserData, PxConstraintGeneratedValues)
1488
1489 {
1490 static const char* getClassName() { return "PxConstraint"; }
1491 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxConstraint_Scene, PxConstraint, PxScene * > Scene;
1492 PxRangePropertyInfo<PX_PROPERTY_INFO_NAME::PxConstraint_Actors, PxConstraint, PxRigidActor * > Actors;
1493 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxConstraint_Flags, PxConstraint, PxConstraintFlags, PxConstraintFlags > Flags;
1494 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxConstraint_IsValid, PxConstraint, _Bool > IsValid;
1495 PxRangePropertyInfo<PX_PROPERTY_INFO_NAME::PxConstraint_BreakForce, PxConstraint, PxReal > BreakForce;
1496 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxConstraint_MinResponseThreshold, PxConstraint, PxReal, PxReal > MinResponseThreshold;
1497 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxConstraint_ConcreteTypeName, PxConstraint, const char * > ConcreteTypeName;
1498 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxConstraint_UserData, PxConstraint, void *, void * > UserData;
1499
1500 PX_PHYSX_CORE_API PxConstraintGeneratedInfo();
1501 template<typename TReturnType, typename TOperator>
1502 TReturnType visitType( TOperator inOperator ) const
1503 {
1504 return inOperator( reinterpret_cast<PxConstraint*>(NULL) );
1505 }
1506 template<typename TOperator>
1507 void visitBases( TOperator inOperator )
1508 {
1509 PX_UNUSED(inOperator);
1510 }
1511 template<typename TOperator>
1512 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1513 {
1514 PX_UNUSED(inOperator);
1515 PX_UNUSED(inStartIndex);
1516 return inStartIndex;
1517 }
1518 static PxU32 instancePropertyCount() { return 8; }
1519 static PxU32 totalPropertyCount() { return instancePropertyCount(); }
1520 template<typename TOperator>
1521 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1522 {
1523 PX_UNUSED(inOperator);
1524 PX_UNUSED(inStartIndex);
1525 inOperator( Scene, inStartIndex + 0 );;
1526 inOperator( Actors, inStartIndex + 1 );;
1527 inOperator( Flags, inStartIndex + 2 );;
1528 inOperator( IsValid, inStartIndex + 3 );;
1529 inOperator( BreakForce, inStartIndex + 4 );;
1530 inOperator( MinResponseThreshold, inStartIndex + 5 );;
1531 inOperator( ConcreteTypeName, inStartIndex + 6 );;
1532 inOperator( UserData, inStartIndex + 7 );;
1533 return 8 + inStartIndex;
1534 }
1535 };
1536 template<> struct PxClassInfoTraits<PxConstraint>
1537 {
1539 const PxConstraintGeneratedInfo* getInfo() { return &Info; }
1540 };
1541
1542 static PxU32ToName g_physx__PxGeometryType__EnumConversion[] = {
1543 { "eSPHERE", static_cast<PxU32>( physx::PxGeometryType::eSPHERE ) },
1544 { "ePLANE", static_cast<PxU32>( physx::PxGeometryType::ePLANE ) },
1545 { "eCAPSULE", static_cast<PxU32>( physx::PxGeometryType::eCAPSULE ) },
1546 { "eBOX", static_cast<PxU32>( physx::PxGeometryType::eBOX ) },
1547 { "eCONVEXMESH", static_cast<PxU32>( physx::PxGeometryType::eCONVEXMESH ) },
1548 { "ePARTICLESYSTEM", static_cast<PxU32>( physx::PxGeometryType::ePARTICLESYSTEM ) },
1549 { "eTETRAHEDRONMESH", static_cast<PxU32>( physx::PxGeometryType::eTETRAHEDRONMESH ) },
1550 { "eTRIANGLEMESH", static_cast<PxU32>( physx::PxGeometryType::eTRIANGLEMESH ) },
1551 { "eHEIGHTFIELD", static_cast<PxU32>( physx::PxGeometryType::eHEIGHTFIELD ) },
1552 { "eHAIRSYSTEM", static_cast<PxU32>( physx::PxGeometryType::eHAIRSYSTEM ) },
1553 { "eCUSTOM", static_cast<PxU32>( physx::PxGeometryType::eCUSTOM ) },
1554 { NULL, 0 }
1555 };
1556
1557template<> struct PxEnumTraits< physx::PxGeometryType::Enum > { PxEnumTraits() : NameConversion( g_physx__PxGeometryType__EnumConversion ) {} const PxU32ToName* NameConversion; };
1558 class PxShape;
1561 PxGeometryType::Enum GeometryType;
1562 PxTransform LocalPose;
1563 PxFilterData SimulationFilterData;
1564 PxFilterData QueryFilterData;
1565 PxReal ContactOffset;
1566 PxReal RestOffset;
1567 PxReal DensityForFluid;
1568 PxReal TorsionalPatchRadius;
1569 PxReal MinTorsionalPatchRadius;
1570 PxShapeFlags Flags;
1571 _Bool IsExclusive;
1572 const char * Name;
1573 const char * ConcreteTypeName;
1574 void * UserData;
1575 PxGeometryHolder Geom;
1576 PX_PHYSX_CORE_API PxShapeGeneratedValues( const PxShape* inSource );
1577 };
1578 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxShape, GeometryType, PxShapeGeneratedValues)
1579 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxShape, LocalPose, PxShapeGeneratedValues)
1580 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxShape, SimulationFilterData, PxShapeGeneratedValues)
1581 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxShape, QueryFilterData, PxShapeGeneratedValues)
1582 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxShape, ContactOffset, PxShapeGeneratedValues)
1583 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxShape, RestOffset, PxShapeGeneratedValues)
1584 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxShape, DensityForFluid, PxShapeGeneratedValues)
1585 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxShape, TorsionalPatchRadius, PxShapeGeneratedValues)
1586 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxShape, MinTorsionalPatchRadius, PxShapeGeneratedValues)
1587 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxShape, Flags, PxShapeGeneratedValues)
1588 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxShape, IsExclusive, PxShapeGeneratedValues)
1589 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxShape, Name, PxShapeGeneratedValues)
1590 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxShape, ConcreteTypeName, PxShapeGeneratedValues)
1591 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxShape, UserData, PxShapeGeneratedValues)
1592 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxShape, Geom, PxShapeGeneratedValues)
1595 {
1596 static const char* getClassName() { return "PxShape"; }
1597 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxShape_GeometryType, PxShape, PxGeometryType::Enum > GeometryType;
1598 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxShape_LocalPose, PxShape, const PxTransform &, PxTransform > LocalPose;
1599 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxShape_SimulationFilterData, PxShape, const PxFilterData &, PxFilterData > SimulationFilterData;
1600 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxShape_QueryFilterData, PxShape, const PxFilterData &, PxFilterData > QueryFilterData;
1601 PxShapeMaterialsProperty Materials;
1602 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxShape_ContactOffset, PxShape, PxReal, PxReal > ContactOffset;
1603 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxShape_RestOffset, PxShape, PxReal, PxReal > RestOffset;
1604 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxShape_DensityForFluid, PxShape, PxReal, PxReal > DensityForFluid;
1605 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxShape_TorsionalPatchRadius, PxShape, PxReal, PxReal > TorsionalPatchRadius;
1606 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxShape_MinTorsionalPatchRadius, PxShape, PxReal, PxReal > MinTorsionalPatchRadius;
1607 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxShape_Flags, PxShape, PxShapeFlags, PxShapeFlags > Flags;
1608 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxShape_IsExclusive, PxShape, _Bool > IsExclusive;
1609 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxShape_Name, PxShape, const char *, const char * > Name;
1610 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxShape_ConcreteTypeName, PxShape, const char * > ConcreteTypeName;
1611 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxShape_UserData, PxShape, void *, void * > UserData;
1612 PxShapeGeomProperty Geom;
1613
1614 PX_PHYSX_CORE_API PxShapeGeneratedInfo();
1615 template<typename TReturnType, typename TOperator>
1616 TReturnType visitType( TOperator inOperator ) const
1617 {
1618 return inOperator( reinterpret_cast<PxShape*>(NULL) );
1619 }
1620 template<typename TOperator>
1621 void visitBases( TOperator inOperator )
1622 {
1623 PX_UNUSED(inOperator);
1624 inOperator( *static_cast<PxRefCountedGeneratedInfo*>( this ) );
1625 }
1626 template<typename TOperator>
1627 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1628 {
1629 PX_UNUSED(inOperator);
1630 PX_UNUSED(inStartIndex);
1631 inStartIndex = PxRefCountedGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
1632 inStartIndex = PxRefCountedGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
1633 return inStartIndex;
1634 }
1635 static PxU32 instancePropertyCount() { return 16; }
1636 static PxU32 totalPropertyCount() { return instancePropertyCount()
1637 + PxRefCountedGeneratedInfo::totalPropertyCount(); }
1638 template<typename TOperator>
1639 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1640 {
1641 PX_UNUSED(inOperator);
1642 PX_UNUSED(inStartIndex);
1643 inOperator( GeometryType, inStartIndex + 0 );;
1644 inOperator( LocalPose, inStartIndex + 1 );;
1645 inOperator( SimulationFilterData, inStartIndex + 2 );;
1646 inOperator( QueryFilterData, inStartIndex + 3 );;
1647 inOperator( Materials, inStartIndex + 4 );;
1648 inOperator( ContactOffset, inStartIndex + 5 );;
1649 inOperator( RestOffset, inStartIndex + 6 );;
1650 inOperator( DensityForFluid, inStartIndex + 7 );;
1651 inOperator( TorsionalPatchRadius, inStartIndex + 8 );;
1652 inOperator( MinTorsionalPatchRadius, inStartIndex + 9 );;
1653 inOperator( Flags, inStartIndex + 10 );;
1654 inOperator( IsExclusive, inStartIndex + 11 );;
1655 inOperator( Name, inStartIndex + 12 );;
1656 inOperator( ConcreteTypeName, inStartIndex + 13 );;
1657 inOperator( UserData, inStartIndex + 14 );;
1658 inOperator( Geom, inStartIndex + 15 );;
1659 return 16 + inStartIndex;
1660 }
1661 };
1662 template<> struct PxClassInfoTraits<PxShape>
1663 {
1665 const PxShapeGeneratedInfo* getInfo() { return &Info; }
1666 };
1667
1668 class PxPruningStructure;
1670 {
1671 const void * StaticMergeData;
1672 const void * DynamicMergeData;
1673 const char * ConcreteTypeName;
1674 PX_PHYSX_CORE_API PxPruningStructureGeneratedValues( const PxPruningStructure* inSource );
1675 };
1676 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxPruningStructure, StaticMergeData, PxPruningStructureGeneratedValues)
1677 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxPruningStructure, DynamicMergeData, PxPruningStructureGeneratedValues)
1678 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxPruningStructure, ConcreteTypeName, PxPruningStructureGeneratedValues)
1680
1681 {
1682 static const char* getClassName() { return "PxPruningStructure"; }
1683 PxReadOnlyCollectionPropertyInfo<PX_PROPERTY_INFO_NAME::PxPruningStructure_RigidActors, PxPruningStructure, PxRigidActor * > RigidActors;
1684 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxPruningStructure_StaticMergeData, PxPruningStructure, const void * > StaticMergeData;
1685 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxPruningStructure_DynamicMergeData, PxPruningStructure, const void * > DynamicMergeData;
1686 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxPruningStructure_ConcreteTypeName, PxPruningStructure, const char * > ConcreteTypeName;
1687
1688 PX_PHYSX_CORE_API PxPruningStructureGeneratedInfo();
1689 template<typename TReturnType, typename TOperator>
1690 TReturnType visitType( TOperator inOperator ) const
1691 {
1692 return inOperator( reinterpret_cast<PxPruningStructure*>(NULL) );
1693 }
1694 template<typename TOperator>
1695 void visitBases( TOperator inOperator )
1696 {
1697 PX_UNUSED(inOperator);
1698 }
1699 template<typename TOperator>
1700 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1701 {
1702 PX_UNUSED(inOperator);
1703 PX_UNUSED(inStartIndex);
1704 return inStartIndex;
1705 }
1706 static PxU32 instancePropertyCount() { return 4; }
1707 static PxU32 totalPropertyCount() { return instancePropertyCount(); }
1708 template<typename TOperator>
1709 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1710 {
1711 PX_UNUSED(inOperator);
1712 PX_UNUSED(inStartIndex);
1713 inOperator( RigidActors, inStartIndex + 0 );;
1714 inOperator( StaticMergeData, inStartIndex + 1 );;
1715 inOperator( DynamicMergeData, inStartIndex + 2 );;
1716 inOperator( ConcreteTypeName, inStartIndex + 3 );;
1717 return 4 + inStartIndex;
1718 }
1719 };
1720 template<> struct PxClassInfoTraits<PxPruningStructure>
1721 {
1723 const PxPruningStructureGeneratedInfo* getInfo() { return &Info; }
1724 };
1725
1726 class PxTolerancesScale;
1728 {
1729 _Bool IsValid;
1730 PxReal Length;
1731 PxReal Speed;
1732 PX_PHYSX_CORE_API PxTolerancesScaleGeneratedValues( const PxTolerancesScale* inSource );
1733 };
1734 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxTolerancesScale, IsValid, PxTolerancesScaleGeneratedValues)
1735 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxTolerancesScale, Length, PxTolerancesScaleGeneratedValues)
1736 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxTolerancesScale, Speed, PxTolerancesScaleGeneratedValues)
1738
1739 {
1740 static const char* getClassName() { return "PxTolerancesScale"; }
1741 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxTolerancesScale_IsValid, PxTolerancesScale, _Bool > IsValid;
1742 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxTolerancesScale_Length, PxTolerancesScale, PxReal, PxReal > Length;
1743 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxTolerancesScale_Speed, PxTolerancesScale, PxReal, PxReal > Speed;
1744
1745 PX_PHYSX_CORE_API PxTolerancesScaleGeneratedInfo();
1746 template<typename TReturnType, typename TOperator>
1747 TReturnType visitType( TOperator inOperator ) const
1748 {
1749 return inOperator( reinterpret_cast<PxTolerancesScale*>(NULL) );
1750 }
1751 template<typename TOperator>
1752 void visitBases( TOperator inOperator )
1753 {
1754 PX_UNUSED(inOperator);
1755 }
1756 template<typename TOperator>
1757 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1758 {
1759 PX_UNUSED(inOperator);
1760 PX_UNUSED(inStartIndex);
1761 return inStartIndex;
1762 }
1763 static PxU32 instancePropertyCount() { return 3; }
1764 static PxU32 totalPropertyCount() { return instancePropertyCount(); }
1765 template<typename TOperator>
1766 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1767 {
1768 PX_UNUSED(inOperator);
1769 PX_UNUSED(inStartIndex);
1770 inOperator( IsValid, inStartIndex + 0 );;
1771 inOperator( Length, inStartIndex + 1 );;
1772 inOperator( Speed, inStartIndex + 2 );;
1773 return 3 + inStartIndex;
1774 }
1775 };
1776 template<> struct PxClassInfoTraits<PxTolerancesScale>
1777 {
1779 const PxTolerancesScaleGeneratedInfo* getInfo() { return &Info; }
1780 };
1781
1782 class PxGeometry;
1784 {
1785 PX_PHYSX_CORE_API PxGeometryGeneratedValues( const PxGeometry* inSource );
1786 };
1788
1789 {
1790 static const char* getClassName() { return "PxGeometry"; }
1791
1792 PX_PHYSX_CORE_API PxGeometryGeneratedInfo();
1793 template<typename TReturnType, typename TOperator>
1794 TReturnType visitType( TOperator inOperator ) const
1795 {
1796 return inOperator( reinterpret_cast<PxGeometry*>(NULL) );
1797 }
1798 template<typename TOperator>
1799 void visitBases( TOperator inOperator )
1800 {
1801 PX_UNUSED(inOperator);
1802 }
1803 template<typename TOperator>
1804 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1805 {
1806 PX_UNUSED(inOperator);
1807 PX_UNUSED(inStartIndex);
1808 return inStartIndex;
1809 }
1810 static PxU32 instancePropertyCount() { return 0; }
1811 static PxU32 totalPropertyCount() { return instancePropertyCount(); }
1812 template<typename TOperator>
1813 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1814 {
1815 PX_UNUSED(inOperator);
1816 PX_UNUSED(inStartIndex);
1817 return 0 + inStartIndex;
1818 }
1819 };
1820 template<> struct PxClassInfoTraits<PxGeometry>
1821 {
1823 const PxGeometryGeneratedInfo* getInfo() { return &Info; }
1824 };
1825
1826 class PxBoxGeometry;
1829 PxVec3 HalfExtents;
1830 PX_PHYSX_CORE_API PxBoxGeometryGeneratedValues( const PxBoxGeometry* inSource );
1831 };
1832 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxBoxGeometry, HalfExtents, PxBoxGeometryGeneratedValues)
1835 {
1836 static const char* getClassName() { return "PxBoxGeometry"; }
1837 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxBoxGeometry_HalfExtents, PxBoxGeometry, PxVec3, PxVec3 > HalfExtents;
1838
1839 PX_PHYSX_CORE_API PxBoxGeometryGeneratedInfo();
1840 template<typename TReturnType, typename TOperator>
1841 TReturnType visitType( TOperator inOperator ) const
1842 {
1843 return inOperator( reinterpret_cast<PxBoxGeometry*>(NULL) );
1844 }
1845 template<typename TOperator>
1846 void visitBases( TOperator inOperator )
1847 {
1848 PX_UNUSED(inOperator);
1849 inOperator( *static_cast<PxGeometryGeneratedInfo*>( this ) );
1850 }
1851 template<typename TOperator>
1852 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1853 {
1854 PX_UNUSED(inOperator);
1855 PX_UNUSED(inStartIndex);
1856 inStartIndex = PxGeometryGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
1857 inStartIndex = PxGeometryGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
1858 return inStartIndex;
1859 }
1860 static PxU32 instancePropertyCount() { return 1; }
1861 static PxU32 totalPropertyCount() { return instancePropertyCount()
1862 + PxGeometryGeneratedInfo::totalPropertyCount(); }
1863 template<typename TOperator>
1864 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1865 {
1866 PX_UNUSED(inOperator);
1867 PX_UNUSED(inStartIndex);
1868 inOperator( HalfExtents, inStartIndex + 0 );;
1869 return 1 + inStartIndex;
1870 }
1871 };
1872 template<> struct PxClassInfoTraits<PxBoxGeometry>
1873 {
1875 const PxBoxGeometryGeneratedInfo* getInfo() { return &Info; }
1876 };
1877
1878 class PxCapsuleGeometry;
1881 PxReal Radius;
1882 PxReal HalfHeight;
1883 PX_PHYSX_CORE_API PxCapsuleGeometryGeneratedValues( const PxCapsuleGeometry* inSource );
1884 };
1885 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxCapsuleGeometry, Radius, PxCapsuleGeometryGeneratedValues)
1886 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxCapsuleGeometry, HalfHeight, PxCapsuleGeometryGeneratedValues)
1889 {
1890 static const char* getClassName() { return "PxCapsuleGeometry"; }
1891 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxCapsuleGeometry_Radius, PxCapsuleGeometry, PxReal, PxReal > Radius;
1892 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxCapsuleGeometry_HalfHeight, PxCapsuleGeometry, PxReal, PxReal > HalfHeight;
1893
1894 PX_PHYSX_CORE_API PxCapsuleGeometryGeneratedInfo();
1895 template<typename TReturnType, typename TOperator>
1896 TReturnType visitType( TOperator inOperator ) const
1897 {
1898 return inOperator( reinterpret_cast<PxCapsuleGeometry*>(NULL) );
1899 }
1900 template<typename TOperator>
1901 void visitBases( TOperator inOperator )
1902 {
1903 PX_UNUSED(inOperator);
1904 inOperator( *static_cast<PxGeometryGeneratedInfo*>( this ) );
1905 }
1906 template<typename TOperator>
1907 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1908 {
1909 PX_UNUSED(inOperator);
1910 PX_UNUSED(inStartIndex);
1911 inStartIndex = PxGeometryGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
1912 inStartIndex = PxGeometryGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
1913 return inStartIndex;
1914 }
1915 static PxU32 instancePropertyCount() { return 2; }
1916 static PxU32 totalPropertyCount() { return instancePropertyCount()
1917 + PxGeometryGeneratedInfo::totalPropertyCount(); }
1918 template<typename TOperator>
1919 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1920 {
1921 PX_UNUSED(inOperator);
1922 PX_UNUSED(inStartIndex);
1923 inOperator( Radius, inStartIndex + 0 );;
1924 inOperator( HalfHeight, inStartIndex + 1 );;
1925 return 2 + inStartIndex;
1926 }
1927 };
1928 template<> struct PxClassInfoTraits<PxCapsuleGeometry>
1929 {
1931 const PxCapsuleGeometryGeneratedInfo* getInfo() { return &Info; }
1932 };
1933
1934 class PxMeshScale;
1936 {
1937 PxVec3 Scale;
1938 PxQuat Rotation;
1939 PX_PHYSX_CORE_API PxMeshScaleGeneratedValues( const PxMeshScale* inSource );
1940 };
1941 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxMeshScale, Scale, PxMeshScaleGeneratedValues)
1942 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxMeshScale, Rotation, PxMeshScaleGeneratedValues)
1944
1945 {
1946 static const char* getClassName() { return "PxMeshScale"; }
1947 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxMeshScale_Scale, PxMeshScale, PxVec3, PxVec3 > Scale;
1948 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxMeshScale_Rotation, PxMeshScale, PxQuat, PxQuat > Rotation;
1949
1950 PX_PHYSX_CORE_API PxMeshScaleGeneratedInfo();
1951 template<typename TReturnType, typename TOperator>
1952 TReturnType visitType( TOperator inOperator ) const
1953 {
1954 return inOperator( reinterpret_cast<PxMeshScale*>(NULL) );
1955 }
1956 template<typename TOperator>
1957 void visitBases( TOperator inOperator )
1958 {
1959 PX_UNUSED(inOperator);
1960 }
1961 template<typename TOperator>
1962 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1963 {
1964 PX_UNUSED(inOperator);
1965 PX_UNUSED(inStartIndex);
1966 return inStartIndex;
1967 }
1968 static PxU32 instancePropertyCount() { return 2; }
1969 static PxU32 totalPropertyCount() { return instancePropertyCount(); }
1970 template<typename TOperator>
1971 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1972 {
1973 PX_UNUSED(inOperator);
1974 PX_UNUSED(inStartIndex);
1975 inOperator( Scale, inStartIndex + 0 );;
1976 inOperator( Rotation, inStartIndex + 1 );;
1977 return 2 + inStartIndex;
1978 }
1979 };
1980 template<> struct PxClassInfoTraits<PxMeshScale>
1981 {
1983 const PxMeshScaleGeneratedInfo* getInfo() { return &Info; }
1984 };
1985
1986 static PxU32ToName g_physx__PxConvexMeshGeometryFlag__EnumConversion[] = {
1987 { "eTIGHT_BOUNDS", static_cast<PxU32>( physx::PxConvexMeshGeometryFlag::eTIGHT_BOUNDS ) },
1988 { NULL, 0 }
1989 };
1990
1991template<> struct PxEnumTraits< physx::PxConvexMeshGeometryFlag::Enum > { PxEnumTraits() : NameConversion( g_physx__PxConvexMeshGeometryFlag__EnumConversion ) {} const PxU32ToName* NameConversion; };
1992 class PxConvexMeshGeometry;
1995 PxMeshScale Scale;
1996 PxConvexMesh * ConvexMesh;
1997 PxConvexMeshGeometryFlags MeshFlags;
1998 PX_PHYSX_CORE_API PxConvexMeshGeometryGeneratedValues( const PxConvexMeshGeometry* inSource );
1999 };
2000 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxConvexMeshGeometry, Scale, PxConvexMeshGeometryGeneratedValues)
2001 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxConvexMeshGeometry, ConvexMesh, PxConvexMeshGeometryGeneratedValues)
2002 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxConvexMeshGeometry, MeshFlags, PxConvexMeshGeometryGeneratedValues)
2005 {
2006 static const char* getClassName() { return "PxConvexMeshGeometry"; }
2007 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxConvexMeshGeometry_Scale, PxConvexMeshGeometry, PxMeshScale, PxMeshScale > Scale;
2008 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxConvexMeshGeometry_ConvexMesh, PxConvexMeshGeometry, PxConvexMesh *, PxConvexMesh * > ConvexMesh;
2009 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxConvexMeshGeometry_MeshFlags, PxConvexMeshGeometry, PxConvexMeshGeometryFlags, PxConvexMeshGeometryFlags > MeshFlags;
2010
2011 PX_PHYSX_CORE_API PxConvexMeshGeometryGeneratedInfo();
2012 template<typename TReturnType, typename TOperator>
2013 TReturnType visitType( TOperator inOperator ) const
2014 {
2015 return inOperator( reinterpret_cast<PxConvexMeshGeometry*>(NULL) );
2016 }
2017 template<typename TOperator>
2018 void visitBases( TOperator inOperator )
2019 {
2020 PX_UNUSED(inOperator);
2021 inOperator( *static_cast<PxGeometryGeneratedInfo*>( this ) );
2022 }
2023 template<typename TOperator>
2024 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
2025 {
2026 PX_UNUSED(inOperator);
2027 PX_UNUSED(inStartIndex);
2028 inStartIndex = PxGeometryGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
2029 inStartIndex = PxGeometryGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
2030 return inStartIndex;
2031 }
2032 static PxU32 instancePropertyCount() { return 3; }
2033 static PxU32 totalPropertyCount() { return instancePropertyCount()
2034 + PxGeometryGeneratedInfo::totalPropertyCount(); }
2035 template<typename TOperator>
2036 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
2037 {
2038 PX_UNUSED(inOperator);
2039 PX_UNUSED(inStartIndex);
2040 inOperator( Scale, inStartIndex + 0 );;
2041 inOperator( ConvexMesh, inStartIndex + 1 );;
2042 inOperator( MeshFlags, inStartIndex + 2 );;
2043 return 3 + inStartIndex;
2044 }
2045 };
2046 template<> struct PxClassInfoTraits<PxConvexMeshGeometry>
2047 {
2049 const PxConvexMeshGeometryGeneratedInfo* getInfo() { return &Info; }
2050 };
2051
2052 class PxSphereGeometry;
2055 PxReal Radius;
2056 PX_PHYSX_CORE_API PxSphereGeometryGeneratedValues( const PxSphereGeometry* inSource );
2057 };
2058 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSphereGeometry, Radius, PxSphereGeometryGeneratedValues)
2061 {
2062 static const char* getClassName() { return "PxSphereGeometry"; }
2063 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSphereGeometry_Radius, PxSphereGeometry, PxReal, PxReal > Radius;
2064
2065 PX_PHYSX_CORE_API PxSphereGeometryGeneratedInfo();
2066 template<typename TReturnType, typename TOperator>
2067 TReturnType visitType( TOperator inOperator ) const
2068 {
2069 return inOperator( reinterpret_cast<PxSphereGeometry*>(NULL) );
2070 }
2071 template<typename TOperator>
2072 void visitBases( TOperator inOperator )
2073 {
2074 PX_UNUSED(inOperator);
2075 inOperator( *static_cast<PxGeometryGeneratedInfo*>( this ) );
2076 }
2077 template<typename TOperator>
2078 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
2079 {
2080 PX_UNUSED(inOperator);
2081 PX_UNUSED(inStartIndex);
2082 inStartIndex = PxGeometryGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
2083 inStartIndex = PxGeometryGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
2084 return inStartIndex;
2085 }
2086 static PxU32 instancePropertyCount() { return 1; }
2087 static PxU32 totalPropertyCount() { return instancePropertyCount()
2088 + PxGeometryGeneratedInfo::totalPropertyCount(); }
2089 template<typename TOperator>
2090 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
2091 {
2092 PX_UNUSED(inOperator);
2093 PX_UNUSED(inStartIndex);
2094 inOperator( Radius, inStartIndex + 0 );;
2095 return 1 + inStartIndex;
2096 }
2097 };
2098 template<> struct PxClassInfoTraits<PxSphereGeometry>
2099 {
2101 const PxSphereGeometryGeneratedInfo* getInfo() { return &Info; }
2102 };
2103
2104 class PxPlaneGeometry;
2107 PX_PHYSX_CORE_API PxPlaneGeometryGeneratedValues( const PxPlaneGeometry* inSource );
2108 };
2111 {
2112 static const char* getClassName() { return "PxPlaneGeometry"; }
2113
2114 PX_PHYSX_CORE_API PxPlaneGeometryGeneratedInfo();
2115 template<typename TReturnType, typename TOperator>
2116 TReturnType visitType( TOperator inOperator ) const
2117 {
2118 return inOperator( reinterpret_cast<PxPlaneGeometry*>(NULL) );
2119 }
2120 template<typename TOperator>
2121 void visitBases( TOperator inOperator )
2122 {
2123 PX_UNUSED(inOperator);
2124 inOperator( *static_cast<PxGeometryGeneratedInfo*>( this ) );
2125 }
2126 template<typename TOperator>
2127 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
2128 {
2129 PX_UNUSED(inOperator);
2130 PX_UNUSED(inStartIndex);
2131 inStartIndex = PxGeometryGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
2132 inStartIndex = PxGeometryGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
2133 return inStartIndex;
2134 }
2135 static PxU32 instancePropertyCount() { return 0; }
2136 static PxU32 totalPropertyCount() { return instancePropertyCount()
2137 + PxGeometryGeneratedInfo::totalPropertyCount(); }
2138 template<typename TOperator>
2139 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
2140 {
2141 PX_UNUSED(inOperator);
2142 PX_UNUSED(inStartIndex);
2143 return 0 + inStartIndex;
2144 }
2145 };
2146 template<> struct PxClassInfoTraits<PxPlaneGeometry>
2147 {
2149 const PxPlaneGeometryGeneratedInfo* getInfo() { return &Info; }
2150 };
2151
2152 static PxU32ToName g_physx__PxMeshGeometryFlag__EnumConversion[] = {
2153 { "eTIGHT_BOUNDS", static_cast<PxU32>( physx::PxMeshGeometryFlag::eTIGHT_BOUNDS ) },
2154 { "eDOUBLE_SIDED", static_cast<PxU32>( physx::PxMeshGeometryFlag::eDOUBLE_SIDED ) },
2155 { NULL, 0 }
2156 };
2157
2158template<> struct PxEnumTraits< physx::PxMeshGeometryFlag::Enum > { PxEnumTraits() : NameConversion( g_physx__PxMeshGeometryFlag__EnumConversion ) {} const PxU32ToName* NameConversion; };
2159 class PxTriangleMeshGeometry;
2162 PxMeshScale Scale;
2163 PxMeshGeometryFlags MeshFlags;
2164 PxTriangleMesh * TriangleMesh;
2165 PX_PHYSX_CORE_API PxTriangleMeshGeometryGeneratedValues( const PxTriangleMeshGeometry* inSource );
2166 };
2167 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxTriangleMeshGeometry, Scale, PxTriangleMeshGeometryGeneratedValues)
2168 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxTriangleMeshGeometry, MeshFlags, PxTriangleMeshGeometryGeneratedValues)
2169 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxTriangleMeshGeometry, TriangleMesh, PxTriangleMeshGeometryGeneratedValues)
2172 {
2173 static const char* getClassName() { return "PxTriangleMeshGeometry"; }
2174 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxTriangleMeshGeometry_Scale, PxTriangleMeshGeometry, PxMeshScale, PxMeshScale > Scale;
2175 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxTriangleMeshGeometry_MeshFlags, PxTriangleMeshGeometry, PxMeshGeometryFlags, PxMeshGeometryFlags > MeshFlags;
2176 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxTriangleMeshGeometry_TriangleMesh, PxTriangleMeshGeometry, PxTriangleMesh *, PxTriangleMesh * > TriangleMesh;
2177
2178 PX_PHYSX_CORE_API PxTriangleMeshGeometryGeneratedInfo();
2179 template<typename TReturnType, typename TOperator>
2180 TReturnType visitType( TOperator inOperator ) const
2181 {
2182 return inOperator( reinterpret_cast<PxTriangleMeshGeometry*>(NULL) );
2183 }
2184 template<typename TOperator>
2185 void visitBases( TOperator inOperator )
2186 {
2187 PX_UNUSED(inOperator);
2188 inOperator( *static_cast<PxGeometryGeneratedInfo*>( this ) );
2189 }
2190 template<typename TOperator>
2191 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
2192 {
2193 PX_UNUSED(inOperator);
2194 PX_UNUSED(inStartIndex);
2195 inStartIndex = PxGeometryGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
2196 inStartIndex = PxGeometryGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
2197 return inStartIndex;
2198 }
2199 static PxU32 instancePropertyCount() { return 3; }
2200 static PxU32 totalPropertyCount() { return instancePropertyCount()
2201 + PxGeometryGeneratedInfo::totalPropertyCount(); }
2202 template<typename TOperator>
2203 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
2204 {
2205 PX_UNUSED(inOperator);
2206 PX_UNUSED(inStartIndex);
2207 inOperator( Scale, inStartIndex + 0 );;
2208 inOperator( MeshFlags, inStartIndex + 1 );;
2209 inOperator( TriangleMesh, inStartIndex + 2 );;
2210 return 3 + inStartIndex;
2211 }
2212 };
2213 template<> struct PxClassInfoTraits<PxTriangleMeshGeometry>
2214 {
2216 const PxTriangleMeshGeometryGeneratedInfo* getInfo() { return &Info; }
2217 };
2218
2219 class PxHeightFieldGeometry;
2222 PxHeightField * HeightField;
2223 PxReal HeightScale;
2224 PxReal RowScale;
2225 PxReal ColumnScale;
2226 PxMeshGeometryFlags HeightFieldFlags;
2227 PX_PHYSX_CORE_API PxHeightFieldGeometryGeneratedValues( const PxHeightFieldGeometry* inSource );
2228 };
2229 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxHeightFieldGeometry, HeightField, PxHeightFieldGeometryGeneratedValues)
2230 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxHeightFieldGeometry, HeightScale, PxHeightFieldGeometryGeneratedValues)
2231 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxHeightFieldGeometry, RowScale, PxHeightFieldGeometryGeneratedValues)
2232 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxHeightFieldGeometry, ColumnScale, PxHeightFieldGeometryGeneratedValues)
2233 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxHeightFieldGeometry, HeightFieldFlags, PxHeightFieldGeometryGeneratedValues)
2236 {
2237 static const char* getClassName() { return "PxHeightFieldGeometry"; }
2238 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxHeightFieldGeometry_HeightField, PxHeightFieldGeometry, PxHeightField *, PxHeightField * > HeightField;
2239 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxHeightFieldGeometry_HeightScale, PxHeightFieldGeometry, PxReal, PxReal > HeightScale;
2240 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxHeightFieldGeometry_RowScale, PxHeightFieldGeometry, PxReal, PxReal > RowScale;
2241 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxHeightFieldGeometry_ColumnScale, PxHeightFieldGeometry, PxReal, PxReal > ColumnScale;
2242 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxHeightFieldGeometry_HeightFieldFlags, PxHeightFieldGeometry, PxMeshGeometryFlags, PxMeshGeometryFlags > HeightFieldFlags;
2243
2244 PX_PHYSX_CORE_API PxHeightFieldGeometryGeneratedInfo();
2245 template<typename TReturnType, typename TOperator>
2246 TReturnType visitType( TOperator inOperator ) const
2247 {
2248 return inOperator( reinterpret_cast<PxHeightFieldGeometry*>(NULL) );
2249 }
2250 template<typename TOperator>
2251 void visitBases( TOperator inOperator )
2252 {
2253 PX_UNUSED(inOperator);
2254 inOperator( *static_cast<PxGeometryGeneratedInfo*>( this ) );
2255 }
2256 template<typename TOperator>
2257 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
2258 {
2259 PX_UNUSED(inOperator);
2260 PX_UNUSED(inStartIndex);
2261 inStartIndex = PxGeometryGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
2262 inStartIndex = PxGeometryGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
2263 return inStartIndex;
2264 }
2265 static PxU32 instancePropertyCount() { return 5; }
2266 static PxU32 totalPropertyCount() { return instancePropertyCount()
2267 + PxGeometryGeneratedInfo::totalPropertyCount(); }
2268 template<typename TOperator>
2269 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
2270 {
2271 PX_UNUSED(inOperator);
2272 PX_UNUSED(inStartIndex);
2273 inOperator( HeightField, inStartIndex + 0 );;
2274 inOperator( HeightScale, inStartIndex + 1 );;
2275 inOperator( RowScale, inStartIndex + 2 );;
2276 inOperator( ColumnScale, inStartIndex + 3 );;
2277 inOperator( HeightFieldFlags, inStartIndex + 4 );;
2278 return 5 + inStartIndex;
2279 }
2280 };
2281 template<> struct PxClassInfoTraits<PxHeightFieldGeometry>
2282 {
2284 const PxHeightFieldGeometryGeneratedInfo* getInfo() { return &Info; }
2285 };
2286
2287 static PxU32ToName g_physx__PxSceneQueryUpdateMode__EnumConversion[] = {
2288 { "eBUILD_ENABLED_COMMIT_ENABLED", static_cast<PxU32>( physx::PxSceneQueryUpdateMode::eBUILD_ENABLED_COMMIT_ENABLED ) },
2289 { "eBUILD_ENABLED_COMMIT_DISABLED", static_cast<PxU32>( physx::PxSceneQueryUpdateMode::eBUILD_ENABLED_COMMIT_DISABLED ) },
2290 { "eBUILD_DISABLED_COMMIT_DISABLED", static_cast<PxU32>( physx::PxSceneQueryUpdateMode::eBUILD_DISABLED_COMMIT_DISABLED ) },
2291 { NULL, 0 }
2292 };
2293
2294template<> struct PxEnumTraits< physx::PxSceneQueryUpdateMode::Enum > { PxEnumTraits() : NameConversion( g_physx__PxSceneQueryUpdateMode__EnumConversion ) {} const PxU32ToName* NameConversion; };
2295 static PxU32ToName g_physx__PxHitFlag__EnumConversion[] = {
2296 { "ePOSITION", static_cast<PxU32>( physx::PxHitFlag::ePOSITION ) },
2297 { "eNORMAL", static_cast<PxU32>( physx::PxHitFlag::eNORMAL ) },
2298 { "eUV", static_cast<PxU32>( physx::PxHitFlag::eUV ) },
2299 { "eASSUME_NO_INITIAL_OVERLAP", static_cast<PxU32>( physx::PxHitFlag::eASSUME_NO_INITIAL_OVERLAP ) },
2300 { "eANY_HIT", static_cast<PxU32>( physx::PxHitFlag::eANY_HIT ) },
2301 { "eMESH_MULTIPLE", static_cast<PxU32>( physx::PxHitFlag::eMESH_MULTIPLE ) },
2302 { "eMESH_ANY", static_cast<PxU32>( physx::PxHitFlag::eMESH_ANY ) },
2303 { "eMESH_BOTH_SIDES", static_cast<PxU32>( physx::PxHitFlag::eMESH_BOTH_SIDES ) },
2304 { "ePRECISE_SWEEP", static_cast<PxU32>( physx::PxHitFlag::ePRECISE_SWEEP ) },
2305 { "eMTD", static_cast<PxU32>( physx::PxHitFlag::eMTD ) },
2306 { "eFACE_INDEX", static_cast<PxU32>( physx::PxHitFlag::eFACE_INDEX ) },
2307 { "eDEFAULT", static_cast<PxU32>( physx::PxHitFlag::eDEFAULT ) },
2308 { "eMODIFIABLE_FLAGS", static_cast<PxU32>( physx::PxHitFlag::eMODIFIABLE_FLAGS ) },
2309 { NULL, 0 }
2310 };
2311
2312template<> struct PxEnumTraits< physx::PxHitFlag::Enum > { PxEnumTraits() : NameConversion( g_physx__PxHitFlag__EnumConversion ) {} const PxU32ToName* NameConversion; };
2313 static PxU32ToName g_physx__PxGeometryQueryFlag__EnumConversion[] = {
2314 { "eSIMD_GUARD", static_cast<PxU32>( physx::PxGeometryQueryFlag::eSIMD_GUARD ) },
2315 { "eDEFAULT", static_cast<PxU32>( physx::PxGeometryQueryFlag::eDEFAULT ) },
2316 { NULL, 0 }
2317 };
2318
2319template<> struct PxEnumTraits< physx::PxGeometryQueryFlag::Enum > { PxEnumTraits() : NameConversion( g_physx__PxGeometryQueryFlag__EnumConversion ) {} const PxU32ToName* NameConversion; };
2320 class PxSceneQuerySystemBase;
2322 {
2323 PxU32 DynamicTreeRebuildRateHint;
2324 PxSceneQueryUpdateMode::Enum UpdateMode;
2325 PxU32 StaticTimestamp;
2326 PX_PHYSX_CORE_API PxSceneQuerySystemBaseGeneratedValues( const PxSceneQuerySystemBase* inSource );
2327 };
2328 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneQuerySystemBase, DynamicTreeRebuildRateHint, PxSceneQuerySystemBaseGeneratedValues)
2329 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneQuerySystemBase, UpdateMode, PxSceneQuerySystemBaseGeneratedValues)
2330 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneQuerySystemBase, StaticTimestamp, PxSceneQuerySystemBaseGeneratedValues)
2332
2333 {
2334 static const char* getClassName() { return "PxSceneQuerySystemBase"; }
2335 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneQuerySystemBase_DynamicTreeRebuildRateHint, PxSceneQuerySystemBase, PxU32, PxU32 > DynamicTreeRebuildRateHint;
2336 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneQuerySystemBase_UpdateMode, PxSceneQuerySystemBase, PxSceneQueryUpdateMode::Enum, PxSceneQueryUpdateMode::Enum > UpdateMode;
2337 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneQuerySystemBase_StaticTimestamp, PxSceneQuerySystemBase, PxU32 > StaticTimestamp;
2338
2339 PX_PHYSX_CORE_API PxSceneQuerySystemBaseGeneratedInfo();
2340 template<typename TReturnType, typename TOperator>
2341 TReturnType visitType( TOperator inOperator ) const
2342 {
2343 return inOperator( reinterpret_cast<PxSceneQuerySystemBase*>(NULL) );
2344 }
2345 template<typename TOperator>
2346 void visitBases( TOperator inOperator )
2347 {
2348 PX_UNUSED(inOperator);
2349 }
2350 template<typename TOperator>
2351 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
2352 {
2353 PX_UNUSED(inOperator);
2354 PX_UNUSED(inStartIndex);
2355 return inStartIndex;
2356 }
2357 static PxU32 instancePropertyCount() { return 3; }
2358 static PxU32 totalPropertyCount() { return instancePropertyCount(); }
2359 template<typename TOperator>
2360 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
2361 {
2362 PX_UNUSED(inOperator);
2363 PX_UNUSED(inStartIndex);
2364 inOperator( DynamicTreeRebuildRateHint, inStartIndex + 0 );;
2365 inOperator( UpdateMode, inStartIndex + 1 );;
2366 inOperator( StaticTimestamp, inStartIndex + 2 );;
2367 return 3 + inStartIndex;
2368 }
2369 };
2370 template<> struct PxClassInfoTraits<PxSceneQuerySystemBase>
2371 {
2373 const PxSceneQuerySystemBaseGeneratedInfo* getInfo() { return &Info; }
2374 };
2375
2376 static PxU32ToName g_physx__PxPruningStructureType__EnumConversion[] = {
2377 { "eNONE", static_cast<PxU32>( physx::PxPruningStructureType::eNONE ) },
2378 { "eDYNAMIC_AABB_TREE", static_cast<PxU32>( physx::PxPruningStructureType::eDYNAMIC_AABB_TREE ) },
2379 { "eSTATIC_AABB_TREE", static_cast<PxU32>( physx::PxPruningStructureType::eSTATIC_AABB_TREE ) },
2380 { "eLAST", static_cast<PxU32>( physx::PxPruningStructureType::eLAST ) },
2381 { NULL, 0 }
2382 };
2383
2384template<> struct PxEnumTraits< physx::PxPruningStructureType::Enum > { PxEnumTraits() : NameConversion( g_physx__PxPruningStructureType__EnumConversion ) {} const PxU32ToName* NameConversion; };
2385 class PxSceneSQSystem;
2388 PxSceneQueryUpdateMode::Enum SceneQueryUpdateMode;
2389 PxU32 SceneQueryStaticTimestamp;
2390 PxPruningStructureType::Enum StaticStructure;
2391 PxPruningStructureType::Enum DynamicStructure;
2392 PX_PHYSX_CORE_API PxSceneSQSystemGeneratedValues( const PxSceneSQSystem* inSource );
2393 };
2394 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneSQSystem, SceneQueryUpdateMode, PxSceneSQSystemGeneratedValues)
2395 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneSQSystem, SceneQueryStaticTimestamp, PxSceneSQSystemGeneratedValues)
2396 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneSQSystem, StaticStructure, PxSceneSQSystemGeneratedValues)
2397 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneSQSystem, DynamicStructure, PxSceneSQSystemGeneratedValues)
2400 {
2401 static const char* getClassName() { return "PxSceneSQSystem"; }
2402 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneSQSystem_SceneQueryUpdateMode, PxSceneSQSystem, PxSceneQueryUpdateMode::Enum, PxSceneQueryUpdateMode::Enum > SceneQueryUpdateMode;
2403 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneSQSystem_SceneQueryStaticTimestamp, PxSceneSQSystem, PxU32 > SceneQueryStaticTimestamp;
2404 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneSQSystem_StaticStructure, PxSceneSQSystem, PxPruningStructureType::Enum > StaticStructure;
2405 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneSQSystem_DynamicStructure, PxSceneSQSystem, PxPruningStructureType::Enum > DynamicStructure;
2406
2407 PX_PHYSX_CORE_API PxSceneSQSystemGeneratedInfo();
2408 template<typename TReturnType, typename TOperator>
2409 TReturnType visitType( TOperator inOperator ) const
2410 {
2411 return inOperator( reinterpret_cast<PxSceneSQSystem*>(NULL) );
2412 }
2413 template<typename TOperator>
2414 void visitBases( TOperator inOperator )
2415 {
2416 PX_UNUSED(inOperator);
2417 inOperator( *static_cast<PxSceneQuerySystemBaseGeneratedInfo*>( this ) );
2418 }
2419 template<typename TOperator>
2420 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
2421 {
2422 PX_UNUSED(inOperator);
2423 PX_UNUSED(inStartIndex);
2424 inStartIndex = PxSceneQuerySystemBaseGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
2425 inStartIndex = PxSceneQuerySystemBaseGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
2426 return inStartIndex;
2427 }
2428 static PxU32 instancePropertyCount() { return 4; }
2429 static PxU32 totalPropertyCount() { return instancePropertyCount()
2430 + PxSceneQuerySystemBaseGeneratedInfo::totalPropertyCount(); }
2431 template<typename TOperator>
2432 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
2433 {
2434 PX_UNUSED(inOperator);
2435 PX_UNUSED(inStartIndex);
2436 inOperator( SceneQueryUpdateMode, inStartIndex + 0 );;
2437 inOperator( SceneQueryStaticTimestamp, inStartIndex + 1 );;
2438 inOperator( StaticStructure, inStartIndex + 2 );;
2439 inOperator( DynamicStructure, inStartIndex + 3 );;
2440 return 4 + inStartIndex;
2441 }
2442 };
2443 template<> struct PxClassInfoTraits<PxSceneSQSystem>
2444 {
2446 const PxSceneSQSystemGeneratedInfo* getInfo() { return &Info; }
2447 };
2448
2449 static PxU32ToName g_physx__PxSceneFlag__EnumConversion[] = {
2450 { "eENABLE_ACTIVE_ACTORS", static_cast<PxU32>( physx::PxSceneFlag::eENABLE_ACTIVE_ACTORS ) },
2451 { "eENABLE_CCD", static_cast<PxU32>( physx::PxSceneFlag::eENABLE_CCD ) },
2452 { "eDISABLE_CCD_RESWEEP", static_cast<PxU32>( physx::PxSceneFlag::eDISABLE_CCD_RESWEEP ) },
2453 { "eENABLE_PCM", static_cast<PxU32>( physx::PxSceneFlag::eENABLE_PCM ) },
2454 { "eDISABLE_CONTACT_REPORT_BUFFER_RESIZE", static_cast<PxU32>( physx::PxSceneFlag::eDISABLE_CONTACT_REPORT_BUFFER_RESIZE ) },
2455 { "eDISABLE_CONTACT_CACHE", static_cast<PxU32>( physx::PxSceneFlag::eDISABLE_CONTACT_CACHE ) },
2456 { "eREQUIRE_RW_LOCK", static_cast<PxU32>( physx::PxSceneFlag::eREQUIRE_RW_LOCK ) },
2457 { "eENABLE_STABILIZATION", static_cast<PxU32>( physx::PxSceneFlag::eENABLE_STABILIZATION ) },
2458 { "eENABLE_AVERAGE_POINT", static_cast<PxU32>( physx::PxSceneFlag::eENABLE_AVERAGE_POINT ) },
2459 { "eEXCLUDE_KINEMATICS_FROM_ACTIVE_ACTORS", static_cast<PxU32>( physx::PxSceneFlag::eEXCLUDE_KINEMATICS_FROM_ACTIVE_ACTORS ) },
2460 { "eENABLE_GPU_DYNAMICS", static_cast<PxU32>( physx::PxSceneFlag::eENABLE_GPU_DYNAMICS ) },
2461 { "eENABLE_ENHANCED_DETERMINISM", static_cast<PxU32>( physx::PxSceneFlag::eENABLE_ENHANCED_DETERMINISM ) },
2462 { "eENABLE_FRICTION_EVERY_ITERATION", static_cast<PxU32>( physx::PxSceneFlag::eENABLE_FRICTION_EVERY_ITERATION ) },
2463 { "eSUPPRESS_READBACK", static_cast<PxU32>( physx::PxSceneFlag::eSUPPRESS_READBACK ) },
2464 { "eFORCE_READBACK", static_cast<PxU32>( physx::PxSceneFlag::eFORCE_READBACK ) },
2465 { "eMUTABLE_FLAGS", static_cast<PxU32>( physx::PxSceneFlag::eMUTABLE_FLAGS ) },
2466 { NULL, 0 }
2467 };
2468
2469template<> struct PxEnumTraits< physx::PxSceneFlag::Enum > { PxEnumTraits() : NameConversion( g_physx__PxSceneFlag__EnumConversion ) {} const PxU32ToName* NameConversion; };
2470 static PxU32ToName g_physx__PxActorTypeFlag__EnumConversion[] = {
2471 { "eRIGID_STATIC", static_cast<PxU32>( physx::PxActorTypeFlag::eRIGID_STATIC ) },
2472 { "eRIGID_DYNAMIC", static_cast<PxU32>( physx::PxActorTypeFlag::eRIGID_DYNAMIC ) },
2473 { NULL, 0 }
2474 };
2475
2476template<> struct PxEnumTraits< physx::PxActorTypeFlag::Enum > { PxEnumTraits() : NameConversion( g_physx__PxActorTypeFlag__EnumConversion ) {} const PxU32ToName* NameConversion; };
2477 static PxU32ToName g_physx__PxParticleSolverType__EnumConversion[] = {
2478 { "ePBD", static_cast<PxU32>( physx::PxParticleSolverType::ePBD ) },
2479 { "eFLIP", static_cast<PxU32>( physx::PxParticleSolverType::eFLIP ) },
2480 { "eMPM", static_cast<PxU32>( physx::PxParticleSolverType::eMPM ) },
2481 { "eCUSTOM", static_cast<PxU32>( physx::PxParticleSolverType::eCUSTOM ) },
2482 { NULL, 0 }
2483 };
2484
2485template<> struct PxEnumTraits< physx::PxParticleSolverType::Enum > { PxEnumTraits() : NameConversion( g_physx__PxParticleSolverType__EnumConversion ) {} const PxU32ToName* NameConversion; };
2486 static PxU32ToName g_physx__PxPairFilteringMode__EnumConversion[] = {
2487 { "eKEEP", static_cast<PxU32>( physx::PxPairFilteringMode::eKEEP ) },
2488 { "eSUPPRESS", static_cast<PxU32>( physx::PxPairFilteringMode::eSUPPRESS ) },
2489 { "eKILL", static_cast<PxU32>( physx::PxPairFilteringMode::eKILL ) },
2490 { "eDEFAULT", static_cast<PxU32>( physx::PxPairFilteringMode::eDEFAULT ) },
2491 { NULL, 0 }
2492 };
2493
2494template<> struct PxEnumTraits< physx::PxPairFilteringMode::Enum > { PxEnumTraits() : NameConversion( g_physx__PxPairFilteringMode__EnumConversion ) {} const PxU32ToName* NameConversion; };
2495 static PxU32ToName g_physx__PxFrictionType__EnumConversion[] = {
2496 { "ePATCH", static_cast<PxU32>( physx::PxFrictionType::ePATCH ) },
2497 { "eONE_DIRECTIONAL", static_cast<PxU32>( physx::PxFrictionType::eONE_DIRECTIONAL ) },
2498 { "eTWO_DIRECTIONAL", static_cast<PxU32>( physx::PxFrictionType::eTWO_DIRECTIONAL ) },
2499 { NULL, 0 }
2500 };
2501
2502template<> struct PxEnumTraits< physx::PxFrictionType::Enum > { PxEnumTraits() : NameConversion( g_physx__PxFrictionType__EnumConversion ) {} const PxU32ToName* NameConversion; };
2503 static PxU32ToName g_physx__PxSolverType__EnumConversion[] = {
2504 { "ePGS", static_cast<PxU32>( physx::PxSolverType::ePGS ) },
2505 { "eTGS", static_cast<PxU32>( physx::PxSolverType::eTGS ) },
2506 { NULL, 0 }
2507 };
2508
2509template<> struct PxEnumTraits< physx::PxSolverType::Enum > { PxEnumTraits() : NameConversion( g_physx__PxSolverType__EnumConversion ) {} const PxU32ToName* NameConversion; };
2510 static PxU32ToName g_physx__PxVisualizationParameter__EnumConversion[] = {
2511 { "eSCALE", static_cast<PxU32>( physx::PxVisualizationParameter::eSCALE ) },
2512 { "eWORLD_AXES", static_cast<PxU32>( physx::PxVisualizationParameter::eWORLD_AXES ) },
2513 { "eBODY_AXES", static_cast<PxU32>( physx::PxVisualizationParameter::eBODY_AXES ) },
2514 { "eBODY_MASS_AXES", static_cast<PxU32>( physx::PxVisualizationParameter::eBODY_MASS_AXES ) },
2515 { "eBODY_LIN_VELOCITY", static_cast<PxU32>( physx::PxVisualizationParameter::eBODY_LIN_VELOCITY ) },
2516 { "eBODY_ANG_VELOCITY", static_cast<PxU32>( physx::PxVisualizationParameter::eBODY_ANG_VELOCITY ) },
2517 { "eCONTACT_POINT", static_cast<PxU32>( physx::PxVisualizationParameter::eCONTACT_POINT ) },
2518 { "eCONTACT_NORMAL", static_cast<PxU32>( physx::PxVisualizationParameter::eCONTACT_NORMAL ) },
2519 { "eCONTACT_ERROR", static_cast<PxU32>( physx::PxVisualizationParameter::eCONTACT_ERROR ) },
2520 { "eCONTACT_FORCE", static_cast<PxU32>( physx::PxVisualizationParameter::eCONTACT_FORCE ) },
2521 { "eACTOR_AXES", static_cast<PxU32>( physx::PxVisualizationParameter::eACTOR_AXES ) },
2522 { "eCOLLISION_AABBS", static_cast<PxU32>( physx::PxVisualizationParameter::eCOLLISION_AABBS ) },
2523 { "eCOLLISION_SHAPES", static_cast<PxU32>( physx::PxVisualizationParameter::eCOLLISION_SHAPES ) },
2524 { "eCOLLISION_AXES", static_cast<PxU32>( physx::PxVisualizationParameter::eCOLLISION_AXES ) },
2525 { "eCOLLISION_COMPOUNDS", static_cast<PxU32>( physx::PxVisualizationParameter::eCOLLISION_COMPOUNDS ) },
2526 { "eCOLLISION_FNORMALS", static_cast<PxU32>( physx::PxVisualizationParameter::eCOLLISION_FNORMALS ) },
2527 { "eCOLLISION_EDGES", static_cast<PxU32>( physx::PxVisualizationParameter::eCOLLISION_EDGES ) },
2528 { "eCOLLISION_STATIC", static_cast<PxU32>( physx::PxVisualizationParameter::eCOLLISION_STATIC ) },
2529 { "eCOLLISION_DYNAMIC", static_cast<PxU32>( physx::PxVisualizationParameter::eCOLLISION_DYNAMIC ) },
2530 { "eJOINT_LOCAL_FRAMES", static_cast<PxU32>( physx::PxVisualizationParameter::eJOINT_LOCAL_FRAMES ) },
2531 { "eJOINT_LIMITS", static_cast<PxU32>( physx::PxVisualizationParameter::eJOINT_LIMITS ) },
2532 { "eCULL_BOX", static_cast<PxU32>( physx::PxVisualizationParameter::eCULL_BOX ) },
2533 { "eMBP_REGIONS", static_cast<PxU32>( physx::PxVisualizationParameter::eMBP_REGIONS ) },
2534 { "eSIMULATION_MESH", static_cast<PxU32>( physx::PxVisualizationParameter::eSIMULATION_MESH ) },
2535 { "eSDF", static_cast<PxU32>( physx::PxVisualizationParameter::eSDF ) },
2536 { "eNUM_VALUES", static_cast<PxU32>( physx::PxVisualizationParameter::eNUM_VALUES ) },
2537 { NULL, 0 }
2538 };
2539
2540template<> struct PxEnumTraits< physx::PxVisualizationParameter::Enum > { PxEnumTraits() : NameConversion( g_physx__PxVisualizationParameter__EnumConversion ) {} const PxU32ToName* NameConversion; };
2541 static PxU32ToName g_physx__PxBroadPhaseType__EnumConversion[] = {
2542 { "eSAP", static_cast<PxU32>( physx::PxBroadPhaseType::eSAP ) },
2543 { "eMBP", static_cast<PxU32>( physx::PxBroadPhaseType::eMBP ) },
2544 { "eABP", static_cast<PxU32>( physx::PxBroadPhaseType::eABP ) },
2545 { "ePABP", static_cast<PxU32>( physx::PxBroadPhaseType::ePABP ) },
2546 { "eGPU", static_cast<PxU32>( physx::PxBroadPhaseType::eGPU ) },
2547 { "eLAST", static_cast<PxU32>( physx::PxBroadPhaseType::eLAST ) },
2548 { NULL, 0 }
2549 };
2550
2551template<> struct PxEnumTraits< physx::PxBroadPhaseType::Enum > { PxEnumTraits() : NameConversion( g_physx__PxBroadPhaseType__EnumConversion ) {} const PxU32ToName* NameConversion; };
2552 static PxU32ToName g_physx__PxArticulationGpuDataType__EnumConversion[] = {
2553 { "eJOINT_POSITION", static_cast<PxU32>( physx::PxArticulationGpuDataType::eJOINT_POSITION ) },
2554 { "eJOINT_VELOCITY", static_cast<PxU32>( physx::PxArticulationGpuDataType::eJOINT_VELOCITY ) },
2555 { "eJOINT_ACCELERATION", static_cast<PxU32>( physx::PxArticulationGpuDataType::eJOINT_ACCELERATION ) },
2556 { "eJOINT_FORCE", static_cast<PxU32>( physx::PxArticulationGpuDataType::eJOINT_FORCE ) },
2557 { "eJOINT_SOLVER_FORCE", static_cast<PxU32>( physx::PxArticulationGpuDataType::eJOINT_SOLVER_FORCE ) },
2558 { "eJOINT_TARGET_VELOCITY", static_cast<PxU32>( physx::PxArticulationGpuDataType::eJOINT_TARGET_VELOCITY ) },
2559 { "eJOINT_TARGET_POSITION", static_cast<PxU32>( physx::PxArticulationGpuDataType::eJOINT_TARGET_POSITION ) },
2560 { "eSENSOR_FORCE", static_cast<PxU32>( physx::PxArticulationGpuDataType::eSENSOR_FORCE ) },
2561 { "eROOT_TRANSFORM", static_cast<PxU32>( physx::PxArticulationGpuDataType::eROOT_TRANSFORM ) },
2562 { "eROOT_VELOCITY", static_cast<PxU32>( physx::PxArticulationGpuDataType::eROOT_VELOCITY ) },
2563 { "eLINK_TRANSFORM", static_cast<PxU32>( physx::PxArticulationGpuDataType::eLINK_TRANSFORM ) },
2564 { "eLINK_VELOCITY", static_cast<PxU32>( physx::PxArticulationGpuDataType::eLINK_VELOCITY ) },
2565 { "eLINK_FORCE", static_cast<PxU32>( physx::PxArticulationGpuDataType::eLINK_FORCE ) },
2566 { "eLINK_TORQUE", static_cast<PxU32>( physx::PxArticulationGpuDataType::eLINK_TORQUE ) },
2567 { "eFIXED_TENDON", static_cast<PxU32>( physx::PxArticulationGpuDataType::eFIXED_TENDON ) },
2568 { "eFIXED_TENDON_JOINT", static_cast<PxU32>( physx::PxArticulationGpuDataType::eFIXED_TENDON_JOINT ) },
2569 { "eSPATIAL_TENDON", static_cast<PxU32>( physx::PxArticulationGpuDataType::eSPATIAL_TENDON ) },
2570 { "eSPATIAL_TENDON_ATTACHMENT", static_cast<PxU32>( physx::PxArticulationGpuDataType::eSPATIAL_TENDON_ATTACHMENT ) },
2571 { NULL, 0 }
2572 };
2573
2574template<> struct PxEnumTraits< physx::PxArticulationGpuDataType::Enum > { PxEnumTraits() : NameConversion( g_physx__PxArticulationGpuDataType__EnumConversion ) {} const PxU32ToName* NameConversion; };
2575 static PxU32ToName g_physx__PxSoftBodyDataFlag__EnumConversion[] = {
2576 { "eTET_INDICES", static_cast<PxU32>( physx::PxSoftBodyDataFlag::eTET_INDICES ) },
2577 { "eTET_STRESS", static_cast<PxU32>( physx::PxSoftBodyDataFlag::eTET_STRESS ) },
2578 { "eTET_STRESSCOEFF", static_cast<PxU32>( physx::PxSoftBodyDataFlag::eTET_STRESSCOEFF ) },
2579 { "eTET_REST_POSES", static_cast<PxU32>( physx::PxSoftBodyDataFlag::eTET_REST_POSES ) },
2580 { "eTET_ROTATIONS", static_cast<PxU32>( physx::PxSoftBodyDataFlag::eTET_ROTATIONS ) },
2581 { "eTET_POSITION_INV_MASS", static_cast<PxU32>( physx::PxSoftBodyDataFlag::eTET_POSITION_INV_MASS ) },
2582 { "eSIM_TET_INDICES", static_cast<PxU32>( physx::PxSoftBodyDataFlag::eSIM_TET_INDICES ) },
2583 { "eSIM_VELOCITY_INV_MASS", static_cast<PxU32>( physx::PxSoftBodyDataFlag::eSIM_VELOCITY_INV_MASS ) },
2584 { "eSIM_POSITION_INV_MASS", static_cast<PxU32>( physx::PxSoftBodyDataFlag::eSIM_POSITION_INV_MASS ) },
2585 { "eSIM_KINEMATIC_TARGET", static_cast<PxU32>( physx::PxSoftBodyDataFlag::eSIM_KINEMATIC_TARGET ) },
2586 { NULL, 0 }
2587 };
2588
2589template<> struct PxEnumTraits< physx::PxSoftBodyDataFlag::Enum > { PxEnumTraits() : NameConversion( g_physx__PxSoftBodyDataFlag__EnumConversion ) {} const PxU32ToName* NameConversion; };
2590 static PxU32ToName g_physx__PxActorCacheFlag__EnumConversion[] = {
2591 { "eACTOR_DATA", static_cast<PxU32>( physx::PxActorCacheFlag::eACTOR_DATA ) },
2592 { "eFORCE", static_cast<PxU32>( physx::PxActorCacheFlag::eFORCE ) },
2593 { "eTORQUE", static_cast<PxU32>( physx::PxActorCacheFlag::eTORQUE ) },
2594 { NULL, 0 }
2595 };
2596
2597template<> struct PxEnumTraits< physx::PxActorCacheFlag::Enum > { PxEnumTraits() : NameConversion( g_physx__PxActorCacheFlag__EnumConversion ) {} const PxU32ToName* NameConversion; };
2598 class PxScene;
2601 PxSceneFlags Flags;
2602 PxSceneLimits Limits;
2603 PxU32 Timestamp;
2604 PxCpuDispatcher * CpuDispatcher;
2605 PxCudaContextManager * CudaContextManager;
2606 PxSimulationEventCallback * SimulationEventCallback;
2607 PxContactModifyCallback * ContactModifyCallback;
2608 PxCCDContactModifyCallback * CCDContactModifyCallback;
2609 PxBroadPhaseCallback * BroadPhaseCallback;
2610 PxU32 FilterShaderDataSize;
2611 PxSimulationFilterShader FilterShader;
2612 PxSimulationFilterCallback * FilterCallback;
2613 PxPairFilteringMode::Enum KinematicKinematicFilteringMode;
2614 PxPairFilteringMode::Enum StaticKinematicFilteringMode;
2615 PxVec3 Gravity;
2616 PxReal BounceThresholdVelocity;
2617 PxU32 CCDMaxPasses;
2618 PxReal CCDMaxSeparation;
2619 PxReal CCDThreshold;
2620 PxReal MaxBiasCoefficient;
2621 PxReal FrictionOffsetThreshold;
2622 PxReal FrictionCorrelationDistance;
2623 PxFrictionType::Enum FrictionType;
2624 PxSolverType::Enum SolverType;
2625 PxBounds3 VisualizationCullingBox;
2626 PxBroadPhaseType::Enum BroadPhaseType;
2627 PxTaskManager * TaskManager;
2628 PxU32 MaxNbContactDataBlocksUsed;
2629 PxU32 ContactReportStreamBufferSize;
2630 PxU32 SolverBatchSize;
2631 PxU32 SolverArticulationBatchSize;
2632 PxReal WakeCounterResetValue;
2633 PxgDynamicsMemoryConfig GpuDynamicsConfig;
2634 void * UserData;
2635 PxSimulationStatistics SimulationStatistics;
2636 PX_PHYSX_CORE_API PxSceneGeneratedValues( const PxScene* inSource );
2637 };
2638 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, Flags, PxSceneGeneratedValues)
2639 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, Limits, PxSceneGeneratedValues)
2640 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, Timestamp, PxSceneGeneratedValues)
2641 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, CpuDispatcher, PxSceneGeneratedValues)
2642 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, CudaContextManager, PxSceneGeneratedValues)
2643 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, SimulationEventCallback, PxSceneGeneratedValues)
2644 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, ContactModifyCallback, PxSceneGeneratedValues)
2645 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, CCDContactModifyCallback, PxSceneGeneratedValues)
2646 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, BroadPhaseCallback, PxSceneGeneratedValues)
2647 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, FilterShaderDataSize, PxSceneGeneratedValues)
2648 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, FilterShader, PxSceneGeneratedValues)
2649 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, FilterCallback, PxSceneGeneratedValues)
2650 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, KinematicKinematicFilteringMode, PxSceneGeneratedValues)
2651 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, StaticKinematicFilteringMode, PxSceneGeneratedValues)
2652 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, Gravity, PxSceneGeneratedValues)
2653 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, BounceThresholdVelocity, PxSceneGeneratedValues)
2654 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, CCDMaxPasses, PxSceneGeneratedValues)
2655 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, CCDMaxSeparation, PxSceneGeneratedValues)
2656 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, CCDThreshold, PxSceneGeneratedValues)
2657 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, MaxBiasCoefficient, PxSceneGeneratedValues)
2658 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, FrictionOffsetThreshold, PxSceneGeneratedValues)
2659 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, FrictionCorrelationDistance, PxSceneGeneratedValues)
2660 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, FrictionType, PxSceneGeneratedValues)
2661 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, SolverType, PxSceneGeneratedValues)
2662 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, VisualizationCullingBox, PxSceneGeneratedValues)
2663 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, BroadPhaseType, PxSceneGeneratedValues)
2664 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, TaskManager, PxSceneGeneratedValues)
2665 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, MaxNbContactDataBlocksUsed, PxSceneGeneratedValues)
2666 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, ContactReportStreamBufferSize, PxSceneGeneratedValues)
2667 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, SolverBatchSize, PxSceneGeneratedValues)
2668 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, SolverArticulationBatchSize, PxSceneGeneratedValues)
2669 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, WakeCounterResetValue, PxSceneGeneratedValues)
2670 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, GpuDynamicsConfig, PxSceneGeneratedValues)
2671 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, UserData, PxSceneGeneratedValues)
2672 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxScene, SimulationStatistics, PxSceneGeneratedValues)
2675 {
2676 static const char* getClassName() { return "PxScene"; }
2677 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_Flags, PxScene, PxSceneFlags > Flags;
2678 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_Limits, PxScene, const PxSceneLimits &, PxSceneLimits > Limits;
2679 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_Timestamp, PxScene, PxU32 > Timestamp;
2680 PxReadOnlyFilteredCollectionPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_Actors, PxScene, PxActor *, PxActorTypeFlags > Actors;
2681 PxReadOnlyCollectionPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_SoftBodies, PxScene, PxSoftBody * > SoftBodies;
2682 PxReadOnlyCollectionPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_Articulations, PxScene, PxArticulationReducedCoordinate * > Articulations;
2683 PxReadOnlyCollectionPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_Constraints, PxScene, PxConstraint * > Constraints;
2684 PxReadOnlyCollectionPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_Aggregates, PxScene, PxAggregate * > Aggregates;
2685 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_CpuDispatcher, PxScene, PxCpuDispatcher * > CpuDispatcher;
2686 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_CudaContextManager, PxScene, PxCudaContextManager * > CudaContextManager;
2687 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_SimulationEventCallback, PxScene, PxSimulationEventCallback *, PxSimulationEventCallback * > SimulationEventCallback;
2688 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_ContactModifyCallback, PxScene, PxContactModifyCallback *, PxContactModifyCallback * > ContactModifyCallback;
2689 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_CCDContactModifyCallback, PxScene, PxCCDContactModifyCallback *, PxCCDContactModifyCallback * > CCDContactModifyCallback;
2690 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_BroadPhaseCallback, PxScene, PxBroadPhaseCallback *, PxBroadPhaseCallback * > BroadPhaseCallback;
2691 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_FilterShaderDataSize, PxScene, PxU32 > FilterShaderDataSize;
2692 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_FilterShader, PxScene, PxSimulationFilterShader > FilterShader;
2693 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_FilterCallback, PxScene, PxSimulationFilterCallback * > FilterCallback;
2694 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_KinematicKinematicFilteringMode, PxScene, PxPairFilteringMode::Enum > KinematicKinematicFilteringMode;
2695 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_StaticKinematicFilteringMode, PxScene, PxPairFilteringMode::Enum > StaticKinematicFilteringMode;
2696 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_Gravity, PxScene, const PxVec3 &, PxVec3 > Gravity;
2697 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_BounceThresholdVelocity, PxScene, const PxReal, PxReal > BounceThresholdVelocity;
2698 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_CCDMaxPasses, PxScene, PxU32, PxU32 > CCDMaxPasses;
2699 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_CCDMaxSeparation, PxScene, const PxReal, PxReal > CCDMaxSeparation;
2700 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_CCDThreshold, PxScene, const PxReal, PxReal > CCDThreshold;
2701 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_MaxBiasCoefficient, PxScene, const PxReal, PxReal > MaxBiasCoefficient;
2702 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_FrictionOffsetThreshold, PxScene, const PxReal, PxReal > FrictionOffsetThreshold;
2703 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_FrictionCorrelationDistance, PxScene, const PxReal, PxReal > FrictionCorrelationDistance;
2704 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_FrictionType, PxScene, PxFrictionType::Enum > FrictionType;
2705 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_SolverType, PxScene, PxSolverType::Enum > SolverType;
2706 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_VisualizationCullingBox, PxScene, const PxBounds3 &, PxBounds3 > VisualizationCullingBox;
2707 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_BroadPhaseType, PxScene, PxBroadPhaseType::Enum > BroadPhaseType;
2708 PxReadOnlyCollectionPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_BroadPhaseRegions, PxScene, PxBroadPhaseRegionInfo > BroadPhaseRegions;
2709 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_TaskManager, PxScene, PxTaskManager * > TaskManager;
2710 PxWriteOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_NbContactDataBlocks, PxScene, PxU32 > NbContactDataBlocks;
2711 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_MaxNbContactDataBlocksUsed, PxScene, PxU32 > MaxNbContactDataBlocksUsed;
2712 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_ContactReportStreamBufferSize, PxScene, PxU32 > ContactReportStreamBufferSize;
2713 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_SolverBatchSize, PxScene, PxU32, PxU32 > SolverBatchSize;
2714 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_SolverArticulationBatchSize, PxScene, PxU32, PxU32 > SolverArticulationBatchSize;
2715 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_WakeCounterResetValue, PxScene, PxReal > WakeCounterResetValue;
2716 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_GpuDynamicsConfig, PxScene, PxgDynamicsMemoryConfig > GpuDynamicsConfig;
2717 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxScene_UserData, PxScene, void *, void * > UserData;
2718 SimulationStatisticsProperty SimulationStatistics;
2719
2720 PX_PHYSX_CORE_API PxSceneGeneratedInfo();
2721 template<typename TReturnType, typename TOperator>
2722 TReturnType visitType( TOperator inOperator ) const
2723 {
2724 return inOperator( reinterpret_cast<PxScene*>(NULL) );
2725 }
2726 template<typename TOperator>
2727 void visitBases( TOperator inOperator )
2728 {
2729 PX_UNUSED(inOperator);
2730 inOperator( *static_cast<PxSceneSQSystemGeneratedInfo*>( this ) );
2731 }
2732 template<typename TOperator>
2733 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
2734 {
2735 PX_UNUSED(inOperator);
2736 PX_UNUSED(inStartIndex);
2737 inStartIndex = PxSceneSQSystemGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
2738 inStartIndex = PxSceneSQSystemGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
2739 return inStartIndex;
2740 }
2741 static PxU32 instancePropertyCount() { return 42; }
2742 static PxU32 totalPropertyCount() { return instancePropertyCount()
2743 + PxSceneSQSystemGeneratedInfo::totalPropertyCount(); }
2744 template<typename TOperator>
2745 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
2746 {
2747 PX_UNUSED(inOperator);
2748 PX_UNUSED(inStartIndex);
2749 inOperator( Flags, inStartIndex + 0 );;
2750 inOperator( Limits, inStartIndex + 1 );;
2751 inOperator( Timestamp, inStartIndex + 2 );;
2752 inOperator( Actors, inStartIndex + 3 );;
2753 inOperator( SoftBodies, inStartIndex + 4 );;
2754 inOperator( Articulations, inStartIndex + 5 );;
2755 inOperator( Constraints, inStartIndex + 6 );;
2756 inOperator( Aggregates, inStartIndex + 7 );;
2757 inOperator( CpuDispatcher, inStartIndex + 8 );;
2758 inOperator( CudaContextManager, inStartIndex + 9 );;
2759 inOperator( SimulationEventCallback, inStartIndex + 10 );;
2760 inOperator( ContactModifyCallback, inStartIndex + 11 );;
2761 inOperator( CCDContactModifyCallback, inStartIndex + 12 );;
2762 inOperator( BroadPhaseCallback, inStartIndex + 13 );;
2763 inOperator( FilterShaderDataSize, inStartIndex + 14 );;
2764 inOperator( FilterShader, inStartIndex + 15 );;
2765 inOperator( FilterCallback, inStartIndex + 16 );;
2766 inOperator( KinematicKinematicFilteringMode, inStartIndex + 17 );;
2767 inOperator( StaticKinematicFilteringMode, inStartIndex + 18 );;
2768 inOperator( Gravity, inStartIndex + 19 );;
2769 inOperator( BounceThresholdVelocity, inStartIndex + 20 );;
2770 inOperator( CCDMaxPasses, inStartIndex + 21 );;
2771 inOperator( CCDMaxSeparation, inStartIndex + 22 );;
2772 inOperator( CCDThreshold, inStartIndex + 23 );;
2773 inOperator( MaxBiasCoefficient, inStartIndex + 24 );;
2774 inOperator( FrictionOffsetThreshold, inStartIndex + 25 );;
2775 inOperator( FrictionCorrelationDistance, inStartIndex + 26 );;
2776 inOperator( FrictionType, inStartIndex + 27 );;
2777 inOperator( SolverType, inStartIndex + 28 );;
2778 inOperator( VisualizationCullingBox, inStartIndex + 29 );;
2779 inOperator( BroadPhaseType, inStartIndex + 30 );;
2780 inOperator( BroadPhaseRegions, inStartIndex + 31 );;
2781 inOperator( TaskManager, inStartIndex + 32 );;
2782 inOperator( NbContactDataBlocks, inStartIndex + 33 );;
2783 inOperator( MaxNbContactDataBlocksUsed, inStartIndex + 34 );;
2784 inOperator( ContactReportStreamBufferSize, inStartIndex + 35 );;
2785 inOperator( SolverBatchSize, inStartIndex + 36 );;
2786 inOperator( SolverArticulationBatchSize, inStartIndex + 37 );;
2787 inOperator( WakeCounterResetValue, inStartIndex + 38 );;
2788 inOperator( GpuDynamicsConfig, inStartIndex + 39 );;
2789 inOperator( UserData, inStartIndex + 40 );;
2790 inOperator( SimulationStatistics, inStartIndex + 41 );;
2791 return 42 + inStartIndex;
2792 }
2793 };
2794 template<> struct PxClassInfoTraits<PxScene>
2795 {
2797 const PxSceneGeneratedInfo* getInfo() { return &Info; }
2798 };
2799
2800 class PxTetrahedronMeshGeometry;
2803 PxTetrahedronMesh * TetrahedronMesh;
2804 PX_PHYSX_CORE_API PxTetrahedronMeshGeometryGeneratedValues( const PxTetrahedronMeshGeometry* inSource );
2805 };
2806 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxTetrahedronMeshGeometry, TetrahedronMesh, PxTetrahedronMeshGeometryGeneratedValues)
2809 {
2810 static const char* getClassName() { return "PxTetrahedronMeshGeometry"; }
2811 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxTetrahedronMeshGeometry_TetrahedronMesh, PxTetrahedronMeshGeometry, PxTetrahedronMesh *, PxTetrahedronMesh * > TetrahedronMesh;
2812
2813 PX_PHYSX_CORE_API PxTetrahedronMeshGeometryGeneratedInfo();
2814 template<typename TReturnType, typename TOperator>
2815 TReturnType visitType( TOperator inOperator ) const
2816 {
2817 return inOperator( reinterpret_cast<PxTetrahedronMeshGeometry*>(NULL) );
2818 }
2819 template<typename TOperator>
2820 void visitBases( TOperator inOperator )
2821 {
2822 PX_UNUSED(inOperator);
2823 inOperator( *static_cast<PxGeometryGeneratedInfo*>( this ) );
2824 }
2825 template<typename TOperator>
2826 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
2827 {
2828 PX_UNUSED(inOperator);
2829 PX_UNUSED(inStartIndex);
2830 inStartIndex = PxGeometryGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
2831 inStartIndex = PxGeometryGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
2832 return inStartIndex;
2833 }
2834 static PxU32 instancePropertyCount() { return 1; }
2835 static PxU32 totalPropertyCount() { return instancePropertyCount()
2836 + PxGeometryGeneratedInfo::totalPropertyCount(); }
2837 template<typename TOperator>
2838 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
2839 {
2840 PX_UNUSED(inOperator);
2841 PX_UNUSED(inStartIndex);
2842 inOperator( TetrahedronMesh, inStartIndex + 0 );;
2843 return 1 + inStartIndex;
2844 }
2845 };
2846 template<> struct PxClassInfoTraits<PxTetrahedronMeshGeometry>
2847 {
2849 const PxTetrahedronMeshGeometryGeneratedInfo* getInfo() { return &Info; }
2850 };
2851
2852 class PxCustomGeometry;
2855 PxU32 CustomType;
2856 PX_PHYSX_CORE_API PxCustomGeometryGeneratedValues( const PxCustomGeometry* inSource );
2857 };
2858 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxCustomGeometry, CustomType, PxCustomGeometryGeneratedValues)
2861 {
2862 static const char* getClassName() { return "PxCustomGeometry"; }
2863 PxCustomGeometryCustomTypeProperty CustomType;
2864
2865 PX_PHYSX_CORE_API PxCustomGeometryGeneratedInfo();
2866 template<typename TReturnType, typename TOperator>
2867 TReturnType visitType( TOperator inOperator ) const
2868 {
2869 return inOperator( reinterpret_cast<PxCustomGeometry*>(NULL) );
2870 }
2871 template<typename TOperator>
2872 void visitBases( TOperator inOperator )
2873 {
2874 PX_UNUSED(inOperator);
2875 inOperator( *static_cast<PxGeometryGeneratedInfo*>( this ) );
2876 }
2877 template<typename TOperator>
2878 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
2879 {
2880 PX_UNUSED(inOperator);
2881 PX_UNUSED(inStartIndex);
2882 inStartIndex = PxGeometryGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
2883 inStartIndex = PxGeometryGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
2884 return inStartIndex;
2885 }
2886 static PxU32 instancePropertyCount() { return 1; }
2887 static PxU32 totalPropertyCount() { return instancePropertyCount()
2888 + PxGeometryGeneratedInfo::totalPropertyCount(); }
2889 template<typename TOperator>
2890 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
2891 {
2892 PX_UNUSED(inOperator);
2893 PX_UNUSED(inStartIndex);
2894 inOperator( CustomType, inStartIndex + 0 );;
2895 return 1 + inStartIndex;
2896 }
2897 };
2898 template<> struct PxClassInfoTraits<PxCustomGeometry>
2899 {
2901 const PxCustomGeometryGeneratedInfo* getInfo() { return &Info; }
2902 };
2903
2904 static PxU32ToName g_physx__PxHeightFieldFormat__EnumConversion[] = {
2905 { "eS16_TM", static_cast<PxU32>( physx::PxHeightFieldFormat::eS16_TM ) },
2906 { NULL, 0 }
2907 };
2908
2909template<> struct PxEnumTraits< physx::PxHeightFieldFormat::Enum > { PxEnumTraits() : NameConversion( g_physx__PxHeightFieldFormat__EnumConversion ) {} const PxU32ToName* NameConversion; };
2910 static PxU32ToName g_physx__PxHeightFieldFlag__EnumConversion[] = {
2911 { "eNO_BOUNDARY_EDGES", static_cast<PxU32>( physx::PxHeightFieldFlag::eNO_BOUNDARY_EDGES ) },
2912 { NULL, 0 }
2913 };
2914
2915template<> struct PxEnumTraits< physx::PxHeightFieldFlag::Enum > { PxEnumTraits() : NameConversion( g_physx__PxHeightFieldFlag__EnumConversion ) {} const PxU32ToName* NameConversion; };
2916 class PxHeightFieldDesc;
2918 {
2919 PxU32 NbRows;
2920 PxU32 NbColumns;
2921 PxHeightFieldFormat::Enum Format;
2922 PxStridedData Samples;
2923 PxReal ConvexEdgeThreshold;
2924 PxHeightFieldFlags Flags;
2925 PX_PHYSX_CORE_API PxHeightFieldDescGeneratedValues( const PxHeightFieldDesc* inSource );
2926 };
2927 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxHeightFieldDesc, NbRows, PxHeightFieldDescGeneratedValues)
2928 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxHeightFieldDesc, NbColumns, PxHeightFieldDescGeneratedValues)
2929 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxHeightFieldDesc, Format, PxHeightFieldDescGeneratedValues)
2930 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxHeightFieldDesc, Samples, PxHeightFieldDescGeneratedValues)
2931 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxHeightFieldDesc, ConvexEdgeThreshold, PxHeightFieldDescGeneratedValues)
2932 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxHeightFieldDesc, Flags, PxHeightFieldDescGeneratedValues)
2934
2935 {
2936 static const char* getClassName() { return "PxHeightFieldDesc"; }
2937 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxHeightFieldDesc_NbRows, PxHeightFieldDesc, PxU32, PxU32 > NbRows;
2938 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxHeightFieldDesc_NbColumns, PxHeightFieldDesc, PxU32, PxU32 > NbColumns;
2939 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxHeightFieldDesc_Format, PxHeightFieldDesc, PxHeightFieldFormat::Enum, PxHeightFieldFormat::Enum > Format;
2940 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxHeightFieldDesc_Samples, PxHeightFieldDesc, PxStridedData, PxStridedData > Samples;
2941 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxHeightFieldDesc_ConvexEdgeThreshold, PxHeightFieldDesc, PxReal, PxReal > ConvexEdgeThreshold;
2942 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxHeightFieldDesc_Flags, PxHeightFieldDesc, PxHeightFieldFlags, PxHeightFieldFlags > Flags;
2943
2944 PX_PHYSX_CORE_API PxHeightFieldDescGeneratedInfo();
2945 template<typename TReturnType, typename TOperator>
2946 TReturnType visitType( TOperator inOperator ) const
2947 {
2948 return inOperator( reinterpret_cast<PxHeightFieldDesc*>(NULL) );
2949 }
2950 template<typename TOperator>
2951 void visitBases( TOperator inOperator )
2952 {
2953 PX_UNUSED(inOperator);
2954 }
2955 template<typename TOperator>
2956 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
2957 {
2958 PX_UNUSED(inOperator);
2959 PX_UNUSED(inStartIndex);
2960 return inStartIndex;
2961 }
2962 static PxU32 instancePropertyCount() { return 6; }
2963 static PxU32 totalPropertyCount() { return instancePropertyCount(); }
2964 template<typename TOperator>
2965 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
2966 {
2967 PX_UNUSED(inOperator);
2968 PX_UNUSED(inStartIndex);
2969 inOperator( NbRows, inStartIndex + 0 );;
2970 inOperator( NbColumns, inStartIndex + 1 );;
2971 inOperator( Format, inStartIndex + 2 );;
2972 inOperator( Samples, inStartIndex + 3 );;
2973 inOperator( ConvexEdgeThreshold, inStartIndex + 4 );;
2974 inOperator( Flags, inStartIndex + 5 );;
2975 return 6 + inStartIndex;
2976 }
2977 };
2978 template<> struct PxClassInfoTraits<PxHeightFieldDesc>
2979 {
2981 const PxHeightFieldDescGeneratedInfo* getInfo() { return &Info; }
2982 };
2983
2984 struct PxArticulationLimit;
2986 {
2987 PxReal Low;
2988 PxReal High;
2989 PX_PHYSX_CORE_API PxArticulationLimitGeneratedValues( const PxArticulationLimit* inSource );
2990 };
2991 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationLimit, Low, PxArticulationLimitGeneratedValues)
2992 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationLimit, High, PxArticulationLimitGeneratedValues)
2994
2995 {
2996 static const char* getClassName() { return "PxArticulationLimit"; }
2997 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationLimit_Low, PxArticulationLimit, PxReal, PxReal > Low;
2998 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationLimit_High, PxArticulationLimit, PxReal, PxReal > High;
2999
3000 PX_PHYSX_CORE_API PxArticulationLimitGeneratedInfo();
3001 template<typename TReturnType, typename TOperator>
3002 TReturnType visitType( TOperator inOperator ) const
3003 {
3004 return inOperator( reinterpret_cast<PxArticulationLimit*>(NULL) );
3005 }
3006 template<typename TOperator>
3007 void visitBases( TOperator inOperator )
3008 {
3009 PX_UNUSED(inOperator);
3010 }
3011 template<typename TOperator>
3012 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
3013 {
3014 PX_UNUSED(inOperator);
3015 PX_UNUSED(inStartIndex);
3016 return inStartIndex;
3017 }
3018 static PxU32 instancePropertyCount() { return 2; }
3019 static PxU32 totalPropertyCount() { return instancePropertyCount(); }
3020 template<typename TOperator>
3021 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
3022 {
3023 PX_UNUSED(inOperator);
3024 PX_UNUSED(inStartIndex);
3025 inOperator( Low, inStartIndex + 0 );;
3026 inOperator( High, inStartIndex + 1 );;
3027 return 2 + inStartIndex;
3028 }
3029 };
3030 template<> struct PxClassInfoTraits<PxArticulationLimit>
3031 {
3033 const PxArticulationLimitGeneratedInfo* getInfo() { return &Info; }
3034 };
3035
3036 struct PxArticulationDrive;
3038 {
3039 PxReal Stiffness;
3040 PxReal Damping;
3041 PxReal MaxForce;
3042 PxArticulationDriveType::Enum DriveType;
3043 PX_PHYSX_CORE_API PxArticulationDriveGeneratedValues( const PxArticulationDrive* inSource );
3044 };
3045 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationDrive, Stiffness, PxArticulationDriveGeneratedValues)
3046 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationDrive, Damping, PxArticulationDriveGeneratedValues)
3047 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationDrive, MaxForce, PxArticulationDriveGeneratedValues)
3048 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxArticulationDrive, DriveType, PxArticulationDriveGeneratedValues)
3050
3051 {
3052 static const char* getClassName() { return "PxArticulationDrive"; }
3053 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationDrive_Stiffness, PxArticulationDrive, PxReal, PxReal > Stiffness;
3054 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationDrive_Damping, PxArticulationDrive, PxReal, PxReal > Damping;
3055 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationDrive_MaxForce, PxArticulationDrive, PxReal, PxReal > MaxForce;
3056 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxArticulationDrive_DriveType, PxArticulationDrive, PxArticulationDriveType::Enum, PxArticulationDriveType::Enum > DriveType;
3057
3058 PX_PHYSX_CORE_API PxArticulationDriveGeneratedInfo();
3059 template<typename TReturnType, typename TOperator>
3060 TReturnType visitType( TOperator inOperator ) const
3061 {
3062 return inOperator( reinterpret_cast<PxArticulationDrive*>(NULL) );
3063 }
3064 template<typename TOperator>
3065 void visitBases( TOperator inOperator )
3066 {
3067 PX_UNUSED(inOperator);
3068 }
3069 template<typename TOperator>
3070 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
3071 {
3072 PX_UNUSED(inOperator);
3073 PX_UNUSED(inStartIndex);
3074 return inStartIndex;
3075 }
3076 static PxU32 instancePropertyCount() { return 4; }
3077 static PxU32 totalPropertyCount() { return instancePropertyCount(); }
3078 template<typename TOperator>
3079 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
3080 {
3081 PX_UNUSED(inOperator);
3082 PX_UNUSED(inStartIndex);
3083 inOperator( Stiffness, inStartIndex + 0 );;
3084 inOperator( Damping, inStartIndex + 1 );;
3085 inOperator( MaxForce, inStartIndex + 2 );;
3086 inOperator( DriveType, inStartIndex + 3 );;
3087 return 4 + inStartIndex;
3088 }
3089 };
3090 template<> struct PxClassInfoTraits<PxArticulationDrive>
3091 {
3093 const PxArticulationDriveGeneratedInfo* getInfo() { return &Info; }
3094 };
3095
3096 static PxU32ToName g_physx__PxDynamicTreeSecondaryPruner__EnumConversion[] = {
3097 { "eNONE", static_cast<PxU32>( physx::PxDynamicTreeSecondaryPruner::eNONE ) },
3098 { "eBUCKET", static_cast<PxU32>( physx::PxDynamicTreeSecondaryPruner::eBUCKET ) },
3099 { "eINCREMENTAL", static_cast<PxU32>( physx::PxDynamicTreeSecondaryPruner::eINCREMENTAL ) },
3100 { "eBVH", static_cast<PxU32>( physx::PxDynamicTreeSecondaryPruner::eBVH ) },
3101 { "eLAST", static_cast<PxU32>( physx::PxDynamicTreeSecondaryPruner::eLAST ) },
3102 { NULL, 0 }
3103 };
3104
3105template<> struct PxEnumTraits< physx::PxDynamicTreeSecondaryPruner::Enum > { PxEnumTraits() : NameConversion( g_physx__PxDynamicTreeSecondaryPruner__EnumConversion ) {} const PxU32ToName* NameConversion; };
3106 static PxU32ToName g_physx__PxBVHBuildStrategy__EnumConversion[] = {
3107 { "eFAST", static_cast<PxU32>( physx::PxBVHBuildStrategy::eFAST ) },
3108 { "eDEFAULT", static_cast<PxU32>( physx::PxBVHBuildStrategy::eDEFAULT ) },
3109 { "eSAH", static_cast<PxU32>( physx::PxBVHBuildStrategy::eSAH ) },
3110 { "eLAST", static_cast<PxU32>( physx::PxBVHBuildStrategy::eLAST ) },
3111 { NULL, 0 }
3112 };
3113
3114template<> struct PxEnumTraits< physx::PxBVHBuildStrategy::Enum > { PxEnumTraits() : NameConversion( g_physx__PxBVHBuildStrategy__EnumConversion ) {} const PxU32ToName* NameConversion; };
3115 class PxSceneQueryDesc;
3117 {
3118 _Bool IsValid;
3119 PxPruningStructureType::Enum StaticStructure;
3120 PxPruningStructureType::Enum DynamicStructure;
3121 PxU32 DynamicTreeRebuildRateHint;
3122 PxDynamicTreeSecondaryPruner::Enum DynamicTreeSecondaryPruner;
3123 PxBVHBuildStrategy::Enum StaticBVHBuildStrategy;
3124 PxBVHBuildStrategy::Enum DynamicBVHBuildStrategy;
3125 PxU32 StaticNbObjectsPerNode;
3126 PxU32 DynamicNbObjectsPerNode;
3127 PxSceneQueryUpdateMode::Enum SceneQueryUpdateMode;
3128 PX_PHYSX_CORE_API PxSceneQueryDescGeneratedValues( const PxSceneQueryDesc* inSource );
3129 };
3130 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneQueryDesc, IsValid, PxSceneQueryDescGeneratedValues)
3131 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneQueryDesc, StaticStructure, PxSceneQueryDescGeneratedValues)
3132 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneQueryDesc, DynamicStructure, PxSceneQueryDescGeneratedValues)
3133 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneQueryDesc, DynamicTreeRebuildRateHint, PxSceneQueryDescGeneratedValues)
3134 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneQueryDesc, DynamicTreeSecondaryPruner, PxSceneQueryDescGeneratedValues)
3135 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneQueryDesc, StaticBVHBuildStrategy, PxSceneQueryDescGeneratedValues)
3136 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneQueryDesc, DynamicBVHBuildStrategy, PxSceneQueryDescGeneratedValues)
3137 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneQueryDesc, StaticNbObjectsPerNode, PxSceneQueryDescGeneratedValues)
3138 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneQueryDesc, DynamicNbObjectsPerNode, PxSceneQueryDescGeneratedValues)
3139 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneQueryDesc, SceneQueryUpdateMode, PxSceneQueryDescGeneratedValues)
3141
3142 {
3143 static const char* getClassName() { return "PxSceneQueryDesc"; }
3144 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneQueryDesc_IsValid, PxSceneQueryDesc, _Bool > IsValid;
3145 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneQueryDesc_StaticStructure, PxSceneQueryDesc, PxPruningStructureType::Enum, PxPruningStructureType::Enum > StaticStructure;
3146 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneQueryDesc_DynamicStructure, PxSceneQueryDesc, PxPruningStructureType::Enum, PxPruningStructureType::Enum > DynamicStructure;
3147 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneQueryDesc_DynamicTreeRebuildRateHint, PxSceneQueryDesc, PxU32, PxU32 > DynamicTreeRebuildRateHint;
3148 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneQueryDesc_DynamicTreeSecondaryPruner, PxSceneQueryDesc, PxDynamicTreeSecondaryPruner::Enum, PxDynamicTreeSecondaryPruner::Enum > DynamicTreeSecondaryPruner;
3149 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneQueryDesc_StaticBVHBuildStrategy, PxSceneQueryDesc, PxBVHBuildStrategy::Enum, PxBVHBuildStrategy::Enum > StaticBVHBuildStrategy;
3150 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneQueryDesc_DynamicBVHBuildStrategy, PxSceneQueryDesc, PxBVHBuildStrategy::Enum, PxBVHBuildStrategy::Enum > DynamicBVHBuildStrategy;
3151 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneQueryDesc_StaticNbObjectsPerNode, PxSceneQueryDesc, PxU32, PxU32 > StaticNbObjectsPerNode;
3152 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneQueryDesc_DynamicNbObjectsPerNode, PxSceneQueryDesc, PxU32, PxU32 > DynamicNbObjectsPerNode;
3153 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneQueryDesc_SceneQueryUpdateMode, PxSceneQueryDesc, PxSceneQueryUpdateMode::Enum, PxSceneQueryUpdateMode::Enum > SceneQueryUpdateMode;
3154
3155 PX_PHYSX_CORE_API PxSceneQueryDescGeneratedInfo();
3156 template<typename TReturnType, typename TOperator>
3157 TReturnType visitType( TOperator inOperator ) const
3158 {
3159 return inOperator( reinterpret_cast<PxSceneQueryDesc*>(NULL) );
3160 }
3161 template<typename TOperator>
3162 void visitBases( TOperator inOperator )
3163 {
3164 PX_UNUSED(inOperator);
3165 }
3166 template<typename TOperator>
3167 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
3168 {
3169 PX_UNUSED(inOperator);
3170 PX_UNUSED(inStartIndex);
3171 return inStartIndex;
3172 }
3173 static PxU32 instancePropertyCount() { return 10; }
3174 static PxU32 totalPropertyCount() { return instancePropertyCount(); }
3175 template<typename TOperator>
3176 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
3177 {
3178 PX_UNUSED(inOperator);
3179 PX_UNUSED(inStartIndex);
3180 inOperator( IsValid, inStartIndex + 0 );;
3181 inOperator( StaticStructure, inStartIndex + 1 );;
3182 inOperator( DynamicStructure, inStartIndex + 2 );;
3183 inOperator( DynamicTreeRebuildRateHint, inStartIndex + 3 );;
3184 inOperator( DynamicTreeSecondaryPruner, inStartIndex + 4 );;
3185 inOperator( StaticBVHBuildStrategy, inStartIndex + 5 );;
3186 inOperator( DynamicBVHBuildStrategy, inStartIndex + 6 );;
3187 inOperator( StaticNbObjectsPerNode, inStartIndex + 7 );;
3188 inOperator( DynamicNbObjectsPerNode, inStartIndex + 8 );;
3189 inOperator( SceneQueryUpdateMode, inStartIndex + 9 );;
3190 return 10 + inStartIndex;
3191 }
3192 };
3193 template<> struct PxClassInfoTraits<PxSceneQueryDesc>
3194 {
3196 const PxSceneQueryDescGeneratedInfo* getInfo() { return &Info; }
3197 };
3198
3199 class PxSceneDesc;
3202 PxVec3 Gravity;
3203 PxSimulationEventCallback * SimulationEventCallback;
3204 PxContactModifyCallback * ContactModifyCallback;
3205 PxCCDContactModifyCallback * CcdContactModifyCallback;
3206 const void * FilterShaderData;
3207 PxU32 FilterShaderDataSize;
3208 PxSimulationFilterShader FilterShader;
3209 PxSimulationFilterCallback * FilterCallback;
3210 PxPairFilteringMode::Enum KineKineFilteringMode;
3211 PxPairFilteringMode::Enum StaticKineFilteringMode;
3212 PxBroadPhaseType::Enum BroadPhaseType;
3213 PxBroadPhaseCallback * BroadPhaseCallback;
3214 PxSceneLimits Limits;
3215 PxFrictionType::Enum FrictionType;
3216 PxSolverType::Enum SolverType;
3217 PxReal BounceThresholdVelocity;
3218 PxReal FrictionOffsetThreshold;
3219 PxReal FrictionCorrelationDistance;
3220 PxSceneFlags Flags;
3221 PxCpuDispatcher * CpuDispatcher;
3222 PxCudaContextManager * CudaContextManager;
3223 void * UserData;
3224 PxU32 SolverBatchSize;
3225 PxU32 SolverArticulationBatchSize;
3226 PxU32 NbContactDataBlocks;
3227 PxU32 MaxNbContactDataBlocks;
3228 PxReal MaxBiasCoefficient;
3229 PxU32 ContactReportStreamBufferSize;
3230 PxU32 CcdMaxPasses;
3231 PxReal CcdThreshold;
3232 PxReal CcdMaxSeparation;
3233 PxReal WakeCounterResetValue;
3234 PxBounds3 SanityBounds;
3235 PxgDynamicsMemoryConfig GpuDynamicsConfig;
3236 PxU32 GpuMaxNumPartitions;
3237 PxU32 GpuMaxNumStaticPartitions;
3238 PxU32 GpuComputeVersion;
3239 PxU32 ContactPairSlabSize;
3240 PX_PHYSX_CORE_API PxSceneDescGeneratedValues( const PxSceneDesc* inSource );
3241 };
3242 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, Gravity, PxSceneDescGeneratedValues)
3243 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, SimulationEventCallback, PxSceneDescGeneratedValues)
3244 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, ContactModifyCallback, PxSceneDescGeneratedValues)
3245 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, CcdContactModifyCallback, PxSceneDescGeneratedValues)
3246 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, FilterShaderData, PxSceneDescGeneratedValues)
3247 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, FilterShaderDataSize, PxSceneDescGeneratedValues)
3248 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, FilterShader, PxSceneDescGeneratedValues)
3249 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, FilterCallback, PxSceneDescGeneratedValues)
3250 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, KineKineFilteringMode, PxSceneDescGeneratedValues)
3251 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, StaticKineFilteringMode, PxSceneDescGeneratedValues)
3252 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, BroadPhaseType, PxSceneDescGeneratedValues)
3253 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, BroadPhaseCallback, PxSceneDescGeneratedValues)
3254 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, Limits, PxSceneDescGeneratedValues)
3255 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, FrictionType, PxSceneDescGeneratedValues)
3256 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, SolverType, PxSceneDescGeneratedValues)
3257 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, BounceThresholdVelocity, PxSceneDescGeneratedValues)
3258 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, FrictionOffsetThreshold, PxSceneDescGeneratedValues)
3259 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, FrictionCorrelationDistance, PxSceneDescGeneratedValues)
3260 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, Flags, PxSceneDescGeneratedValues)
3261 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, CpuDispatcher, PxSceneDescGeneratedValues)
3262 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, CudaContextManager, PxSceneDescGeneratedValues)
3263 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, UserData, PxSceneDescGeneratedValues)
3264 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, SolverBatchSize, PxSceneDescGeneratedValues)
3265 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, SolverArticulationBatchSize, PxSceneDescGeneratedValues)
3266 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, NbContactDataBlocks, PxSceneDescGeneratedValues)
3267 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, MaxNbContactDataBlocks, PxSceneDescGeneratedValues)
3268 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, MaxBiasCoefficient, PxSceneDescGeneratedValues)
3269 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, ContactReportStreamBufferSize, PxSceneDescGeneratedValues)
3270 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, CcdMaxPasses, PxSceneDescGeneratedValues)
3271 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, CcdThreshold, PxSceneDescGeneratedValues)
3272 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, CcdMaxSeparation, PxSceneDescGeneratedValues)
3273 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, WakeCounterResetValue, PxSceneDescGeneratedValues)
3274 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, SanityBounds, PxSceneDescGeneratedValues)
3275 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, GpuDynamicsConfig, PxSceneDescGeneratedValues)
3276 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, GpuMaxNumPartitions, PxSceneDescGeneratedValues)
3277 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, GpuMaxNumStaticPartitions, PxSceneDescGeneratedValues)
3278 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, GpuComputeVersion, PxSceneDescGeneratedValues)
3279 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneDesc, ContactPairSlabSize, PxSceneDescGeneratedValues)
3282 {
3283 static const char* getClassName() { return "PxSceneDesc"; }
3284 PxWriteOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_ToDefault, PxSceneDesc, const PxTolerancesScale & > ToDefault;
3285 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_Gravity, PxSceneDesc, PxVec3, PxVec3 > Gravity;
3286 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_SimulationEventCallback, PxSceneDesc, PxSimulationEventCallback *, PxSimulationEventCallback * > SimulationEventCallback;
3287 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_ContactModifyCallback, PxSceneDesc, PxContactModifyCallback *, PxContactModifyCallback * > ContactModifyCallback;
3288 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_CcdContactModifyCallback, PxSceneDesc, PxCCDContactModifyCallback *, PxCCDContactModifyCallback * > CcdContactModifyCallback;
3289 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_FilterShaderData, PxSceneDesc, const void *, const void * > FilterShaderData;
3290 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_FilterShaderDataSize, PxSceneDesc, PxU32, PxU32 > FilterShaderDataSize;
3291 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_FilterShader, PxSceneDesc, PxSimulationFilterShader, PxSimulationFilterShader > FilterShader;
3292 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_FilterCallback, PxSceneDesc, PxSimulationFilterCallback *, PxSimulationFilterCallback * > FilterCallback;
3293 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_KineKineFilteringMode, PxSceneDesc, PxPairFilteringMode::Enum, PxPairFilteringMode::Enum > KineKineFilteringMode;
3294 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_StaticKineFilteringMode, PxSceneDesc, PxPairFilteringMode::Enum, PxPairFilteringMode::Enum > StaticKineFilteringMode;
3295 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_BroadPhaseType, PxSceneDesc, PxBroadPhaseType::Enum, PxBroadPhaseType::Enum > BroadPhaseType;
3296 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_BroadPhaseCallback, PxSceneDesc, PxBroadPhaseCallback *, PxBroadPhaseCallback * > BroadPhaseCallback;
3297 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_Limits, PxSceneDesc, PxSceneLimits, PxSceneLimits > Limits;
3298 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_FrictionType, PxSceneDesc, PxFrictionType::Enum, PxFrictionType::Enum > FrictionType;
3299 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_SolverType, PxSceneDesc, PxSolverType::Enum, PxSolverType::Enum > SolverType;
3300 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_BounceThresholdVelocity, PxSceneDesc, PxReal, PxReal > BounceThresholdVelocity;
3301 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_FrictionOffsetThreshold, PxSceneDesc, PxReal, PxReal > FrictionOffsetThreshold;
3302 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_FrictionCorrelationDistance, PxSceneDesc, PxReal, PxReal > FrictionCorrelationDistance;
3303 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_Flags, PxSceneDesc, PxSceneFlags, PxSceneFlags > Flags;
3304 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_CpuDispatcher, PxSceneDesc, PxCpuDispatcher *, PxCpuDispatcher * > CpuDispatcher;
3305 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_CudaContextManager, PxSceneDesc, PxCudaContextManager *, PxCudaContextManager * > CudaContextManager;
3306 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_UserData, PxSceneDesc, void *, void * > UserData;
3307 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_SolverBatchSize, PxSceneDesc, PxU32, PxU32 > SolverBatchSize;
3308 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_SolverArticulationBatchSize, PxSceneDesc, PxU32, PxU32 > SolverArticulationBatchSize;
3309 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_NbContactDataBlocks, PxSceneDesc, PxU32, PxU32 > NbContactDataBlocks;
3310 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_MaxNbContactDataBlocks, PxSceneDesc, PxU32, PxU32 > MaxNbContactDataBlocks;
3311 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_MaxBiasCoefficient, PxSceneDesc, PxReal, PxReal > MaxBiasCoefficient;
3312 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_ContactReportStreamBufferSize, PxSceneDesc, PxU32, PxU32 > ContactReportStreamBufferSize;
3313 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_CcdMaxPasses, PxSceneDesc, PxU32, PxU32 > CcdMaxPasses;
3314 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_CcdThreshold, PxSceneDesc, PxReal, PxReal > CcdThreshold;
3315 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_CcdMaxSeparation, PxSceneDesc, PxReal, PxReal > CcdMaxSeparation;
3316 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_WakeCounterResetValue, PxSceneDesc, PxReal, PxReal > WakeCounterResetValue;
3317 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_SanityBounds, PxSceneDesc, PxBounds3, PxBounds3 > SanityBounds;
3318 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_GpuDynamicsConfig, PxSceneDesc, PxgDynamicsMemoryConfig, PxgDynamicsMemoryConfig > GpuDynamicsConfig;
3319 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_GpuMaxNumPartitions, PxSceneDesc, PxU32, PxU32 > GpuMaxNumPartitions;
3320 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_GpuMaxNumStaticPartitions, PxSceneDesc, PxU32, PxU32 > GpuMaxNumStaticPartitions;
3321 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_GpuComputeVersion, PxSceneDesc, PxU32, PxU32 > GpuComputeVersion;
3322 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneDesc_ContactPairSlabSize, PxSceneDesc, PxU32, PxU32 > ContactPairSlabSize;
3323
3324 PX_PHYSX_CORE_API PxSceneDescGeneratedInfo();
3325 template<typename TReturnType, typename TOperator>
3326 TReturnType visitType( TOperator inOperator ) const
3327 {
3328 return inOperator( reinterpret_cast<PxSceneDesc*>(NULL) );
3329 }
3330 template<typename TOperator>
3331 void visitBases( TOperator inOperator )
3332 {
3333 PX_UNUSED(inOperator);
3334 inOperator( *static_cast<PxSceneQueryDescGeneratedInfo*>( this ) );
3335 }
3336 template<typename TOperator>
3337 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
3338 {
3339 PX_UNUSED(inOperator);
3340 PX_UNUSED(inStartIndex);
3341 inStartIndex = PxSceneQueryDescGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
3342 inStartIndex = PxSceneQueryDescGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
3343 return inStartIndex;
3344 }
3345 static PxU32 instancePropertyCount() { return 39; }
3346 static PxU32 totalPropertyCount() { return instancePropertyCount()
3347 + PxSceneQueryDescGeneratedInfo::totalPropertyCount(); }
3348 template<typename TOperator>
3349 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
3350 {
3351 PX_UNUSED(inOperator);
3352 PX_UNUSED(inStartIndex);
3353 inOperator( ToDefault, inStartIndex + 0 );;
3354 inOperator( Gravity, inStartIndex + 1 );;
3355 inOperator( SimulationEventCallback, inStartIndex + 2 );;
3356 inOperator( ContactModifyCallback, inStartIndex + 3 );;
3357 inOperator( CcdContactModifyCallback, inStartIndex + 4 );;
3358 inOperator( FilterShaderData, inStartIndex + 5 );;
3359 inOperator( FilterShaderDataSize, inStartIndex + 6 );;
3360 inOperator( FilterShader, inStartIndex + 7 );;
3361 inOperator( FilterCallback, inStartIndex + 8 );;
3362 inOperator( KineKineFilteringMode, inStartIndex + 9 );;
3363 inOperator( StaticKineFilteringMode, inStartIndex + 10 );;
3364 inOperator( BroadPhaseType, inStartIndex + 11 );;
3365 inOperator( BroadPhaseCallback, inStartIndex + 12 );;
3366 inOperator( Limits, inStartIndex + 13 );;
3367 inOperator( FrictionType, inStartIndex + 14 );;
3368 inOperator( SolverType, inStartIndex + 15 );;
3369 inOperator( BounceThresholdVelocity, inStartIndex + 16 );;
3370 inOperator( FrictionOffsetThreshold, inStartIndex + 17 );;
3371 inOperator( FrictionCorrelationDistance, inStartIndex + 18 );;
3372 inOperator( Flags, inStartIndex + 19 );;
3373 inOperator( CpuDispatcher, inStartIndex + 20 );;
3374 inOperator( CudaContextManager, inStartIndex + 21 );;
3375 inOperator( UserData, inStartIndex + 22 );;
3376 inOperator( SolverBatchSize, inStartIndex + 23 );;
3377 inOperator( SolverArticulationBatchSize, inStartIndex + 24 );;
3378 inOperator( NbContactDataBlocks, inStartIndex + 25 );;
3379 inOperator( MaxNbContactDataBlocks, inStartIndex + 26 );;
3380 inOperator( MaxBiasCoefficient, inStartIndex + 27 );;
3381 inOperator( ContactReportStreamBufferSize, inStartIndex + 28 );;
3382 inOperator( CcdMaxPasses, inStartIndex + 29 );;
3383 inOperator( CcdThreshold, inStartIndex + 30 );;
3384 inOperator( CcdMaxSeparation, inStartIndex + 31 );;
3385 inOperator( WakeCounterResetValue, inStartIndex + 32 );;
3386 inOperator( SanityBounds, inStartIndex + 33 );;
3387 inOperator( GpuDynamicsConfig, inStartIndex + 34 );;
3388 inOperator( GpuMaxNumPartitions, inStartIndex + 35 );;
3389 inOperator( GpuMaxNumStaticPartitions, inStartIndex + 36 );;
3390 inOperator( GpuComputeVersion, inStartIndex + 37 );;
3391 inOperator( ContactPairSlabSize, inStartIndex + 38 );;
3392 return 39 + inStartIndex;
3393 }
3394 };
3395 template<> struct PxClassInfoTraits<PxSceneDesc>
3396 {
3398 const PxSceneDescGeneratedInfo* getInfo() { return &Info; }
3399 };
3400
3401 class PxBroadPhaseDesc;
3403 {
3404 _Bool IsValid;
3405 PxBroadPhaseType::Enum MType;
3406 PxU64 MContextID;
3407 PxCudaContextManager * MContextManager;
3408 PxU32 MFoundLostPairsCapacity;
3409 _Bool MDiscardStaticVsKinematic;
3410 _Bool MDiscardKinematicVsKinematic;
3411 PX_PHYSX_CORE_API PxBroadPhaseDescGeneratedValues( const PxBroadPhaseDesc* inSource );
3412 };
3413 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxBroadPhaseDesc, IsValid, PxBroadPhaseDescGeneratedValues)
3414 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxBroadPhaseDesc, MType, PxBroadPhaseDescGeneratedValues)
3415 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxBroadPhaseDesc, MContextID, PxBroadPhaseDescGeneratedValues)
3416 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxBroadPhaseDesc, MContextManager, PxBroadPhaseDescGeneratedValues)
3417 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxBroadPhaseDesc, MFoundLostPairsCapacity, PxBroadPhaseDescGeneratedValues)
3418 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxBroadPhaseDesc, MDiscardStaticVsKinematic, PxBroadPhaseDescGeneratedValues)
3419 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxBroadPhaseDesc, MDiscardKinematicVsKinematic, PxBroadPhaseDescGeneratedValues)
3421
3422 {
3423 static const char* getClassName() { return "PxBroadPhaseDesc"; }
3424 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxBroadPhaseDesc_IsValid, PxBroadPhaseDesc, _Bool > IsValid;
3425 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxBroadPhaseDesc_MType, PxBroadPhaseDesc, PxBroadPhaseType::Enum, PxBroadPhaseType::Enum > MType;
3426 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxBroadPhaseDesc_MContextID, PxBroadPhaseDesc, PxU64, PxU64 > MContextID;
3427 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxBroadPhaseDesc_MContextManager, PxBroadPhaseDesc, PxCudaContextManager *, PxCudaContextManager * > MContextManager;
3428 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxBroadPhaseDesc_MFoundLostPairsCapacity, PxBroadPhaseDesc, PxU32, PxU32 > MFoundLostPairsCapacity;
3429 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxBroadPhaseDesc_MDiscardStaticVsKinematic, PxBroadPhaseDesc, _Bool, _Bool > MDiscardStaticVsKinematic;
3430 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxBroadPhaseDesc_MDiscardKinematicVsKinematic, PxBroadPhaseDesc, _Bool, _Bool > MDiscardKinematicVsKinematic;
3431
3432 PX_PHYSX_CORE_API PxBroadPhaseDescGeneratedInfo();
3433 template<typename TReturnType, typename TOperator>
3434 TReturnType visitType( TOperator inOperator ) const
3435 {
3436 return inOperator( reinterpret_cast<PxBroadPhaseDesc*>(NULL) );
3437 }
3438 template<typename TOperator>
3439 void visitBases( TOperator inOperator )
3440 {
3441 PX_UNUSED(inOperator);
3442 }
3443 template<typename TOperator>
3444 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
3445 {
3446 PX_UNUSED(inOperator);
3447 PX_UNUSED(inStartIndex);
3448 return inStartIndex;
3449 }
3450 static PxU32 instancePropertyCount() { return 7; }
3451 static PxU32 totalPropertyCount() { return instancePropertyCount(); }
3452 template<typename TOperator>
3453 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
3454 {
3455 PX_UNUSED(inOperator);
3456 PX_UNUSED(inStartIndex);
3457 inOperator( IsValid, inStartIndex + 0 );;
3458 inOperator( MType, inStartIndex + 1 );;
3459 inOperator( MContextID, inStartIndex + 2 );;
3460 inOperator( MContextManager, inStartIndex + 3 );;
3461 inOperator( MFoundLostPairsCapacity, inStartIndex + 4 );;
3462 inOperator( MDiscardStaticVsKinematic, inStartIndex + 5 );;
3463 inOperator( MDiscardKinematicVsKinematic, inStartIndex + 6 );;
3464 return 7 + inStartIndex;
3465 }
3466 };
3467 template<> struct PxClassInfoTraits<PxBroadPhaseDesc>
3468 {
3470 const PxBroadPhaseDescGeneratedInfo* getInfo() { return &Info; }
3471 };
3472
3473 class PxSceneLimits;
3475 {
3476 PxU32 MaxNbActors;
3477 PxU32 MaxNbBodies;
3478 PxU32 MaxNbStaticShapes;
3479 PxU32 MaxNbDynamicShapes;
3480 PxU32 MaxNbAggregates;
3481 PxU32 MaxNbConstraints;
3482 PxU32 MaxNbRegions;
3483 PxU32 MaxNbBroadPhaseOverlaps;
3484 PX_PHYSX_CORE_API PxSceneLimitsGeneratedValues( const PxSceneLimits* inSource );
3485 };
3486 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneLimits, MaxNbActors, PxSceneLimitsGeneratedValues)
3487 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneLimits, MaxNbBodies, PxSceneLimitsGeneratedValues)
3488 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneLimits, MaxNbStaticShapes, PxSceneLimitsGeneratedValues)
3489 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneLimits, MaxNbDynamicShapes, PxSceneLimitsGeneratedValues)
3490 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneLimits, MaxNbAggregates, PxSceneLimitsGeneratedValues)
3491 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneLimits, MaxNbConstraints, PxSceneLimitsGeneratedValues)
3492 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneLimits, MaxNbRegions, PxSceneLimitsGeneratedValues)
3493 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSceneLimits, MaxNbBroadPhaseOverlaps, PxSceneLimitsGeneratedValues)
3495
3496 {
3497 static const char* getClassName() { return "PxSceneLimits"; }
3498 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneLimits_MaxNbActors, PxSceneLimits, PxU32, PxU32 > MaxNbActors;
3499 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneLimits_MaxNbBodies, PxSceneLimits, PxU32, PxU32 > MaxNbBodies;
3500 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneLimits_MaxNbStaticShapes, PxSceneLimits, PxU32, PxU32 > MaxNbStaticShapes;
3501 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneLimits_MaxNbDynamicShapes, PxSceneLimits, PxU32, PxU32 > MaxNbDynamicShapes;
3502 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneLimits_MaxNbAggregates, PxSceneLimits, PxU32, PxU32 > MaxNbAggregates;
3503 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneLimits_MaxNbConstraints, PxSceneLimits, PxU32, PxU32 > MaxNbConstraints;
3504 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneLimits_MaxNbRegions, PxSceneLimits, PxU32, PxU32 > MaxNbRegions;
3505 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSceneLimits_MaxNbBroadPhaseOverlaps, PxSceneLimits, PxU32, PxU32 > MaxNbBroadPhaseOverlaps;
3506
3507 PX_PHYSX_CORE_API PxSceneLimitsGeneratedInfo();
3508 template<typename TReturnType, typename TOperator>
3509 TReturnType visitType( TOperator inOperator ) const
3510 {
3511 return inOperator( reinterpret_cast<PxSceneLimits*>(NULL) );
3512 }
3513 template<typename TOperator>
3514 void visitBases( TOperator inOperator )
3515 {
3516 PX_UNUSED(inOperator);
3517 }
3518 template<typename TOperator>
3519 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
3520 {
3521 PX_UNUSED(inOperator);
3522 PX_UNUSED(inStartIndex);
3523 return inStartIndex;
3524 }
3525 static PxU32 instancePropertyCount() { return 8; }
3526 static PxU32 totalPropertyCount() { return instancePropertyCount(); }
3527 template<typename TOperator>
3528 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
3529 {
3530 PX_UNUSED(inOperator);
3531 PX_UNUSED(inStartIndex);
3532 inOperator( MaxNbActors, inStartIndex + 0 );;
3533 inOperator( MaxNbBodies, inStartIndex + 1 );;
3534 inOperator( MaxNbStaticShapes, inStartIndex + 2 );;
3535 inOperator( MaxNbDynamicShapes, inStartIndex + 3 );;
3536 inOperator( MaxNbAggregates, inStartIndex + 4 );;
3537 inOperator( MaxNbConstraints, inStartIndex + 5 );;
3538 inOperator( MaxNbRegions, inStartIndex + 6 );;
3539 inOperator( MaxNbBroadPhaseOverlaps, inStartIndex + 7 );;
3540 return 8 + inStartIndex;
3541 }
3542 };
3543 template<> struct PxClassInfoTraits<PxSceneLimits>
3544 {
3546 const PxSceneLimitsGeneratedInfo* getInfo() { return &Info; }
3547 };
3548
3549 struct PxgDynamicsMemoryConfig;
3551 {
3552 _Bool IsValid;
3553 PxU32 TempBufferCapacity;
3554 PxU32 MaxRigidContactCount;
3555 PxU32 MaxRigidPatchCount;
3556 PxU32 HeapCapacity;
3557 PxU32 FoundLostPairsCapacity;
3558 PxU32 FoundLostAggregatePairsCapacity;
3559 PxU32 TotalAggregatePairsCapacity;
3560 PxU32 MaxSoftBodyContacts;
3561 PxU32 MaxFemClothContacts;
3562 PxU32 MaxParticleContacts;
3563 PxU32 CollisionStackSize;
3564 PxU32 MaxHairContacts;
3565 PX_PHYSX_CORE_API PxgDynamicsMemoryConfigGeneratedValues( const PxgDynamicsMemoryConfig* inSource );
3566 };
3567 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxgDynamicsMemoryConfig, IsValid, PxgDynamicsMemoryConfigGeneratedValues)
3568 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxgDynamicsMemoryConfig, TempBufferCapacity, PxgDynamicsMemoryConfigGeneratedValues)
3569 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxgDynamicsMemoryConfig, MaxRigidContactCount, PxgDynamicsMemoryConfigGeneratedValues)
3570 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxgDynamicsMemoryConfig, MaxRigidPatchCount, PxgDynamicsMemoryConfigGeneratedValues)
3571 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxgDynamicsMemoryConfig, HeapCapacity, PxgDynamicsMemoryConfigGeneratedValues)
3572 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxgDynamicsMemoryConfig, FoundLostPairsCapacity, PxgDynamicsMemoryConfigGeneratedValues)
3573 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxgDynamicsMemoryConfig, FoundLostAggregatePairsCapacity, PxgDynamicsMemoryConfigGeneratedValues)
3574 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxgDynamicsMemoryConfig, TotalAggregatePairsCapacity, PxgDynamicsMemoryConfigGeneratedValues)
3575 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxgDynamicsMemoryConfig, MaxSoftBodyContacts, PxgDynamicsMemoryConfigGeneratedValues)
3576 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxgDynamicsMemoryConfig, MaxFemClothContacts, PxgDynamicsMemoryConfigGeneratedValues)
3577 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxgDynamicsMemoryConfig, MaxParticleContacts, PxgDynamicsMemoryConfigGeneratedValues)
3578 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxgDynamicsMemoryConfig, CollisionStackSize, PxgDynamicsMemoryConfigGeneratedValues)
3579 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxgDynamicsMemoryConfig, MaxHairContacts, PxgDynamicsMemoryConfigGeneratedValues)
3581
3582 {
3583 static const char* getClassName() { return "PxgDynamicsMemoryConfig"; }
3584 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxgDynamicsMemoryConfig_IsValid, PxgDynamicsMemoryConfig, _Bool > IsValid;
3585 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxgDynamicsMemoryConfig_TempBufferCapacity, PxgDynamicsMemoryConfig, PxU32, PxU32 > TempBufferCapacity;
3586 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxgDynamicsMemoryConfig_MaxRigidContactCount, PxgDynamicsMemoryConfig, PxU32, PxU32 > MaxRigidContactCount;
3587 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxgDynamicsMemoryConfig_MaxRigidPatchCount, PxgDynamicsMemoryConfig, PxU32, PxU32 > MaxRigidPatchCount;
3588 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxgDynamicsMemoryConfig_HeapCapacity, PxgDynamicsMemoryConfig, PxU32, PxU32 > HeapCapacity;
3589 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxgDynamicsMemoryConfig_FoundLostPairsCapacity, PxgDynamicsMemoryConfig, PxU32, PxU32 > FoundLostPairsCapacity;
3590 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxgDynamicsMemoryConfig_FoundLostAggregatePairsCapacity, PxgDynamicsMemoryConfig, PxU32, PxU32 > FoundLostAggregatePairsCapacity;
3591 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxgDynamicsMemoryConfig_TotalAggregatePairsCapacity, PxgDynamicsMemoryConfig, PxU32, PxU32 > TotalAggregatePairsCapacity;
3592 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxgDynamicsMemoryConfig_MaxSoftBodyContacts, PxgDynamicsMemoryConfig, PxU32, PxU32 > MaxSoftBodyContacts;
3593 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxgDynamicsMemoryConfig_MaxFemClothContacts, PxgDynamicsMemoryConfig, PxU32, PxU32 > MaxFemClothContacts;
3594 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxgDynamicsMemoryConfig_MaxParticleContacts, PxgDynamicsMemoryConfig, PxU32, PxU32 > MaxParticleContacts;
3595 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxgDynamicsMemoryConfig_CollisionStackSize, PxgDynamicsMemoryConfig, PxU32, PxU32 > CollisionStackSize;
3596 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxgDynamicsMemoryConfig_MaxHairContacts, PxgDynamicsMemoryConfig, PxU32, PxU32 > MaxHairContacts;
3597
3598 PX_PHYSX_CORE_API PxgDynamicsMemoryConfigGeneratedInfo();
3599 template<typename TReturnType, typename TOperator>
3600 TReturnType visitType( TOperator inOperator ) const
3601 {
3602 return inOperator( reinterpret_cast<PxgDynamicsMemoryConfig*>(NULL) );
3603 }
3604 template<typename TOperator>
3605 void visitBases( TOperator inOperator )
3606 {
3607 PX_UNUSED(inOperator);
3608 }
3609 template<typename TOperator>
3610 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
3611 {
3612 PX_UNUSED(inOperator);
3613 PX_UNUSED(inStartIndex);
3614 return inStartIndex;
3615 }
3616 static PxU32 instancePropertyCount() { return 13; }
3617 static PxU32 totalPropertyCount() { return instancePropertyCount(); }
3618 template<typename TOperator>
3619 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
3620 {
3621 PX_UNUSED(inOperator);
3622 PX_UNUSED(inStartIndex);
3623 inOperator( IsValid, inStartIndex + 0 );;
3624 inOperator( TempBufferCapacity, inStartIndex + 1 );;
3625 inOperator( MaxRigidContactCount, inStartIndex + 2 );;
3626 inOperator( MaxRigidPatchCount, inStartIndex + 3 );;
3627 inOperator( HeapCapacity, inStartIndex + 4 );;
3628 inOperator( FoundLostPairsCapacity, inStartIndex + 5 );;
3629 inOperator( FoundLostAggregatePairsCapacity, inStartIndex + 6 );;
3630 inOperator( TotalAggregatePairsCapacity, inStartIndex + 7 );;
3631 inOperator( MaxSoftBodyContacts, inStartIndex + 8 );;
3632 inOperator( MaxFemClothContacts, inStartIndex + 9 );;
3633 inOperator( MaxParticleContacts, inStartIndex + 10 );;
3634 inOperator( CollisionStackSize, inStartIndex + 11 );;
3635 inOperator( MaxHairContacts, inStartIndex + 12 );;
3636 return 13 + inStartIndex;
3637 }
3638 };
3639 template<> struct PxClassInfoTraits<PxgDynamicsMemoryConfig>
3640 {
3642 const PxgDynamicsMemoryConfigGeneratedInfo* getInfo() { return &Info; }
3643 };
3644
3645 static PxU32ToName g_physx__PxSimulationStatistics__RbPairStatsTypeConversion[] = {
3646 { "eDISCRETE_CONTACT_PAIRS", static_cast<PxU32>( physx::PxSimulationStatistics::eDISCRETE_CONTACT_PAIRS ) },
3647 { "eCCD_PAIRS", static_cast<PxU32>( physx::PxSimulationStatistics::eCCD_PAIRS ) },
3648 { "eMODIFIED_CONTACT_PAIRS", static_cast<PxU32>( physx::PxSimulationStatistics::eMODIFIED_CONTACT_PAIRS ) },
3649 { "eTRIGGER_PAIRS", static_cast<PxU32>( physx::PxSimulationStatistics::eTRIGGER_PAIRS ) },
3650 { NULL, 0 }
3651 };
3652
3653template<> struct PxEnumTraits< physx::PxSimulationStatistics::RbPairStatsType > { PxEnumTraits() : NameConversion( g_physx__PxSimulationStatistics__RbPairStatsTypeConversion ) {} const PxU32ToName* NameConversion; };
3654 class PxSimulationStatistics;
3656 {
3657 PxU32 NbActiveConstraints;
3658 PxU32 NbActiveDynamicBodies;
3659 PxU32 NbActiveKinematicBodies;
3660 PxU32 NbStaticBodies;
3661 PxU32 NbDynamicBodies;
3662 PxU32 NbKinematicBodies;
3663 PxU32 NbAggregates;
3664 PxU32 NbArticulations;
3665 PxU32 NbAxisSolverConstraints;
3666 PxU32 CompressedContactSize;
3667 PxU32 RequiredContactConstraintMemory;
3668 PxU32 PeakConstraintMemory;
3669 PxU32 NbDiscreteContactPairsTotal;
3670 PxU32 NbDiscreteContactPairsWithCacheHits;
3671 PxU32 NbDiscreteContactPairsWithContacts;
3672 PxU32 NbNewPairs;
3673 PxU32 NbLostPairs;
3674 PxU32 NbNewTouches;
3675 PxU32 NbLostTouches;
3676 PxU32 NbPartitions;
3677 PxU64 GpuMemParticles;
3678 PxU64 GpuMemSoftBodies;
3679 PxU64 GpuMemFEMCloths;
3680 PxU64 GpuMemHairSystems;
3681 PxU64 GpuMemHeap;
3682 PxU64 GpuMemHeapBroadPhase;
3683 PxU64 GpuMemHeapNarrowPhase;
3684 PxU64 GpuMemHeapSolver;
3685 PxU64 GpuMemHeapArticulation;
3686 PxU64 GpuMemHeapSimulation;
3687 PxU64 GpuMemHeapSimulationArticulation;
3688 PxU64 GpuMemHeapSimulationParticles;
3689 PxU64 GpuMemHeapSimulationSoftBody;
3690 PxU64 GpuMemHeapSimulationFEMCloth;
3691 PxU64 GpuMemHeapSimulationHairSystem;
3692 PxU64 GpuMemHeapParticles;
3693 PxU64 GpuMemHeapSoftBodies;
3694 PxU64 GpuMemHeapFEMCloths;
3695 PxU64 GpuMemHeapHairSystems;
3696 PxU64 GpuMemHeapOther;
3697 PxU32 NbBroadPhaseAdds;
3698 PxU32 NbBroadPhaseRemoves;
3699 PxU32 NbDiscreteContactPairs[PxGeometryType::eGEOMETRY_COUNT][PxGeometryType::eGEOMETRY_COUNT];
3700 PxU32 NbModifiedContactPairs[PxGeometryType::eGEOMETRY_COUNT][PxGeometryType::eGEOMETRY_COUNT];
3701 PxU32 NbCCDPairs[PxGeometryType::eGEOMETRY_COUNT][PxGeometryType::eGEOMETRY_COUNT];
3702 PxU32 NbTriggerPairs[PxGeometryType::eGEOMETRY_COUNT][PxGeometryType::eGEOMETRY_COUNT];
3703 PxU32 NbShapes[PxGeometryType::eGEOMETRY_COUNT];
3704 PX_PHYSX_CORE_API PxSimulationStatisticsGeneratedValues( const PxSimulationStatistics* inSource );
3705 };
3706 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, NbActiveConstraints, PxSimulationStatisticsGeneratedValues)
3707 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, NbActiveDynamicBodies, PxSimulationStatisticsGeneratedValues)
3708 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, NbActiveKinematicBodies, PxSimulationStatisticsGeneratedValues)
3709 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, NbStaticBodies, PxSimulationStatisticsGeneratedValues)
3710 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, NbDynamicBodies, PxSimulationStatisticsGeneratedValues)
3711 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, NbKinematicBodies, PxSimulationStatisticsGeneratedValues)
3712 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, NbAggregates, PxSimulationStatisticsGeneratedValues)
3713 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, NbArticulations, PxSimulationStatisticsGeneratedValues)
3714 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, NbAxisSolverConstraints, PxSimulationStatisticsGeneratedValues)
3715 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, CompressedContactSize, PxSimulationStatisticsGeneratedValues)
3716 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, RequiredContactConstraintMemory, PxSimulationStatisticsGeneratedValues)
3717 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, PeakConstraintMemory, PxSimulationStatisticsGeneratedValues)
3718 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, NbDiscreteContactPairsTotal, PxSimulationStatisticsGeneratedValues)
3719 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, NbDiscreteContactPairsWithCacheHits, PxSimulationStatisticsGeneratedValues)
3720 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, NbDiscreteContactPairsWithContacts, PxSimulationStatisticsGeneratedValues)
3721 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, NbNewPairs, PxSimulationStatisticsGeneratedValues)
3722 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, NbLostPairs, PxSimulationStatisticsGeneratedValues)
3723 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, NbNewTouches, PxSimulationStatisticsGeneratedValues)
3724 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, NbLostTouches, PxSimulationStatisticsGeneratedValues)
3725 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, NbPartitions, PxSimulationStatisticsGeneratedValues)
3726 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, GpuMemParticles, PxSimulationStatisticsGeneratedValues)
3727 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, GpuMemSoftBodies, PxSimulationStatisticsGeneratedValues)
3728 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, GpuMemFEMCloths, PxSimulationStatisticsGeneratedValues)
3729 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, GpuMemHairSystems, PxSimulationStatisticsGeneratedValues)
3730 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, GpuMemHeap, PxSimulationStatisticsGeneratedValues)
3731 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, GpuMemHeapBroadPhase, PxSimulationStatisticsGeneratedValues)
3732 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, GpuMemHeapNarrowPhase, PxSimulationStatisticsGeneratedValues)
3733 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, GpuMemHeapSolver, PxSimulationStatisticsGeneratedValues)
3734 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, GpuMemHeapArticulation, PxSimulationStatisticsGeneratedValues)
3735 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, GpuMemHeapSimulation, PxSimulationStatisticsGeneratedValues)
3736 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, GpuMemHeapSimulationArticulation, PxSimulationStatisticsGeneratedValues)
3737 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, GpuMemHeapSimulationParticles, PxSimulationStatisticsGeneratedValues)
3738 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, GpuMemHeapSimulationSoftBody, PxSimulationStatisticsGeneratedValues)
3739 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, GpuMemHeapSimulationFEMCloth, PxSimulationStatisticsGeneratedValues)
3740 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, GpuMemHeapSimulationHairSystem, PxSimulationStatisticsGeneratedValues)
3741 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, GpuMemHeapParticles, PxSimulationStatisticsGeneratedValues)
3742 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, GpuMemHeapSoftBodies, PxSimulationStatisticsGeneratedValues)
3743 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, GpuMemHeapFEMCloths, PxSimulationStatisticsGeneratedValues)
3744 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, GpuMemHeapHairSystems, PxSimulationStatisticsGeneratedValues)
3745 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, GpuMemHeapOther, PxSimulationStatisticsGeneratedValues)
3746 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, NbBroadPhaseAdds, PxSimulationStatisticsGeneratedValues)
3747 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, NbBroadPhaseRemoves, PxSimulationStatisticsGeneratedValues)
3748 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, NbDiscreteContactPairs, PxSimulationStatisticsGeneratedValues)
3749 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, NbModifiedContactPairs, PxSimulationStatisticsGeneratedValues)
3750 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, NbCCDPairs, PxSimulationStatisticsGeneratedValues)
3751 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, NbTriggerPairs, PxSimulationStatisticsGeneratedValues)
3752 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSimulationStatistics, NbShapes, PxSimulationStatisticsGeneratedValues)
3754
3755 {
3756 static const char* getClassName() { return "PxSimulationStatistics"; }
3757 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSimulationStatistics_NbActiveConstraints, PxSimulationStatistics, PxU32, PxU32 > NbActiveConstraints;
3758 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSimulationStatistics_NbActiveDynamicBodies, PxSimulationStatistics, PxU32, PxU32 > NbActiveDynamicBodies;
3759 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSimulationStatistics_NbActiveKinematicBodies, PxSimulationStatistics, PxU32, PxU32 > NbActiveKinematicBodies;
3760 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSimulationStatistics_NbStaticBodies, PxSimulationStatistics, PxU32, PxU32 > NbStaticBodies;
3761 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSimulationStatistics_NbDynamicBodies, PxSimulationStatistics, PxU32, PxU32 > NbDynamicBodies;
3762 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSimulationStatistics_NbKinematicBodies, PxSimulationStatistics, PxU32, PxU32 > NbKinematicBodies;
3763 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSimulationStatistics_NbAggregates, PxSimulationStatistics, PxU32, PxU32 > NbAggregates;
3764 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSimulationStatistics_NbArticulations, PxSimulationStatistics, PxU32, PxU32 > NbArticulations;
3765 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSimulationStatistics_NbAxisSolverConstraints, PxSimulationStatistics, PxU32, PxU32 > NbAxisSolverConstraints;
3766 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSimulationStatistics_CompressedContactSize, PxSimulationStatistics, PxU32, PxU32 > CompressedContactSize;
3767 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSimulationStatistics_RequiredContactConstraintMemory, PxSimulationStatistics, PxU32, PxU32 > RequiredContactConstraintMemory;
3768 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSimulationStatistics_PeakConstraintMemory, PxSimulationStatistics, PxU32, PxU32 > PeakConstraintMemory;
3769 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSimulationStatistics_NbDiscreteContactPairsTotal, PxSimulationStatistics, PxU32, PxU32 > NbDiscreteContactPairsTotal;
3770 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSimulationStatistics_NbDiscreteContactPairsWithCacheHits, PxSimulationStatistics, PxU32, PxU32 > NbDiscreteContactPairsWithCacheHits;
3771 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSimulationStatistics_NbDiscreteContactPairsWithContacts, PxSimulationStatistics, PxU32, PxU32 > NbDiscreteContactPairsWithContacts;
3772 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSimulationStatistics_NbNewPairs, PxSimulationStatistics, PxU32, PxU32 > NbNewPairs;
3773 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSimulationStatistics_NbLostPairs, PxSimulationStatistics, PxU32, PxU32 > NbLostPairs;
3774 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSimulationStatistics_NbNewTouches, PxSimulationStatistics, PxU32, PxU32 > NbNewTouches;
3775 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSimulationStatistics_NbLostTouches, PxSimulationStatistics, PxU32, PxU32 > NbLostTouches;
3776 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSimulationStatistics_NbPartitions, PxSimulationStatistics, PxU32, PxU32 > NbPartitions;
3777 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSimulationStatistics_GpuMemParticles, PxSimulationStatistics, PxU64, PxU64 > GpuMemParticles;
3778 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSimulationStatistics_GpuMemSoftBodies, PxSimulationStatistics, PxU64, PxU64 > GpuMemSoftBodies;
3779 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSimulationStatistics_GpuMemFEMCloths, PxSimulationStatistics, PxU64, PxU64 > GpuMemFEMCloths;
3780 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSimulationStatistics_GpuMemHairSystems, PxSimulationStatistics, PxU64, PxU64 > GpuMemHairSystems;
3781 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSimulationStatistics_GpuMemHeap, PxSimulationStatistics, PxU64, PxU64 > GpuMemHeap;
3782 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSimulationStatistics_GpuMemHeapBroadPhase, PxSimulationStatistics, PxU64, PxU64 > GpuMemHeapBroadPhase;
3783 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSimulationStatistics_GpuMemHeapNarrowPhase, PxSimulationStatistics, PxU64, PxU64 > GpuMemHeapNarrowPhase;
3784 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSimulationStatistics_GpuMemHeapSolver, PxSimulationStatistics, PxU64, PxU64 > GpuMemHeapSolver;
3785 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSimulationStatistics_GpuMemHeapArticulation, PxSimulationStatistics, PxU64, PxU64 > GpuMemHeapArticulation;
3786 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSimulationStatistics_GpuMemHeapSimulation, PxSimulationStatistics, PxU64, PxU64 > GpuMemHeapSimulation;
3787 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSimulationStatistics_GpuMemHeapSimulationArticulation, PxSimulationStatistics, PxU64, PxU64 > GpuMemHeapSimulationArticulation;
3788 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSimulationStatistics_GpuMemHeapSimulationParticles, PxSimulationStatistics, PxU64, PxU64 > GpuMemHeapSimulationParticles;
3789 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSimulationStatistics_GpuMemHeapSimulationSoftBody, PxSimulationStatistics, PxU64, PxU64 > GpuMemHeapSimulationSoftBody;
3790 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSimulationStatistics_GpuMemHeapSimulationFEMCloth, PxSimulationStatistics, PxU64, PxU64 > GpuMemHeapSimulationFEMCloth;
3791 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSimulationStatistics_GpuMemHeapSimulationHairSystem, PxSimulationStatistics, PxU64, PxU64 > GpuMemHeapSimulationHairSystem;
3792 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSimulationStatistics_GpuMemHeapParticles, PxSimulationStatistics, PxU64, PxU64 > GpuMemHeapParticles;
3793 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSimulationStatistics_GpuMemHeapSoftBodies, PxSimulationStatistics, PxU64, PxU64 > GpuMemHeapSoftBodies;
3794 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSimulationStatistics_GpuMemHeapFEMCloths, PxSimulationStatistics, PxU64, PxU64 > GpuMemHeapFEMCloths;
3795 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSimulationStatistics_GpuMemHeapHairSystems, PxSimulationStatistics, PxU64, PxU64 > GpuMemHeapHairSystems;
3796 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSimulationStatistics_GpuMemHeapOther, PxSimulationStatistics, PxU64, PxU64 > GpuMemHeapOther;
3797 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSimulationStatistics_NbBroadPhaseAdds, PxSimulationStatistics, PxU32, PxU32 > NbBroadPhaseAdds;
3798 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSimulationStatistics_NbBroadPhaseRemoves, PxSimulationStatistics, PxU32, PxU32 > NbBroadPhaseRemoves;
3799 NbDiscreteContactPairsProperty NbDiscreteContactPairs;
3800 NbModifiedContactPairsProperty NbModifiedContactPairs;
3801 NbCCDPairsProperty NbCCDPairs;
3802 NbTriggerPairsProperty NbTriggerPairs;
3803 NbShapesProperty NbShapes;
3804
3805 PX_PHYSX_CORE_API PxSimulationStatisticsGeneratedInfo();
3806 template<typename TReturnType, typename TOperator>
3807 TReturnType visitType( TOperator inOperator ) const
3808 {
3809 return inOperator( reinterpret_cast<PxSimulationStatistics*>(NULL) );
3810 }
3811 template<typename TOperator>
3812 void visitBases( TOperator inOperator )
3813 {
3814 PX_UNUSED(inOperator);
3815 }
3816 template<typename TOperator>
3817 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
3818 {
3819 PX_UNUSED(inOperator);
3820 PX_UNUSED(inStartIndex);
3821 return inStartIndex;
3822 }
3823 static PxU32 instancePropertyCount() { return 47; }
3824 static PxU32 totalPropertyCount() { return instancePropertyCount(); }
3825 template<typename TOperator>
3826 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
3827 {
3828 PX_UNUSED(inOperator);
3829 PX_UNUSED(inStartIndex);
3830 inOperator( NbActiveConstraints, inStartIndex + 0 );;
3831 inOperator( NbActiveDynamicBodies, inStartIndex + 1 );;
3832 inOperator( NbActiveKinematicBodies, inStartIndex + 2 );;
3833 inOperator( NbStaticBodies, inStartIndex + 3 );;
3834 inOperator( NbDynamicBodies, inStartIndex + 4 );;
3835 inOperator( NbKinematicBodies, inStartIndex + 5 );;
3836 inOperator( NbAggregates, inStartIndex + 6 );;
3837 inOperator( NbArticulations, inStartIndex + 7 );;
3838 inOperator( NbAxisSolverConstraints, inStartIndex + 8 );;
3839 inOperator( CompressedContactSize, inStartIndex + 9 );;
3840 inOperator( RequiredContactConstraintMemory, inStartIndex + 10 );;
3841 inOperator( PeakConstraintMemory, inStartIndex + 11 );;
3842 inOperator( NbDiscreteContactPairsTotal, inStartIndex + 12 );;
3843 inOperator( NbDiscreteContactPairsWithCacheHits, inStartIndex + 13 );;
3844 inOperator( NbDiscreteContactPairsWithContacts, inStartIndex + 14 );;
3845 inOperator( NbNewPairs, inStartIndex + 15 );;
3846 inOperator( NbLostPairs, inStartIndex + 16 );;
3847 inOperator( NbNewTouches, inStartIndex + 17 );;
3848 inOperator( NbLostTouches, inStartIndex + 18 );;
3849 inOperator( NbPartitions, inStartIndex + 19 );;
3850 inOperator( GpuMemParticles, inStartIndex + 20 );;
3851 inOperator( GpuMemSoftBodies, inStartIndex + 21 );;
3852 inOperator( GpuMemFEMCloths, inStartIndex + 22 );;
3853 inOperator( GpuMemHairSystems, inStartIndex + 23 );;
3854 inOperator( GpuMemHeap, inStartIndex + 24 );;
3855 inOperator( GpuMemHeapBroadPhase, inStartIndex + 25 );;
3856 inOperator( GpuMemHeapNarrowPhase, inStartIndex + 26 );;
3857 inOperator( GpuMemHeapSolver, inStartIndex + 27 );;
3858 inOperator( GpuMemHeapArticulation, inStartIndex + 28 );;
3859 inOperator( GpuMemHeapSimulation, inStartIndex + 29 );;
3860 inOperator( GpuMemHeapSimulationArticulation, inStartIndex + 30 );;
3861 inOperator( GpuMemHeapSimulationParticles, inStartIndex + 31 );;
3862 inOperator( GpuMemHeapSimulationSoftBody, inStartIndex + 32 );;
3863 inOperator( GpuMemHeapSimulationFEMCloth, inStartIndex + 33 );;
3864 inOperator( GpuMemHeapSimulationHairSystem, inStartIndex + 34 );;
3865 inOperator( GpuMemHeapParticles, inStartIndex + 35 );;
3866 inOperator( GpuMemHeapSoftBodies, inStartIndex + 36 );;
3867 inOperator( GpuMemHeapFEMCloths, inStartIndex + 37 );;
3868 inOperator( GpuMemHeapHairSystems, inStartIndex + 38 );;
3869 inOperator( GpuMemHeapOther, inStartIndex + 39 );;
3870 inOperator( NbBroadPhaseAdds, inStartIndex + 40 );;
3871 inOperator( NbBroadPhaseRemoves, inStartIndex + 41 );;
3872 inOperator( NbDiscreteContactPairs, inStartIndex + 42 );;
3873 inOperator( NbModifiedContactPairs, inStartIndex + 43 );;
3874 inOperator( NbCCDPairs, inStartIndex + 44 );;
3875 inOperator( NbTriggerPairs, inStartIndex + 45 );;
3876 inOperator( NbShapes, inStartIndex + 46 );;
3877 return 47 + inStartIndex;
3878 }
3879 };
3880 template<> struct PxClassInfoTraits<PxSimulationStatistics>
3881 {
3883 const PxSimulationStatisticsGeneratedInfo* getInfo() { return &Info; }
3884 };
3885
3886
3887
3888#undef THERE_IS_NO_INCLUDE_GUARD_HERE_FOR_A_REASON
3889#undef PX_PROPERTY_INFO_NAME
Definition SnippetContactModification.cpp:92
@ eACCELERATION
The joint accelerations, see PxArticulationCache::jointAcceleration.
Definition PxArticulationFlag.h:86
@ eROOT_VELOCITIES
Root link velocities (read/write) and accelerations (read), see PxArticulationCache::rootLinkData.
Definition PxArticulationFlag.h:92
@ eLINK_VELOCITY
The link velocities, see PxArticulationCache::linkVelocity.
Definition PxArticulationFlag.h:89
@ eLINK_ACCELERATION
The link accelerations, see PxArticulationCache::linkAcceleration.
Definition PxArticulationFlag.h:90
@ eJOINT_SOLVER_FORCES
Solver constraint joint forces, see PxArticulationCache::jointSolverForces.
Definition PxArticulationFlag.h:94
@ eVELOCITY
The joint velocities, see PxArticulationCache::jointVelocity.
Definition PxArticulationFlag.h:85
@ eSENSOR_FORCES
The spatial sensor forces, see PxArticulationCache::sensorForces.
Definition PxArticulationFlag.h:93
@ eFORCE
The joint forces, see PxArticulationCache::jointForce.
Definition PxArticulationFlag.h:88
@ eROOT_TRANSFORM
Root link transform, see PxArticulationCache::rootLinkData.
Definition PxArticulationFlag.h:91
@ ePOSITION
The joint positions, see PxArticulationCache::jointPosition.
Definition PxArticulationFlag.h:87
@ eFIXED_TENDON_JOINT
Fixed tendon joint data, write only, see PxScene::applyArticulationData()
Definition PxArticulationFlag.h:68
@ eSPATIAL_TENDON_ATTACHMENT
Spatial tendon attachment data, write only, see PxScene::applyArticulationData()
Definition PxArticulationFlag.h:70
@ eLINK_TRANSFORM
The link transforms including root link, read only, see PxScene::copyArticulationData()
Definition PxArticulationFlag.h:63
@ eLINK_TORQUE
The torques to apply to links, write only, see PxScene::applyArticulationData()
Definition PxArticulationFlag.h:66
@ eROOT_VELOCITY
The root link velocity, read and write, see PxScene::copyArticulationData(), PxScene::applyArticulati...
Definition PxArticulationFlag.h:62
@ eLINK_VELOCITY
The link velocities including root link, read only, see PxScene::copyArticulationData()
Definition PxArticulationFlag.h:64
@ eROOT_TRANSFORM
The root link transform, read and write, see PxScene::copyArticulationData(), PxScene::applyArticulat...
Definition PxArticulationFlag.h:61
@ eLINK_FORCE
The forces to apply to links, write only, see PxScene::applyArticulationData()
Definition PxArticulationFlag.h:65
@ eJOINT_TARGET_POSITION
The position targets for the joint drives, write only, see PxScene::applyArticulationData()
Definition PxArticulationFlag.h:59
@ eFIXED_TENDON
Fixed tendon data, write only, see PxScene::applyArticulationData()
Definition PxArticulationFlag.h:67
@ eSENSOR_FORCE
The spatial sensor forces, read only, see PxScene::copyArticulationData()
Definition PxArticulationFlag.h:60
@ eJOINT_POSITION
The joint positions, read and write, see PxScene::copyArticulationData(), PxScene::applyArticulationD...
Definition PxArticulationFlag.h:53
@ eJOINT_FORCE
The applied joint forces, write only, see PxScene::applyArticulationData()
Definition PxArticulationFlag.h:56
@ eSPATIAL_TENDON
Spatial tendon data, write only, see PxScene::applyArticulationData()
Definition PxArticulationFlag.h:69
@ eJOINT_VELOCITY
The joint velocities, read and write, see PxScene::copyArticulationData(), PxScene::applyArticulation...
Definition PxArticulationFlag.h:54
@ eJOINT_TARGET_VELOCITY
The velocity targets for the joint drives, write only, see PxScene::applyArticulationData()
Definition PxArticulationFlag.h:58
@ eJOINT_SOLVER_FORCE
The computed joint constraint solver forces, read only, see PxScene::copyArticulationData()()
Definition PxArticulationFlag.h:57
@ eJOINT_ACCELERATION
The joint accelerations, read only, see PxScene::copyArticulationData()
Definition PxArticulationFlag.h:55
@ eMODIFIED_CONTACT_PAIRS
Shape pairs processed with user contact modification enabled for the current simulation step.
Definition PxSimulationStatistics.h:79
@ eTRIGGER_PAIRS
Trigger shape pairs processed for the current simulation step.
Definition PxSimulationStatistics.h:86
@ eCCD_PAIRS
Shape pairs processed as swept integration pairs for the current simulation step.
Definition PxSimulationStatistics.h:72
@ eDISCRETE_CONTACT_PAIRS
Shape pairs processed as discrete contact pairs for the current simulation step.
Definition PxSimulationStatistics.h:62
@ eTET_INDICES
The collision mesh tetrahedron indices (quadruples of int32)
Definition PxSoftBodyFlag.h:50
@ eTET_POSITION_INV_MASS
The collision mesh vertex positions and their inverted mass in the 4th component (quadruples of float...
Definition PxSoftBodyFlag.h:55
@ eTET_REST_POSES
The collision mesh tetrahedron rest poses (float 3x3 matrices)
Definition PxSoftBodyFlag.h:53
@ eTET_STRESS
The collision mesh cauchy stress tensors (float 3x3 matrices)
Definition PxSoftBodyFlag.h:51
@ eSIM_POSITION_INV_MASS
The simulation mesh vertex positions and their inverted mass in the 4th component (quadruples of floa...
Definition PxSoftBodyFlag.h:58
@ eSIM_KINEMATIC_TARGET
The simulation mesh kinematic target positions.
Definition PxSoftBodyFlag.h:59
@ eTET_STRESSCOEFF
The collision mesh tetrahedron von Mises stress (float scalar)
Definition PxSoftBodyFlag.h:52
@ eSIM_VELOCITY_INV_MASS
The simulation mesh vertex velocities and their inverted mass in the 4th component (quadruples of flo...
Definition PxSoftBodyFlag.h:57
@ eSIM_TET_INDICES
The simulation mesh tetrahedron indices (quadruples of int32)
Definition PxSoftBodyFlag.h:56
@ eTET_ROTATIONS
The collision mesh tetrahedron orientations (quaternions, quadruples of float)
Definition PxSoftBodyFlag.h:54
Sorts an array of objects in ascending order, assuming that the predicate implements the < operator:
Definition PxBoxController.h:39
Definition PxAutoGeneratedMetaDataObjects.h:649
Definition PxAutoGeneratedMetaDataObjects.h:630
Definition PxAutoGeneratedMetaDataObjects.h:1399
Definition PxAutoGeneratedMetaDataObjects.h:1384
Definition PxAutoGeneratedMetaDataObjects.h:3051
Definition PxAutoGeneratedMetaDataObjects.h:3038
Definition PxAutoGeneratedMetaDataObjects.h:1188
Definition PxAutoGeneratedMetaDataObjects.h:1157
Definition PxAutoGeneratedMetaDataObjects.h:2995
Definition PxAutoGeneratedMetaDataObjects.h:2986
Definition PxAutoGeneratedMetaDataObjects.h:1058
Definition PxAutoGeneratedMetaDataObjects.h:1039
Definition PxAutoGeneratedMetaDataObjects.h:1313
Definition PxAutoGeneratedMetaDataObjects.h:1278
Definition PxAutoGeneratedMetaDataObjects.h:185
Definition PxAutoGeneratedMetaDataObjects.h:178
Definition PxAutoGeneratedMetaDataObjects.h:1835
Definition PxAutoGeneratedMetaDataObjects.h:1828
Definition PxAutoGeneratedMetaDataObjects.h:3422
Definition PxAutoGeneratedMetaDataObjects.h:3403
Definition PxAutoGeneratedMetaDataObjects.h:1889
Definition PxAutoGeneratedMetaDataObjects.h:1880
Definition PxAutoGeneratedMetaDataObjects.h:1489
Definition PxAutoGeneratedMetaDataObjects.h:1468
Definition PxAutoGeneratedMetaDataObjects.h:2005
Definition PxAutoGeneratedMetaDataObjects.h:1994
Definition PxAutoGeneratedMetaDataObjects.h:2861
Definition PxAutoGeneratedMetaDataObjects.h:2854
Definition PxAutoGeneratedMetaDataObjects.h:341
Definition PxAutoGeneratedMetaDataObjects.h:330
Definition PxAutoGeneratedMetaDataObjects.h:401
Definition PxAutoGeneratedMetaDataObjects.h:390
Definition PxAutoGeneratedMetaDataObjects.h:1789
Definition PxAutoGeneratedMetaDataObjects.h:1784
Definition PxAutoGeneratedMetaDataObjects.h:2935
Definition PxAutoGeneratedMetaDataObjects.h:2918
Definition PxAutoGeneratedMetaDataObjects.h:2236
Definition PxAutoGeneratedMetaDataObjects.h:2221
Definition PxAutoGeneratedMetaDataObjects.h:271
Definition PxAutoGeneratedMetaDataObjects.h:250
Definition PxAutoGeneratedMetaDataObjects.h:1945
Definition PxAutoGeneratedMetaDataObjects.h:1936
Definition PxAutoGeneratedMetaDataObjects.h:543
Definition PxAutoGeneratedMetaDataObjects.h:518
Definition PxAutoGeneratedMetaDataObjects.h:465
Definition PxAutoGeneratedMetaDataObjects.h:450
Definition PxAutoGeneratedMetaDataObjects.h:63
Definition PxAutoGeneratedMetaDataObjects.h:56
Definition PxAutoGeneratedMetaDataObjects.h:2111
Definition PxAutoGeneratedMetaDataObjects.h:2106
Definition PxAutoGeneratedMetaDataObjects.h:1681
Definition PxAutoGeneratedMetaDataObjects.h:1670
Definition PxAutoGeneratedMetaDataObjects.h:137
Definition PxAutoGeneratedMetaDataObjects.h:130
Definition PxAutoGeneratedMetaDataObjects.h:709
Definition PxAutoGeneratedMetaDataObjects.h:702
Definition PxAutoGeneratedMetaDataObjects.h:817
Definition PxAutoGeneratedMetaDataObjects.h:784
Definition PxAutoGeneratedMetaDataObjects.h:924
Definition PxAutoGeneratedMetaDataObjects.h:899
Definition PxAutoGeneratedMetaDataObjects.h:994
Definition PxAutoGeneratedMetaDataObjects.h:987
Definition PxAutoGeneratedMetaDataObjects.h:3282
Definition PxAutoGeneratedMetaDataObjects.h:3201
Definition PxAutoGeneratedMetaDataObjects.h:2675
Definition PxAutoGeneratedMetaDataObjects.h:2600
Definition PxAutoGeneratedMetaDataObjects.h:3496
Definition PxAutoGeneratedMetaDataObjects.h:3475
Definition PxAutoGeneratedMetaDataObjects.h:3142
Definition PxAutoGeneratedMetaDataObjects.h:3117
Definition PxAutoGeneratedMetaDataObjects.h:2333
Definition PxAutoGeneratedMetaDataObjects.h:2322
Definition PxAutoGeneratedMetaDataObjects.h:2400
Definition PxAutoGeneratedMetaDataObjects.h:2387
Definition PxAutoGeneratedMetaDataObjects.h:1595
Definition PxAutoGeneratedMetaDataObjects.h:1560
Definition PxAutoGeneratedMetaDataObjects.h:3755
Definition PxAutoGeneratedMetaDataObjects.h:3656
Definition PxAutoGeneratedMetaDataObjects.h:2061
Definition PxAutoGeneratedMetaDataObjects.h:2054
Definition PxAutoGeneratedMetaDataObjects.h:2809
Definition PxAutoGeneratedMetaDataObjects.h:2802
Definition PxAutoGeneratedMetaDataObjects.h:1739
Definition PxAutoGeneratedMetaDataObjects.h:1728
Definition PxAutoGeneratedMetaDataObjects.h:2172
Definition PxAutoGeneratedMetaDataObjects.h:2161
Definition PxAutoGeneratedMetaDataObjects.h:3582
Definition PxAutoGeneratedMetaDataObjects.h:3551
@ eDISABLE_SIMULATION
Disables simulation for the actor.
Definition PxActor.h:102
@ eSEND_SLEEP_NOTIFIES
Enables the sending of PxSimulationEventCallback::onWake() and PxSimulationEventCallback::onSleep() n...
Definition PxActor.h:84
@ eDISABLE_GRAVITY
Disables scene gravity for this actor.
Definition PxActor.h:77
@ eVISUALIZATION
Enable debug renderer for this actor.
Definition PxActor.h:72
@ eRIGID_DYNAMIC
A dynamic rigid body.
Definition PxScene.h:112
@ eRIGID_STATIC
A static rigid body.
Definition PxScene.h:106
@ eCUSTOM_PARTICLESYSTEM
A CUSTOM ParticleSystem.
Definition PxActor.h:178
@ eARTICULATION_LINK
An articulation link.
Definition PxActor.h:138
@ eFLIP_PARTICLESYSTEM
A FLIP ParticleSystem.
Definition PxActor.h:164
@ eFEMCLOTH
A FEM-based cloth.
Definition PxActor.h:151
@ eSOFTBODY
A FEM-based soft body.
Definition PxActor.h:144
@ eHAIRSYSTEM
A HairSystem.
Definition PxActor.h:185
@ ePBD_PARTICLESYSTEM
A PBD ParticleSystem.
Definition PxActor.h:157
@ eMPM_PARTICLESYSTEM
A MPM ParticleSystem.
Definition PxActor.h:171
@ eRIGID_STATIC
A static rigid body.
Definition PxActor.h:126
@ eRIGID_DYNAMIC
A dynamic rigid body.
Definition PxActor.h:132
@ eSWING2
Rotational about eZ.
Definition PxSolverDefs.h:255
@ eTWIST
Rotational about eX.
Definition PxSolverDefs.h:253
@ eSWING1
Rotational about eY.
Definition PxSolverDefs.h:254
@ eY
Linear in eY.
Definition PxSolverDefs.h:257
@ eX
Linear in eX.
Definition PxSolverDefs.h:256
@ eZ
Linear in eZ.
Definition PxSolverDefs.h:258
@ eVELOCITY
Sets the drive gains internally to track a target velocity almost kinematically (i....
Definition PxSolverDefs.h:312
@ eFORCE
The output of the implicit spring drive controller is a force/torque.
Definition PxSolverDefs.h:309
@ eTARGET
Sets the drive gains internally to track a target position almost kinematically (i....
Definition PxSolverDefs.h:311
@ eACCELERATION
The output of the implicit spring drive controller is a joint acceleration (use this to get (spatial)...
Definition PxSolverDefs.h:310
@ eFIX_BASE
Set articulation base to be fixed.
Definition PxSolverDefs.h:295
@ eCOMPUTE_JOINT_FORCES
Enable in order to be able to query joint solver (i.e. constraint) forces using PxArticulationCache::...
Definition PxSolverDefs.h:298
@ eDRIVE_LIMITS_ARE_FORCES
Limits for drive effort are forces and torques rather than impulses, see PxArticulationDrive::maxForc...
Definition PxSolverDefs.h:296
@ eDISABLE_SELF_COLLISION
Disable collisions between the articulation's links (note that parent/child collisions are disabled i...
Definition PxSolverDefs.h:297
@ eREVOLUTE_UNWRAPPED
Single rotational DOF, e.g. an elbow joint or a rotational motor, position not wrapped.
Definition PxSolverDefs.h:285
@ ePRISMATIC
Single linear DOF, e.g. cart on a rail.
Definition PxSolverDefs.h:283
@ eREVOLUTE
Single rotational DOF, e.g. an elbow joint or a rotational motor, position wrapped at 2pi radians.
Definition PxSolverDefs.h:284
@ eFIX
All joint axes, i.e. degrees of freedom (DOFs) locked.
Definition PxSolverDefs.h:282
@ eSPHERICAL
Ball and socket joint with two or three DOFs.
Definition PxSolverDefs.h:286
@ eLIMITED
Limited DOF - set limits of joint DOF together with this flag, see PxArticulationJointReducedCoordina...
Definition PxSolverDefs.h:270
@ eFREE
Free DOF.
Definition PxSolverDefs.h:271
@ eLOCKED
Locked axis, i.e. degree of freedom (DOF)
Definition PxSolverDefs.h:269
@ eSAH
SAH build strategy. Slower builds, slightly improved runtime performance in some cases.
Definition PxBVHBuildStrategy.h:51
@ eDEFAULT
Default build strategy. Medium build speed, good runtime performance in all cases.
Definition PxBVHBuildStrategy.h:50
@ eFAST
Fast build strategy. Fast build speed, good runtime performance in most cases. Recommended for runtim...
Definition PxBVHBuildStrategy.h:49
@ eABP
Automatic box pruning.
Definition PxBroadPhase.h:82
@ ePABP
Parallel automatic box pruning.
Definition PxBroadPhase.h:83
@ eMBP
Multi box pruning.
Definition PxBroadPhase.h:81
@ eGPU
GPU broad phase.
Definition PxBroadPhase.h:84
@ eSAP
3-axes sweep-and-prune
Definition PxBroadPhase.h:80
@ eMAX
Maximum: maximum(a,b)
Definition PxMaterial.h:137
@ eMULTIPLY
Multiply: a*b.
Definition PxMaterial.h:136
@ eN_VALUES
This is not a valid combine mode, it is a sentinel to denote the number of possible values....
Definition PxMaterial.h:138
@ eMIN
Minimum: minimum(a,b)
Definition PxMaterial.h:135
@ eAVERAGE
Average: (a + b)/2.
Definition PxMaterial.h:134
@ ePAD_32
This is not a valid combine mode, it is to assure that the size of the enum type is big enough.
Definition PxMaterial.h:139
@ ePROJECTION
Definition PxConstraint.h:61
@ ePROJECT_TO_ACTOR1
Definition PxConstraint.h:60
@ eIMPROVED_SLERP
perform preprocessing for improved accuracy on D6 Slerp Drive (this flag will be removed in a future ...
Definition PxConstraint.h:65
@ eALWAYS_UPDATE
updates the constraint each frame
Definition PxConstraint.h:69
@ eENABLE_EXTENDED_LIMITS
enables extended limit ranges for angular limits (e.g., limit values > PxPi or < -PxPi)
Definition PxConstraint.h:67
@ eGPU_COMPATIBLE
the constraint type is supported by gpu dynamics
Definition PxConstraint.h:68
@ ePROJECT_TO_ACTOR0
Definition PxConstraint.h:59
@ eDISABLE_PREPROCESSING
suppress constraint preprocessing, intended for use with rowResponseThreshold. May result in worse so...
Definition PxConstraint.h:66
@ eVISUALIZATION
whether this constraint should be visualized, if constraint visualization is turned on
Definition PxConstraint.h:63
@ eBROKEN
whether the constraint is broken
Definition PxConstraint.h:58
@ eDISABLE_CONSTRAINT
disables the constraint. SolverPrep functions won't be called for this constraint.
Definition PxConstraint.h:70
@ eCOLLISION_ENABLED
whether contacts should be generated between the objects this constraint constrains
Definition PxConstraint.h:62
@ eDRIVE_LIMITS_ARE_FORCES
limits for drive strength are forces rather than impulses
Definition PxConstraint.h:64
@ eTIGHT_BOUNDS
Use tighter (but more expensive to compute) bounds around the convex geometry.
Definition PxConvexMeshGeometry.h:55
@ eINCREMENTAL
incremental-BVH secondary pruner, faster query time, slower updates
Definition PxSceneQueryDesc.h:104
@ eNONE
no secondary pruner, new objects aren't visible to SQ for a few frames
Definition PxSceneQueryDesc.h:102
@ eBUCKET
bucket-based secondary pruner, faster updates, slower query time
Definition PxSceneQueryDesc.h:103
@ eBVH
PxBVH-based secondary pruner, good overall performance.
Definition PxSceneQueryDesc.h:105
@ eFORCE
parameter has unit of mass * length / time^2, i.e., a force
Definition PxForceMode.h:52
@ eVELOCITY_CHANGE
parameter has unit of length / time, i.e., the effect is mass independent: a velocity change.
Definition PxForceMode.h:54
@ eIMPULSE
parameter has unit of mass * length / time, i.e., force * time
Definition PxForceMode.h:53
@ eACCELERATION
parameter has unit of length/ time^2, i.e., an acceleration. It gets treated just like a force except...
Definition PxForceMode.h:55
@ ePATCH
Select default patch-friction model.
Definition PxSceneDesc.h:72
@ eTWO_DIRECTIONAL
Select two directional per-contact friction model.
Definition PxSceneDesc.h:74
@ eONE_DIRECTIONAL
Select one directional per-contact friction model.
Definition PxSceneDesc.h:73
@ eSIMD_GUARD
Saves/restores SIMD control word for each query (safer but slower). Omit this if you took care of it ...
Definition PxGeometryQueryFlags.h:51
@ eNO_BOUNDARY_EDGES
Disable collisions with height field with boundary edges.
Definition PxHeightFieldFlag.h:143
@ eS16_TM
Height field height data is 16 bit signed integers, followed by triangle materials.
Definition PxHeightFieldFlag.h:70
@ eANY_HIT
Definition PxGeometryHit.h:65
@ eMODIFIABLE_FLAGS
Only this subset of flags can be modified by pre-filter. Other modifications will be discarded.
Definition PxGeometryHit.h:80
@ eNORMAL
"normal" member of #PxQueryHit is valid
Definition PxGeometryHit.h:61
@ eFACE_INDEX
"face index" member of #PxQueryHit is valid
Definition PxGeometryHit.h:75
@ eMESH_BOTH_SIDES
Definition PxGeometryHit.h:69
@ eUV
"u" and "v" barycentric coordinates of #PxQueryHit are valid. Not applicable to sweep queries.
Definition PxGeometryHit.h:62
@ eASSUME_NO_INITIAL_OVERLAP
Definition PxGeometryHit.h:63
@ ePRECISE_SWEEP
Definition PxGeometryHit.h:72
@ ePOSITION
"position" member of #PxQueryHit is valid
Definition PxGeometryHit.h:60
@ eMESH_ANY
Definition PxGeometryHit.h:68
@ eMTD
Report the minimum translation depth, normal and contact point.
Definition PxGeometryHit.h:74
@ eMESH_MULTIPLE
Report all hits for meshes rather than just the first. Not applicable to sweep queries.
Definition PxGeometryHit.h:67
@ eDISABLE_STRONG_FRICTION
Whether to use strong friction. The difference between "normal" and "strong" friction is that the str...
Definition PxMaterial.h:78
@ eCOMPLIANT_CONTACT
This flag has the effect of enabling an implicit spring model for the normal force computation.
Definition PxMaterial.h:98
@ eDISABLE_FRICTION
If this flag is set, friction computations are always skipped between shapes with this material and a...
Definition PxMaterial.h:57
@ eIMPROVED_PATCH_FRICTION
Whether to use the patch friction model. This flag only has an effect if PxFrictionType::ePATCH frict...
Definition PxMaterial.h:92
@ eTIGHT_BOUNDS
Use tighter (but more expensive to compute) bounds around the triangle mesh geometry.
Definition PxTriangleMeshGeometry.h:54
@ eDOUBLE_SIDED
Definition PxTriangleMeshGeometry.h:55
@ eDEFAULT
Default is eSUPPRESS for compatibility with previous PhysX versions.
Definition PxFiltering.h:743
@ eKILL
Don't output pair from BP. Cannot be later switched to regular interaction, needs "resetFiltering" ca...
Definition PxFiltering.h:738
@ eSUPPRESS
Output pair from BP, create interaction marker. Can be later switched to regular interaction.
Definition PxFiltering.h:733
@ eKEEP
Output pair from BP, potentially send to user callbacks, create regular interaction object.
Definition PxFiltering.h:728
@ eFLIP
The FLIP fluid solver. See #PxFLIPParticleSystem.
Definition PxParticleSolverType.h:55
@ eCUSTOM
Custom solver. The user needs to specify the interaction of the particle by providing appropriate fun...
Definition PxParticleSolverType.h:57
@ ePBD
The position based dynamics solver that can handle fluid, granular material, cloth,...
Definition PxParticleSolverType.h:54
@ eMPM
The MPM (material point method) solver that can handle a variety of materials. See #PxMPMParticleSyst...
Definition PxParticleSolverType.h:56
@ eNONE
Using a simple data structure.
Definition PxSceneQueryDesc.h:66
@ eDYNAMIC_AABB_TREE
Using a dynamic AABB tree.
Definition PxSceneQueryDesc.h:67
@ eSTATIC_AABB_TREE
Using a static AABB tree.
Definition PxSceneQueryDesc.h:68
@ eFORCE_KINE_KINE_NOTIFICATIONS
Forces kinematic-kinematic pairs notifications for this actor.
Definition PxRigidBody.h:157
@ eFORCE_STATIC_KINE_NOTIFICATIONS
Forces static-kinematic pairs notifications for this actor.
Definition PxRigidBody.h:170
@ eENABLE_SPECULATIVE_CCD
Register a rigid body to dynamically adjust contact offset based on velocity. This can be used to ach...
Definition PxRigidBody.h:115
@ eUSE_KINEMATIC_TARGET_FOR_SCENE_QUERIES
Use the kinematic target transform for scene queries.
Definition PxRigidBody.h:85
@ eENABLE_CCD_FRICTION
Enabled CCD in swept integration for the actor.
Definition PxRigidBody.h:107
@ eRETAIN_ACCELERATIONS
Carries over forces/accelerations between frames, rather than clearing them.
Definition PxRigidBody.h:137
@ eENABLE_CCD_MAX_CONTACT_IMPULSE
Permit CCD to limit maxContactImpulse. This is useful for use-cases like a destruction system but can...
Definition PxRigidBody.h:132
@ eENABLE_POSE_INTEGRATION_PREVIEW
Register a rigid body for reporting pose changes by the simulation at an early stage.
Definition PxRigidBody.h:127
@ eKINEMATIC
Enables kinematic mode for the actor.
Definition PxRigidBody.h:74
@ eENABLE_CCD
Enables swept integration for the actor.
Definition PxRigidBody.h:96
@ eRESERVED
Reserved for internal usage.
Definition PxRigidBody.h:180
@ eENABLE_GYROSCOPIC_FORCES
Enables computation of gyroscopic forces on the rigid body.
Definition PxRigidBody.h:175
@ eENABLE_AVERAGE_POINT
Enables average points in contact manifolds.
Definition PxSceneDesc.h:218
@ eENABLE_ACTIVE_ACTORS
Enable Active Actors Notification.
Definition PxSceneDesc.h:116
@ eENABLE_ENHANCED_DETERMINISM
Provides improved determinism at the expense of performance.
Definition PxSceneDesc.h:263
@ eDISABLE_CONTACT_REPORT_BUFFER_RESIZE
Disable contact report buffer resize. Once the contact buffer is full, the rest of the contact report...
Definition PxSceneDesc.h:170
@ eDISABLE_CONTACT_CACHE
Disable contact cache.
Definition PxSceneDesc.h:182
@ eENABLE_STABILIZATION
Enables additional stabilization pass in solver.
Definition PxSceneDesc.h:208
@ eENABLE_FRICTION_EVERY_ITERATION
Controls processing friction in all solver iterations.
Definition PxSceneDesc.h:279
@ eDISABLE_CCD_RESWEEP
Enables a simplified swept integration strategy, which sacrifices some accuracy for improved performa...
Definition PxSceneDesc.h:151
@ eENABLE_PCM
Enable GJK-based distance collision detection system.
Definition PxSceneDesc.h:160
@ eENABLE_CCD
Enables a second broad phase check after integration that makes it possible to prevent objects from t...
Definition PxSceneDesc.h:130
@ eREQUIRE_RW_LOCK
Require scene-level locking.
Definition PxSceneDesc.h:199
@ eEXCLUDE_KINEMATICS_FROM_ACTIVE_ACTORS
Do not report kinematics in list of active actors.
Definition PxSceneDesc.h:232
@ eBUILD_DISABLED_COMMIT_DISABLED
No work is done, no update of scene queries.
Definition PxSceneQueryDesc.h:137
@ eBUILD_ENABLED_COMMIT_ENABLED
Both scene query build and commit are executed.
Definition PxSceneQueryDesc.h:135
@ eBUILD_ENABLED_COMMIT_DISABLED
Scene query build only is executed.
Definition PxSceneQueryDesc.h:136
@ eSIMULATION_SHAPE
The shape will partake in collision in the physical simulation.
Definition PxShape.h:83
@ eVISUALIZATION
Enable debug renderer for this shape.
Definition PxShape.h:117
@ eSCENE_QUERY_SHAPE
The shape will partake in scene queries (ray casts, overlap tests, sweeps, ...).
Definition PxShape.h:88
@ eTRIGGER_SHAPE
The shape is a trigger which can send reports whenever other shapes enter/leave its volume.
Definition PxShape.h:110
@ eTGS
Default Temporal Gauss-Seidel solver.
Definition PxSceneDesc.h:91
@ ePGS
Projected Gauss-Seidel iterative solver.
Definition PxSceneDesc.h:90
@ eJOINT_LOCAL_FRAMES
Joint local axes.
Definition PxVisualizationParameter.h:212
@ eSIMULATION_MESH
Renders the simulation mesh instead of the collision mesh (only available for tetmeshes)
Definition PxVisualizationParameter.h:232
@ eBODY_ANG_VELOCITY
Visualize the bodies angular velocity.
Definition PxVisualizationParameter.h:130
@ eSDF
Renders the SDF of a mesh instead of the collision mesh (only available for triangle meshes with SDFs...
Definition PxVisualizationParameter.h:237
@ eCOLLISION_COMPOUNDS
Compound visualization (compound AABBs in world space)
Definition PxVisualizationParameter.h:183
@ eMBP_REGIONS
MBP regions.
Definition PxVisualizationParameter.h:227
@ eCOLLISION_EDGES
Active edges for meshes.
Definition PxVisualizationParameter.h:197
@ eACTOR_AXES
Visualize actor axes.
Definition PxVisualizationParameter.h:159
@ eCOLLISION_AABBS
Visualize bounds (AABBs in world space)
Definition PxVisualizationParameter.h:164
@ eCOLLISION_SHAPES
Shape visualization.
Definition PxVisualizationParameter.h:171
@ eCONTACT_ERROR
Visualize contact errors. Will enable contact information.
Definition PxVisualizationParameter.h:147
@ eNUM_VALUES
This is not a parameter, it just records the current number of parameters (as maximum(PxVisualization...
Definition PxVisualizationParameter.h:242
@ eSCALE
This overall visualization scale gets multiplied with the individual scales. Setting to zero ignores ...
Definition PxVisualizationParameter.h:91
@ eWORLD_AXES
Visualize the world axes.
Definition PxVisualizationParameter.h:96
@ eCONTACT_FORCE
Visualize Contact forces. Will enable contact information.
Definition PxVisualizationParameter.h:152
@ eCOLLISION_STATIC
Static pruning structures.
Definition PxVisualizationParameter.h:202
@ eCONTACT_POINT
Visualize contact points. Will enable contact information.
Definition PxVisualizationParameter.h:137
@ eCOLLISION_FNORMALS
Mesh & convex face normals.
Definition PxVisualizationParameter.h:190
@ eBODY_MASS_AXES
Visualize a body's mass axes.
Definition PxVisualizationParameter.h:116
@ eCOLLISION_DYNAMIC
Dynamic pruning structures.
Definition PxVisualizationParameter.h:207
@ eCOLLISION_AXES
Shape axis visualization.
Definition PxVisualizationParameter.h:178
@ eBODY_LIN_VELOCITY
Visualize the bodies linear velocity.
Definition PxVisualizationParameter.h:123
@ eJOINT_LIMITS
Joint limits.
Definition PxVisualizationParameter.h:217
@ eCONTACT_NORMAL
Visualize contact normals. Will enable contact information.
Definition PxVisualizationParameter.h:142
@ eCULL_BOX
Visualize culling box.
Definition PxVisualizationParameter.h:222
@ eBODY_AXES
Visualize a bodies axes.
Definition PxVisualizationParameter.h:105