Parse UsdPhysicsJoint enabled attr to set equality->active
This commit is contained in:
@@ -1829,6 +1829,12 @@ void ParseUsdPhysicsCollider(mjSpec* spec,
|
||||
}
|
||||
}
|
||||
|
||||
void ParseJointEnabled(mjsEquality* eq, const pxr::UsdPhysicsJoint& joint) {
|
||||
bool jointEnabled = true;
|
||||
joint.GetJointEnabledAttr().Get(&jointEnabled);
|
||||
eq->active = jointEnabled ? 1 : 0;
|
||||
}
|
||||
|
||||
void ParseMjcEqualityAPISolverParams(
|
||||
mjsEquality* eq, const pxr::MjcPhysicsEqualityAPI& equality_api,
|
||||
const pxr::UsdPrim& prim) {
|
||||
@@ -1897,6 +1903,9 @@ void ParseConstraint(mjSpec* spec, const pxr::UsdPrim& prim, mjsBody* body,
|
||||
eq_joint_api.GetCoef3Attr().Get(&eq->data[3]);
|
||||
eq_joint_api.GetCoef4Attr().Get(&eq->data[4]);
|
||||
|
||||
pxr::UsdPhysicsJoint joint(prim);
|
||||
ParseJointEnabled(eq, joint);
|
||||
|
||||
ParseMjcEqualityAPISolverParams(eq, equality_api, prim);
|
||||
} else if (prim.IsA<pxr::UsdPhysicsFixedJoint>() ||
|
||||
prim.IsA<pxr::UsdPhysicsSphericalJoint>()) {
|
||||
@@ -2060,6 +2069,8 @@ void ParseConstraint(mjSpec* spec, const pxr::UsdPrim& prim, mjsBody* body,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ParseJointEnabled(eq, joint);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user