@ContinuousIntegrationTest(estimatedDuration = 0.0) @Test(timeout = 30000) public void testBasicCropping() { QuadTreeFootstepSnappingParameters snappingParameters = new GenericFootstepSnappingParameters(); ConvexHullFootstepSnapper footstepSnapper = new ConvexHullFootstepSnapper(new SimpleFootstepValueFunction(snappingParameters), snappingParameters); List<Point2D> pointsToCrop = new ArrayList<Point2D>(); pointsToCrop.add(new Point2D(1,1)); pointsToCrop.add(new Point2D(-1,1)); pointsToCrop.add(new Point2D(-1,-1)); pointsToCrop.add(new Point2D(1,-1)); pointsToCrop.add(new Point2D(1.1,0)); List<Point2D> finalPoints = footstepSnapper.reduceListOfPointsByArea(pointsToCrop, 4); assertTrue(finalPoints.size() == 4.0); ConvexPolygon2D endPolygon = new ConvexPolygon2D(Vertex2DSupplier.asVertex2DSupplier(finalPoints)); assertEquals(4.0, endPolygon.getArea(), 1e-15); }
double startArea = startPolygon.getArea(); ConvexPolygon2D intermediateStepPolygon = new ConvexPolygon2D(Vertex2DSupplier.asVertex2DSupplier(footstepSnapper.reduceListOfPointsByArea(pointsToCrop, Math.max(4, startPolygon.getNumberOfVertices() / 2)))); intermediateStepPolygon.update(); double intermediateStepArea = intermediateStepPolygon.getArea(); assertTrue(intermediateStepPolygon.getNumberOfVertices() <= Math.max(4, startPolygon.getNumberOfVertices())); ConvexPolygon2D endPolygon = new ConvexPolygon2D(Vertex2DSupplier.asVertex2DSupplier(footstepSnapper.reduceListOfPointsByArea(pointsToCrop, 4))); endPolygon.update(); double endArea = endPolygon.getArea();
finalSupportPoints = reduceListOfPointsByArea(supportPoints, cropNumber);
finalSupportPoints = reduceListOfPointsByArea(supportPoints, cropNumber);