Replace mjs_setActivePlugins with mjs_activatePlugin.

PiperOrigin-RevId: 680613007
Change-Id: Ic03e0dc42a1f5f083e313672bc6e3ccebadc58b3
This commit is contained in:
Alessio Quaglino
2024-09-30 09:45:25 -07:00
committed by Copybara-Service
parent cf13413c0b
commit 6832df3091
11 changed files with 76 additions and 92 deletions
+15 -10
View File
@@ -205,6 +205,21 @@ void mjs_addSpec(mjSpec* s, mjSpec* child) {
// activate plugin
int mjs_activatePlugin(mjSpec* s, const char* name) {
int plugin_slot = -1;
const mjpPlugin* plugin = mjp_getPlugin(name, &plugin_slot);
if (!plugin) {
mju_error("unknown plugin '%s'", name);
return -1;
}
mjCModel* model = static_cast<mjCModel*>(s->element);
model->ActivatePlugin(plugin, plugin_slot);
return plugin_slot;
}
// delete object, it will call the appropriate destructor since ~mjCBase is virtual
void mjs_delete(mjsElement* element) {
mjCBase* object = static_cast<mjCBase*>(element);
@@ -1027,16 +1042,6 @@ void mjs_setPluginAttributes(mjsPlugin* plugin, void* attributes) {
// Set active plugins.
void mjs_setActivePlugins(mjSpec* s, void* activeplugins) {
mjCModel* modelC = static_cast<mjCModel*>(s->element);
std::vector<std::pair<const mjpPlugin*, int>>* active_plugins =
reinterpret_cast<std::vector<std::pair<const mjpPlugin*, int>>*>(activeplugins);
modelC->SetActivePlugins(std::move(*active_plugins));
}
// -------------------------- GLOBAL ASSET CACHE -------------------------------
void mj_setCacheSize(mjCache cache, std::size_t size) {