Add group support to mjcPhysics equivalents for sites, geoms, actuators, and joints.

PiperOrigin-RevId: 781945497
Change-Id: I5c409f05e6bae33c181a51c273f260daea6004fc
This commit is contained in:
Sam Haves
2025-07-11 05:36:35 -07:00
committed by Copybara-Service
parent bbb265da4a
commit 3473e4e451
14 changed files with 234 additions and 24 deletions
+27 -3
View File
@@ -74,12 +74,36 @@ const TfType &MjcPhysicsSiteAPI::_GetTfType() const {
return _GetStaticTfType();
}
UsdAttribute MjcPhysicsSiteAPI::GetGroupAttr() const {
return GetPrim().GetAttribute(MjcPhysicsTokens->mjcGroup);
}
UsdAttribute MjcPhysicsSiteAPI::CreateGroupAttr(VtValue const &defaultValue,
bool writeSparsely) const {
return UsdSchemaBase::_CreateAttr(
MjcPhysicsTokens->mjcGroup, SdfValueTypeNames->Int,
/* custom = */ false, SdfVariabilityUniform, defaultValue, writeSparsely);
}
namespace {
static inline TfTokenVector _ConcatenateAttributeNames(
const TfTokenVector &left, const TfTokenVector &right) {
TfTokenVector result;
result.reserve(left.size() + right.size());
result.insert(result.end(), left.begin(), left.end());
result.insert(result.end(), right.begin(), right.end());
return result;
}
} // namespace
/*static*/
const TfTokenVector &MjcPhysicsSiteAPI::GetSchemaAttributeNames(
bool includeInherited) {
static TfTokenVector localNames;
static TfTokenVector allNames =
UsdAPISchemaBase::GetSchemaAttributeNames(true);
static TfTokenVector localNames = {
MjcPhysicsTokens->mjcGroup,
};
static TfTokenVector allNames = _ConcatenateAttributeNames(
UsdAPISchemaBase::GetSchemaAttributeNames(true), localNames);
if (includeInherited)
return allNames;