public void addNavigableExtrusionInLocal(Point3DReadOnly navigableExtrusionInLocal) { addNavigableExtrusionInLocal(new Point2D(navigableExtrusionInLocal)); }
public static Cluster getRandomCluster(Random random) { byte typeByte = (byte) RandomNumbers.nextInt(random, 0, Cluster.Type.values.length - 1); byte extrusionSideByte = (byte) RandomNumbers.nextInt(random, 0, Cluster.ExtrusionSide.values.length - 1); int numberOfRawPoints = RandomNumbers.nextInt(random, 1, 100); int numberOfNavigableExtrusions = RandomNumbers.nextInt(random, 1, 100); int numberOfNonNavigableExtrusions = RandomNumbers.nextInt(random, 1, 100); RigidBodyTransform transformToWorld = EuclidCoreRandomTools.nextRigidBodyTransform(random); List<Point3D> rawPointsInLocalExpected = new ArrayList<>(); List<Point2D> navigableExtrusionsInLocalExpected = new ArrayList<>(); List<Point2D> nonNavigableExtrusionsInLocalExpected = new ArrayList<>(); for (int i = 0; i < numberOfRawPoints; i++) rawPointsInLocalExpected.add(EuclidCoreRandomTools.nextPoint3D(random, 100.0)); for (int i = 0; i < numberOfNavigableExtrusions; i++) navigableExtrusionsInLocalExpected.add(EuclidCoreRandomTools.nextPoint2D(random, 100.0)); for (int i = 0; i < numberOfNonNavigableExtrusions; i++) nonNavigableExtrusionsInLocalExpected.add(EuclidCoreRandomTools.nextPoint2D(random, 100.0)); Cluster cluster = new Cluster(); cluster.setTransformToWorld(transformToWorld); cluster.setType(Cluster.Type.fromByte(typeByte)); cluster.setExtrusionSide(Cluster.ExtrusionSide.fromByte(extrusionSideByte)); for (int i = 0; i < numberOfRawPoints; i++) cluster.addRawPointInLocal(rawPointsInLocalExpected.get(i)); for (int i = 0; i < numberOfNavigableExtrusions; i++) cluster.addNavigableExtrusionInLocal(navigableExtrusionsInLocalExpected.get(i)); for (int i = 0; i < numberOfNonNavigableExtrusions; i++) cluster.addNonNavigableExtrusionInLocal(nonNavigableExtrusionsInLocalExpected.get(i)); return cluster; }
public static Cluster convertToCluster(VisibilityClusterMessage message) { Cluster cluster = new Cluster(); cluster.setType(Cluster.Type.fromByte(message.getType())); cluster.setExtrusionSide(Cluster.ExtrusionSide.fromByte(message.getExtrusionSide())); Pose3D poseInWorld = message.getPoseInWorld(); RigidBodyTransform transform = new RigidBodyTransform(); poseInWorld.get(transform); List<Point3D> rawPointsInLocal = message.getRawPointsInLocal(); List<Point3D> navigableExtrusionsInLocal = message.getNavigableExtrusionsInLocal(); List<Point3D> nonNavigableExtrusionsInLocal = message.getNonNavigableExtrusionsInLocal(); cluster.setTransformToWorld(transform); cluster.addRawPointsInLocal3D(rawPointsInLocal); for (int i = 0; i < navigableExtrusionsInLocal.size(); i++) cluster.addNavigableExtrusionInLocal(navigableExtrusionsInLocal.get(i)); for (int i = 0; i < nonNavigableExtrusionsInLocal.size(); i++) cluster.addNonNavigableExtrusionInLocal(nonNavigableExtrusionsInLocal.get(i)); return cluster; }
clusterToConvert.addRawPointInLocal(rawPointsInLocalExpected.get(i)); for (int i = 0; i < numberOfNavigableExtrusions; i++) clusterToConvert.addNavigableExtrusionInLocal(navigableExtrusionsInLocalExpected.get(i)); for (int i = 0; i < numberOfNonNavigableExtrusions; i++) clusterToConvert.addNonNavigableExtrusionInLocal(nonNavigableExtrusionsInLocalExpected.get(i));