Make constraint island discovery on by default.
Also fix latent bug in mjData serialization. PiperOrigin-RevId: 799505349 Change-Id: I299e7cc8133fa2ec0b339a7ff3d02543e06778b1
This commit is contained in:
committed by
Copybara-Service
parent
4cf5c37211
commit
ec94bb49aa
@@ -643,7 +643,6 @@ class ModelWriter {
|
||||
|
||||
const std::vector<std::pair<pxr::TfToken, int>> enable_flags = {
|
||||
{MjcPhysicsTokens->mjcFlagMulticcd, mjENBL_MULTICCD},
|
||||
{MjcPhysicsTokens->mjcFlagIsland, mjENBL_ISLAND},
|
||||
{MjcPhysicsTokens->mjcFlagFwdinv, mjENBL_FWDINV},
|
||||
{MjcPhysicsTokens->mjcFlagEnergy, mjENBL_ENERGY},
|
||||
{MjcPhysicsTokens->mjcFlagOverride, mjENBL_OVERRIDE},
|
||||
@@ -669,7 +668,8 @@ class ModelWriter {
|
||||
{MjcPhysicsTokens->mjcFlagMidphase, mjDSBL_MIDPHASE},
|
||||
{MjcPhysicsTokens->mjcFlagEulerdamp, mjDSBL_EULERDAMP},
|
||||
{MjcPhysicsTokens->mjcFlagAutoreset, mjDSBL_AUTORESET},
|
||||
{MjcPhysicsTokens->mjcFlagNativeccd, mjDSBL_NATIVECCD}};
|
||||
{MjcPhysicsTokens->mjcFlagNativeccd, mjDSBL_NATIVECCD},
|
||||
{MjcPhysicsTokens->mjcFlagIsland, mjDSBL_ISLAND}};
|
||||
for (const auto &[token, flag] : disable_flags) {
|
||||
create_flag_attr(token, flag, false);
|
||||
}
|
||||
|
||||
@@ -617,6 +617,10 @@ void ParseUsdPhysicsScene(mjSpec* spec,
|
||||
mjc_physics_scene.GetAutoResetFlagAttr().Get(&autoreset_flag);
|
||||
spec->option.disableflags |= (!autoreset_flag ? mjDSBL_AUTORESET : 0);
|
||||
|
||||
bool island_flag;
|
||||
mjc_physics_scene.GetIslandFlagAttr().Get(&island_flag);
|
||||
spec->option.disableflags |= (!island_flag ? mjDSBL_ISLAND : 0);
|
||||
|
||||
bool override_flag;
|
||||
mjc_physics_scene.GetOverrideFlagAttr().Get(&override_flag);
|
||||
spec->option.enableflags |= (override_flag ? mjENBL_OVERRIDE : 0);
|
||||
@@ -637,10 +641,6 @@ void ParseUsdPhysicsScene(mjSpec* spec,
|
||||
mjc_physics_scene.GetMultiCCDFlagAttr().Get(&multiccd_flag);
|
||||
spec->option.enableflags |= (multiccd_flag ? mjENBL_MULTICCD : 0);
|
||||
|
||||
bool island_flag;
|
||||
mjc_physics_scene.GetIslandFlagAttr().Get(&island_flag);
|
||||
spec->option.enableflags |= (island_flag ? mjENBL_ISLAND : 0);
|
||||
|
||||
// Compiler attributes
|
||||
auto auto_limits_attr = mjc_physics_scene.GetAutoLimitsAttr();
|
||||
if (auto_limits_attr.HasAuthoredValue()) {
|
||||
|
||||
Reference in New Issue
Block a user