Convert mjElement to struct rather than opaque pointer.
By making mjElement the parent of mjCBase, mjCModel, and mjCDef, this CL enables safer casting using static_cast instead of reinterpret_cast and C-style casting. PiperOrigin-RevId: 619526291 Change-Id: Ifa2b4bd3ecd95bade61f41a7005c62212f456c00
This commit is contained in:
committed by
Copybara-Service
parent
e6bf6fc327
commit
dfe2b75378
@@ -412,7 +412,7 @@ bool mjCFlexcomp::Make(mjSpec* spec, mjsBody* body, char* error, int error_sz) {
|
||||
// overwrite plugin name
|
||||
if (plugin.active && plugin_instance_name.empty()) {
|
||||
plugin_instance_name = "flexcomp_" + name;
|
||||
((mjCPlugin*)plugin.instance)->name = plugin_instance_name;
|
||||
static_cast<mjCPlugin*>(plugin.instance)->name = plugin_instance_name;
|
||||
}
|
||||
|
||||
// create bodies, construct flex vert and vertbody
|
||||
@@ -430,7 +430,7 @@ bool mjCFlexcomp::Make(mjSpec* spec, mjsBody* body, char* error, int error_sz) {
|
||||
if (plugin.active) {
|
||||
mjsPlugin* pplugin = &body->plugin;
|
||||
pplugin->active = true;
|
||||
pplugin->instance = (mjElement)plugin.instance;
|
||||
pplugin->instance = static_cast<mjElement*>(plugin.instance);
|
||||
mjs_setString(pplugin->name, mjs_getString(plugin.name));
|
||||
mjs_setString(pplugin->instance_name, plugin_instance_name.c_str());
|
||||
}
|
||||
@@ -494,7 +494,7 @@ bool mjCFlexcomp::Make(mjSpec* spec, mjsBody* body, char* error, int error_sz) {
|
||||
if (plugin.active) {
|
||||
mjsPlugin* pplugin = &pb->plugin;
|
||||
pplugin->active = true;
|
||||
pplugin->instance = (mjElement)plugin.instance;
|
||||
pplugin->instance = static_cast<mjElement*>(plugin.instance);
|
||||
mjs_setString(pplugin->name, mjs_getString(plugin.name));
|
||||
mjs_setString(pplugin->instance_name, plugin_instance_name.c_str());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user