RavEngine
Loading...
Searching...
No Matches
PxExtensionAutoGeneratedMetaDataObjects.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 PxExtensionsPropertyInfoName
38 static PxU32ToName g_physx__PxJointActorIndex__EnumConversion[] = {
39 { "eACTOR0", static_cast<PxU32>( physx::PxJointActorIndex::eACTOR0 ) },
40 { "eACTOR1", static_cast<PxU32>( physx::PxJointActorIndex::eACTOR1 ) },
41 { NULL, 0 }
42 };
43
44template<> struct PxEnumTraits< physx::PxJointActorIndex::Enum > { PxEnumTraits() : NameConversion( g_physx__PxJointActorIndex__EnumConversion ) {} const PxU32ToName* NameConversion; };
45 class PxJoint;
47 {
48 PxRigidActor * Actors[2];
49 PxTransform LocalPose[physx::PxJointActorIndex::COUNT];
50 PxTransform RelativeTransform;
51 PxVec3 RelativeLinearVelocity;
52 PxVec3 RelativeAngularVelocity;
53 PxReal BreakForce[2];
54 PxConstraintFlags ConstraintFlags;
55 PxReal InvMassScale0;
56 PxReal InvInertiaScale0;
57 PxReal InvMassScale1;
58 PxReal InvInertiaScale1;
59 PxConstraint * Constraint;
60 const char * Name;
61 PxScene * Scene;
62 void * UserData;
63 PxJointGeneratedValues( const PxJoint* inSource );
64 };
65 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJoint, Actors, PxJointGeneratedValues)
66 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJoint, LocalPose, PxJointGeneratedValues)
67 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJoint, RelativeTransform, PxJointGeneratedValues)
68 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJoint, RelativeLinearVelocity, PxJointGeneratedValues)
69 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJoint, RelativeAngularVelocity, PxJointGeneratedValues)
70 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJoint, BreakForce, PxJointGeneratedValues)
71 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJoint, ConstraintFlags, PxJointGeneratedValues)
72 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJoint, InvMassScale0, PxJointGeneratedValues)
73 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJoint, InvInertiaScale0, PxJointGeneratedValues)
74 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJoint, InvMassScale1, PxJointGeneratedValues)
75 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJoint, InvInertiaScale1, PxJointGeneratedValues)
76 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJoint, Constraint, PxJointGeneratedValues)
77 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJoint, Name, PxJointGeneratedValues)
78 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJoint, Scene, PxJointGeneratedValues)
79 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJoint, UserData, PxJointGeneratedValues)
81
82 {
83 static const char* getClassName() { return "PxJoint"; }
84 PxRangePropertyInfo<PX_PROPERTY_INFO_NAME::PxJoint_Actors, PxJoint, PxRigidActor * > Actors;
85 PxIndexedPropertyInfo<PX_PROPERTY_INFO_NAME::PxJoint_LocalPose, PxJoint, PxJointActorIndex::Enum, PxTransform > LocalPose;
86 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxJoint_RelativeTransform, PxJoint, PxTransform > RelativeTransform;
87 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxJoint_RelativeLinearVelocity, PxJoint, PxVec3 > RelativeLinearVelocity;
88 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxJoint_RelativeAngularVelocity, PxJoint, PxVec3 > RelativeAngularVelocity;
89 PxRangePropertyInfo<PX_PROPERTY_INFO_NAME::PxJoint_BreakForce, PxJoint, PxReal > BreakForce;
90 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxJoint_ConstraintFlags, PxJoint, PxConstraintFlags, PxConstraintFlags > ConstraintFlags;
91 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxJoint_InvMassScale0, PxJoint, PxReal, PxReal > InvMassScale0;
92 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxJoint_InvInertiaScale0, PxJoint, PxReal, PxReal > InvInertiaScale0;
93 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxJoint_InvMassScale1, PxJoint, PxReal, PxReal > InvMassScale1;
94 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxJoint_InvInertiaScale1, PxJoint, PxReal, PxReal > InvInertiaScale1;
95 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxJoint_Constraint, PxJoint, PxConstraint * > Constraint;
96 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxJoint_Name, PxJoint, const char *, const char * > Name;
97 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxJoint_Scene, PxJoint, PxScene * > Scene;
98 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxJoint_UserData, PxJoint, void *, void * > UserData;
99
101 template<typename TReturnType, typename TOperator>
102 TReturnType visitType( TOperator inOperator ) const
103 {
104 return inOperator( reinterpret_cast<PxJoint*>(NULL) );
105 }
106 template<typename TOperator>
107 void visitBases( TOperator inOperator )
108 {
109 PX_UNUSED(inOperator);
110 }
111 template<typename TOperator>
112 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
113 {
114 PX_UNUSED(inOperator);
115 PX_UNUSED(inStartIndex);
116 return inStartIndex;
117 }
118 static PxU32 instancePropertyCount() { return 15; }
119 static PxU32 totalPropertyCount() { return instancePropertyCount(); }
120 template<typename TOperator>
121 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
122 {
123 PX_UNUSED(inOperator);
124 PX_UNUSED(inStartIndex);
125 inOperator( Actors, inStartIndex + 0 );;
126 inOperator( LocalPose, inStartIndex + 1 );;
127 inOperator( RelativeTransform, inStartIndex + 2 );;
128 inOperator( RelativeLinearVelocity, inStartIndex + 3 );;
129 inOperator( RelativeAngularVelocity, inStartIndex + 4 );;
130 inOperator( BreakForce, inStartIndex + 5 );;
131 inOperator( ConstraintFlags, inStartIndex + 6 );;
132 inOperator( InvMassScale0, inStartIndex + 7 );;
133 inOperator( InvInertiaScale0, inStartIndex + 8 );;
134 inOperator( InvMassScale1, inStartIndex + 9 );;
135 inOperator( InvInertiaScale1, inStartIndex + 10 );;
136 inOperator( Constraint, inStartIndex + 11 );;
137 inOperator( Name, inStartIndex + 12 );;
138 inOperator( Scene, inStartIndex + 13 );;
139 inOperator( UserData, inStartIndex + 14 );;
140 return 15 + inStartIndex;
141 }
142 };
143 template<> struct PxClassInfoTraits<PxJoint>
144 {
146 const PxJointGeneratedInfo* getInfo() { return &Info; }
147 };
148
149 class PxRackAndPinionJoint;
152 float Ratio;
153 const char * ConcreteTypeName;
154 PxRackAndPinionJointGeneratedValues( const PxRackAndPinionJoint* inSource );
155 };
156 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRackAndPinionJoint, Ratio, PxRackAndPinionJointGeneratedValues)
157 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRackAndPinionJoint, ConcreteTypeName, PxRackAndPinionJointGeneratedValues)
160 {
161 static const char* getClassName() { return "PxRackAndPinionJoint"; }
162 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxRackAndPinionJoint_Ratio, PxRackAndPinionJoint, float, float > Ratio;
163 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxRackAndPinionJoint_ConcreteTypeName, PxRackAndPinionJoint, const char * > ConcreteTypeName;
164
166 template<typename TReturnType, typename TOperator>
167 TReturnType visitType( TOperator inOperator ) const
168 {
169 return inOperator( reinterpret_cast<PxRackAndPinionJoint*>(NULL) );
170 }
171 template<typename TOperator>
172 void visitBases( TOperator inOperator )
173 {
174 PX_UNUSED(inOperator);
175 inOperator( *static_cast<PxJointGeneratedInfo*>( this ) );
176 }
177 template<typename TOperator>
178 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
179 {
180 PX_UNUSED(inOperator);
181 PX_UNUSED(inStartIndex);
182 inStartIndex = PxJointGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
183 inStartIndex = PxJointGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
184 return inStartIndex;
185 }
186 static PxU32 instancePropertyCount() { return 2; }
187 static PxU32 totalPropertyCount() { return instancePropertyCount()
188 + PxJointGeneratedInfo::totalPropertyCount(); }
189 template<typename TOperator>
190 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
191 {
192 PX_UNUSED(inOperator);
193 PX_UNUSED(inStartIndex);
194 inOperator( Ratio, inStartIndex + 0 );;
195 inOperator( ConcreteTypeName, inStartIndex + 1 );;
196 return 2 + inStartIndex;
197 }
198 };
199 template<> struct PxClassInfoTraits<PxRackAndPinionJoint>
200 {
202 const PxRackAndPinionJointGeneratedInfo* getInfo() { return &Info; }
203 };
204
205 class PxGearJoint;
208 float GearRatio;
209 const char * ConcreteTypeName;
210 PxGearJointGeneratedValues( const PxGearJoint* inSource );
211 };
212 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxGearJoint, GearRatio, PxGearJointGeneratedValues)
213 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxGearJoint, ConcreteTypeName, PxGearJointGeneratedValues)
216 {
217 static const char* getClassName() { return "PxGearJoint"; }
218 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxGearJoint_GearRatio, PxGearJoint, float, float > GearRatio;
219 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxGearJoint_ConcreteTypeName, PxGearJoint, const char * > ConcreteTypeName;
220
222 template<typename TReturnType, typename TOperator>
223 TReturnType visitType( TOperator inOperator ) const
224 {
225 return inOperator( reinterpret_cast<PxGearJoint*>(NULL) );
226 }
227 template<typename TOperator>
228 void visitBases( TOperator inOperator )
229 {
230 PX_UNUSED(inOperator);
231 inOperator( *static_cast<PxJointGeneratedInfo*>( this ) );
232 }
233 template<typename TOperator>
234 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
235 {
236 PX_UNUSED(inOperator);
237 PX_UNUSED(inStartIndex);
238 inStartIndex = PxJointGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
239 inStartIndex = PxJointGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
240 return inStartIndex;
241 }
242 static PxU32 instancePropertyCount() { return 2; }
243 static PxU32 totalPropertyCount() { return instancePropertyCount()
244 + PxJointGeneratedInfo::totalPropertyCount(); }
245 template<typename TOperator>
246 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
247 {
248 PX_UNUSED(inOperator);
249 PX_UNUSED(inStartIndex);
250 inOperator( GearRatio, inStartIndex + 0 );;
251 inOperator( ConcreteTypeName, inStartIndex + 1 );;
252 return 2 + inStartIndex;
253 }
254 };
255 template<> struct PxClassInfoTraits<PxGearJoint>
256 {
258 const PxGearJointGeneratedInfo* getInfo() { return &Info; }
259 };
260
261 static PxU32ToName g_physx__PxD6Axis__EnumConversion[] = {
262 { "eX", static_cast<PxU32>( physx::PxD6Axis::eX ) },
263 { "eY", static_cast<PxU32>( physx::PxD6Axis::eY ) },
264 { "eZ", static_cast<PxU32>( physx::PxD6Axis::eZ ) },
265 { "eTWIST", static_cast<PxU32>( physx::PxD6Axis::eTWIST ) },
266 { "eSWING1", static_cast<PxU32>( physx::PxD6Axis::eSWING1 ) },
267 { "eSWING2", static_cast<PxU32>( physx::PxD6Axis::eSWING2 ) },
268 { NULL, 0 }
269 };
270
271template<> struct PxEnumTraits< physx::PxD6Axis::Enum > { PxEnumTraits() : NameConversion( g_physx__PxD6Axis__EnumConversion ) {} const PxU32ToName* NameConversion; };
272 static PxU32ToName g_physx__PxD6Motion__EnumConversion[] = {
273 { "eLOCKED", static_cast<PxU32>( physx::PxD6Motion::eLOCKED ) },
274 { "eLIMITED", static_cast<PxU32>( physx::PxD6Motion::eLIMITED ) },
275 { "eFREE", static_cast<PxU32>( physx::PxD6Motion::eFREE ) },
276 { NULL, 0 }
277 };
278
279template<> struct PxEnumTraits< physx::PxD6Motion::Enum > { PxEnumTraits() : NameConversion( g_physx__PxD6Motion__EnumConversion ) {} const PxU32ToName* NameConversion; };
280 static PxU32ToName g_physx__PxD6Drive__EnumConversion[] = {
281 { "eX", static_cast<PxU32>( physx::PxD6Drive::eX ) },
282 { "eY", static_cast<PxU32>( physx::PxD6Drive::eY ) },
283 { "eZ", static_cast<PxU32>( physx::PxD6Drive::eZ ) },
284 { "eSWING", static_cast<PxU32>( physx::PxD6Drive::eSWING ) },
285 { "eTWIST", static_cast<PxU32>( physx::PxD6Drive::eTWIST ) },
286 { "eSLERP", static_cast<PxU32>( physx::PxD6Drive::eSLERP ) },
287 { NULL, 0 }
288 };
289
290template<> struct PxEnumTraits< physx::PxD6Drive::Enum > { PxEnumTraits() : NameConversion( g_physx__PxD6Drive__EnumConversion ) {} const PxU32ToName* NameConversion; };
291 class PxD6Joint;
294 PxD6Motion::Enum Motion[physx::PxD6Axis::eCOUNT];
295 PxReal TwistAngle;
296 PxReal Twist;
297 PxReal SwingYAngle;
298 PxReal SwingZAngle;
299 PxJointLinearLimit DistanceLimit;
300 PxJointLinearLimit LinearLimit;
301 PxJointAngularLimitPair TwistLimit;
302 PxJointLimitCone SwingLimit;
303 PxJointLimitPyramid PyramidSwingLimit;
304 PxD6JointDrive Drive[physx::PxD6Drive::eCOUNT];
305 PxTransform DrivePosition;
306 PxReal ProjectionLinearTolerance;
307 PxReal ProjectionAngularTolerance;
308 const char * ConcreteTypeName;
309 PxD6JointGeneratedValues( const PxD6Joint* inSource );
310 };
311 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxD6Joint, Motion, PxD6JointGeneratedValues)
312 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxD6Joint, TwistAngle, PxD6JointGeneratedValues)
313 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxD6Joint, Twist, PxD6JointGeneratedValues)
314 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxD6Joint, SwingYAngle, PxD6JointGeneratedValues)
315 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxD6Joint, SwingZAngle, PxD6JointGeneratedValues)
316 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxD6Joint, DistanceLimit, PxD6JointGeneratedValues)
317 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxD6Joint, LinearLimit, PxD6JointGeneratedValues)
318 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxD6Joint, TwistLimit, PxD6JointGeneratedValues)
319 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxD6Joint, SwingLimit, PxD6JointGeneratedValues)
320 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxD6Joint, PyramidSwingLimit, PxD6JointGeneratedValues)
321 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxD6Joint, Drive, PxD6JointGeneratedValues)
322 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxD6Joint, DrivePosition, PxD6JointGeneratedValues)
323 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxD6Joint, ProjectionLinearTolerance, PxD6JointGeneratedValues)
324 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxD6Joint, ProjectionAngularTolerance, PxD6JointGeneratedValues)
325 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxD6Joint, ConcreteTypeName, PxD6JointGeneratedValues)
328 {
329 static const char* getClassName() { return "PxD6Joint"; }
330 PxIndexedPropertyInfo<PX_PROPERTY_INFO_NAME::PxD6Joint_Motion, PxD6Joint, PxD6Axis::Enum, PxD6Motion::Enum > Motion;
331 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxD6Joint_TwistAngle, PxD6Joint, PxReal > TwistAngle;
332 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxD6Joint_Twist, PxD6Joint, PxReal > Twist;
333 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxD6Joint_SwingYAngle, PxD6Joint, PxReal > SwingYAngle;
334 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxD6Joint_SwingZAngle, PxD6Joint, PxReal > SwingZAngle;
335 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxD6Joint_DistanceLimit, PxD6Joint, const PxJointLinearLimit &, PxJointLinearLimit > DistanceLimit;
336 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxD6Joint_LinearLimit, PxD6Joint, const PxJointLinearLimit &, PxJointLinearLimit > LinearLimit;
337 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxD6Joint_TwistLimit, PxD6Joint, const PxJointAngularLimitPair &, PxJointAngularLimitPair > TwistLimit;
338 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxD6Joint_SwingLimit, PxD6Joint, const PxJointLimitCone &, PxJointLimitCone > SwingLimit;
339 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxD6Joint_PyramidSwingLimit, PxD6Joint, const PxJointLimitPyramid &, PxJointLimitPyramid > PyramidSwingLimit;
340 PxIndexedPropertyInfo<PX_PROPERTY_INFO_NAME::PxD6Joint_Drive, PxD6Joint, PxD6Drive::Enum, PxD6JointDrive > Drive;
341 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxD6Joint_DrivePosition, PxD6Joint, const PxTransform &, PxTransform > DrivePosition;
342 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxD6Joint_ProjectionLinearTolerance, PxD6Joint, PxReal, PxReal > ProjectionLinearTolerance;
343 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxD6Joint_ProjectionAngularTolerance, PxD6Joint, PxReal, PxReal > ProjectionAngularTolerance;
344 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxD6Joint_ConcreteTypeName, PxD6Joint, const char * > ConcreteTypeName;
345
347 template<typename TReturnType, typename TOperator>
348 TReturnType visitType( TOperator inOperator ) const
349 {
350 return inOperator( reinterpret_cast<PxD6Joint*>(NULL) );
351 }
352 template<typename TOperator>
353 void visitBases( TOperator inOperator )
354 {
355 PX_UNUSED(inOperator);
356 inOperator( *static_cast<PxJointGeneratedInfo*>( this ) );
357 }
358 template<typename TOperator>
359 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
360 {
361 PX_UNUSED(inOperator);
362 PX_UNUSED(inStartIndex);
363 inStartIndex = PxJointGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
364 inStartIndex = PxJointGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
365 return inStartIndex;
366 }
367 static PxU32 instancePropertyCount() { return 15; }
368 static PxU32 totalPropertyCount() { return instancePropertyCount()
369 + PxJointGeneratedInfo::totalPropertyCount(); }
370 template<typename TOperator>
371 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
372 {
373 PX_UNUSED(inOperator);
374 PX_UNUSED(inStartIndex);
375 inOperator( Motion, inStartIndex + 0 );;
376 inOperator( TwistAngle, inStartIndex + 1 );;
377 inOperator( Twist, inStartIndex + 2 );;
378 inOperator( SwingYAngle, inStartIndex + 3 );;
379 inOperator( SwingZAngle, inStartIndex + 4 );;
380 inOperator( DistanceLimit, inStartIndex + 5 );;
381 inOperator( LinearLimit, inStartIndex + 6 );;
382 inOperator( TwistLimit, inStartIndex + 7 );;
383 inOperator( SwingLimit, inStartIndex + 8 );;
384 inOperator( PyramidSwingLimit, inStartIndex + 9 );;
385 inOperator( Drive, inStartIndex + 10 );;
386 inOperator( DrivePosition, inStartIndex + 11 );;
387 inOperator( ProjectionLinearTolerance, inStartIndex + 12 );;
388 inOperator( ProjectionAngularTolerance, inStartIndex + 13 );;
389 inOperator( ConcreteTypeName, inStartIndex + 14 );;
390 return 15 + inStartIndex;
391 }
392 };
393 template<> struct PxClassInfoTraits<PxD6Joint>
394 {
396 const PxD6JointGeneratedInfo* getInfo() { return &Info; }
397 };
398
399 static PxU32ToName g_physx__PxDistanceJointFlag__EnumConversion[] = {
400 { "eMAX_DISTANCE_ENABLED", static_cast<PxU32>( physx::PxDistanceJointFlag::eMAX_DISTANCE_ENABLED ) },
401 { "eMIN_DISTANCE_ENABLED", static_cast<PxU32>( physx::PxDistanceJointFlag::eMIN_DISTANCE_ENABLED ) },
402 { "eSPRING_ENABLED", static_cast<PxU32>( physx::PxDistanceJointFlag::eSPRING_ENABLED ) },
403 { NULL, 0 }
404 };
405
406template<> struct PxEnumTraits< physx::PxDistanceJointFlag::Enum > { PxEnumTraits() : NameConversion( g_physx__PxDistanceJointFlag__EnumConversion ) {} const PxU32ToName* NameConversion; };
407 class PxDistanceJoint;
410 PxReal Distance;
411 PxReal MinDistance;
412 PxReal MaxDistance;
413 PxReal Tolerance;
414 PxReal Stiffness;
415 PxReal Damping;
416 PxReal ContactDistance;
417 PxDistanceJointFlags DistanceJointFlags;
418 const char * ConcreteTypeName;
419 PxDistanceJointGeneratedValues( const PxDistanceJoint* inSource );
420 };
421 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxDistanceJoint, Distance, PxDistanceJointGeneratedValues)
422 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxDistanceJoint, MinDistance, PxDistanceJointGeneratedValues)
423 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxDistanceJoint, MaxDistance, PxDistanceJointGeneratedValues)
424 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxDistanceJoint, Tolerance, PxDistanceJointGeneratedValues)
425 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxDistanceJoint, Stiffness, PxDistanceJointGeneratedValues)
426 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxDistanceJoint, Damping, PxDistanceJointGeneratedValues)
427 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxDistanceJoint, ContactDistance, PxDistanceJointGeneratedValues)
428 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxDistanceJoint, DistanceJointFlags, PxDistanceJointGeneratedValues)
429 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxDistanceJoint, ConcreteTypeName, PxDistanceJointGeneratedValues)
432 {
433 static const char* getClassName() { return "PxDistanceJoint"; }
434 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxDistanceJoint_Distance, PxDistanceJoint, PxReal > Distance;
435 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxDistanceJoint_MinDistance, PxDistanceJoint, PxReal, PxReal > MinDistance;
436 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxDistanceJoint_MaxDistance, PxDistanceJoint, PxReal, PxReal > MaxDistance;
437 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxDistanceJoint_Tolerance, PxDistanceJoint, PxReal, PxReal > Tolerance;
438 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxDistanceJoint_Stiffness, PxDistanceJoint, PxReal, PxReal > Stiffness;
439 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxDistanceJoint_Damping, PxDistanceJoint, PxReal, PxReal > Damping;
440 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxDistanceJoint_ContactDistance, PxDistanceJoint, PxReal, PxReal > ContactDistance;
441 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxDistanceJoint_DistanceJointFlags, PxDistanceJoint, PxDistanceJointFlags, PxDistanceJointFlags > DistanceJointFlags;
442 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxDistanceJoint_ConcreteTypeName, PxDistanceJoint, const char * > ConcreteTypeName;
443
445 template<typename TReturnType, typename TOperator>
446 TReturnType visitType( TOperator inOperator ) const
447 {
448 return inOperator( reinterpret_cast<PxDistanceJoint*>(NULL) );
449 }
450 template<typename TOperator>
451 void visitBases( TOperator inOperator )
452 {
453 PX_UNUSED(inOperator);
454 inOperator( *static_cast<PxJointGeneratedInfo*>( this ) );
455 }
456 template<typename TOperator>
457 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
458 {
459 PX_UNUSED(inOperator);
460 PX_UNUSED(inStartIndex);
461 inStartIndex = PxJointGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
462 inStartIndex = PxJointGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
463 return inStartIndex;
464 }
465 static PxU32 instancePropertyCount() { return 9; }
466 static PxU32 totalPropertyCount() { return instancePropertyCount()
467 + PxJointGeneratedInfo::totalPropertyCount(); }
468 template<typename TOperator>
469 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
470 {
471 PX_UNUSED(inOperator);
472 PX_UNUSED(inStartIndex);
473 inOperator( Distance, inStartIndex + 0 );;
474 inOperator( MinDistance, inStartIndex + 1 );;
475 inOperator( MaxDistance, inStartIndex + 2 );;
476 inOperator( Tolerance, inStartIndex + 3 );;
477 inOperator( Stiffness, inStartIndex + 4 );;
478 inOperator( Damping, inStartIndex + 5 );;
479 inOperator( ContactDistance, inStartIndex + 6 );;
480 inOperator( DistanceJointFlags, inStartIndex + 7 );;
481 inOperator( ConcreteTypeName, inStartIndex + 8 );;
482 return 9 + inStartIndex;
483 }
484 };
485 template<> struct PxClassInfoTraits<PxDistanceJoint>
486 {
488 const PxDistanceJointGeneratedInfo* getInfo() { return &Info; }
489 };
490
491 class PxContactJoint;
494 PxVec3 Contact;
495 PxVec3 ContactNormal;
496 PxReal Penetration;
497 PxReal Restitution;
498 PxReal BounceThreshold;
499 const char * ConcreteTypeName;
500 PxContactJointGeneratedValues( const PxContactJoint* inSource );
501 };
502 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxContactJoint, Contact, PxContactJointGeneratedValues)
503 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxContactJoint, ContactNormal, PxContactJointGeneratedValues)
504 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxContactJoint, Penetration, PxContactJointGeneratedValues)
505 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxContactJoint, Restitution, PxContactJointGeneratedValues)
506 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxContactJoint, BounceThreshold, PxContactJointGeneratedValues)
507 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxContactJoint, ConcreteTypeName, PxContactJointGeneratedValues)
510 {
511 static const char* getClassName() { return "PxContactJoint"; }
512 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxContactJoint_Contact, PxContactJoint, const PxVec3 &, PxVec3 > Contact;
513 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxContactJoint_ContactNormal, PxContactJoint, const PxVec3 &, PxVec3 > ContactNormal;
514 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxContactJoint_Penetration, PxContactJoint, const PxReal, PxReal > Penetration;
515 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxContactJoint_Restitution, PxContactJoint, const PxReal, PxReal > Restitution;
516 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxContactJoint_BounceThreshold, PxContactJoint, const PxReal, PxReal > BounceThreshold;
517 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxContactJoint_ConcreteTypeName, PxContactJoint, const char * > ConcreteTypeName;
518
520 template<typename TReturnType, typename TOperator>
521 TReturnType visitType( TOperator inOperator ) const
522 {
523 return inOperator( reinterpret_cast<PxContactJoint*>(NULL) );
524 }
525 template<typename TOperator>
526 void visitBases( TOperator inOperator )
527 {
528 PX_UNUSED(inOperator);
529 inOperator( *static_cast<PxJointGeneratedInfo*>( this ) );
530 }
531 template<typename TOperator>
532 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
533 {
534 PX_UNUSED(inOperator);
535 PX_UNUSED(inStartIndex);
536 inStartIndex = PxJointGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
537 inStartIndex = PxJointGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
538 return inStartIndex;
539 }
540 static PxU32 instancePropertyCount() { return 6; }
541 static PxU32 totalPropertyCount() { return instancePropertyCount()
542 + PxJointGeneratedInfo::totalPropertyCount(); }
543 template<typename TOperator>
544 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
545 {
546 PX_UNUSED(inOperator);
547 PX_UNUSED(inStartIndex);
548 inOperator( Contact, inStartIndex + 0 );;
549 inOperator( ContactNormal, inStartIndex + 1 );;
550 inOperator( Penetration, inStartIndex + 2 );;
551 inOperator( Restitution, inStartIndex + 3 );;
552 inOperator( BounceThreshold, inStartIndex + 4 );;
553 inOperator( ConcreteTypeName, inStartIndex + 5 );;
554 return 6 + inStartIndex;
555 }
556 };
557 template<> struct PxClassInfoTraits<PxContactJoint>
558 {
560 const PxContactJointGeneratedInfo* getInfo() { return &Info; }
561 };
562
563 class PxFixedJoint;
566 PxReal ProjectionLinearTolerance;
567 PxReal ProjectionAngularTolerance;
568 const char * ConcreteTypeName;
569 PxFixedJointGeneratedValues( const PxFixedJoint* inSource );
570 };
571 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxFixedJoint, ProjectionLinearTolerance, PxFixedJointGeneratedValues)
572 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxFixedJoint, ProjectionAngularTolerance, PxFixedJointGeneratedValues)
573 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxFixedJoint, ConcreteTypeName, PxFixedJointGeneratedValues)
576 {
577 static const char* getClassName() { return "PxFixedJoint"; }
578 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxFixedJoint_ProjectionLinearTolerance, PxFixedJoint, PxReal, PxReal > ProjectionLinearTolerance;
579 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxFixedJoint_ProjectionAngularTolerance, PxFixedJoint, PxReal, PxReal > ProjectionAngularTolerance;
580 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxFixedJoint_ConcreteTypeName, PxFixedJoint, const char * > ConcreteTypeName;
581
583 template<typename TReturnType, typename TOperator>
584 TReturnType visitType( TOperator inOperator ) const
585 {
586 return inOperator( reinterpret_cast<PxFixedJoint*>(NULL) );
587 }
588 template<typename TOperator>
589 void visitBases( TOperator inOperator )
590 {
591 PX_UNUSED(inOperator);
592 inOperator( *static_cast<PxJointGeneratedInfo*>( this ) );
593 }
594 template<typename TOperator>
595 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
596 {
597 PX_UNUSED(inOperator);
598 PX_UNUSED(inStartIndex);
599 inStartIndex = PxJointGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
600 inStartIndex = PxJointGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
601 return inStartIndex;
602 }
603 static PxU32 instancePropertyCount() { return 3; }
604 static PxU32 totalPropertyCount() { return instancePropertyCount()
605 + PxJointGeneratedInfo::totalPropertyCount(); }
606 template<typename TOperator>
607 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
608 {
609 PX_UNUSED(inOperator);
610 PX_UNUSED(inStartIndex);
611 inOperator( ProjectionLinearTolerance, inStartIndex + 0 );;
612 inOperator( ProjectionAngularTolerance, inStartIndex + 1 );;
613 inOperator( ConcreteTypeName, inStartIndex + 2 );;
614 return 3 + inStartIndex;
615 }
616 };
617 template<> struct PxClassInfoTraits<PxFixedJoint>
618 {
620 const PxFixedJointGeneratedInfo* getInfo() { return &Info; }
621 };
622
623 static PxU32ToName g_physx__PxPrismaticJointFlag__EnumConversion[] = {
624 { "eLIMIT_ENABLED", static_cast<PxU32>( physx::PxPrismaticJointFlag::eLIMIT_ENABLED ) },
625 { NULL, 0 }
626 };
627
628template<> struct PxEnumTraits< physx::PxPrismaticJointFlag::Enum > { PxEnumTraits() : NameConversion( g_physx__PxPrismaticJointFlag__EnumConversion ) {} const PxU32ToName* NameConversion; };
629 class PxPrismaticJoint;
632 PxReal Position;
633 PxReal Velocity;
634 PxJointLinearLimitPair Limit;
635 PxPrismaticJointFlags PrismaticJointFlags;
636 PxReal ProjectionLinearTolerance;
637 PxReal ProjectionAngularTolerance;
638 const char * ConcreteTypeName;
639 PxPrismaticJointGeneratedValues( const PxPrismaticJoint* inSource );
640 };
641 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxPrismaticJoint, Position, PxPrismaticJointGeneratedValues)
642 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxPrismaticJoint, Velocity, PxPrismaticJointGeneratedValues)
643 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxPrismaticJoint, Limit, PxPrismaticJointGeneratedValues)
644 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxPrismaticJoint, PrismaticJointFlags, PxPrismaticJointGeneratedValues)
645 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxPrismaticJoint, ProjectionLinearTolerance, PxPrismaticJointGeneratedValues)
646 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxPrismaticJoint, ProjectionAngularTolerance, PxPrismaticJointGeneratedValues)
647 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxPrismaticJoint, ConcreteTypeName, PxPrismaticJointGeneratedValues)
650 {
651 static const char* getClassName() { return "PxPrismaticJoint"; }
652 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxPrismaticJoint_Position, PxPrismaticJoint, PxReal > Position;
653 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxPrismaticJoint_Velocity, PxPrismaticJoint, PxReal > Velocity;
654 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxPrismaticJoint_Limit, PxPrismaticJoint, const PxJointLinearLimitPair &, PxJointLinearLimitPair > Limit;
655 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxPrismaticJoint_PrismaticJointFlags, PxPrismaticJoint, PxPrismaticJointFlags, PxPrismaticJointFlags > PrismaticJointFlags;
656 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxPrismaticJoint_ProjectionLinearTolerance, PxPrismaticJoint, PxReal, PxReal > ProjectionLinearTolerance;
657 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxPrismaticJoint_ProjectionAngularTolerance, PxPrismaticJoint, PxReal, PxReal > ProjectionAngularTolerance;
658 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxPrismaticJoint_ConcreteTypeName, PxPrismaticJoint, const char * > ConcreteTypeName;
659
661 template<typename TReturnType, typename TOperator>
662 TReturnType visitType( TOperator inOperator ) const
663 {
664 return inOperator( reinterpret_cast<PxPrismaticJoint*>(NULL) );
665 }
666 template<typename TOperator>
667 void visitBases( TOperator inOperator )
668 {
669 PX_UNUSED(inOperator);
670 inOperator( *static_cast<PxJointGeneratedInfo*>( this ) );
671 }
672 template<typename TOperator>
673 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
674 {
675 PX_UNUSED(inOperator);
676 PX_UNUSED(inStartIndex);
677 inStartIndex = PxJointGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
678 inStartIndex = PxJointGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
679 return inStartIndex;
680 }
681 static PxU32 instancePropertyCount() { return 7; }
682 static PxU32 totalPropertyCount() { return instancePropertyCount()
683 + PxJointGeneratedInfo::totalPropertyCount(); }
684 template<typename TOperator>
685 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
686 {
687 PX_UNUSED(inOperator);
688 PX_UNUSED(inStartIndex);
689 inOperator( Position, inStartIndex + 0 );;
690 inOperator( Velocity, inStartIndex + 1 );;
691 inOperator( Limit, inStartIndex + 2 );;
692 inOperator( PrismaticJointFlags, inStartIndex + 3 );;
693 inOperator( ProjectionLinearTolerance, inStartIndex + 4 );;
694 inOperator( ProjectionAngularTolerance, inStartIndex + 5 );;
695 inOperator( ConcreteTypeName, inStartIndex + 6 );;
696 return 7 + inStartIndex;
697 }
698 };
699 template<> struct PxClassInfoTraits<PxPrismaticJoint>
700 {
702 const PxPrismaticJointGeneratedInfo* getInfo() { return &Info; }
703 };
704
705 static PxU32ToName g_physx__PxRevoluteJointFlag__EnumConversion[] = {
706 { "eLIMIT_ENABLED", static_cast<PxU32>( physx::PxRevoluteJointFlag::eLIMIT_ENABLED ) },
707 { "eDRIVE_ENABLED", static_cast<PxU32>( physx::PxRevoluteJointFlag::eDRIVE_ENABLED ) },
708 { "eDRIVE_FREESPIN", static_cast<PxU32>( physx::PxRevoluteJointFlag::eDRIVE_FREESPIN ) },
709 { NULL, 0 }
710 };
711
712template<> struct PxEnumTraits< physx::PxRevoluteJointFlag::Enum > { PxEnumTraits() : NameConversion( g_physx__PxRevoluteJointFlag__EnumConversion ) {} const PxU32ToName* NameConversion; };
713 class PxRevoluteJoint;
716 PxReal Angle;
717 PxReal Velocity;
718 PxJointAngularLimitPair Limit;
719 PxReal DriveVelocity;
720 PxReal DriveForceLimit;
721 PxReal DriveGearRatio;
722 PxRevoluteJointFlags RevoluteJointFlags;
723 PxReal ProjectionLinearTolerance;
724 PxReal ProjectionAngularTolerance;
725 const char * ConcreteTypeName;
726 PxRevoluteJointGeneratedValues( const PxRevoluteJoint* inSource );
727 };
728 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRevoluteJoint, Angle, PxRevoluteJointGeneratedValues)
729 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRevoluteJoint, Velocity, PxRevoluteJointGeneratedValues)
730 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRevoluteJoint, Limit, PxRevoluteJointGeneratedValues)
731 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRevoluteJoint, DriveVelocity, PxRevoluteJointGeneratedValues)
732 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRevoluteJoint, DriveForceLimit, PxRevoluteJointGeneratedValues)
733 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRevoluteJoint, DriveGearRatio, PxRevoluteJointGeneratedValues)
734 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRevoluteJoint, RevoluteJointFlags, PxRevoluteJointGeneratedValues)
735 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRevoluteJoint, ProjectionLinearTolerance, PxRevoluteJointGeneratedValues)
736 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRevoluteJoint, ProjectionAngularTolerance, PxRevoluteJointGeneratedValues)
737 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRevoluteJoint, ConcreteTypeName, PxRevoluteJointGeneratedValues)
740 {
741 static const char* getClassName() { return "PxRevoluteJoint"; }
742 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxRevoluteJoint_Angle, PxRevoluteJoint, PxReal > Angle;
743 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxRevoluteJoint_Velocity, PxRevoluteJoint, PxReal > Velocity;
744 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxRevoluteJoint_Limit, PxRevoluteJoint, const PxJointAngularLimitPair &, PxJointAngularLimitPair > Limit;
745 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxRevoluteJoint_DriveVelocity, PxRevoluteJoint, PxReal, PxReal > DriveVelocity;
746 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxRevoluteJoint_DriveForceLimit, PxRevoluteJoint, PxReal, PxReal > DriveForceLimit;
747 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxRevoluteJoint_DriveGearRatio, PxRevoluteJoint, PxReal, PxReal > DriveGearRatio;
748 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxRevoluteJoint_RevoluteJointFlags, PxRevoluteJoint, PxRevoluteJointFlags, PxRevoluteJointFlags > RevoluteJointFlags;
749 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxRevoluteJoint_ProjectionLinearTolerance, PxRevoluteJoint, PxReal, PxReal > ProjectionLinearTolerance;
750 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxRevoluteJoint_ProjectionAngularTolerance, PxRevoluteJoint, PxReal, PxReal > ProjectionAngularTolerance;
751 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxRevoluteJoint_ConcreteTypeName, PxRevoluteJoint, const char * > ConcreteTypeName;
752
754 template<typename TReturnType, typename TOperator>
755 TReturnType visitType( TOperator inOperator ) const
756 {
757 return inOperator( reinterpret_cast<PxRevoluteJoint*>(NULL) );
758 }
759 template<typename TOperator>
760 void visitBases( TOperator inOperator )
761 {
762 PX_UNUSED(inOperator);
763 inOperator( *static_cast<PxJointGeneratedInfo*>( this ) );
764 }
765 template<typename TOperator>
766 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
767 {
768 PX_UNUSED(inOperator);
769 PX_UNUSED(inStartIndex);
770 inStartIndex = PxJointGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
771 inStartIndex = PxJointGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
772 return inStartIndex;
773 }
774 static PxU32 instancePropertyCount() { return 10; }
775 static PxU32 totalPropertyCount() { return instancePropertyCount()
776 + PxJointGeneratedInfo::totalPropertyCount(); }
777 template<typename TOperator>
778 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
779 {
780 PX_UNUSED(inOperator);
781 PX_UNUSED(inStartIndex);
782 inOperator( Angle, inStartIndex + 0 );;
783 inOperator( Velocity, inStartIndex + 1 );;
784 inOperator( Limit, inStartIndex + 2 );;
785 inOperator( DriveVelocity, inStartIndex + 3 );;
786 inOperator( DriveForceLimit, inStartIndex + 4 );;
787 inOperator( DriveGearRatio, inStartIndex + 5 );;
788 inOperator( RevoluteJointFlags, inStartIndex + 6 );;
789 inOperator( ProjectionLinearTolerance, inStartIndex + 7 );;
790 inOperator( ProjectionAngularTolerance, inStartIndex + 8 );;
791 inOperator( ConcreteTypeName, inStartIndex + 9 );;
792 return 10 + inStartIndex;
793 }
794 };
795 template<> struct PxClassInfoTraits<PxRevoluteJoint>
796 {
798 const PxRevoluteJointGeneratedInfo* getInfo() { return &Info; }
799 };
800
801 static PxU32ToName g_physx__PxSphericalJointFlag__EnumConversion[] = {
802 { "eLIMIT_ENABLED", static_cast<PxU32>( physx::PxSphericalJointFlag::eLIMIT_ENABLED ) },
803 { NULL, 0 }
804 };
805
806template<> struct PxEnumTraits< physx::PxSphericalJointFlag::Enum > { PxEnumTraits() : NameConversion( g_physx__PxSphericalJointFlag__EnumConversion ) {} const PxU32ToName* NameConversion; };
807 class PxSphericalJoint;
810 PxJointLimitCone LimitCone;
811 PxReal SwingYAngle;
812 PxReal SwingZAngle;
813 PxSphericalJointFlags SphericalJointFlags;
814 PxReal ProjectionLinearTolerance;
815 const char * ConcreteTypeName;
816 PxSphericalJointGeneratedValues( const PxSphericalJoint* inSource );
817 };
818 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSphericalJoint, LimitCone, PxSphericalJointGeneratedValues)
819 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSphericalJoint, SwingYAngle, PxSphericalJointGeneratedValues)
820 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSphericalJoint, SwingZAngle, PxSphericalJointGeneratedValues)
821 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSphericalJoint, SphericalJointFlags, PxSphericalJointGeneratedValues)
822 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSphericalJoint, ProjectionLinearTolerance, PxSphericalJointGeneratedValues)
823 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSphericalJoint, ConcreteTypeName, PxSphericalJointGeneratedValues)
826 {
827 static const char* getClassName() { return "PxSphericalJoint"; }
828 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSphericalJoint_LimitCone, PxSphericalJoint, const PxJointLimitCone &, PxJointLimitCone > LimitCone;
829 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxSphericalJoint_SwingYAngle, PxSphericalJoint, PxReal > SwingYAngle;
830 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxSphericalJoint_SwingZAngle, PxSphericalJoint, PxReal > SwingZAngle;
831 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSphericalJoint_SphericalJointFlags, PxSphericalJoint, PxSphericalJointFlags, PxSphericalJointFlags > SphericalJointFlags;
832 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSphericalJoint_ProjectionLinearTolerance, PxSphericalJoint, PxReal, PxReal > ProjectionLinearTolerance;
833 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxSphericalJoint_ConcreteTypeName, PxSphericalJoint, const char * > ConcreteTypeName;
834
836 template<typename TReturnType, typename TOperator>
837 TReturnType visitType( TOperator inOperator ) const
838 {
839 return inOperator( reinterpret_cast<PxSphericalJoint*>(NULL) );
840 }
841 template<typename TOperator>
842 void visitBases( TOperator inOperator )
843 {
844 PX_UNUSED(inOperator);
845 inOperator( *static_cast<PxJointGeneratedInfo*>( this ) );
846 }
847 template<typename TOperator>
848 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
849 {
850 PX_UNUSED(inOperator);
851 PX_UNUSED(inStartIndex);
852 inStartIndex = PxJointGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
853 inStartIndex = PxJointGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
854 return inStartIndex;
855 }
856 static PxU32 instancePropertyCount() { return 6; }
857 static PxU32 totalPropertyCount() { return instancePropertyCount()
858 + PxJointGeneratedInfo::totalPropertyCount(); }
859 template<typename TOperator>
860 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
861 {
862 PX_UNUSED(inOperator);
863 PX_UNUSED(inStartIndex);
864 inOperator( LimitCone, inStartIndex + 0 );;
865 inOperator( SwingYAngle, inStartIndex + 1 );;
866 inOperator( SwingZAngle, inStartIndex + 2 );;
867 inOperator( SphericalJointFlags, inStartIndex + 3 );;
868 inOperator( ProjectionLinearTolerance, inStartIndex + 4 );;
869 inOperator( ConcreteTypeName, inStartIndex + 5 );;
870 return 6 + inStartIndex;
871 }
872 };
873 template<> struct PxClassInfoTraits<PxSphericalJoint>
874 {
876 const PxSphericalJointGeneratedInfo* getInfo() { return &Info; }
877 };
878
879 class PxJointLimitParameters;
881 {
882 PxReal Restitution;
883 PxReal BounceThreshold;
884 PxReal Stiffness;
885 PxReal Damping;
886 PxReal ContactDistance_deprecated;
887 PxJointLimitParametersGeneratedValues( const PxJointLimitParameters* inSource );
888 };
889 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJointLimitParameters, Restitution, PxJointLimitParametersGeneratedValues)
890 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJointLimitParameters, BounceThreshold, PxJointLimitParametersGeneratedValues)
891 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJointLimitParameters, Stiffness, PxJointLimitParametersGeneratedValues)
892 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJointLimitParameters, Damping, PxJointLimitParametersGeneratedValues)
893 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJointLimitParameters, ContactDistance_deprecated, PxJointLimitParametersGeneratedValues)
895
896 {
897 static const char* getClassName() { return "PxJointLimitParameters"; }
898 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxJointLimitParameters_Restitution, PxJointLimitParameters, PxReal, PxReal > Restitution;
899 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxJointLimitParameters_BounceThreshold, PxJointLimitParameters, PxReal, PxReal > BounceThreshold;
900 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxJointLimitParameters_Stiffness, PxJointLimitParameters, PxReal, PxReal > Stiffness;
901 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxJointLimitParameters_Damping, PxJointLimitParameters, PxReal, PxReal > Damping;
902 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxJointLimitParameters_ContactDistance_deprecated, PxJointLimitParameters, PxReal, PxReal > ContactDistance_deprecated;
903
905 template<typename TReturnType, typename TOperator>
906 TReturnType visitType( TOperator inOperator ) const
907 {
908 return inOperator( reinterpret_cast<PxJointLimitParameters*>(NULL) );
909 }
910 template<typename TOperator>
911 void visitBases( TOperator inOperator )
912 {
913 PX_UNUSED(inOperator);
914 }
915 template<typename TOperator>
916 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
917 {
918 PX_UNUSED(inOperator);
919 PX_UNUSED(inStartIndex);
920 return inStartIndex;
921 }
922 static PxU32 instancePropertyCount() { return 5; }
923 static PxU32 totalPropertyCount() { return instancePropertyCount(); }
924 template<typename TOperator>
925 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
926 {
927 PX_UNUSED(inOperator);
928 PX_UNUSED(inStartIndex);
929 inOperator( Restitution, inStartIndex + 0 );;
930 inOperator( BounceThreshold, inStartIndex + 1 );;
931 inOperator( Stiffness, inStartIndex + 2 );;
932 inOperator( Damping, inStartIndex + 3 );;
933 inOperator( ContactDistance_deprecated, inStartIndex + 4 );;
934 return 5 + inStartIndex;
935 }
936 };
937 template<> struct PxClassInfoTraits<PxJointLimitParameters>
938 {
940 const PxJointLimitParametersGeneratedInfo* getInfo() { return &Info; }
941 };
942
943 class PxJointLinearLimit;
946 PxReal Value;
947 PxJointLinearLimitGeneratedValues( const PxJointLinearLimit* inSource );
948 };
949 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJointLinearLimit, Value, PxJointLinearLimitGeneratedValues)
952 {
953 static const char* getClassName() { return "PxJointLinearLimit"; }
954 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxJointLinearLimit_Value, PxJointLinearLimit, PxReal, PxReal > Value;
955
957 template<typename TReturnType, typename TOperator>
958 TReturnType visitType( TOperator inOperator ) const
959 {
960 return inOperator( reinterpret_cast<PxJointLinearLimit*>(NULL) );
961 }
962 template<typename TOperator>
963 void visitBases( TOperator inOperator )
964 {
965 PX_UNUSED(inOperator);
966 inOperator( *static_cast<PxJointLimitParametersGeneratedInfo*>( this ) );
967 }
968 template<typename TOperator>
969 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
970 {
971 PX_UNUSED(inOperator);
972 PX_UNUSED(inStartIndex);
973 inStartIndex = PxJointLimitParametersGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
974 inStartIndex = PxJointLimitParametersGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
975 return inStartIndex;
976 }
977 static PxU32 instancePropertyCount() { return 1; }
978 static PxU32 totalPropertyCount() { return instancePropertyCount()
979 + PxJointLimitParametersGeneratedInfo::totalPropertyCount(); }
980 template<typename TOperator>
981 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
982 {
983 PX_UNUSED(inOperator);
984 PX_UNUSED(inStartIndex);
985 inOperator( Value, inStartIndex + 0 );;
986 return 1 + inStartIndex;
987 }
988 };
989 template<> struct PxClassInfoTraits<PxJointLinearLimit>
990 {
992 const PxJointLinearLimitGeneratedInfo* getInfo() { return &Info; }
993 };
994
995 class PxJointLinearLimitPair;
998 PxReal Upper;
999 PxReal Lower;
1000 PxJointLinearLimitPairGeneratedValues( const PxJointLinearLimitPair* inSource );
1001 };
1002 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJointLinearLimitPair, Upper, PxJointLinearLimitPairGeneratedValues)
1003 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJointLinearLimitPair, Lower, PxJointLinearLimitPairGeneratedValues)
1006 {
1007 static const char* getClassName() { return "PxJointLinearLimitPair"; }
1008 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxJointLinearLimitPair_Upper, PxJointLinearLimitPair, PxReal, PxReal > Upper;
1009 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxJointLinearLimitPair_Lower, PxJointLinearLimitPair, PxReal, PxReal > Lower;
1010
1012 template<typename TReturnType, typename TOperator>
1013 TReturnType visitType( TOperator inOperator ) const
1014 {
1015 return inOperator( reinterpret_cast<PxJointLinearLimitPair*>(NULL) );
1016 }
1017 template<typename TOperator>
1018 void visitBases( TOperator inOperator )
1019 {
1020 PX_UNUSED(inOperator);
1021 inOperator( *static_cast<PxJointLimitParametersGeneratedInfo*>( this ) );
1022 }
1023 template<typename TOperator>
1024 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1025 {
1026 PX_UNUSED(inOperator);
1027 PX_UNUSED(inStartIndex);
1028 inStartIndex = PxJointLimitParametersGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
1029 inStartIndex = PxJointLimitParametersGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
1030 return inStartIndex;
1031 }
1032 static PxU32 instancePropertyCount() { return 2; }
1033 static PxU32 totalPropertyCount() { return instancePropertyCount()
1034 + PxJointLimitParametersGeneratedInfo::totalPropertyCount(); }
1035 template<typename TOperator>
1036 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1037 {
1038 PX_UNUSED(inOperator);
1039 PX_UNUSED(inStartIndex);
1040 inOperator( Upper, inStartIndex + 0 );;
1041 inOperator( Lower, inStartIndex + 1 );;
1042 return 2 + inStartIndex;
1043 }
1044 };
1045 template<> struct PxClassInfoTraits<PxJointLinearLimitPair>
1046 {
1048 const PxJointLinearLimitPairGeneratedInfo* getInfo() { return &Info; }
1049 };
1050
1051 class PxJointAngularLimitPair;
1054 PxReal Upper;
1055 PxReal Lower;
1056 PxJointAngularLimitPairGeneratedValues( const PxJointAngularLimitPair* inSource );
1057 };
1058 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJointAngularLimitPair, Upper, PxJointAngularLimitPairGeneratedValues)
1059 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJointAngularLimitPair, Lower, PxJointAngularLimitPairGeneratedValues)
1062 {
1063 static const char* getClassName() { return "PxJointAngularLimitPair"; }
1064 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxJointAngularLimitPair_Upper, PxJointAngularLimitPair, PxReal, PxReal > Upper;
1065 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxJointAngularLimitPair_Lower, PxJointAngularLimitPair, PxReal, PxReal > Lower;
1066
1068 template<typename TReturnType, typename TOperator>
1069 TReturnType visitType( TOperator inOperator ) const
1070 {
1071 return inOperator( reinterpret_cast<PxJointAngularLimitPair*>(NULL) );
1072 }
1073 template<typename TOperator>
1074 void visitBases( TOperator inOperator )
1075 {
1076 PX_UNUSED(inOperator);
1077 inOperator( *static_cast<PxJointLimitParametersGeneratedInfo*>( this ) );
1078 }
1079 template<typename TOperator>
1080 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1081 {
1082 PX_UNUSED(inOperator);
1083 PX_UNUSED(inStartIndex);
1084 inStartIndex = PxJointLimitParametersGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
1085 inStartIndex = PxJointLimitParametersGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
1086 return inStartIndex;
1087 }
1088 static PxU32 instancePropertyCount() { return 2; }
1089 static PxU32 totalPropertyCount() { return instancePropertyCount()
1090 + PxJointLimitParametersGeneratedInfo::totalPropertyCount(); }
1091 template<typename TOperator>
1092 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1093 {
1094 PX_UNUSED(inOperator);
1095 PX_UNUSED(inStartIndex);
1096 inOperator( Upper, inStartIndex + 0 );;
1097 inOperator( Lower, inStartIndex + 1 );;
1098 return 2 + inStartIndex;
1099 }
1100 };
1101 template<> struct PxClassInfoTraits<PxJointAngularLimitPair>
1102 {
1104 const PxJointAngularLimitPairGeneratedInfo* getInfo() { return &Info; }
1105 };
1106
1107 class PxJointLimitCone;
1110 PxReal YAngle;
1111 PxReal ZAngle;
1112 PxJointLimitConeGeneratedValues( const PxJointLimitCone* inSource );
1113 };
1114 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJointLimitCone, YAngle, PxJointLimitConeGeneratedValues)
1115 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJointLimitCone, ZAngle, PxJointLimitConeGeneratedValues)
1118 {
1119 static const char* getClassName() { return "PxJointLimitCone"; }
1120 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxJointLimitCone_YAngle, PxJointLimitCone, PxReal, PxReal > YAngle;
1121 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxJointLimitCone_ZAngle, PxJointLimitCone, PxReal, PxReal > ZAngle;
1122
1124 template<typename TReturnType, typename TOperator>
1125 TReturnType visitType( TOperator inOperator ) const
1126 {
1127 return inOperator( reinterpret_cast<PxJointLimitCone*>(NULL) );
1128 }
1129 template<typename TOperator>
1130 void visitBases( TOperator inOperator )
1131 {
1132 PX_UNUSED(inOperator);
1133 inOperator( *static_cast<PxJointLimitParametersGeneratedInfo*>( this ) );
1134 }
1135 template<typename TOperator>
1136 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1137 {
1138 PX_UNUSED(inOperator);
1139 PX_UNUSED(inStartIndex);
1140 inStartIndex = PxJointLimitParametersGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
1141 inStartIndex = PxJointLimitParametersGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
1142 return inStartIndex;
1143 }
1144 static PxU32 instancePropertyCount() { return 2; }
1145 static PxU32 totalPropertyCount() { return instancePropertyCount()
1146 + PxJointLimitParametersGeneratedInfo::totalPropertyCount(); }
1147 template<typename TOperator>
1148 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1149 {
1150 PX_UNUSED(inOperator);
1151 PX_UNUSED(inStartIndex);
1152 inOperator( YAngle, inStartIndex + 0 );;
1153 inOperator( ZAngle, inStartIndex + 1 );;
1154 return 2 + inStartIndex;
1155 }
1156 };
1157 template<> struct PxClassInfoTraits<PxJointLimitCone>
1158 {
1160 const PxJointLimitConeGeneratedInfo* getInfo() { return &Info; }
1161 };
1162
1163 class PxJointLimitPyramid;
1166 PxReal YAngleMin;
1167 PxReal YAngleMax;
1168 PxReal ZAngleMin;
1169 PxReal ZAngleMax;
1170 PxJointLimitPyramidGeneratedValues( const PxJointLimitPyramid* inSource );
1171 };
1172 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJointLimitPyramid, YAngleMin, PxJointLimitPyramidGeneratedValues)
1173 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJointLimitPyramid, YAngleMax, PxJointLimitPyramidGeneratedValues)
1174 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJointLimitPyramid, ZAngleMin, PxJointLimitPyramidGeneratedValues)
1175 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJointLimitPyramid, ZAngleMax, PxJointLimitPyramidGeneratedValues)
1178 {
1179 static const char* getClassName() { return "PxJointLimitPyramid"; }
1180 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxJointLimitPyramid_YAngleMin, PxJointLimitPyramid, PxReal, PxReal > YAngleMin;
1181 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxJointLimitPyramid_YAngleMax, PxJointLimitPyramid, PxReal, PxReal > YAngleMax;
1182 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxJointLimitPyramid_ZAngleMin, PxJointLimitPyramid, PxReal, PxReal > ZAngleMin;
1183 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxJointLimitPyramid_ZAngleMax, PxJointLimitPyramid, PxReal, PxReal > ZAngleMax;
1184
1186 template<typename TReturnType, typename TOperator>
1187 TReturnType visitType( TOperator inOperator ) const
1188 {
1189 return inOperator( reinterpret_cast<PxJointLimitPyramid*>(NULL) );
1190 }
1191 template<typename TOperator>
1192 void visitBases( TOperator inOperator )
1193 {
1194 PX_UNUSED(inOperator);
1195 inOperator( *static_cast<PxJointLimitParametersGeneratedInfo*>( this ) );
1196 }
1197 template<typename TOperator>
1198 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1199 {
1200 PX_UNUSED(inOperator);
1201 PX_UNUSED(inStartIndex);
1202 inStartIndex = PxJointLimitParametersGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
1203 inStartIndex = PxJointLimitParametersGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
1204 return inStartIndex;
1205 }
1206 static PxU32 instancePropertyCount() { return 4; }
1207 static PxU32 totalPropertyCount() { return instancePropertyCount()
1208 + PxJointLimitParametersGeneratedInfo::totalPropertyCount(); }
1209 template<typename TOperator>
1210 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1211 {
1212 PX_UNUSED(inOperator);
1213 PX_UNUSED(inStartIndex);
1214 inOperator( YAngleMin, inStartIndex + 0 );;
1215 inOperator( YAngleMax, inStartIndex + 1 );;
1216 inOperator( ZAngleMin, inStartIndex + 2 );;
1217 inOperator( ZAngleMax, inStartIndex + 3 );;
1218 return 4 + inStartIndex;
1219 }
1220 };
1221 template<> struct PxClassInfoTraits<PxJointLimitPyramid>
1222 {
1224 const PxJointLimitPyramidGeneratedInfo* getInfo() { return &Info; }
1225 };
1226
1227 class PxSpring;
1229 {
1230 PxReal Stiffness;
1231 PxReal Damping;
1232 PxSpringGeneratedValues( const PxSpring* inSource );
1233 };
1234 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSpring, Stiffness, PxSpringGeneratedValues)
1235 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSpring, Damping, PxSpringGeneratedValues)
1237
1238 {
1239 static const char* getClassName() { return "PxSpring"; }
1240 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSpring_Stiffness, PxSpring, PxReal, PxReal > Stiffness;
1241 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSpring_Damping, PxSpring, PxReal, PxReal > Damping;
1242
1244 template<typename TReturnType, typename TOperator>
1245 TReturnType visitType( TOperator inOperator ) const
1246 {
1247 return inOperator( reinterpret_cast<PxSpring*>(NULL) );
1248 }
1249 template<typename TOperator>
1250 void visitBases( TOperator inOperator )
1251 {
1252 PX_UNUSED(inOperator);
1253 }
1254 template<typename TOperator>
1255 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1256 {
1257 PX_UNUSED(inOperator);
1258 PX_UNUSED(inStartIndex);
1259 return inStartIndex;
1260 }
1261 static PxU32 instancePropertyCount() { return 2; }
1262 static PxU32 totalPropertyCount() { return instancePropertyCount(); }
1263 template<typename TOperator>
1264 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1265 {
1266 PX_UNUSED(inOperator);
1267 PX_UNUSED(inStartIndex);
1268 inOperator( Stiffness, inStartIndex + 0 );;
1269 inOperator( Damping, inStartIndex + 1 );;
1270 return 2 + inStartIndex;
1271 }
1272 };
1273 template<> struct PxClassInfoTraits<PxSpring>
1274 {
1276 const PxSpringGeneratedInfo* getInfo() { return &Info; }
1277 };
1278
1279 static PxU32ToName g_physx__PxD6JointDriveFlag__EnumConversion[] = {
1280 { "eACCELERATION", static_cast<PxU32>( physx::PxD6JointDriveFlag::eACCELERATION ) },
1281 { NULL, 0 }
1282 };
1283
1284template<> struct PxEnumTraits< physx::PxD6JointDriveFlag::Enum > { PxEnumTraits() : NameConversion( g_physx__PxD6JointDriveFlag__EnumConversion ) {} const PxU32ToName* NameConversion; };
1285 class PxD6JointDrive;
1288 PxReal ForceLimit;
1289 PxD6JointDriveFlags Flags;
1290 PxD6JointDriveGeneratedValues( const PxD6JointDrive* inSource );
1291 };
1292 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxD6JointDrive, ForceLimit, PxD6JointDriveGeneratedValues)
1293 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxD6JointDrive, Flags, PxD6JointDriveGeneratedValues)
1296 {
1297 static const char* getClassName() { return "PxD6JointDrive"; }
1298 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxD6JointDrive_ForceLimit, PxD6JointDrive, PxReal, PxReal > ForceLimit;
1299 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxD6JointDrive_Flags, PxD6JointDrive, PxD6JointDriveFlags, PxD6JointDriveFlags > Flags;
1300
1302 template<typename TReturnType, typename TOperator>
1303 TReturnType visitType( TOperator inOperator ) const
1304 {
1305 return inOperator( reinterpret_cast<PxD6JointDrive*>(NULL) );
1306 }
1307 template<typename TOperator>
1308 void visitBases( TOperator inOperator )
1309 {
1310 PX_UNUSED(inOperator);
1311 inOperator( *static_cast<PxSpringGeneratedInfo*>( this ) );
1312 }
1313 template<typename TOperator>
1314 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1315 {
1316 PX_UNUSED(inOperator);
1317 PX_UNUSED(inStartIndex);
1318 inStartIndex = PxSpringGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
1319 inStartIndex = PxSpringGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
1320 return inStartIndex;
1321 }
1322 static PxU32 instancePropertyCount() { return 2; }
1323 static PxU32 totalPropertyCount() { return instancePropertyCount()
1324 + PxSpringGeneratedInfo::totalPropertyCount(); }
1325 template<typename TOperator>
1326 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1327 {
1328 PX_UNUSED(inOperator);
1329 PX_UNUSED(inStartIndex);
1330 inOperator( ForceLimit, inStartIndex + 0 );;
1331 inOperator( Flags, inStartIndex + 1 );;
1332 return 2 + inStartIndex;
1333 }
1334 };
1335 template<> struct PxClassInfoTraits<PxD6JointDrive>
1336 {
1338 const PxD6JointDriveGeneratedInfo* getInfo() { return &Info; }
1339 };
1340
1341
1342
1343#undef THERE_IS_NO_INCLUDE_GUARD_HERE_FOR_A_REASON
1344#undef PX_PROPERTY_INFO_NAME
Sorts an array of objects in ascending order, assuming that the predicate implements the < operator:
Definition PxBoxController.h:39
Definition PxExtensionAutoGeneratedMetaDataObjects.h:510
Definition PxExtensionAutoGeneratedMetaDataObjects.h:493
Definition PxExtensionAutoGeneratedMetaDataObjects.h:1296
Definition PxExtensionAutoGeneratedMetaDataObjects.h:1287
Definition PxExtensionAutoGeneratedMetaDataObjects.h:328
Definition PxExtensionAutoGeneratedMetaDataObjects.h:293
Definition PxExtensionAutoGeneratedMetaDataObjects.h:432
Definition PxExtensionAutoGeneratedMetaDataObjects.h:409
Definition PxExtensionAutoGeneratedMetaDataObjects.h:576
Definition PxExtensionAutoGeneratedMetaDataObjects.h:565
Definition PxExtensionAutoGeneratedMetaDataObjects.h:216
Definition PxExtensionAutoGeneratedMetaDataObjects.h:207
Definition PxExtensionAutoGeneratedMetaDataObjects.h:1062
Definition PxExtensionAutoGeneratedMetaDataObjects.h:1053
Definition PxExtensionAutoGeneratedMetaDataObjects.h:82
Definition PxExtensionAutoGeneratedMetaDataObjects.h:47
Definition PxExtensionAutoGeneratedMetaDataObjects.h:1118
Definition PxExtensionAutoGeneratedMetaDataObjects.h:1109
Definition PxExtensionAutoGeneratedMetaDataObjects.h:896
Definition PxExtensionAutoGeneratedMetaDataObjects.h:881
Definition PxExtensionAutoGeneratedMetaDataObjects.h:1178
Definition PxExtensionAutoGeneratedMetaDataObjects.h:1165
Definition PxExtensionAutoGeneratedMetaDataObjects.h:952
Definition PxExtensionAutoGeneratedMetaDataObjects.h:945
Definition PxExtensionAutoGeneratedMetaDataObjects.h:1006
Definition PxExtensionAutoGeneratedMetaDataObjects.h:997
Definition PxExtensionAutoGeneratedMetaDataObjects.h:650
Definition PxExtensionAutoGeneratedMetaDataObjects.h:631
Definition PxExtensionAutoGeneratedMetaDataObjects.h:160
Definition PxExtensionAutoGeneratedMetaDataObjects.h:151
Definition PxExtensionAutoGeneratedMetaDataObjects.h:740
Definition PxExtensionAutoGeneratedMetaDataObjects.h:715
Definition PxExtensionAutoGeneratedMetaDataObjects.h:826
Definition PxExtensionAutoGeneratedMetaDataObjects.h:809
Definition PxExtensionAutoGeneratedMetaDataObjects.h:1238
Definition PxExtensionAutoGeneratedMetaDataObjects.h:1229
@ eX
motion along the X axis
Definition PxD6Joint.h:68
@ eSWING2
motion around the Z axis
Definition PxD6Joint.h:73
@ eTWIST
motion around the X axis
Definition PxD6Joint.h:71
@ eY
motion along the Y axis
Definition PxD6Joint.h:69
@ eZ
motion along the Z axis
Definition PxD6Joint.h:70
@ eSWING1
motion around the Y axis
Definition PxD6Joint.h:72
@ eX
drive along the X-axis
Definition PxD6Joint.h:114
@ eY
drive along the Y-axis
Definition PxD6Joint.h:115
@ eTWIST
drive of the displacement around the X-axis
Definition PxD6Joint.h:118
@ eSLERP
drive of all three angular degrees along a SLERP-path
Definition PxD6Joint.h:119
@ eZ
drive along the Z-axis
Definition PxD6Joint.h:116
@ eSWING
drive of displacement from the X-axis
Definition PxD6Joint.h:117
@ eACCELERATION
drive spring is for the acceleration at the joint (rather than the force)
Definition PxD6Joint.h:133
@ eLOCKED
The DOF is locked, it does not allow relative motion.
Definition PxD6Joint.h:88
@ eLIMITED
The DOF is limited, it only allows motion within a specific range.
Definition PxD6Joint.h:89
@ eFREE
The DOF is free and has its full range of motion.
Definition PxD6Joint.h:90
@ eLIMIT_ENABLED
enable the limit
Definition PxRevoluteJoint.h:67
@ eDRIVE_FREESPIN
if the existing velocity is beyond the drive velocity, do not add force
Definition PxRevoluteJoint.h:69
@ eDRIVE_ENABLED
enable the drive
Definition PxRevoluteJoint.h:68
@ eLIMIT_ENABLED
the cone limit for the spherical joint is enabled
Definition PxSphericalJoint.h:68