Parse UsdPhysicsJoint enabled attr to set equality->active

This commit is contained in:
Lou Rohan
2026-03-05 15:45:30 -06:00
parent 42ee943ec5
commit a1bc4f219f
+11
View File
@@ -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);
}
}