public static void dSpaceClean (DSpace s) { s.cleanGeoms(); } //ODE_API
public static void dSpaceClean (DSpace s) { s.cleanGeoms(); } //ODE_API
@Override public void cleanGeoms() { // compute the AABBs of all dirty geoms, clear the dirty flags, // remove from dirty list lock_count++; if (dirtyGeoms) { for (DxGeom g : dirty) { if (g instanceof DSpace) { ((DSpace) g).cleanGeoms(); } g.recomputeAABB(); g.unsetFlagDirtyAndBad(); } for (Iterator<DxGeom> iter = infGeomList.iterator(); iter.hasNext();) { DxGeom g = iter.next(); if (g._aabb.getMax(ax0id) != dInfinity) { iter.remove(); normGeomList.add(g); } } Collections.sort(normGeomList, new GeomComparator()); dirty.clear(); dirtyGeoms = false; bvhNodes.clear(); } lock_count--; }
@Override public void cleanGeoms() { // compute the AABBs of all dirty geoms, clear the dirty flags, // remove from dirty list lock_count++; if (dirtyGeoms) { for (DxGeom g : dirty) { if (g instanceof DSpace) { ((DSpace) g).cleanGeoms(); } g.recomputeAABB(); g.unsetFlagDirtyAndBad(); } for (Iterator<DxGeom> iter = infGeomList.iterator(); iter.hasNext();) { DxGeom g = iter.next(); if (g._aabb.getMax(ax0id) != dInfinity) { iter.remove(); normGeomList.add(g); } } Collections.sort(normGeomList, new GeomComparator()); dirty.clear(); dirtyGeoms = false; bvhNodes.clear(); } lock_count--; }
@Override public void cleanGeoms() { lock_count++; if (dirtyGeoms) { for (DxGeom g : dirty) { if (g instanceof DSpace) { ((DSpace) g).cleanGeoms(); } g.recomputeAABB(); g.unsetFlagDirtyAndBad(); double[] extents = getExtents(g); if (g._sapIdxGeomEx != AABBTree.UNDEFINED_INDEX) { bvhTree.update(g, extents); } else if (!isInfinite(g)) { bvhTree.add(g, extents); } else { infGeomList.add(g); } } dirty.clear(); dirtyGeoms = false; bvhTree.finalizeUpdate(); } lock_count--; }
@Override public void cleanGeoms() { lock_count++; if (dirtyGeoms) { for (DxGeom g : dirty) { if (g instanceof DSpace) { ((DSpace) g).cleanGeoms(); } g.recomputeAABB(); g.unsetFlagDirtyAndBad(); double[] extents = getExtents(g); if (g._sapIdxGeomEx != AABBTree.UNDEFINED_INDEX) { bvhTree.update(g, extents); } else if (!isInfinite(g)) { bvhTree.add(g, extents); } else { infGeomList.add(g); } } dirty.clear(); dirtyGeoms = false; bvhTree.finalizeUpdate(); } lock_count--; }