Fix type errors in engine and plugins.

- Preparation for a float32 build of MuJoCo.
- Fix use of `float`-typed `fabs` in `mju_eig3`.

PiperOrigin-RevId: 643804942
Change-Id: I89f64e8fd39f4e70e78d7607816283e217912383
This commit is contained in:
Yuval Tassa
2024-06-16 12:34:08 -07:00
committed by Copybara-Service
parent 6067048537
commit 19388eee0c
7 changed files with 20 additions and 18 deletions
+1 -1
View File
@@ -256,7 +256,7 @@ void Pid::RegisterPlugin() {
delete reinterpret_cast<Pid*>(d->plugin_data[instance]);
d->plugin_data[instance] = 0;
};
plugin.reset = +[](const mjModel* m, double* plugin_state, void* plugin_data,
plugin.reset = +[](const mjModel* m, mjtNum* plugin_state, void* plugin_data,
int instance) {
auto* pid = reinterpret_cast<Pid*>(plugin_data);
pid->Reset(plugin_state);
+2 -2
View File
@@ -104,8 +104,8 @@ void SdfVisualizer::Visualize(const mjModel* m, const mjData* d,
if (k == 0) {
float rgba[4] = {static_cast<float>(j > 0), 0,
static_cast<float>(j == 0), 1};
mjtNum size[] = {.2*m->stat.meansize};
mjv_initGeom(thisgeom, mjGEOM_SPHERE, size, from, geom_xmat, rgba);
mjtNum size = 0.2 * m->stat.meansize;
mjv_initGeom(thisgeom, mjGEOM_SPHERE, &size, from, geom_xmat, rgba);
} else {
mjv_initGeom(thisgeom, mjGEOM_NONE, NULL, NULL, NULL, NULL);
thisgeom->objtype = mjOBJ_UNKNOWN;
+9 -7
View File
@@ -432,15 +432,17 @@ void TouchGrid::Visualize(const mjModel* m, mjData* d, const mjvOption* opt,
return;
} else {
// size
mjtNum size[3] = {dist*0.5*(x_edges[i+1]-x_edges[i]),
dist*0.5*(y_edges[j+1]-y_edges[j]),
dist*kRelativeThickness};
mjtNum size[3];
size[0] = dist*0.5*(x_edges[i+1]-x_edges[i]);
size[1] = dist*0.5*(y_edges[j+1]-y_edges[j]);
size[2] = dist*kRelativeThickness;
// position
mjtNum pos[3];
mjtNum aer[3] = {0.5*(x_edges[i+1]+x_edges[i]),
0.5*(y_edges[j+1]+y_edges[j]),
dist*(1-kRelativeThickness)};
mjtNum aer[3];
aer[0] = 0.5*(x_edges[i+1]+x_edges[i]);
aer[1] = 0.5*(y_edges[j+1]+y_edges[j]);
aer[2] = dist*(1-kRelativeThickness);
SphericalToCartesian(aer, pos);
mju_mulMatVec3(pos, site_mat, pos);
mju_addTo3(pos, site_pos);
@@ -525,7 +527,7 @@ void TouchGrid::RegisterPlugin() {
};
// Reset callback.
plugin.reset = +[](const mjModel* m, double* plugin_state, void* plugin_data,
plugin.reset = +[](const mjModel* m, mjtNum* plugin_state, void* plugin_data,
int instance) {
auto* TouchGrid = reinterpret_cast<class TouchGrid*>(plugin_data);
TouchGrid->Reset(m, instance);