Loading...
Searching...
No Matches
parseDesc.h
Go to the documentation of this file.
1//
2// Copyright 2024 Pixar
3//
4// Licensed under the terms set forth in the LICENSE.txt file available at
5// https://openusd.org/license.
6//
7#ifndef USDPHYSICS_PARSE_DESC_H
8#define USDPHYSICS_PARSE_DESC_H
9
11
12#include "pxr/pxr.h"
13#include "pxr/usd/usd/prim.h"
15
16#include "pxr/base/gf/vec3f.h"
17#include "pxr/base/gf/quatf.h"
18
19PXR_NAMESPACE_OPEN_SCOPE
20
21// -------------------------------------------------------------------------- //
22// PHYSICSPARSEDESC //
23// -------------------------------------------------------------------------- //
24
26const float usdPhysicsSentinelLimit = 0.5e38f;
27
32enum class UsdPhysicsObjectType
33{
34 Undefined,
35
36 Scene,
37
38 RigidBody,
39
40 SphereShape,
41 CubeShape,
42 CapsuleShape,
43 Capsule1Shape,
44 CylinderShape,
45 Cylinder1Shape,
46 ConeShape,
47 MeshShape,
48 PlaneShape,
49 CustomShape,
50 SpherePointsShape,
51
52 FixedJoint,
53 RevoluteJoint,
54 PrismaticJoint,
55 SphericalJoint,
56 DistanceJoint,
57 D6Joint,
58 CustomJoint,
59
60 RigidBodyMaterial,
61
62 Articulation,
63
64 CollisionGroup,
65
66 Last,
67};
68
73enum class UsdPhysicsAxis
74{
75 X,
76 Y,
77 Z
78};
79
84enum class UsdPhysicsJointDOF
85{
86 Distance,
87 TransX,
88 TransY,
89 TransZ,
90 RotX,
91 RotY,
92 RotZ
93};
94
100{
102 type(inType), isValid(true)
103 {
104 }
105
106 virtual ~UsdPhysicsObjectDesc() = default;
107
115};
116
122{
124 UsdPhysicsObjectDesc(UsdPhysicsObjectType::RigidBodyMaterial),
125 staticFriction(0.0f), dynamicFriction(0.0f), restitution(0.0f),
126 density(-1.0f)
127 {
128 }
129
130 bool operator == (const UsdPhysicsRigidBodyMaterialDesc& /*desc*/) const
131 {
132 return false;
133 }
134
142 float density;
143};
144
150{
152 UsdPhysicsObjectDesc(UsdPhysicsObjectType::Scene),
153 gravityDirection(0.0f, 0.0f, 0.0f), gravityMagnitude(-INFINITY)
154 {
155 }
156
157 bool operator == (const UsdPhysicsSceneDesc& /*desc*/) const
158 {
159 return false;
160 }
161
168};
169
175{
177 UsdPhysicsObjectDesc(UsdPhysicsObjectType::CollisionGroup)
178 {
179 }
180
181 bool operator == (const UsdPhysicsCollisionGroupDesc& /*desc*/) const
182 {
183 return false;
184 }
185
186 const SdfPathVector& GetFilteredGroups() const
187 {
188 return filteredGroups;
189 }
190
191 const SdfPathVector& GetMergedGroups() const
192 {
193 return mergedGroups;
194 }
195
199 SdfPathVector filteredGroups;
201 std::string mergeGroupName;
203 SdfPathVector mergedGroups;
204};
205
215{
217 : UsdPhysicsObjectDesc(inType), localPos(0.0f, 0.0f, 0.0f),
218 localRot(1.0f, 0.0f, 0.0f, 0.0f),
219 localScale(1.0f, 1.0f, 1.0f), collisionEnabled(true)
220 {
221 }
222
223 const SdfPathVector& GetMaterials() const
224 {
225 return materials;
226 }
227
228 const SdfPathVector& GetSimulationOwners() const
229 {
230 return simulationOwners;
231 }
232
233 const SdfPathVector& GetFilteredCollisions() const
234 {
235 return filteredCollisions;
236 }
237
238 const SdfPathVector& GetCollisionGroups() const
239 {
240 return collisionGroups;
241 }
242
243
255 SdfPathVector materials;
257 SdfPathVector simulationOwners;
259 SdfPathVector filteredCollisions;
262 SdfPathVector collisionGroups;
265};
266
272{
273 UsdPhysicsSphereShapeDesc(float inRadius = 0.0f) :
274 UsdPhysicsShapeDesc(UsdPhysicsObjectType::SphereShape), radius(inRadius)
275 {
276 }
277
278 bool operator == (const UsdPhysicsSphereShapeDesc& /*desc*/) const
279 {
280 return false;
281 }
282
284 float radius;
285};
286
292{
293 UsdPhysicsCapsuleShapeDesc(float inRadius = 0.0f, float half_height = 0.0f,
294 UsdPhysicsAxis cap_axis = UsdPhysicsAxis::X)
295 : UsdPhysicsShapeDesc(UsdPhysicsObjectType::CapsuleShape),
296 radius(inRadius), halfHeight(half_height), axis(cap_axis)
297 {
298 }
299
300 bool operator == (const UsdPhysicsCapsuleShapeDesc& /*desc*/) const
301 {
302 return false;
303 }
304
306 float radius;
311};
312
318{
319 UsdPhysicsCapsule1ShapeDesc(float inTopRadius = 0.0f,
320 float inBottomRadius = 0.0f, float half_height = 0.0f,
321 UsdPhysicsAxis cap_axis = UsdPhysicsAxis::X)
322 : UsdPhysicsShapeDesc(UsdPhysicsObjectType::Capsule1Shape),
323 topRadius(inTopRadius), bottomRadius(inBottomRadius),
324 halfHeight(half_height), axis(cap_axis)
325 {
326 }
327
328 bool operator == (const UsdPhysicsCapsule1ShapeDesc& /*desc*/) const
329 {
330 return false;
331 }
332
341};
342
348{
349 UsdPhysicsCylinderShapeDesc(float inRadius = 0.0f, float half_height = 0.0f,
350 UsdPhysicsAxis cap_axis = UsdPhysicsAxis::X)
351 : UsdPhysicsShapeDesc(UsdPhysicsObjectType::CylinderShape),
352 radius(inRadius), halfHeight(half_height), axis(cap_axis)
353 {
354 }
355
356 bool operator == (const UsdPhysicsCylinderShapeDesc& /*desc*/) const
357 {
358 return false;
359 }
360
362 float radius;
367};
368
374{
375 UsdPhysicsCylinder1ShapeDesc(float inTopRadius = 0.0f,
376 float inBottomRadius = 0.0f, float half_height = 0.0f,
377 UsdPhysicsAxis cap_axis = UsdPhysicsAxis::X)
378 : UsdPhysicsShapeDesc(UsdPhysicsObjectType::Cylinder1Shape),
379 topRadius(inTopRadius), bottomRadius(inBottomRadius),
380 halfHeight(half_height), axis(cap_axis)
381 {
382 }
383
384 bool operator == (const UsdPhysicsCylinder1ShapeDesc& /*desc*/) const
385 {
386 return false;
387 }
388
397};
398
404{
405 UsdPhysicsConeShapeDesc(float inRadius = 0.0f, float half_height = 0.0f,
406 UsdPhysicsAxis cap_axis = UsdPhysicsAxis::X)
407 : UsdPhysicsShapeDesc(UsdPhysicsObjectType::ConeShape), radius(inRadius),
408 halfHeight(half_height), axis(cap_axis)
409 {
410 }
411
412 bool operator == (const UsdPhysicsConeShapeDesc& /*desc*/) const
413 {
414 return false;
415 }
416
418 float radius;
423};
424
430{
431 UsdPhysicsPlaneShapeDesc(UsdPhysicsAxis up_axis = UsdPhysicsAxis::X)
432 : UsdPhysicsShapeDesc(UsdPhysicsObjectType::PlaneShape), axis(up_axis)
433 {
434 }
435
436 bool operator == (const UsdPhysicsPlaneShapeDesc& /*desc*/) const
437 {
438 return false;
439 }
440
443};
444
445
451{
453 : UsdPhysicsShapeDesc(UsdPhysicsObjectType::CustomShape)
454 {
455 }
456
457 bool operator == (const UsdPhysicsCustomShapeDesc& /*desc*/) const
458 {
459 return false;
460 }
461
464};
465
471{
472 UsdPhysicsCubeShapeDesc(const GfVec3f& inHalfExtents = GfVec3f(1.0f))
473 : UsdPhysicsShapeDesc(UsdPhysicsObjectType::CubeShape),
474 halfExtents(inHalfExtents)
475 {
476 }
477
478 bool operator == (const UsdPhysicsCubeShapeDesc& /*desc*/) const
479 {
480 return false;
481 }
482
485};
486
492{
494 : UsdPhysicsShapeDesc(UsdPhysicsObjectType::MeshShape),
495 meshScale(1.0f, 1.0f, 1.0f),
496 doubleSided(false)
497 {
498 }
499
500 bool operator == (const UsdPhysicsMeshShapeDesc& /*desc*/) const
501 {
502 return false;
503 }
504
505 TfToken GetApproximation() const
506 {
507 return approximation;
508 }
509
516};
517
524{
525 bool operator == (const UsdPhysicsSpherePoint& /*desc*/) const
526 {
527 return false;
528 }
529
532
534 float radius;
535};
536
545{
547 : UsdPhysicsShapeDesc(UsdPhysicsObjectType::SpherePointsShape)
548 {
549 }
550
551 bool operator == (const UsdPhysicsSpherePointsShapeDesc& /*desc*/) const
552 {
553 return false;
554 }
555
557 std::vector<UsdPhysicsSpherePoint> spherePoints;
558};
559
565{
567 : UsdPhysicsObjectDesc(UsdPhysicsObjectType::RigidBody),
568 position(0.0f, 0.0f, 0.0f),
569 rotation(1.0f, 0.0f, 0.0f, 0.0f),
570 scale(1.0f, 1.0f, 1.0f), rigidBodyEnabled(true), kinematicBody(false),
571 startsAsleep(false), linearVelocity(0.0f, 0.0f, 0.0f),
572 angularVelocity(0.0f, 0.0f, 0.0f)
573 {
574 }
575
576 bool operator == (const UsdPhysicsRigidBodyDesc& /*desc*/) const
577 {
578 return false;
579 }
580
581 const SdfPathVector& GetCollisions() const
582 {
583 return collisions;
584 }
585
586 const SdfPathVector& GetFilteredCollisions() const
587 {
588 return filteredCollisions;
589 }
590
591 const SdfPathVector& GetSimulationOwners() const
592 {
593 return simulationOwners;
594 }
595
597 SdfPathVector collisions;
599 SdfPathVector filteredCollisions;
601 SdfPathVector simulationOwners;
608
619};
620
626{
627 UsdPhysicsJointLimit() : enabled(false), angle0(90.0), angle1(-90.0)
628 {
629 }
630
631 bool operator == (const UsdPhysicsJointLimit& /*desc*/) const
632 {
633 return false;
634 }
635
638
640 union
641 {
642 float angle0;
643 float lower;
644 float minDist;
645 };
646
648 union
649 {
650 float angle1;
651 float upper;
652 float maxDist;
653 };
654};
655
664{
666 : enabled(false), targetPosition(0.0f), targetVelocity(0.0f),
667 forceLimit(FLT_MAX), stiffness(0.0f), damping(0.0f), acceleration(false)
668 {
669 }
670
671 bool operator == (const UsdPhysicsJointDrive& /*desc*/) const
672 {
673 return false;
674 }
675
687 float damping;
690};
691
692
698{
700 : UsdPhysicsObjectDesc(UsdPhysicsObjectType::Articulation)
701 {
702 }
703
704 bool operator == (const UsdPhysicsArticulationDesc& /*desc*/) const
705 {
706 return false;
707 }
708
709 const SdfPathVector& GetRootPrims() const
710 {
711 return rootPrims;
712 }
713
714 const SdfPathVector& GetFilteredCollisions() const
715 {
716 return filteredCollisions;
717 }
718
719 const SdfPathVector& GetArticulatedJoints() const
720 {
721 return articulatedJoints;
722 }
723
724 const SdfPathVector& GetArticulatedBodies() const
725 {
726 return articulatedBodies;
727 }
728
731 SdfPathVector rootPrims;
733 SdfPathVector filteredCollisions;
735 SdfPathVector articulatedJoints;
737 SdfPathVector articulatedBodies;
738};
739
740using JointLimits = std::vector<
741 std::pair<
743using JointDrives = std::vector<
744 std::pair<
746
752{
754 : UsdPhysicsObjectDesc(inType), localPose0Position(0.0f, 0.0f, 0.0f),
755 localPose0Orientation(1.0f, 0.0f, 0.0f, 0.0f),
756 localPose1Position(0.0f, 0.0f, 0.0f),
757 localPose1Orientation(1.0f, 0.0f, 0.0f, 0.0f), jointEnabled(true),
758 breakForce(FLT_MAX), // USD default is none, which is not a float...
759 breakTorque(FLT_MAX), excludeFromArticulation(false)
760 {
761 }
762
763 bool operator == (const UsdPhysicsJointDesc& /*desc*/) const
764 {
765 return false;
766 }
767
797};
798
804{
806 : UsdPhysicsJointDesc(UsdPhysicsObjectType::CustomJoint)
807 {
808 }
809
810 bool operator == (const UsdPhysicsCustomJointDesc& /*desc*/) const
811 {
812 return false;
813 }
814
815};
816
822{
824 : UsdPhysicsJointDesc(UsdPhysicsObjectType::FixedJoint)
825 {
826 }
827
828 bool operator == (const UsdPhysicsFixedJointDesc& /*desc*/) const
829 {
830 return false;
831 }
832};
833
839{
841 : UsdPhysicsJointDesc(UsdPhysicsObjectType::D6Joint)
842 {
843 }
844
845 bool operator == (const UsdPhysicsD6JointDesc& /*desc*/) const
846 {
847 return false;
848 }
849
851 JointLimits jointLimits;
853 JointDrives jointDrives;
854};
855
861{
863 : UsdPhysicsJointDesc(UsdPhysicsObjectType::PrismaticJoint),
864 axis(UsdPhysicsAxis::X)
865 {
866 }
867
868 bool operator == (const UsdPhysicsPrismaticJointDesc& /*desc*/) const
869 {
870 return false;
871 }
872
879};
880
886{
888 : UsdPhysicsJointDesc(UsdPhysicsObjectType::SphericalJoint),
889 axis(UsdPhysicsAxis::X)
890 {
891 }
892
893 bool operator == (const UsdPhysicsSphericalJointDesc& /*desc*/) const
894 {
895 return false;
896 }
897
902};
903
909{
911 : UsdPhysicsJointDesc(UsdPhysicsObjectType::RevoluteJoint),
912 axis(UsdPhysicsAxis::X)
913 {
914 }
915
916 bool operator == (const UsdPhysicsRevoluteJointDesc& /*desc*/) const
917 {
918 return false;
919 }
920
927};
928
934{
936 : UsdPhysicsJointDesc(UsdPhysicsObjectType::DistanceJoint),
937 minEnabled(false), maxEnabled(false)
938 {
939 }
940
941 bool operator == (const UsdPhysicsDistanceJointDesc& /*desc*/) const
942 {
943 return false;
944 }
945
952};
953
954
955PXR_NAMESPACE_CLOSE_SCOPE
956
957#endif
Basic type: a quaternion, a complex number with a real coefficient and three imaginary coefficients,...
Definition: quatf.h:43
Basic type for a vector of 3 float components.
Definition: vec3f.h:46
A path value used to locate objects in layers or scenegraphs.
Definition: path.h:274
Token for efficient comparison, assignment, and hashing of known strings.
Definition: token.h:71
Physics axis structure for type enumeration.
Physics joint degree of freedom structure for type enumeration.
Physics object type structure for type enumeration.
const float usdPhysicsSentinelLimit
Sentinel value for flt max compare.
Definition: parseDesc.h:26
Articulation description.
Definition: parseDesc.h:698
SdfPathVector rootPrims
List of articulation roots, this defines where the articulation topology starts.
Definition: parseDesc.h:731
SdfPathVector articulatedBodies
List of bodies that can be part of this articulation.
Definition: parseDesc.h:737
SdfPathVector filteredCollisions
Filtered collisions.
Definition: parseDesc.h:733
SdfPathVector articulatedJoints
List of joints that can be part of this articulation.
Definition: parseDesc.h:735
Capsule1 shape collision descriptor.
Definition: parseDesc.h:318
float bottomRadius
Capsule bottom radius.
Definition: parseDesc.h:336
UsdPhysicsAxis axis
Capsule axis.
Definition: parseDesc.h:340
float topRadius
Capsule top radius.
Definition: parseDesc.h:334
float halfHeight
Capsule half height.
Definition: parseDesc.h:338
Capsule shape collision descriptor.
Definition: parseDesc.h:292
UsdPhysicsAxis axis
Capsule axis.
Definition: parseDesc.h:310
float radius
Capsule radius.
Definition: parseDesc.h:306
float halfHeight
Capsule half height.
Definition: parseDesc.h:308
Collision group descriptor.
Definition: parseDesc.h:175
SdfPathVector mergedGroups
List of merged collision groups.
Definition: parseDesc.h:203
bool invertFilteredGroups
If filtering is inverted or not (default does not collide with)
Definition: parseDesc.h:197
std::string mergeGroupName
Merge group name.
Definition: parseDesc.h:201
SdfPathVector filteredGroups
Filtered groups SdfPath vector.
Definition: parseDesc.h:199
Cone shape collision descriptor.
Definition: parseDesc.h:404
UsdPhysicsAxis axis
Cone axis.
Definition: parseDesc.h:422
float radius
Cone radius.
Definition: parseDesc.h:418
float halfHeight
Cone half height.
Definition: parseDesc.h:420
Cube shape collision descriptor.
Definition: parseDesc.h:471
GfVec3f halfExtents
Half extents of the cube.
Definition: parseDesc.h:484
Custom joint descriptor.
Definition: parseDesc.h:804
Custom shape collision descriptor.
Definition: parseDesc.h:451
TfToken customGeometryToken
Custom geometry token for this collision.
Definition: parseDesc.h:463
Cylinder1 shape collision descriptor.
Definition: parseDesc.h:374
float bottomRadius
Cylinder bottom radius.
Definition: parseDesc.h:392
UsdPhysicsAxis axis
Cylinder axis.
Definition: parseDesc.h:396
float topRadius
Cylinder top radius.
Definition: parseDesc.h:390
float halfHeight
Cylinder half height.
Definition: parseDesc.h:394
Cylinder shape collision descriptor.
Definition: parseDesc.h:348
UsdPhysicsAxis axis
Cylinder axis.
Definition: parseDesc.h:366
float radius
Cylinder radius.
Definition: parseDesc.h:362
float halfHeight
Cylinder half height.
Definition: parseDesc.h:364
Generic D6 joint descriptor.
Definition: parseDesc.h:839
JointDrives jointDrives
List of joint drives.
Definition: parseDesc.h:853
JointLimits jointLimits
List of joint limit's.
Definition: parseDesc.h:851
Distance joint descriptor.
Definition: parseDesc.h:934
bool maxEnabled
Defines if maximum limit is enabled.
Definition: parseDesc.h:949
UsdPhysicsJointLimit limit
The distance limit.
Definition: parseDesc.h:951
bool minEnabled
Defines if minimum limit is enabled.
Definition: parseDesc.h:947
Fixed joint descriptor.
Definition: parseDesc.h:822
Base UsdPhysics joint descriptor.
Definition: parseDesc.h:752
GfVec3f localPose1Position
Relative local position against the body1 world frame.
Definition: parseDesc.h:783
GfQuatf localPose0Orientation
Relative local orientation against the body0 world frame.
Definition: parseDesc.h:781
SdfPath rel0
UsdPrim relationship 0 for the joint.
Definition: parseDesc.h:769
GfQuatf localPose1Orientation
Relative local orientation against the body1 world frame.
Definition: parseDesc.h:785
bool collisionEnabled
Defines if collision is enabled or disabled between the jointed bodies.
Definition: parseDesc.h:796
SdfPath body1
Rigid body 1 that the joint is connected, does not have to match the rel1.
Definition: parseDesc.h:777
bool jointEnabled
Defines if joint is enabled or disabled.
Definition: parseDesc.h:787
bool excludeFromArticulation
Defines if joint belongs to an articulation or if it's a maximum coordinate joint.
Definition: parseDesc.h:794
SdfPath rel1
UsdPrim relationship 1 for the joint.
Definition: parseDesc.h:771
float breakTorque
Joint break torque.
Definition: parseDesc.h:791
SdfPath body0
Rigid body 0 that the joint is connected, does not have to match the rel0.
Definition: parseDesc.h:774
float breakForce
Joint break force.
Definition: parseDesc.h:789
GfVec3f localPose0Position
Relative local position against the body0 world frame.
Definition: parseDesc.h:779
Joint drive descriptor The expected drive formula: force = spring * (target position - position) + da...
Definition: parseDesc.h:664
float forceLimit
force limit
Definition: parseDesc.h:683
float targetPosition
Drive target position.
Definition: parseDesc.h:679
bool enabled
Defines whether drive is enabled or not.
Definition: parseDesc.h:677
float damping
Drive damping.
Definition: parseDesc.h:687
bool acceleration
Drive mode is acceleration or force.
Definition: parseDesc.h:689
float stiffness
Drive stiffness.
Definition: parseDesc.h:685
float targetVelocity
Drive target velocity.
Definition: parseDesc.h:681
Joint limit descriptor.
Definition: parseDesc.h:626
bool enabled
Defines whether limit is enabled or not.
Definition: parseDesc.h:637
Mesh shape collision descriptor.
Definition: parseDesc.h:492
bool doubleSided
Defines whether mesh is double sided or not.
Definition: parseDesc.h:515
GfVec3f meshScale
Mesh scale.
Definition: parseDesc.h:513
TfToken approximation
Desired approximation for the mesh collision.
Definition: parseDesc.h:511
Base physics object descriptor.
Definition: parseDesc.h:100
SdfPath primPath
SdfPath for the prim from which the descriptor was parsed.
Definition: parseDesc.h:111
bool isValid
Validity of a descriptor, the parsing may succeed, but the descriptor might be not valid.
Definition: parseDesc.h:114
UsdPhysicsObjectType type
Descriptor type.
Definition: parseDesc.h:109
Plane shape collision descriptor.
Definition: parseDesc.h:430
UsdPhysicsAxis axis
Plane axis.
Definition: parseDesc.h:442
Prismatic joint descriptor.
Definition: parseDesc.h:861
UsdPhysicsJointLimit limit
Joint linear limit.
Definition: parseDesc.h:876
UsdPhysicsJointDrive drive
Joint linear drive.
Definition: parseDesc.h:878
UsdPhysicsAxis axis
The joints axis.
Definition: parseDesc.h:874
Revolute joint descriptor.
Definition: parseDesc.h:909
UsdPhysicsJointLimit limit
The angular limit.
Definition: parseDesc.h:924
UsdPhysicsJointDrive drive
The angular drive.
Definition: parseDesc.h:926
UsdPhysicsAxis axis
The joints axis.
Definition: parseDesc.h:922
Rigid body descriptor.
Definition: parseDesc.h:565
SdfPathVector simulationOwners
Simulation owners list.
Definition: parseDesc.h:601
bool kinematicBody
Defines if the body is kinematic or not.
Definition: parseDesc.h:612
GfVec3f position
Rigid body position in world space.
Definition: parseDesc.h:603
GfVec3f scale
Rigid body scale.
Definition: parseDesc.h:607
bool rigidBodyEnabled
Defines whether body is enabled or not, if not enabled it's a static body.
Definition: parseDesc.h:610
GfQuatf rotation
Rigid body orientation in world space.
Definition: parseDesc.h:605
GfVec3f angularVelocity
Rigid body initial angular velocity.
Definition: parseDesc.h:618
GfVec3f linearVelocity
Rigid body initial linear velocity.
Definition: parseDesc.h:616
bool startsAsleep
Defines if body starts asleep or awake.
Definition: parseDesc.h:614
SdfPathVector filteredCollisions
Filtered collisions.
Definition: parseDesc.h:599
SdfPathVector collisions
List of collision shapes that belong to this rigid body.
Definition: parseDesc.h:597
Rigid body material descriptor.
Definition: parseDesc.h:122
float restitution
Restitution.
Definition: parseDesc.h:140
float staticFriction
Static friction.
Definition: parseDesc.h:136
float dynamicFriction
Dynamic friction.
Definition: parseDesc.h:138
Scene descriptor.
Definition: parseDesc.h:150
GfVec3f gravityDirection
Gravity direction, if default 0,0,0 was used negative upAxis direction will be returned.
Definition: parseDesc.h:164
float gravityMagnitude
Gravity magnitude, -inf means Earth gravity adjusted by metersPerUnit will be returned.
Definition: parseDesc.h:167
Shape descriptor, base class should not be reported.
Definition: parseDesc.h:215
SdfPath rigidBody
Rigid body the collision shape belongs to, if not set it's a static collider.
Definition: parseDesc.h:246
SdfPathVector simulationOwners
Simulation owners list.
Definition: parseDesc.h:257
SdfPathVector materials
Materials assigned to the collision geometry, can be multiple materials used on UsdGeomSubset.
Definition: parseDesc.h:255
SdfPathVector collisionGroups
List of collision groups this collision belongs to, note that only collision groups that are part of ...
Definition: parseDesc.h:262
bool collisionEnabled
Collision enabled/disabled bool.
Definition: parseDesc.h:264
GfVec3f localScale
Local scale of the shape relative to the body world pose.
Definition: parseDesc.h:252
GfQuatf localRot
Local orientation of the shape relative to the body world pose.
Definition: parseDesc.h:250
SdfPathVector filteredCollisions
Filtered collisions list.
Definition: parseDesc.h:259
GfVec3f localPos
Local position of the shape relative to the body world pose.
Definition: parseDesc.h:248
This struct represents a single sphere-point which is a position and a radius.
Definition: parseDesc.h:524
float radius
Sphere point radius.
Definition: parseDesc.h:534
GfVec3f center
Sphere point center.
Definition: parseDesc.h:531
This struct represents a collection of sphere points.
Definition: parseDesc.h:545
std::vector< UsdPhysicsSpherePoint > spherePoints
List of sphere points.
Definition: parseDesc.h:557
Sphere shape collision descriptor.
Definition: parseDesc.h:272
float radius
Sphere radius.
Definition: parseDesc.h:284
Spherical joint descriptor.
Definition: parseDesc.h:886
UsdPhysicsJointLimit limit
The join spherical limit.
Definition: parseDesc.h:901
UsdPhysicsAxis axis
The joints axis.
Definition: parseDesc.h:899