protected boolean hasPlanarRegions() { return planarRegionsList != null && !planarRegionsList.isEmpty(); }
public boolean hasPlanarRegions() { return planarRegionsList != null && !planarRegionsList.isEmpty(); }
/** * Retrieves the last planar region of this list. Special case: returns null when the list is * empty. */ public PlanarRegion getLastPlanarRegion() { if (isEmpty()) return null; else return getPlanarRegion(getNumberOfPlanarRegions() - 1); }
/** * Retrieves the last planar region of this list. * Special case: returns null when the list is empty. */ public PlanarRegion getLastPlanarRegion() { if (isEmpty()) return null; else return getPlanarRegion(getNumberOfPlanarRegions() - 1); }
/** * Retrieves the last planar region of this list and removes it from this list. * Special case: returns null when the list is empty. */ public PlanarRegion pollLastPlanarRegion() { if (isEmpty()) return null; else return pollPlanarRegion(getNumberOfPlanarRegions() - 1); }
/** * Retrieves the last planar region of this list and removes it from this list. Special case: * returns null when the list is empty. */ public PlanarRegion pollLastPlanarRegion() { if (isEmpty()) return null; else return pollPlanarRegion(getNumberOfPlanarRegions() - 1); }
public FootstepNodeSnapData snapFootstepNode(FootstepNode footstepNode) { if (snapDataHolder.containsKey(footstepNode)) { return snapDataHolder.get(footstepNode); } else if (planarRegionsList == null || planarRegionsList.isEmpty()) { return FootstepNodeSnapData.identityData(); } else { FootstepNodeSnapData snapData = snapInternal(footstepNode); addSnapData(footstepNode, snapData); return snapData; } }
public void update(boolean planarRegionsHaveBeenUpdated) { processRequests(); if (regionFeaturesProvider.getPlanarRegionsList() == null) return; if (regionFeaturesProvider.getPlanarRegionsList().isEmpty()) return; publisher.publish(PlanarRegionMessageConverter.convertToPlanarRegionsListMessage(regionFeaturesProvider.getPlanarRegionsList())); }
/** * Filter all the polygons and regions such that only polygon and regions with data remain. * Simplifies the algorithm for updating the YoVariables in {@link #processPlanarRegionsListQueue()}. * @param planarRegionsList the list of planar regions with non-empty regions and non-empty polygons. * @return */ private PlanarRegionsList filterEmptyRegionsAndEmptyPolygons(PlanarRegionsList planarRegionsList) { for (int regionIndex = planarRegionsList.getNumberOfPlanarRegions() - 1; regionIndex >= 0; regionIndex--) { PlanarRegion planarRegion = planarRegionsList.getPlanarRegion(regionIndex); for (int polygonIndex = planarRegion.getNumberOfConvexPolygons() - 1; polygonIndex >= 0; polygonIndex--) { if (planarRegion.getConvexPolygon(polygonIndex).isEmpty()) planarRegion.pollConvexPolygon(polygonIndex); } if (planarRegion.isEmpty()) planarRegionsList.pollPlanarRegion(regionIndex); } if (planarRegionsList.isEmpty()) return null; return planarRegionsList; }
/** * Filter all the polygons and regions such that only polygon and regions with data remain. * Simplifies the algorithm for updating the YoVariables in {@link #processPlanarRegionsListQueue()}. * @param planarRegionsList the list of planar regions with non-empty regions and non-empty polygons. * @return */ private PlanarRegionsList filterEmptyRegionsAndEmptyPolygons(PlanarRegionsList planarRegionsList) { for (int regionIndex = planarRegionsList.getNumberOfPlanarRegions() - 1; regionIndex >= 0; regionIndex--) { PlanarRegion planarRegion = planarRegionsList.getPlanarRegion(regionIndex); for (int polygonIndex = planarRegion.getNumberOfConvexPolygons() - 1; polygonIndex >= 0; polygonIndex--) { if (planarRegion.getConvexPolygon(polygonIndex).isEmpty()) planarRegion.pollConvexPolygon(polygonIndex); } if (planarRegion.isEmpty()) planarRegionsList.pollPlanarRegion(regionIndex); } if (planarRegionsList.isEmpty()) return null; return planarRegionsList; }