Add OnePlugin read/write functions and remove redundant plugin attributes from mjCActuator.
PiperOrigin-RevId: 525708657 Change-Id: I762de238f989b13877d5f9198c83c16ea9dc1d8b
This commit is contained in:
committed by
Copybara-Service
parent
34e62aa3c1
commit
4f5da9c554
@@ -1841,15 +1841,7 @@ void mjXReader::OneActuator(XMLElement* elem, mjCActuator* pact) {
|
||||
}
|
||||
|
||||
else if (type == "plugin") {
|
||||
pact->is_plugin = true;
|
||||
ReadAttrTxt(elem, "plugin", pact->plugin_name);
|
||||
ReadAttrTxt(elem, "instance", pact->plugin_instance_name);
|
||||
if (pact->plugin_instance_name.empty()) {
|
||||
pact->plugin_instance = model->AddPlugin();
|
||||
} else {
|
||||
model->hasImplicitPluginElem = true;
|
||||
}
|
||||
ReadPluginConfigs(elem, pact->plugin_instance);
|
||||
OnePlugin(elem, pact);
|
||||
}
|
||||
|
||||
else { // SHOULD NOT OCCUR
|
||||
@@ -2087,6 +2079,20 @@ void mjXReader::OneComposite(XMLElement* elem, mjCBody* pbody, mjCDef* def) {
|
||||
|
||||
|
||||
|
||||
void mjXReader::OnePlugin(XMLElement* elem, mjCBase* object) {
|
||||
object->is_plugin = true;
|
||||
ReadAttrTxt(elem, "plugin", object->plugin_name);
|
||||
ReadAttrTxt(elem, "instance", object->plugin_instance_name);
|
||||
if (object->plugin_instance_name.empty()) {
|
||||
object->plugin_instance = model->AddPlugin();
|
||||
} else {
|
||||
model->hasImplicitPluginElem = true;
|
||||
}
|
||||
ReadPluginConfigs(elem, object->plugin_instance);
|
||||
}
|
||||
|
||||
|
||||
|
||||
//------------------ MJCF-specific sections --------------------------------------------------------
|
||||
|
||||
// default section parser
|
||||
@@ -2699,15 +2705,7 @@ void mjXReader::Body(XMLElement* section, mjCBody* pbody) {
|
||||
|
||||
// plugin sub-element
|
||||
else if (name == "plugin") {
|
||||
pbody->is_plugin = true;
|
||||
ReadAttrTxt(elem, "plugin", pbody->plugin_name);
|
||||
ReadAttrTxt(elem, "instance", pbody->plugin_instance_name);
|
||||
if (pbody->plugin_instance_name.empty()) {
|
||||
pbody->plugin_instance = model->AddPlugin();
|
||||
} else {
|
||||
model->hasImplicitPluginElem = true;
|
||||
}
|
||||
ReadPluginConfigs(elem, pbody->plugin_instance);
|
||||
OnePlugin(elem, pbody);
|
||||
}
|
||||
|
||||
// composite sub-element
|
||||
|
||||
Reference in New Issue
Block a user