public static List<Point2D> extrudeMultiLine(Cluster cluster, ObstacleExtrusionDistanceCalculator calculator, int numberOfExtrusionsAtEndpoints) { List<Point2DReadOnly> rawPoints = cluster.getRawPointsInLocal2D(); double[] extrusionDistances = cluster.getRawPointsInLocal3D().stream() .mapToDouble(rawPoint -> calculator.computeExtrusionDistance(new Point2D(rawPoint), rawPoint.getZ())).toArray(); return extrudeMultiLine(rawPoints, extrusionDistances, numberOfExtrusionsAtEndpoints); }
public static List<Point2D> extrudePolygon(boolean extrudeToTheLeft, Cluster cluster, ObstacleExtrusionDistanceCalculator calculator) { List<Point2DReadOnly> rawPoints = cluster.getRawPointsInLocal2D(); double[] extrusionDistances = cluster.getRawPointsInLocal3D().stream() .mapToDouble(rawPoint -> calculator.computeExtrusionDistance(new Point2D(rawPoint), rawPoint.getZ())).toArray(); return extrudePolygon(extrudeToTheLeft, rawPoints, extrusionDistances); }
ConvexPolygon2D convexPolygon = new ConvexPolygon2D(Vertex2DSupplier.asVertex2DSupplier(cluster1.getRawPointsInLocal2D()));
EuclidCoreTestTools.assertRigidBodyTransformGeometricallyEquals(transformExpected, clusterActual.getTransformToWorld(), epsilon); int numberOfRawPoints = clusterExpected.getRawPointsInLocal2D().size(); assertEquals(numberOfRawPoints, clusterActual.getNumberOfRawPoints()); assertEquals(numberOfRawPoints, clusterExpected.getNumberOfRawPoints()); assertEquals(numberOfRawPoints, clusterExpected.getRawPointsInLocal2D().size()); assertEquals(numberOfRawPoints, clusterExpected.getRawPointsInWorld().size()); assertEquals(numberOfRawPoints, clusterExpected.getRawPointsInLocal3D().size()); assertEquals(numberOfRawPoints, clusterActual.getRawPointsInLocal2D().size()); assertEquals(numberOfRawPoints, clusterActual.getRawPointsInWorld().size()); assertEquals(numberOfRawPoints, clusterActual.getRawPointsInLocal3D().size());