@Override public double computeExtrusionDistance(PlanarRegion navigableRegionToBeExtruded) { return getExtrusionDistanceIfNotTooHighToStep(); } };
/** * This calculator is used when extruding the projection of an obstacle onto a navigable region. * * @return the calculator use for obstacle extrusion. */ default ObstacleExtrusionDistanceCalculator getObstacleExtrusionDistanceCalculator() { return (pointToExtrude, obstacleHeight) -> { if(obstacleHeight < 0.0) { return 0.0; } else if(obstacleHeight < getTooHighToStepDistance()) { return getExtrusionDistanceIfNotTooHighToStep(); } else { return getExtrusionDistance(); } }; }
private static void checkVisibilityGraphsParameters(VisibilityGraphsParameters parameters, VisibilityGraphsParametersPacket packet) { assertEquals(parameters.getMaxInterRegionConnectionLength(), packet.getMaxInterRegionConnectionLength(), epsilon); assertEquals(parameters.getNormalZThresholdForAccessibleRegions(), packet.getNormalZThresholdForAccessibleRegions(), epsilon); assertEquals(parameters.getExtrusionDistance(), packet.getExtrusionDistance(), epsilon); assertEquals(parameters.getExtrusionDistanceIfNotTooHighToStep(), packet.getExtrusionDistanceIfNotTooHighToStep(), epsilon); assertEquals(parameters.getTooHighToStepDistance(), packet.getTooHighToStepDistance(), epsilon); assertEquals(parameters.getClusterResolution(), packet.getClusterResolution(), epsilon); assertEquals(parameters.getExplorationDistanceFromStartGoal(), packet.getExplorationDistanceFromStartGoal(), epsilon); assertEquals(parameters.getPlanarRegionMinArea(), packet.getPlanarRegionMinArea(), epsilon); assertEquals(parameters.getPlanarRegionMinSize(), packet.getPlanarRegionMinSize()); assertEquals(parameters.getRegionOrthogonalAngle(), packet.getRegionOrthogonalAngle(), epsilon); assertEquals(parameters.getSearchHostRegionEpsilon(), packet.getSearchHostRegionEpsilon(), epsilon); } }
public void set(VisibilityGraphsParameters visibilityGraphsParameters) { setMaxInterRegionConnectionLength(visibilityGraphsParameters.getMaxInterRegionConnectionLength()); setNormalZThresholdForAccessibleRegions(visibilityGraphsParameters.getNormalZThresholdForAccessibleRegions()); setExtrusionDistance(visibilityGraphsParameters.getExtrusionDistance()); setExtrusionDistanceIfNotTooHighToStep(visibilityGraphsParameters.getExtrusionDistanceIfNotTooHighToStep()); setTooHighToStepDistance(visibilityGraphsParameters.getTooHighToStepDistance()); setClusterResolution(visibilityGraphsParameters.getClusterResolution()); setExplorationDistanceFromStartGoal(visibilityGraphsParameters.getExplorationDistanceFromStartGoal()); setPlanarRegionMinArea(visibilityGraphsParameters.getPlanarRegionMinArea()); setPlanarRegionMinSize(visibilityGraphsParameters.getPlanarRegionMinSize()); setRegionOrthogonalAngle(visibilityGraphsParameters.getRegionOrthogonalAngle()); setSearchHostRegionEpsilon(visibilityGraphsParameters.getSearchHostRegionEpsilon()); }
public void set(VisibilityGraphsParameters parameters) { setMaxInterRegionConnectionLength(parameters.getMaxInterRegionConnectionLength()); setNormalZThresholdForAccessibleRegions(parameters.getNormalZThresholdForAccessibleRegions()); setRegionOrthogonalAngle(parameters.getRegionOrthogonalAngle()); setExtrusionDistance(parameters.getExtrusionDistance()); setExtrusionDistanceIfNotTooHighToStep(parameters.getExtrusionDistanceIfNotTooHighToStep()); setTooHighToStepDistance(parameters.getTooHighToStepDistance()); setClusterResolution(parameters.getClusterResolution()); setExplorationDistanceFromStartGoal(parameters.getExplorationDistanceFromStartGoal()); setPlanarRegionMinArea(parameters.getPlanarRegionMinArea()); setPlanarRegionMinSize(parameters.getPlanarRegionMinSize()); setSearchHostRegionEpsilon(parameters.getSearchHostRegionEpsilon()); }
public static void copyVisibilityGraphsParametersToPacket(VisibilityGraphsParametersPacket packet, VisibilityGraphsParameters parameters) { if (parameters == null) { return; } packet.setMaxInterRegionConnectionLength(parameters.getMaxInterRegionConnectionLength()); packet.setNormalZThresholdForAccessibleRegions(parameters.getNormalZThresholdForAccessibleRegions()); packet.setExtrusionDistance(parameters.getExtrusionDistance()); packet.setExtrusionDistanceIfNotTooHighToStep(parameters.getExtrusionDistanceIfNotTooHighToStep()); packet.setTooHighToStepDistance(parameters.getTooHighToStepDistance()); packet.setClusterResolution(parameters.getClusterResolution()); packet.setExplorationDistanceFromStartGoal(parameters.getExplorationDistanceFromStartGoal()); packet.setPlanarRegionMinArea(parameters.getPlanarRegionMinArea()); packet.setPlanarRegionMinSize(parameters.getPlanarRegionMinSize()); packet.setRegionOrthogonalAngle(parameters.getRegionOrthogonalAngle()); packet.setSearchHostRegionEpsilon(parameters.getSearchHostRegionEpsilon()); }