1//
2// Redistribution and use in source and binary forms, with or without
3// modification, are permitted provided that the following conditions
4// are met:
5// * Redistributions of source code must retain the above copyright
6// notice, this list of conditions and the following disclaimer.
7// * Redistributions in binary form must reproduce the above copyright
8// notice, this list of conditions and the following disclaimer in the
9// documentation and/or other materials provided with the distribution.
10// * Neither the name of NVIDIA CORPORATION nor the names of its
11// contributors may be used to endorse or promote products derived
12// from this software without specific prior written permission.
13//
14// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
15// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
17// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
18// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
19// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
20// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
21// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
22// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
24// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25//
26// Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
27// Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
28// Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
29
30// This code is auto-generated by the PhysX Clang metadata generator. Do not edit or be
31// prepared for your edits to be quietly ignored next time the clang metadata generator is
32// run. You can find the most recent version of clang metadata generator by contacting
33// Chris Nuernberger <chrisn@nvidia.com> or Dilip or Adam.
34// The source code for the generate was at one time checked into:
35// physx/PhysXMetaDataGenerator/llvm/tools/clang/lib/Frontend/PhysXMetaDataAction.cpp
36#define THERE_IS_NO_INCLUDE_GUARD_HERE_FOR_A_REASON
37
38#define PX_PROPERTY_INFO_NAME PxExtensionsPropertyInfoName
39 static PxU32ToName g_physx__PxJointActorIndex__EnumConversion[] = {
40 { .mName: "eACTOR0", .mValue: static_cast<PxU32>( physx::PxJointActorIndex::eACTOR0 ) },
41 { .mName: "eACTOR1", .mValue: static_cast<PxU32>( physx::PxJointActorIndex::eACTOR1 ) },
42 { NULL, .mValue: 0 }
43 };
44
45template<> struct PxEnumTraits< physx::PxJointActorIndex::Enum > { PxEnumTraits() : NameConversion( g_physx__PxJointActorIndex__EnumConversion ) {} const PxU32ToName* NameConversion; };
46 class PxJoint;
47 struct PxJointGeneratedValues
48 {
49 PxRigidActor * Actors[2];
50 PxTransform LocalPose[physx::PxJointActorIndex::COUNT];
51 PxTransform RelativeTransform;
52 PxVec3 RelativeLinearVelocity;
53 PxVec3 RelativeAngularVelocity;
54 PxReal BreakForce[2];
55 PxConstraintFlags ConstraintFlags;
56 PxReal InvMassScale0;
57 PxReal InvInertiaScale0;
58 PxReal InvMassScale1;
59 PxReal InvInertiaScale1;
60 PxConstraint * Constraint;
61 const char * Name;
62 PxScene * Scene;
63 void * UserData;
64 PxJointGeneratedValues( const PxJoint* inSource );
65 };
66 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJoint, Actors, PxJointGeneratedValues)
67 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJoint, LocalPose, PxJointGeneratedValues)
68 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJoint, RelativeTransform, PxJointGeneratedValues)
69 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJoint, RelativeLinearVelocity, PxJointGeneratedValues)
70 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJoint, RelativeAngularVelocity, PxJointGeneratedValues)
71 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJoint, BreakForce, PxJointGeneratedValues)
72 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJoint, ConstraintFlags, PxJointGeneratedValues)
73 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJoint, InvMassScale0, PxJointGeneratedValues)
74 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJoint, InvInertiaScale0, PxJointGeneratedValues)
75 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJoint, InvMassScale1, PxJointGeneratedValues)
76 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJoint, InvInertiaScale1, PxJointGeneratedValues)
77 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJoint, Constraint, PxJointGeneratedValues)
78 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJoint, Name, PxJointGeneratedValues)
79 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJoint, Scene, PxJointGeneratedValues)
80 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJoint, UserData, PxJointGeneratedValues)
81 struct PxJointGeneratedInfo
82
83 {
84 static const char* getClassName() { return "PxJoint"; }
85 PxRangePropertyInfo<PX_PROPERTY_INFO_NAME::PxJoint_Actors, PxJoint, PxRigidActor * > Actors;
86 PxIndexedPropertyInfo<PX_PROPERTY_INFO_NAME::PxJoint_LocalPose, PxJoint, PxJointActorIndex::Enum, PxTransform > LocalPose;
87 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxJoint_RelativeTransform, PxJoint, PxTransform > RelativeTransform;
88 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxJoint_RelativeLinearVelocity, PxJoint, PxVec3 > RelativeLinearVelocity;
89 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxJoint_RelativeAngularVelocity, PxJoint, PxVec3 > RelativeAngularVelocity;
90 PxRangePropertyInfo<PX_PROPERTY_INFO_NAME::PxJoint_BreakForce, PxJoint, PxReal > BreakForce;
91 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxJoint_ConstraintFlags, PxJoint, PxConstraintFlags, PxConstraintFlags > ConstraintFlags;
92 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxJoint_InvMassScale0, PxJoint, PxReal, PxReal > InvMassScale0;
93 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxJoint_InvInertiaScale0, PxJoint, PxReal, PxReal > InvInertiaScale0;
94 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxJoint_InvMassScale1, PxJoint, PxReal, PxReal > InvMassScale1;
95 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxJoint_InvInertiaScale1, PxJoint, PxReal, PxReal > InvInertiaScale1;
96 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxJoint_Constraint, PxJoint, PxConstraint * > Constraint;
97 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxJoint_Name, PxJoint, const char *, const char * > Name;
98 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxJoint_Scene, PxJoint, PxScene * > Scene;
99 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxJoint_UserData, PxJoint, void *, void * > UserData;
100
101 PxJointGeneratedInfo();
102 template<typename TReturnType, typename TOperator>
103 TReturnType visitType( TOperator inOperator ) const
104 {
105 return inOperator( nullptr );
106 }
107 template<typename TOperator>
108 void visitBases( TOperator inOperator )
109 {
110 PX_UNUSED(inOperator);
111 }
112 template<typename TOperator>
113 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
114 {
115 PX_UNUSED(inOperator);
116 PX_UNUSED(inStartIndex);
117 return inStartIndex;
118 }
119 static PxU32 instancePropertyCount() { return 15; }
120 static PxU32 totalPropertyCount() { return instancePropertyCount(); }
121 template<typename TOperator>
122 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
123 {
124 PX_UNUSED(inOperator);
125 PX_UNUSED(inStartIndex);
126 inOperator( Actors, inStartIndex + 0 );;
127 inOperator( LocalPose, inStartIndex + 1 );;
128 inOperator( RelativeTransform, inStartIndex + 2 );;
129 inOperator( RelativeLinearVelocity, inStartIndex + 3 );;
130 inOperator( RelativeAngularVelocity, inStartIndex + 4 );;
131 inOperator( BreakForce, inStartIndex + 5 );;
132 inOperator( ConstraintFlags, inStartIndex + 6 );;
133 inOperator( InvMassScale0, inStartIndex + 7 );;
134 inOperator( InvInertiaScale0, inStartIndex + 8 );;
135 inOperator( InvMassScale1, inStartIndex + 9 );;
136 inOperator( InvInertiaScale1, inStartIndex + 10 );;
137 inOperator( Constraint, inStartIndex + 11 );;
138 inOperator( Name, inStartIndex + 12 );;
139 inOperator( Scene, inStartIndex + 13 );;
140 inOperator( UserData, inStartIndex + 14 );;
141 return 15 + inStartIndex;
142 }
143 };
144 template<> struct PxClassInfoTraits<PxJoint>
145 {
146 PxJointGeneratedInfo Info;
147 const PxJointGeneratedInfo* getInfo() { return &Info; }
148 };
149
150 static PxU32ToName g_physx__PxD6Axis__EnumConversion[] = {
151 { .mName: "eX", .mValue: static_cast<PxU32>( physx::PxD6Axis::eX ) },
152 { .mName: "eY", .mValue: static_cast<PxU32>( physx::PxD6Axis::eY ) },
153 { .mName: "eZ", .mValue: static_cast<PxU32>( physx::PxD6Axis::eZ ) },
154 { .mName: "eTWIST", .mValue: static_cast<PxU32>( physx::PxD6Axis::eTWIST ) },
155 { .mName: "eSWING1", .mValue: static_cast<PxU32>( physx::PxD6Axis::eSWING1 ) },
156 { .mName: "eSWING2", .mValue: static_cast<PxU32>( physx::PxD6Axis::eSWING2 ) },
157 { NULL, .mValue: 0 }
158 };
159
160template<> struct PxEnumTraits< physx::PxD6Axis::Enum > { PxEnumTraits() : NameConversion( g_physx__PxD6Axis__EnumConversion ) {} const PxU32ToName* NameConversion; };
161 static PxU32ToName g_physx__PxD6Motion__EnumConversion[] = {
162 { .mName: "eLOCKED", .mValue: static_cast<PxU32>( physx::PxD6Motion::eLOCKED ) },
163 { .mName: "eLIMITED", .mValue: static_cast<PxU32>( physx::PxD6Motion::eLIMITED ) },
164 { .mName: "eFREE", .mValue: static_cast<PxU32>( physx::PxD6Motion::eFREE ) },
165 { NULL, .mValue: 0 }
166 };
167
168template<> struct PxEnumTraits< physx::PxD6Motion::Enum > { PxEnumTraits() : NameConversion( g_physx__PxD6Motion__EnumConversion ) {} const PxU32ToName* NameConversion; };
169 static PxU32ToName g_physx__PxD6Drive__EnumConversion[] = {
170 { .mName: "eX", .mValue: static_cast<PxU32>( physx::PxD6Drive::eX ) },
171 { .mName: "eY", .mValue: static_cast<PxU32>( physx::PxD6Drive::eY ) },
172 { .mName: "eZ", .mValue: static_cast<PxU32>( physx::PxD6Drive::eZ ) },
173 { .mName: "eSWING", .mValue: static_cast<PxU32>( physx::PxD6Drive::eSWING ) },
174 { .mName: "eTWIST", .mValue: static_cast<PxU32>( physx::PxD6Drive::eTWIST ) },
175 { .mName: "eSLERP", .mValue: static_cast<PxU32>( physx::PxD6Drive::eSLERP ) },
176 { NULL, .mValue: 0 }
177 };
178
179template<> struct PxEnumTraits< physx::PxD6Drive::Enum > { PxEnumTraits() : NameConversion( g_physx__PxD6Drive__EnumConversion ) {} const PxU32ToName* NameConversion; };
180 class PxD6Joint;
181 struct PxD6JointGeneratedValues
182 : PxJointGeneratedValues {
183 PxD6Motion::Enum Motion[physx::PxD6Axis::eCOUNT];
184 PxReal TwistAngle;
185 PxReal Twist;
186 PxReal SwingYAngle;
187 PxReal SwingZAngle;
188 PxJointLinearLimit DistanceLimit;
189 PxJointLinearLimit LinearLimit;
190 PxJointAngularLimitPair TwistLimit;
191 PxJointLimitCone SwingLimit;
192 PxJointLimitPyramid PyramidSwingLimit;
193 PxD6JointDrive Drive[physx::PxD6Drive::eCOUNT];
194 PxTransform DrivePosition;
195 PxReal ProjectionLinearTolerance;
196 PxReal ProjectionAngularTolerance;
197 const char * ConcreteTypeName;
198 PxD6JointGeneratedValues( const PxD6Joint* inSource );
199 };
200 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxD6Joint, Motion, PxD6JointGeneratedValues)
201 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxD6Joint, TwistAngle, PxD6JointGeneratedValues)
202 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxD6Joint, Twist, PxD6JointGeneratedValues)
203 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxD6Joint, SwingYAngle, PxD6JointGeneratedValues)
204 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxD6Joint, SwingZAngle, PxD6JointGeneratedValues)
205 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxD6Joint, DistanceLimit, PxD6JointGeneratedValues)
206 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxD6Joint, LinearLimit, PxD6JointGeneratedValues)
207 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxD6Joint, TwistLimit, PxD6JointGeneratedValues)
208 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxD6Joint, SwingLimit, PxD6JointGeneratedValues)
209 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxD6Joint, PyramidSwingLimit, PxD6JointGeneratedValues)
210 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxD6Joint, Drive, PxD6JointGeneratedValues)
211 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxD6Joint, DrivePosition, PxD6JointGeneratedValues)
212 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxD6Joint, ProjectionLinearTolerance, PxD6JointGeneratedValues)
213 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxD6Joint, ProjectionAngularTolerance, PxD6JointGeneratedValues)
214 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxD6Joint, ConcreteTypeName, PxD6JointGeneratedValues)
215 struct PxD6JointGeneratedInfo
216 : PxJointGeneratedInfo
217 {
218 static const char* getClassName() { return "PxD6Joint"; }
219 PxIndexedPropertyInfo<PX_PROPERTY_INFO_NAME::PxD6Joint_Motion, PxD6Joint, PxD6Axis::Enum, PxD6Motion::Enum > Motion;
220 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxD6Joint_TwistAngle, PxD6Joint, PxReal > TwistAngle;
221 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxD6Joint_Twist, PxD6Joint, PxReal > Twist;
222 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxD6Joint_SwingYAngle, PxD6Joint, PxReal > SwingYAngle;
223 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxD6Joint_SwingZAngle, PxD6Joint, PxReal > SwingZAngle;
224 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxD6Joint_DistanceLimit, PxD6Joint, const PxJointLinearLimit &, PxJointLinearLimit > DistanceLimit;
225 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxD6Joint_LinearLimit, PxD6Joint, const PxJointLinearLimit &, PxJointLinearLimit > LinearLimit;
226 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxD6Joint_TwistLimit, PxD6Joint, const PxJointAngularLimitPair &, PxJointAngularLimitPair > TwistLimit;
227 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxD6Joint_SwingLimit, PxD6Joint, const PxJointLimitCone &, PxJointLimitCone > SwingLimit;
228 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxD6Joint_PyramidSwingLimit, PxD6Joint, const PxJointLimitPyramid &, PxJointLimitPyramid > PyramidSwingLimit;
229 PxIndexedPropertyInfo<PX_PROPERTY_INFO_NAME::PxD6Joint_Drive, PxD6Joint, PxD6Drive::Enum, PxD6JointDrive > Drive;
230 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxD6Joint_DrivePosition, PxD6Joint, const PxTransform &, PxTransform > DrivePosition;
231 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxD6Joint_ProjectionLinearTolerance, PxD6Joint, PxReal, PxReal > ProjectionLinearTolerance;
232 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxD6Joint_ProjectionAngularTolerance, PxD6Joint, PxReal, PxReal > ProjectionAngularTolerance;
233 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxD6Joint_ConcreteTypeName, PxD6Joint, const char * > ConcreteTypeName;
234
235 PxD6JointGeneratedInfo();
236 template<typename TReturnType, typename TOperator>
237 TReturnType visitType( TOperator inOperator ) const
238 {
239 return inOperator( nullptr );
240 }
241 template<typename TOperator>
242 void visitBases( TOperator inOperator )
243 {
244 PX_UNUSED(inOperator);
245 inOperator( *static_cast<PxJointGeneratedInfo*>( this ) );
246 }
247 template<typename TOperator>
248 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
249 {
250 PX_UNUSED(inOperator);
251 PX_UNUSED(inStartIndex);
252 inStartIndex = PxJointGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
253 inStartIndex = PxJointGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
254 return inStartIndex;
255 }
256 static PxU32 instancePropertyCount() { return 15; }
257 static PxU32 totalPropertyCount() { return instancePropertyCount()
258 + PxJointGeneratedInfo::totalPropertyCount(); }
259 template<typename TOperator>
260 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
261 {
262 PX_UNUSED(inOperator);
263 PX_UNUSED(inStartIndex);
264 inOperator( Motion, inStartIndex + 0 );;
265 inOperator( TwistAngle, inStartIndex + 1 );;
266 inOperator( Twist, inStartIndex + 2 );;
267 inOperator( SwingYAngle, inStartIndex + 3 );;
268 inOperator( SwingZAngle, inStartIndex + 4 );;
269 inOperator( DistanceLimit, inStartIndex + 5 );;
270 inOperator( LinearLimit, inStartIndex + 6 );;
271 inOperator( TwistLimit, inStartIndex + 7 );;
272 inOperator( SwingLimit, inStartIndex + 8 );;
273 inOperator( PyramidSwingLimit, inStartIndex + 9 );;
274 inOperator( Drive, inStartIndex + 10 );;
275 inOperator( DrivePosition, inStartIndex + 11 );;
276 inOperator( ProjectionLinearTolerance, inStartIndex + 12 );;
277 inOperator( ProjectionAngularTolerance, inStartIndex + 13 );;
278 inOperator( ConcreteTypeName, inStartIndex + 14 );;
279 return 15 + inStartIndex;
280 }
281 };
282 template<> struct PxClassInfoTraits<PxD6Joint>
283 {
284 PxD6JointGeneratedInfo Info;
285 const PxD6JointGeneratedInfo* getInfo() { return &Info; }
286 };
287
288 static PxU32ToName g_physx__PxDistanceJointFlag__EnumConversion[] = {
289 { .mName: "eMAX_DISTANCE_ENABLED", .mValue: static_cast<PxU32>( physx::PxDistanceJointFlag::eMAX_DISTANCE_ENABLED ) },
290 { .mName: "eMIN_DISTANCE_ENABLED", .mValue: static_cast<PxU32>( physx::PxDistanceJointFlag::eMIN_DISTANCE_ENABLED ) },
291 { .mName: "eSPRING_ENABLED", .mValue: static_cast<PxU32>( physx::PxDistanceJointFlag::eSPRING_ENABLED ) },
292 { NULL, .mValue: 0 }
293 };
294
295template<> struct PxEnumTraits< physx::PxDistanceJointFlag::Enum > { PxEnumTraits() : NameConversion( g_physx__PxDistanceJointFlag__EnumConversion ) {} const PxU32ToName* NameConversion; };
296 class PxDistanceJoint;
297 struct PxDistanceJointGeneratedValues
298 : PxJointGeneratedValues {
299 PxReal Distance;
300 PxReal MinDistance;
301 PxReal MaxDistance;
302 PxReal Tolerance;
303 PxReal Stiffness;
304 PxReal Damping;
305 PxDistanceJointFlags DistanceJointFlags;
306 const char * ConcreteTypeName;
307 PxDistanceJointGeneratedValues( const PxDistanceJoint* inSource );
308 };
309 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxDistanceJoint, Distance, PxDistanceJointGeneratedValues)
310 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxDistanceJoint, MinDistance, PxDistanceJointGeneratedValues)
311 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxDistanceJoint, MaxDistance, PxDistanceJointGeneratedValues)
312 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxDistanceJoint, Tolerance, PxDistanceJointGeneratedValues)
313 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxDistanceJoint, Stiffness, PxDistanceJointGeneratedValues)
314 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxDistanceJoint, Damping, PxDistanceJointGeneratedValues)
315 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxDistanceJoint, DistanceJointFlags, PxDistanceJointGeneratedValues)
316 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxDistanceJoint, ConcreteTypeName, PxDistanceJointGeneratedValues)
317 struct PxDistanceJointGeneratedInfo
318 : PxJointGeneratedInfo
319 {
320 static const char* getClassName() { return "PxDistanceJoint"; }
321 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxDistanceJoint_Distance, PxDistanceJoint, PxReal > Distance;
322 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxDistanceJoint_MinDistance, PxDistanceJoint, PxReal, PxReal > MinDistance;
323 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxDistanceJoint_MaxDistance, PxDistanceJoint, PxReal, PxReal > MaxDistance;
324 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxDistanceJoint_Tolerance, PxDistanceJoint, PxReal, PxReal > Tolerance;
325 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxDistanceJoint_Stiffness, PxDistanceJoint, PxReal, PxReal > Stiffness;
326 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxDistanceJoint_Damping, PxDistanceJoint, PxReal, PxReal > Damping;
327 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxDistanceJoint_DistanceJointFlags, PxDistanceJoint, PxDistanceJointFlags, PxDistanceJointFlags > DistanceJointFlags;
328 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxDistanceJoint_ConcreteTypeName, PxDistanceJoint, const char * > ConcreteTypeName;
329
330 PxDistanceJointGeneratedInfo();
331 template<typename TReturnType, typename TOperator>
332 TReturnType visitType( TOperator inOperator ) const
333 {
334 return inOperator( nullptr );
335 }
336 template<typename TOperator>
337 void visitBases( TOperator inOperator )
338 {
339 PX_UNUSED(inOperator);
340 inOperator( *static_cast<PxJointGeneratedInfo*>( this ) );
341 }
342 template<typename TOperator>
343 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
344 {
345 PX_UNUSED(inOperator);
346 PX_UNUSED(inStartIndex);
347 inStartIndex = PxJointGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
348 inStartIndex = PxJointGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
349 return inStartIndex;
350 }
351 static PxU32 instancePropertyCount() { return 8; }
352 static PxU32 totalPropertyCount() { return instancePropertyCount()
353 + PxJointGeneratedInfo::totalPropertyCount(); }
354 template<typename TOperator>
355 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
356 {
357 PX_UNUSED(inOperator);
358 PX_UNUSED(inStartIndex);
359 inOperator( Distance, inStartIndex + 0 );;
360 inOperator( MinDistance, inStartIndex + 1 );;
361 inOperator( MaxDistance, inStartIndex + 2 );;
362 inOperator( Tolerance, inStartIndex + 3 );;
363 inOperator( Stiffness, inStartIndex + 4 );;
364 inOperator( Damping, inStartIndex + 5 );;
365 inOperator( DistanceJointFlags, inStartIndex + 6 );;
366 inOperator( ConcreteTypeName, inStartIndex + 7 );;
367 return 8 + inStartIndex;
368 }
369 };
370 template<> struct PxClassInfoTraits<PxDistanceJoint>
371 {
372 PxDistanceJointGeneratedInfo Info;
373 const PxDistanceJointGeneratedInfo* getInfo() { return &Info; }
374 };
375
376 class PxContactJoint;
377 struct PxContactJointGeneratedValues
378 : PxJointGeneratedValues {
379 PxVec3 Contact;
380 PxVec3 ContactNormal;
381 PxReal Penetration;
382 PxReal Resititution;
383 PxReal BounceThreshold;
384 const char * ConcreteTypeName;
385 PxContactJointGeneratedValues( const PxContactJoint* inSource );
386 };
387 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxContactJoint, Contact, PxContactJointGeneratedValues)
388 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxContactJoint, ContactNormal, PxContactJointGeneratedValues)
389 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxContactJoint, Penetration, PxContactJointGeneratedValues)
390 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxContactJoint, Resititution, PxContactJointGeneratedValues)
391 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxContactJoint, BounceThreshold, PxContactJointGeneratedValues)
392 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxContactJoint, ConcreteTypeName, PxContactJointGeneratedValues)
393 struct PxContactJointGeneratedInfo
394 : PxJointGeneratedInfo
395 {
396 static const char* getClassName() { return "PxContactJoint"; }
397 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxContactJoint_Contact, PxContactJoint, const PxVec3 &, PxVec3 > Contact;
398 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxContactJoint_ContactNormal, PxContactJoint, const PxVec3 &, PxVec3 > ContactNormal;
399 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxContactJoint_Penetration, PxContactJoint, const PxReal, PxReal > Penetration;
400 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxContactJoint_Resititution, PxContactJoint, const PxReal, PxReal > Resititution;
401 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxContactJoint_BounceThreshold, PxContactJoint, const PxReal, PxReal > BounceThreshold;
402 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxContactJoint_ConcreteTypeName, PxContactJoint, const char * > ConcreteTypeName;
403
404 PxContactJointGeneratedInfo();
405 template<typename TReturnType, typename TOperator>
406 TReturnType visitType( TOperator inOperator ) const
407 {
408 return inOperator( nullptr );
409 }
410 template<typename TOperator>
411 void visitBases( TOperator inOperator )
412 {
413 PX_UNUSED(inOperator);
414 inOperator( *static_cast<PxJointGeneratedInfo*>( this ) );
415 }
416 template<typename TOperator>
417 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
418 {
419 PX_UNUSED(inOperator);
420 PX_UNUSED(inStartIndex);
421 inStartIndex = PxJointGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
422 inStartIndex = PxJointGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
423 return inStartIndex;
424 }
425 static PxU32 instancePropertyCount() { return 6; }
426 static PxU32 totalPropertyCount() { return instancePropertyCount()
427 + PxJointGeneratedInfo::totalPropertyCount(); }
428 template<typename TOperator>
429 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
430 {
431 PX_UNUSED(inOperator);
432 PX_UNUSED(inStartIndex);
433 inOperator( Contact, inStartIndex + 0 );;
434 inOperator( ContactNormal, inStartIndex + 1 );;
435 inOperator( Penetration, inStartIndex + 2 );;
436 inOperator( Resititution, inStartIndex + 3 );;
437 inOperator( BounceThreshold, inStartIndex + 4 );;
438 inOperator( ConcreteTypeName, inStartIndex + 5 );;
439 return 6 + inStartIndex;
440 }
441 };
442 template<> struct PxClassInfoTraits<PxContactJoint>
443 {
444 PxContactJointGeneratedInfo Info;
445 const PxContactJointGeneratedInfo* getInfo() { return &Info; }
446 };
447
448 class PxFixedJoint;
449 struct PxFixedJointGeneratedValues
450 : PxJointGeneratedValues {
451 PxReal ProjectionLinearTolerance;
452 PxReal ProjectionAngularTolerance;
453 const char * ConcreteTypeName;
454 PxFixedJointGeneratedValues( const PxFixedJoint* inSource );
455 };
456 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxFixedJoint, ProjectionLinearTolerance, PxFixedJointGeneratedValues)
457 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxFixedJoint, ProjectionAngularTolerance, PxFixedJointGeneratedValues)
458 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxFixedJoint, ConcreteTypeName, PxFixedJointGeneratedValues)
459 struct PxFixedJointGeneratedInfo
460 : PxJointGeneratedInfo
461 {
462 static const char* getClassName() { return "PxFixedJoint"; }
463 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxFixedJoint_ProjectionLinearTolerance, PxFixedJoint, PxReal, PxReal > ProjectionLinearTolerance;
464 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxFixedJoint_ProjectionAngularTolerance, PxFixedJoint, PxReal, PxReal > ProjectionAngularTolerance;
465 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxFixedJoint_ConcreteTypeName, PxFixedJoint, const char * > ConcreteTypeName;
466
467 PxFixedJointGeneratedInfo();
468 template<typename TReturnType, typename TOperator>
469 TReturnType visitType( TOperator inOperator ) const
470 {
471 return inOperator( nullptr );
472 }
473 template<typename TOperator>
474 void visitBases( TOperator inOperator )
475 {
476 PX_UNUSED(inOperator);
477 inOperator( *static_cast<PxJointGeneratedInfo*>( this ) );
478 }
479 template<typename TOperator>
480 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
481 {
482 PX_UNUSED(inOperator);
483 PX_UNUSED(inStartIndex);
484 inStartIndex = PxJointGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
485 inStartIndex = PxJointGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
486 return inStartIndex;
487 }
488 static PxU32 instancePropertyCount() { return 3; }
489 static PxU32 totalPropertyCount() { return instancePropertyCount()
490 + PxJointGeneratedInfo::totalPropertyCount(); }
491 template<typename TOperator>
492 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
493 {
494 PX_UNUSED(inOperator);
495 PX_UNUSED(inStartIndex);
496 inOperator( ProjectionLinearTolerance, inStartIndex + 0 );;
497 inOperator( ProjectionAngularTolerance, inStartIndex + 1 );;
498 inOperator( ConcreteTypeName, inStartIndex + 2 );;
499 return 3 + inStartIndex;
500 }
501 };
502 template<> struct PxClassInfoTraits<PxFixedJoint>
503 {
504 PxFixedJointGeneratedInfo Info;
505 const PxFixedJointGeneratedInfo* getInfo() { return &Info; }
506 };
507
508 static PxU32ToName g_physx__PxPrismaticJointFlag__EnumConversion[] = {
509 { .mName: "eLIMIT_ENABLED", .mValue: static_cast<PxU32>( physx::PxPrismaticJointFlag::eLIMIT_ENABLED ) },
510 { NULL, .mValue: 0 }
511 };
512
513template<> struct PxEnumTraits< physx::PxPrismaticJointFlag::Enum > { PxEnumTraits() : NameConversion( g_physx__PxPrismaticJointFlag__EnumConversion ) {} const PxU32ToName* NameConversion; };
514 class PxPrismaticJoint;
515 struct PxPrismaticJointGeneratedValues
516 : PxJointGeneratedValues {
517 PxReal Position;
518 PxReal Velocity;
519 PxJointLinearLimitPair Limit;
520 PxPrismaticJointFlags PrismaticJointFlags;
521 PxReal ProjectionLinearTolerance;
522 PxReal ProjectionAngularTolerance;
523 const char * ConcreteTypeName;
524 PxPrismaticJointGeneratedValues( const PxPrismaticJoint* inSource );
525 };
526 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxPrismaticJoint, Position, PxPrismaticJointGeneratedValues)
527 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxPrismaticJoint, Velocity, PxPrismaticJointGeneratedValues)
528 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxPrismaticJoint, Limit, PxPrismaticJointGeneratedValues)
529 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxPrismaticJoint, PrismaticJointFlags, PxPrismaticJointGeneratedValues)
530 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxPrismaticJoint, ProjectionLinearTolerance, PxPrismaticJointGeneratedValues)
531 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxPrismaticJoint, ProjectionAngularTolerance, PxPrismaticJointGeneratedValues)
532 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxPrismaticJoint, ConcreteTypeName, PxPrismaticJointGeneratedValues)
533 struct PxPrismaticJointGeneratedInfo
534 : PxJointGeneratedInfo
535 {
536 static const char* getClassName() { return "PxPrismaticJoint"; }
537 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxPrismaticJoint_Position, PxPrismaticJoint, PxReal > Position;
538 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxPrismaticJoint_Velocity, PxPrismaticJoint, PxReal > Velocity;
539 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxPrismaticJoint_Limit, PxPrismaticJoint, const PxJointLinearLimitPair &, PxJointLinearLimitPair > Limit;
540 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxPrismaticJoint_PrismaticJointFlags, PxPrismaticJoint, PxPrismaticJointFlags, PxPrismaticJointFlags > PrismaticJointFlags;
541 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxPrismaticJoint_ProjectionLinearTolerance, PxPrismaticJoint, PxReal, PxReal > ProjectionLinearTolerance;
542 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxPrismaticJoint_ProjectionAngularTolerance, PxPrismaticJoint, PxReal, PxReal > ProjectionAngularTolerance;
543 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxPrismaticJoint_ConcreteTypeName, PxPrismaticJoint, const char * > ConcreteTypeName;
544
545 PxPrismaticJointGeneratedInfo();
546 template<typename TReturnType, typename TOperator>
547 TReturnType visitType( TOperator inOperator ) const
548 {
549 return inOperator( nullptr );
550 }
551 template<typename TOperator>
552 void visitBases( TOperator inOperator )
553 {
554 PX_UNUSED(inOperator);
555 inOperator( *static_cast<PxJointGeneratedInfo*>( this ) );
556 }
557 template<typename TOperator>
558 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
559 {
560 PX_UNUSED(inOperator);
561 PX_UNUSED(inStartIndex);
562 inStartIndex = PxJointGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
563 inStartIndex = PxJointGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
564 return inStartIndex;
565 }
566 static PxU32 instancePropertyCount() { return 7; }
567 static PxU32 totalPropertyCount() { return instancePropertyCount()
568 + PxJointGeneratedInfo::totalPropertyCount(); }
569 template<typename TOperator>
570 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
571 {
572 PX_UNUSED(inOperator);
573 PX_UNUSED(inStartIndex);
574 inOperator( Position, inStartIndex + 0 );;
575 inOperator( Velocity, inStartIndex + 1 );;
576 inOperator( Limit, inStartIndex + 2 );;
577 inOperator( PrismaticJointFlags, inStartIndex + 3 );;
578 inOperator( ProjectionLinearTolerance, inStartIndex + 4 );;
579 inOperator( ProjectionAngularTolerance, inStartIndex + 5 );;
580 inOperator( ConcreteTypeName, inStartIndex + 6 );;
581 return 7 + inStartIndex;
582 }
583 };
584 template<> struct PxClassInfoTraits<PxPrismaticJoint>
585 {
586 PxPrismaticJointGeneratedInfo Info;
587 const PxPrismaticJointGeneratedInfo* getInfo() { return &Info; }
588 };
589
590 static PxU32ToName g_physx__PxRevoluteJointFlag__EnumConversion[] = {
591 { .mName: "eLIMIT_ENABLED", .mValue: static_cast<PxU32>( physx::PxRevoluteJointFlag::eLIMIT_ENABLED ) },
592 { .mName: "eDRIVE_ENABLED", .mValue: static_cast<PxU32>( physx::PxRevoluteJointFlag::eDRIVE_ENABLED ) },
593 { .mName: "eDRIVE_FREESPIN", .mValue: static_cast<PxU32>( physx::PxRevoluteJointFlag::eDRIVE_FREESPIN ) },
594 { NULL, .mValue: 0 }
595 };
596
597template<> struct PxEnumTraits< physx::PxRevoluteJointFlag::Enum > { PxEnumTraits() : NameConversion( g_physx__PxRevoluteJointFlag__EnumConversion ) {} const PxU32ToName* NameConversion; };
598 class PxRevoluteJoint;
599 struct PxRevoluteJointGeneratedValues
600 : PxJointGeneratedValues {
601 PxReal Angle;
602 PxReal Velocity;
603 PxJointAngularLimitPair Limit;
604 PxReal DriveVelocity;
605 PxReal DriveForceLimit;
606 PxReal DriveGearRatio;
607 PxRevoluteJointFlags RevoluteJointFlags;
608 PxReal ProjectionLinearTolerance;
609 PxReal ProjectionAngularTolerance;
610 const char * ConcreteTypeName;
611 PxRevoluteJointGeneratedValues( const PxRevoluteJoint* inSource );
612 };
613 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRevoluteJoint, Angle, PxRevoluteJointGeneratedValues)
614 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRevoluteJoint, Velocity, PxRevoluteJointGeneratedValues)
615 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRevoluteJoint, Limit, PxRevoluteJointGeneratedValues)
616 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRevoluteJoint, DriveVelocity, PxRevoluteJointGeneratedValues)
617 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRevoluteJoint, DriveForceLimit, PxRevoluteJointGeneratedValues)
618 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRevoluteJoint, DriveGearRatio, PxRevoluteJointGeneratedValues)
619 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRevoluteJoint, RevoluteJointFlags, PxRevoluteJointGeneratedValues)
620 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRevoluteJoint, ProjectionLinearTolerance, PxRevoluteJointGeneratedValues)
621 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRevoluteJoint, ProjectionAngularTolerance, PxRevoluteJointGeneratedValues)
622 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxRevoluteJoint, ConcreteTypeName, PxRevoluteJointGeneratedValues)
623 struct PxRevoluteJointGeneratedInfo
624 : PxJointGeneratedInfo
625 {
626 static const char* getClassName() { return "PxRevoluteJoint"; }
627 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxRevoluteJoint_Angle, PxRevoluteJoint, PxReal > Angle;
628 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxRevoluteJoint_Velocity, PxRevoluteJoint, PxReal > Velocity;
629 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxRevoluteJoint_Limit, PxRevoluteJoint, const PxJointAngularLimitPair &, PxJointAngularLimitPair > Limit;
630 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxRevoluteJoint_DriveVelocity, PxRevoluteJoint, PxReal, PxReal > DriveVelocity;
631 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxRevoluteJoint_DriveForceLimit, PxRevoluteJoint, PxReal, PxReal > DriveForceLimit;
632 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxRevoluteJoint_DriveGearRatio, PxRevoluteJoint, PxReal, PxReal > DriveGearRatio;
633 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxRevoluteJoint_RevoluteJointFlags, PxRevoluteJoint, PxRevoluteJointFlags, PxRevoluteJointFlags > RevoluteJointFlags;
634 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxRevoluteJoint_ProjectionLinearTolerance, PxRevoluteJoint, PxReal, PxReal > ProjectionLinearTolerance;
635 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxRevoluteJoint_ProjectionAngularTolerance, PxRevoluteJoint, PxReal, PxReal > ProjectionAngularTolerance;
636 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxRevoluteJoint_ConcreteTypeName, PxRevoluteJoint, const char * > ConcreteTypeName;
637
638 PxRevoluteJointGeneratedInfo();
639 template<typename TReturnType, typename TOperator>
640 TReturnType visitType( TOperator inOperator ) const
641 {
642 return inOperator( nullptr );
643 }
644 template<typename TOperator>
645 void visitBases( TOperator inOperator )
646 {
647 PX_UNUSED(inOperator);
648 inOperator( *static_cast<PxJointGeneratedInfo*>( this ) );
649 }
650 template<typename TOperator>
651 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
652 {
653 PX_UNUSED(inOperator);
654 PX_UNUSED(inStartIndex);
655 inStartIndex = PxJointGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
656 inStartIndex = PxJointGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
657 return inStartIndex;
658 }
659 static PxU32 instancePropertyCount() { return 10; }
660 static PxU32 totalPropertyCount() { return instancePropertyCount()
661 + PxJointGeneratedInfo::totalPropertyCount(); }
662 template<typename TOperator>
663 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
664 {
665 PX_UNUSED(inOperator);
666 PX_UNUSED(inStartIndex);
667 inOperator( Angle, inStartIndex + 0 );;
668 inOperator( Velocity, inStartIndex + 1 );;
669 inOperator( Limit, inStartIndex + 2 );;
670 inOperator( DriveVelocity, inStartIndex + 3 );;
671 inOperator( DriveForceLimit, inStartIndex + 4 );;
672 inOperator( DriveGearRatio, inStartIndex + 5 );;
673 inOperator( RevoluteJointFlags, inStartIndex + 6 );;
674 inOperator( ProjectionLinearTolerance, inStartIndex + 7 );;
675 inOperator( ProjectionAngularTolerance, inStartIndex + 8 );;
676 inOperator( ConcreteTypeName, inStartIndex + 9 );;
677 return 10 + inStartIndex;
678 }
679 };
680 template<> struct PxClassInfoTraits<PxRevoluteJoint>
681 {
682 PxRevoluteJointGeneratedInfo Info;
683 const PxRevoluteJointGeneratedInfo* getInfo() { return &Info; }
684 };
685
686 static PxU32ToName g_physx__PxSphericalJointFlag__EnumConversion[] = {
687 { .mName: "eLIMIT_ENABLED", .mValue: static_cast<PxU32>( physx::PxSphericalJointFlag::eLIMIT_ENABLED ) },
688 { NULL, .mValue: 0 }
689 };
690
691template<> struct PxEnumTraits< physx::PxSphericalJointFlag::Enum > { PxEnumTraits() : NameConversion( g_physx__PxSphericalJointFlag__EnumConversion ) {} const PxU32ToName* NameConversion; };
692 class PxSphericalJoint;
693 struct PxSphericalJointGeneratedValues
694 : PxJointGeneratedValues {
695 PxJointLimitCone LimitCone;
696 PxReal SwingYAngle;
697 PxReal SwingZAngle;
698 PxSphericalJointFlags SphericalJointFlags;
699 PxReal ProjectionLinearTolerance;
700 const char * ConcreteTypeName;
701 PxSphericalJointGeneratedValues( const PxSphericalJoint* inSource );
702 };
703 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSphericalJoint, LimitCone, PxSphericalJointGeneratedValues)
704 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSphericalJoint, SwingYAngle, PxSphericalJointGeneratedValues)
705 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSphericalJoint, SwingZAngle, PxSphericalJointGeneratedValues)
706 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSphericalJoint, SphericalJointFlags, PxSphericalJointGeneratedValues)
707 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSphericalJoint, ProjectionLinearTolerance, PxSphericalJointGeneratedValues)
708 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSphericalJoint, ConcreteTypeName, PxSphericalJointGeneratedValues)
709 struct PxSphericalJointGeneratedInfo
710 : PxJointGeneratedInfo
711 {
712 static const char* getClassName() { return "PxSphericalJoint"; }
713 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSphericalJoint_LimitCone, PxSphericalJoint, const PxJointLimitCone &, PxJointLimitCone > LimitCone;
714 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxSphericalJoint_SwingYAngle, PxSphericalJoint, PxReal > SwingYAngle;
715 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxSphericalJoint_SwingZAngle, PxSphericalJoint, PxReal > SwingZAngle;
716 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSphericalJoint_SphericalJointFlags, PxSphericalJoint, PxSphericalJointFlags, PxSphericalJointFlags > SphericalJointFlags;
717 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSphericalJoint_ProjectionLinearTolerance, PxSphericalJoint, PxReal, PxReal > ProjectionLinearTolerance;
718 PxReadOnlyPropertyInfo<PX_PROPERTY_INFO_NAME::PxSphericalJoint_ConcreteTypeName, PxSphericalJoint, const char * > ConcreteTypeName;
719
720 PxSphericalJointGeneratedInfo();
721 template<typename TReturnType, typename TOperator>
722 TReturnType visitType( TOperator inOperator ) const
723 {
724 return inOperator( nullptr );
725 }
726 template<typename TOperator>
727 void visitBases( TOperator inOperator )
728 {
729 PX_UNUSED(inOperator);
730 inOperator( *static_cast<PxJointGeneratedInfo*>( this ) );
731 }
732 template<typename TOperator>
733 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
734 {
735 PX_UNUSED(inOperator);
736 PX_UNUSED(inStartIndex);
737 inStartIndex = PxJointGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
738 inStartIndex = PxJointGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
739 return inStartIndex;
740 }
741 static PxU32 instancePropertyCount() { return 6; }
742 static PxU32 totalPropertyCount() { return instancePropertyCount()
743 + PxJointGeneratedInfo::totalPropertyCount(); }
744 template<typename TOperator>
745 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
746 {
747 PX_UNUSED(inOperator);
748 PX_UNUSED(inStartIndex);
749 inOperator( LimitCone, inStartIndex + 0 );;
750 inOperator( SwingYAngle, inStartIndex + 1 );;
751 inOperator( SwingZAngle, inStartIndex + 2 );;
752 inOperator( SphericalJointFlags, inStartIndex + 3 );;
753 inOperator( ProjectionLinearTolerance, inStartIndex + 4 );;
754 inOperator( ConcreteTypeName, inStartIndex + 5 );;
755 return 6 + inStartIndex;
756 }
757 };
758 template<> struct PxClassInfoTraits<PxSphericalJoint>
759 {
760 PxSphericalJointGeneratedInfo Info;
761 const PxSphericalJointGeneratedInfo* getInfo() { return &Info; }
762 };
763
764 class PxJointLimitParameters;
765 struct PxJointLimitParametersGeneratedValues
766 {
767 PxReal Restitution;
768 PxReal BounceThreshold;
769 PxReal Stiffness;
770 PxReal Damping;
771 PxReal ContactDistance;
772 PxJointLimitParametersGeneratedValues( const PxJointLimitParameters* inSource );
773 };
774 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJointLimitParameters, Restitution, PxJointLimitParametersGeneratedValues)
775 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJointLimitParameters, BounceThreshold, PxJointLimitParametersGeneratedValues)
776 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJointLimitParameters, Stiffness, PxJointLimitParametersGeneratedValues)
777 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJointLimitParameters, Damping, PxJointLimitParametersGeneratedValues)
778 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJointLimitParameters, ContactDistance, PxJointLimitParametersGeneratedValues)
779 struct PxJointLimitParametersGeneratedInfo
780
781 {
782 static const char* getClassName() { return "PxJointLimitParameters"; }
783 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxJointLimitParameters_Restitution, PxJointLimitParameters, PxReal, PxReal > Restitution;
784 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxJointLimitParameters_BounceThreshold, PxJointLimitParameters, PxReal, PxReal > BounceThreshold;
785 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxJointLimitParameters_Stiffness, PxJointLimitParameters, PxReal, PxReal > Stiffness;
786 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxJointLimitParameters_Damping, PxJointLimitParameters, PxReal, PxReal > Damping;
787 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxJointLimitParameters_ContactDistance, PxJointLimitParameters, PxReal, PxReal > ContactDistance;
788
789 PxJointLimitParametersGeneratedInfo();
790 template<typename TReturnType, typename TOperator>
791 TReturnType visitType( TOperator inOperator ) const
792 {
793 return inOperator( nullptr );
794 }
795 template<typename TOperator>
796 void visitBases( TOperator inOperator )
797 {
798 PX_UNUSED(inOperator);
799 }
800 template<typename TOperator>
801 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
802 {
803 PX_UNUSED(inOperator);
804 PX_UNUSED(inStartIndex);
805 return inStartIndex;
806 }
807 static PxU32 instancePropertyCount() { return 5; }
808 static PxU32 totalPropertyCount() { return instancePropertyCount(); }
809 template<typename TOperator>
810 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
811 {
812 PX_UNUSED(inOperator);
813 PX_UNUSED(inStartIndex);
814 inOperator( Restitution, inStartIndex + 0 );;
815 inOperator( BounceThreshold, inStartIndex + 1 );;
816 inOperator( Stiffness, inStartIndex + 2 );;
817 inOperator( Damping, inStartIndex + 3 );;
818 inOperator( ContactDistance, inStartIndex + 4 );;
819 return 5 + inStartIndex;
820 }
821 };
822 template<> struct PxClassInfoTraits<PxJointLimitParameters>
823 {
824 PxJointLimitParametersGeneratedInfo Info;
825 const PxJointLimitParametersGeneratedInfo* getInfo() { return &Info; }
826 };
827
828 class PxJointLinearLimit;
829 struct PxJointLinearLimitGeneratedValues
830 : PxJointLimitParametersGeneratedValues {
831 PxReal Value;
832 PxJointLinearLimitGeneratedValues( const PxJointLinearLimit* inSource );
833 };
834 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJointLinearLimit, Value, PxJointLinearLimitGeneratedValues)
835 struct PxJointLinearLimitGeneratedInfo
836 : PxJointLimitParametersGeneratedInfo
837 {
838 static const char* getClassName() { return "PxJointLinearLimit"; }
839 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxJointLinearLimit_Value, PxJointLinearLimit, PxReal, PxReal > Value;
840
841 PxJointLinearLimitGeneratedInfo();
842 template<typename TReturnType, typename TOperator>
843 TReturnType visitType( TOperator inOperator ) const
844 {
845 return inOperator( nullptr );
846 }
847 template<typename TOperator>
848 void visitBases( TOperator inOperator )
849 {
850 PX_UNUSED(inOperator);
851 inOperator( *static_cast<PxJointLimitParametersGeneratedInfo*>( this ) );
852 }
853 template<typename TOperator>
854 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
855 {
856 PX_UNUSED(inOperator);
857 PX_UNUSED(inStartIndex);
858 inStartIndex = PxJointLimitParametersGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
859 inStartIndex = PxJointLimitParametersGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
860 return inStartIndex;
861 }
862 static PxU32 instancePropertyCount() { return 1; }
863 static PxU32 totalPropertyCount() { return instancePropertyCount()
864 + PxJointLimitParametersGeneratedInfo::totalPropertyCount(); }
865 template<typename TOperator>
866 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
867 {
868 PX_UNUSED(inOperator);
869 PX_UNUSED(inStartIndex);
870 inOperator( Value, inStartIndex + 0 );;
871 return 1 + inStartIndex;
872 }
873 };
874 template<> struct PxClassInfoTraits<PxJointLinearLimit>
875 {
876 PxJointLinearLimitGeneratedInfo Info;
877 const PxJointLinearLimitGeneratedInfo* getInfo() { return &Info; }
878 };
879
880 class PxJointLinearLimitPair;
881 struct PxJointLinearLimitPairGeneratedValues
882 : PxJointLimitParametersGeneratedValues {
883 PxReal Upper;
884 PxReal Lower;
885 PxJointLinearLimitPairGeneratedValues( const PxJointLinearLimitPair* inSource );
886 };
887 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJointLinearLimitPair, Upper, PxJointLinearLimitPairGeneratedValues)
888 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJointLinearLimitPair, Lower, PxJointLinearLimitPairGeneratedValues)
889 struct PxJointLinearLimitPairGeneratedInfo
890 : PxJointLimitParametersGeneratedInfo
891 {
892 static const char* getClassName() { return "PxJointLinearLimitPair"; }
893 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxJointLinearLimitPair_Upper, PxJointLinearLimitPair, PxReal, PxReal > Upper;
894 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxJointLinearLimitPair_Lower, PxJointLinearLimitPair, PxReal, PxReal > Lower;
895
896 PxJointLinearLimitPairGeneratedInfo();
897 template<typename TReturnType, typename TOperator>
898 TReturnType visitType( TOperator inOperator ) const
899 {
900 return inOperator( nullptr );
901 }
902 template<typename TOperator>
903 void visitBases( TOperator inOperator )
904 {
905 PX_UNUSED(inOperator);
906 inOperator( *static_cast<PxJointLimitParametersGeneratedInfo*>( this ) );
907 }
908 template<typename TOperator>
909 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
910 {
911 PX_UNUSED(inOperator);
912 PX_UNUSED(inStartIndex);
913 inStartIndex = PxJointLimitParametersGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
914 inStartIndex = PxJointLimitParametersGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
915 return inStartIndex;
916 }
917 static PxU32 instancePropertyCount() { return 2; }
918 static PxU32 totalPropertyCount() { return instancePropertyCount()
919 + PxJointLimitParametersGeneratedInfo::totalPropertyCount(); }
920 template<typename TOperator>
921 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
922 {
923 PX_UNUSED(inOperator);
924 PX_UNUSED(inStartIndex);
925 inOperator( Upper, inStartIndex + 0 );;
926 inOperator( Lower, inStartIndex + 1 );;
927 return 2 + inStartIndex;
928 }
929 };
930 template<> struct PxClassInfoTraits<PxJointLinearLimitPair>
931 {
932 PxJointLinearLimitPairGeneratedInfo Info;
933 const PxJointLinearLimitPairGeneratedInfo* getInfo() { return &Info; }
934 };
935
936 class PxJointAngularLimitPair;
937 struct PxJointAngularLimitPairGeneratedValues
938 : PxJointLimitParametersGeneratedValues {
939 PxReal Upper;
940 PxReal Lower;
941 PxJointAngularLimitPairGeneratedValues( const PxJointAngularLimitPair* inSource );
942 };
943 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJointAngularLimitPair, Upper, PxJointAngularLimitPairGeneratedValues)
944 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJointAngularLimitPair, Lower, PxJointAngularLimitPairGeneratedValues)
945 struct PxJointAngularLimitPairGeneratedInfo
946 : PxJointLimitParametersGeneratedInfo
947 {
948 static const char* getClassName() { return "PxJointAngularLimitPair"; }
949 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxJointAngularLimitPair_Upper, PxJointAngularLimitPair, PxReal, PxReal > Upper;
950 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxJointAngularLimitPair_Lower, PxJointAngularLimitPair, PxReal, PxReal > Lower;
951
952 PxJointAngularLimitPairGeneratedInfo();
953 template<typename TReturnType, typename TOperator>
954 TReturnType visitType( TOperator inOperator ) const
955 {
956 return inOperator( nullptr );
957 }
958 template<typename TOperator>
959 void visitBases( TOperator inOperator )
960 {
961 PX_UNUSED(inOperator);
962 inOperator( *static_cast<PxJointLimitParametersGeneratedInfo*>( this ) );
963 }
964 template<typename TOperator>
965 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
966 {
967 PX_UNUSED(inOperator);
968 PX_UNUSED(inStartIndex);
969 inStartIndex = PxJointLimitParametersGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
970 inStartIndex = PxJointLimitParametersGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
971 return inStartIndex;
972 }
973 static PxU32 instancePropertyCount() { return 2; }
974 static PxU32 totalPropertyCount() { return instancePropertyCount()
975 + PxJointLimitParametersGeneratedInfo::totalPropertyCount(); }
976 template<typename TOperator>
977 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
978 {
979 PX_UNUSED(inOperator);
980 PX_UNUSED(inStartIndex);
981 inOperator( Upper, inStartIndex + 0 );;
982 inOperator( Lower, inStartIndex + 1 );;
983 return 2 + inStartIndex;
984 }
985 };
986 template<> struct PxClassInfoTraits<PxJointAngularLimitPair>
987 {
988 PxJointAngularLimitPairGeneratedInfo Info;
989 const PxJointAngularLimitPairGeneratedInfo* getInfo() { return &Info; }
990 };
991
992 class PxJointLimitCone;
993 struct PxJointLimitConeGeneratedValues
994 : PxJointLimitParametersGeneratedValues {
995 PxReal YAngle;
996 PxReal ZAngle;
997 PxJointLimitConeGeneratedValues( const PxJointLimitCone* inSource );
998 };
999 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJointLimitCone, YAngle, PxJointLimitConeGeneratedValues)
1000 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJointLimitCone, ZAngle, PxJointLimitConeGeneratedValues)
1001 struct PxJointLimitConeGeneratedInfo
1002 : PxJointLimitParametersGeneratedInfo
1003 {
1004 static const char* getClassName() { return "PxJointLimitCone"; }
1005 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxJointLimitCone_YAngle, PxJointLimitCone, PxReal, PxReal > YAngle;
1006 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxJointLimitCone_ZAngle, PxJointLimitCone, PxReal, PxReal > ZAngle;
1007
1008 PxJointLimitConeGeneratedInfo();
1009 template<typename TReturnType, typename TOperator>
1010 TReturnType visitType( TOperator inOperator ) const
1011 {
1012 return inOperator( nullptr );
1013 }
1014 template<typename TOperator>
1015 void visitBases( TOperator inOperator )
1016 {
1017 PX_UNUSED(inOperator);
1018 inOperator( *static_cast<PxJointLimitParametersGeneratedInfo*>( this ) );
1019 }
1020 template<typename TOperator>
1021 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1022 {
1023 PX_UNUSED(inOperator);
1024 PX_UNUSED(inStartIndex);
1025 inStartIndex = PxJointLimitParametersGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
1026 inStartIndex = PxJointLimitParametersGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
1027 return inStartIndex;
1028 }
1029 static PxU32 instancePropertyCount() { return 2; }
1030 static PxU32 totalPropertyCount() { return instancePropertyCount()
1031 + PxJointLimitParametersGeneratedInfo::totalPropertyCount(); }
1032 template<typename TOperator>
1033 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1034 {
1035 PX_UNUSED(inOperator);
1036 PX_UNUSED(inStartIndex);
1037 inOperator( YAngle, inStartIndex + 0 );;
1038 inOperator( ZAngle, inStartIndex + 1 );;
1039 return 2 + inStartIndex;
1040 }
1041 };
1042 template<> struct PxClassInfoTraits<PxJointLimitCone>
1043 {
1044 PxJointLimitConeGeneratedInfo Info;
1045 const PxJointLimitConeGeneratedInfo* getInfo() { return &Info; }
1046 };
1047
1048 class PxJointLimitPyramid;
1049 struct PxJointLimitPyramidGeneratedValues
1050 : PxJointLimitParametersGeneratedValues {
1051 PxReal YAngleMin;
1052 PxReal YAngleMax;
1053 PxReal ZAngleMin;
1054 PxReal ZAngleMax;
1055 PxJointLimitPyramidGeneratedValues( const PxJointLimitPyramid* inSource );
1056 };
1057 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJointLimitPyramid, YAngleMin, PxJointLimitPyramidGeneratedValues)
1058 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJointLimitPyramid, YAngleMax, PxJointLimitPyramidGeneratedValues)
1059 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJointLimitPyramid, ZAngleMin, PxJointLimitPyramidGeneratedValues)
1060 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxJointLimitPyramid, ZAngleMax, PxJointLimitPyramidGeneratedValues)
1061 struct PxJointLimitPyramidGeneratedInfo
1062 : PxJointLimitParametersGeneratedInfo
1063 {
1064 static const char* getClassName() { return "PxJointLimitPyramid"; }
1065 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxJointLimitPyramid_YAngleMin, PxJointLimitPyramid, PxReal, PxReal > YAngleMin;
1066 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxJointLimitPyramid_YAngleMax, PxJointLimitPyramid, PxReal, PxReal > YAngleMax;
1067 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxJointLimitPyramid_ZAngleMin, PxJointLimitPyramid, PxReal, PxReal > ZAngleMin;
1068 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxJointLimitPyramid_ZAngleMax, PxJointLimitPyramid, PxReal, PxReal > ZAngleMax;
1069
1070 PxJointLimitPyramidGeneratedInfo();
1071 template<typename TReturnType, typename TOperator>
1072 TReturnType visitType( TOperator inOperator ) const
1073 {
1074 return inOperator( nullptr );
1075 }
1076 template<typename TOperator>
1077 void visitBases( TOperator inOperator )
1078 {
1079 PX_UNUSED(inOperator);
1080 inOperator( *static_cast<PxJointLimitParametersGeneratedInfo*>( this ) );
1081 }
1082 template<typename TOperator>
1083 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1084 {
1085 PX_UNUSED(inOperator);
1086 PX_UNUSED(inStartIndex);
1087 inStartIndex = PxJointLimitParametersGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
1088 inStartIndex = PxJointLimitParametersGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
1089 return inStartIndex;
1090 }
1091 static PxU32 instancePropertyCount() { return 4; }
1092 static PxU32 totalPropertyCount() { return instancePropertyCount()
1093 + PxJointLimitParametersGeneratedInfo::totalPropertyCount(); }
1094 template<typename TOperator>
1095 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1096 {
1097 PX_UNUSED(inOperator);
1098 PX_UNUSED(inStartIndex);
1099 inOperator( YAngleMin, inStartIndex + 0 );;
1100 inOperator( YAngleMax, inStartIndex + 1 );;
1101 inOperator( ZAngleMin, inStartIndex + 2 );;
1102 inOperator( ZAngleMax, inStartIndex + 3 );;
1103 return 4 + inStartIndex;
1104 }
1105 };
1106 template<> struct PxClassInfoTraits<PxJointLimitPyramid>
1107 {
1108 PxJointLimitPyramidGeneratedInfo Info;
1109 const PxJointLimitPyramidGeneratedInfo* getInfo() { return &Info; }
1110 };
1111
1112 class PxSpring;
1113 struct PxSpringGeneratedValues
1114 {
1115 PxReal Stiffness;
1116 PxReal Damping;
1117 PxSpringGeneratedValues( const PxSpring* inSource );
1118 };
1119 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSpring, Stiffness, PxSpringGeneratedValues)
1120 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxSpring, Damping, PxSpringGeneratedValues)
1121 struct PxSpringGeneratedInfo
1122
1123 {
1124 static const char* getClassName() { return "PxSpring"; }
1125 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSpring_Stiffness, PxSpring, PxReal, PxReal > Stiffness;
1126 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxSpring_Damping, PxSpring, PxReal, PxReal > Damping;
1127
1128 PxSpringGeneratedInfo();
1129 template<typename TReturnType, typename TOperator>
1130 TReturnType visitType( TOperator inOperator ) const
1131 {
1132 return inOperator( nullptr );
1133 }
1134 template<typename TOperator>
1135 void visitBases( TOperator inOperator )
1136 {
1137 PX_UNUSED(inOperator);
1138 }
1139 template<typename TOperator>
1140 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1141 {
1142 PX_UNUSED(inOperator);
1143 PX_UNUSED(inStartIndex);
1144 return inStartIndex;
1145 }
1146 static PxU32 instancePropertyCount() { return 2; }
1147 static PxU32 totalPropertyCount() { return instancePropertyCount(); }
1148 template<typename TOperator>
1149 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1150 {
1151 PX_UNUSED(inOperator);
1152 PX_UNUSED(inStartIndex);
1153 inOperator( Stiffness, inStartIndex + 0 );;
1154 inOperator( Damping, inStartIndex + 1 );;
1155 return 2 + inStartIndex;
1156 }
1157 };
1158 template<> struct PxClassInfoTraits<PxSpring>
1159 {
1160 PxSpringGeneratedInfo Info;
1161 const PxSpringGeneratedInfo* getInfo() { return &Info; }
1162 };
1163
1164 static PxU32ToName g_physx__PxD6JointDriveFlag__EnumConversion[] = {
1165 { .mName: "eACCELERATION", .mValue: static_cast<PxU32>( physx::PxD6JointDriveFlag::eACCELERATION ) },
1166 { NULL, .mValue: 0 }
1167 };
1168
1169template<> struct PxEnumTraits< physx::PxD6JointDriveFlag::Enum > { PxEnumTraits() : NameConversion( g_physx__PxD6JointDriveFlag__EnumConversion ) {} const PxU32ToName* NameConversion; };
1170 class PxD6JointDrive;
1171 struct PxD6JointDriveGeneratedValues
1172 : PxSpringGeneratedValues {
1173 PxReal ForceLimit;
1174 PxD6JointDriveFlags Flags;
1175 PxD6JointDriveGeneratedValues( const PxD6JointDrive* inSource );
1176 };
1177 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxD6JointDrive, ForceLimit, PxD6JointDriveGeneratedValues)
1178 DEFINE_PROPERTY_TO_VALUE_STRUCT_MAP( PxD6JointDrive, Flags, PxD6JointDriveGeneratedValues)
1179 struct PxD6JointDriveGeneratedInfo
1180 : PxSpringGeneratedInfo
1181 {
1182 static const char* getClassName() { return "PxD6JointDrive"; }
1183 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxD6JointDrive_ForceLimit, PxD6JointDrive, PxReal, PxReal > ForceLimit;
1184 PxPropertyInfo<PX_PROPERTY_INFO_NAME::PxD6JointDrive_Flags, PxD6JointDrive, PxD6JointDriveFlags, PxD6JointDriveFlags > Flags;
1185
1186 PxD6JointDriveGeneratedInfo();
1187 template<typename TReturnType, typename TOperator>
1188 TReturnType visitType( TOperator inOperator ) const
1189 {
1190 return inOperator( nullptr );
1191 }
1192 template<typename TOperator>
1193 void visitBases( TOperator inOperator )
1194 {
1195 PX_UNUSED(inOperator);
1196 inOperator( *static_cast<PxSpringGeneratedInfo*>( this ) );
1197 }
1198 template<typename TOperator>
1199 PxU32 visitBaseProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1200 {
1201 PX_UNUSED(inOperator);
1202 PX_UNUSED(inStartIndex);
1203 inStartIndex = PxSpringGeneratedInfo::visitBaseProperties( inOperator, inStartIndex );
1204 inStartIndex = PxSpringGeneratedInfo::visitInstanceProperties( inOperator, inStartIndex );
1205 return inStartIndex;
1206 }
1207 static PxU32 instancePropertyCount() { return 2; }
1208 static PxU32 totalPropertyCount() { return instancePropertyCount()
1209 + PxSpringGeneratedInfo::totalPropertyCount(); }
1210 template<typename TOperator>
1211 PxU32 visitInstanceProperties( TOperator inOperator, PxU32 inStartIndex = 0 ) const
1212 {
1213 PX_UNUSED(inOperator);
1214 PX_UNUSED(inStartIndex);
1215 inOperator( ForceLimit, inStartIndex + 0 );;
1216 inOperator( Flags, inStartIndex + 1 );;
1217 return 2 + inStartIndex;
1218 }
1219 };
1220 template<> struct PxClassInfoTraits<PxD6JointDrive>
1221 {
1222 PxD6JointDriveGeneratedInfo Info;
1223 const PxD6JointDriveGeneratedInfo* getInfo() { return &Info; }
1224 };
1225
1226
1227
1228#undef THERE_IS_NO_INCLUDE_GUARD_HERE_FOR_A_REASON
1229#undef PX_PROPERTY_INFO_NAME
1230

source code of qtquick3dphysics/src/3rdparty/PhysX/source/physxmetadata/extensions/include/PxExtensionAutoGeneratedMetaDataObjects.h