Remove redundant checks for exhausted geoms.
PiperOrigin-RevId: 813284297 Change-Id: I565c517bef782ba07ff323e206b75f6f905e5809
This commit is contained in:
committed by
Copybara-Service
parent
2dc533b63b
commit
59d0676dcc
@@ -852,7 +852,6 @@ void mjv_addGeoms(const mjModel* m, mjData* d, const mjvOption* vopt,
|
||||
if (vopt->flags[mjVIS_BODYBVH]) {
|
||||
for (int i = 0; i < m->nbvhstatic; i++) {
|
||||
int isleaf = m->bvh_child[2*i] == -1 && m->bvh_child[2*i+1] == -1;
|
||||
if (scn->ngeom >= scn->maxgeom) break;
|
||||
if (m->bvh_depth[i] != vopt->bvh_depth) {
|
||||
if (!isleaf || m->bvh_depth[i] > vopt->bvh_depth) {
|
||||
continue;
|
||||
@@ -909,7 +908,6 @@ void mjv_addGeoms(const mjModel* m, mjData* d, const mjvOption* vopt,
|
||||
if (m->flex_bvhnum[f] && vopt->flexgroup[mjMAX(0, mjMIN(mjNGROUP-1, m->flex_group[f]))]) {
|
||||
for (int i=m->flex_bvhadr[f]; i < m->flex_bvhadr[f]+m->flex_bvhnum[f]; i++) {
|
||||
int isleaf = m->bvh_child[2*i] == -1 && m->bvh_child[2*i+1] == -1;
|
||||
if (scn->ngeom >= scn->maxgeom) break;
|
||||
if (m->bvh_depth[i] != vopt->bvh_depth) {
|
||||
if (!isleaf || m->bvh_depth[i] > vopt->bvh_depth) {
|
||||
continue;
|
||||
@@ -956,7 +954,6 @@ void mjv_addGeoms(const mjModel* m, mjData* d, const mjvOption* vopt,
|
||||
for (int i=0; i < 2; i++) {
|
||||
for (int j=0; j < 2; j++) {
|
||||
for (int k=0; k < 2; k++) {
|
||||
if (scn->ngeom >= scn->maxgeom) break;
|
||||
if (i == 0) {
|
||||
if (geomsExhausted(scn)) {
|
||||
return;
|
||||
@@ -1004,7 +1001,6 @@ void mjv_addGeoms(const mjModel* m, mjData* d, const mjvOption* vopt,
|
||||
for (int b = 0; b < m->mesh_bvhnum[meshid]; b++) {
|
||||
int i = b + m->mesh_bvhadr[meshid];
|
||||
int isleaf = m->bvh_child[2*i] == -1 && m->bvh_child[2*i+1] == -1;
|
||||
if (scn->ngeom >= scn->maxgeom) break;
|
||||
if (m->bvh_depth[i] != vopt->bvh_depth) {
|
||||
if (!isleaf || m->bvh_depth[i] > vopt->bvh_depth) {
|
||||
continue;
|
||||
@@ -1120,7 +1116,8 @@ void mjv_addGeoms(const mjModel* m, mjData* d, const mjvOption* vopt,
|
||||
for (int i=0; i < m->mesh_facenum[mesh_id]; i++) {
|
||||
if (geomsExhausted(scn)) {
|
||||
return;
|
||||
} else {
|
||||
}
|
||||
|
||||
// triangle in global frame
|
||||
mjtNum pos[3][3];
|
||||
for (int j = 0; j < 3; j++) {
|
||||
@@ -1160,7 +1157,6 @@ void mjv_addGeoms(const mjModel* m, mjData* d, const mjvOption* vopt,
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// inertia
|
||||
objtype = mjOBJ_BODY;
|
||||
@@ -2044,37 +2040,36 @@ void mjv_addGeoms(const mjModel* m, mjData* d, const mjvOption* vopt,
|
||||
if (geomsExhausted(scn)) {
|
||||
return;
|
||||
}
|
||||
|
||||
thisgeom = acquireGeom(scn, i, category, objtype);
|
||||
makeTriangle(thisgeom, vnear[e], vfar[e], vnear[(e+1)%4], rgba);
|
||||
releaseGeom(&thisgeom, scn);
|
||||
|
||||
if (geomsExhausted(scn)) {
|
||||
return;
|
||||
}
|
||||
|
||||
thisgeom = acquireGeom(scn, i, category, objtype);
|
||||
makeTriangle(thisgeom, vfar[e], vfar[(e+1)%4], vnear[(e+1)%4], rgba);
|
||||
releaseGeom(&thisgeom, scn);
|
||||
|
||||
if (geomsExhausted(scn)) {
|
||||
return;
|
||||
}
|
||||
|
||||
thisgeom = acquireGeom(scn, i, category, objtype);
|
||||
mjv_connector(thisgeom, mjGEOM_LINE, 3, vnear[e], vnear[(e+1)%4]);
|
||||
f2f(thisgeom->rgba, rgba, 4);
|
||||
releaseGeom(&thisgeom, scn);
|
||||
|
||||
if (geomsExhausted(scn)) {
|
||||
return;
|
||||
}
|
||||
|
||||
thisgeom = acquireGeom(scn, i, category, objtype);
|
||||
mjv_connector(thisgeom, mjGEOM_LINE, 3, vfar[e], vfar[(e+1)%4]);
|
||||
f2f(thisgeom->rgba, rgba, 4);
|
||||
releaseGeom(&thisgeom, scn);
|
||||
|
||||
if (geomsExhausted(scn)) {
|
||||
return;
|
||||
}
|
||||
|
||||
thisgeom = acquireGeom(scn, i, category, objtype);
|
||||
mjv_connector(thisgeom, mjGEOM_LINE, 3, vnear[e], vfar[e]);
|
||||
f2f(thisgeom->rgba, rgba, 4);
|
||||
@@ -3364,7 +3359,7 @@ static const mjtNum tolerance = 1e-9;
|
||||
|
||||
|
||||
|
||||
// solve trancendental catenary equation using change of variables proposed in
|
||||
// solve transcendental catenary equation using change of variables proposed in
|
||||
// https://math.stackexchange.com/a/1002996
|
||||
static inline mjtNum solve_catenary(mjtNum v, mjtNum h, mjtNum length) {
|
||||
mjtNum intercept = catenary_intercept(v, h, length);
|
||||
|
||||
Reference in New Issue
Block a user