From 0ae534fd6bfb10223612fae867fd792e69946c5c Mon Sep 17 00:00:00 2001 From: Radek Oslejsek <oslejsek@fi.muni.cz> Date: Mon, 19 Oct 2020 16:15:59 +0200 Subject: [PATCH] Fixed name and minor refactoring --- ...tryPlane.java => ApproxSymmetryPlane.java} | 22 ++++++++++--------- .../cz/fidentis/analyst/symmetry/Plane.java | 15 +++++++++++++ .../analyst/symmetry/SymmetryEstimator.java | 6 ++--- 3 files changed, 30 insertions(+), 13 deletions(-) rename Comparison/src/main/java/cz/fidentis/analyst/symmetry/{AproxSymmetryPlane.java => ApproxSymmetryPlane.java} (61%) diff --git a/Comparison/src/main/java/cz/fidentis/analyst/symmetry/AproxSymmetryPlane.java b/Comparison/src/main/java/cz/fidentis/analyst/symmetry/ApproxSymmetryPlane.java similarity index 61% rename from Comparison/src/main/java/cz/fidentis/analyst/symmetry/AproxSymmetryPlane.java rename to Comparison/src/main/java/cz/fidentis/analyst/symmetry/ApproxSymmetryPlane.java index 6ddae7b0..4ed9303a 100644 --- a/Comparison/src/main/java/cz/fidentis/analyst/symmetry/AproxSymmetryPlane.java +++ b/Comparison/src/main/java/cz/fidentis/analyst/symmetry/ApproxSymmetryPlane.java @@ -1,31 +1,33 @@ package cz.fidentis.analyst.symmetry; /** - * - * @author Natália Bebjaková * * Respresents plane with added atribute - votes, that play role * in decision about symmetry estimate of the 3D model + * + * @author Natalia Bebjakova + * */ -public class AproxSymmetryPlane extends Plane implements Comparable<AproxSymmetryPlane> { - public Integer votes; +public class ApproxSymmetryPlane extends Plane implements Comparable<ApproxSymmetryPlane> { + public int votes; /** * returns number of votes that were given to plane while computing the symmetry * * @return Number of votes */ - public Integer getVotes() { + public int getVotes() { return votes; } /** - * + * Constructor. * @param plane Original plane without votes * @param votes number of votes given to the plane + * @throws IllegalArgumentExpcption if the @code{plane} argument is null */ - public AproxSymmetryPlane(Plane plane, int votes) { - super(plane.a, plane.b, plane.c, plane.d); + public ApproxSymmetryPlane(Plane plane, int votes) { + super(plane); this.votes = votes; } @@ -36,7 +38,7 @@ public class AproxSymmetryPlane extends Plane implements Comparable<AproxSymmetr * @return number that decides which plane has more votes */ @Override - public int compareTo(AproxSymmetryPlane other) { - return this.votes.compareTo(other.votes); + public int compareTo(ApproxSymmetryPlane other) { + return Integer.compare(votes, other.votes); } } diff --git a/Comparison/src/main/java/cz/fidentis/analyst/symmetry/Plane.java b/Comparison/src/main/java/cz/fidentis/analyst/symmetry/Plane.java index 4c099e46..c1f5484a 100644 --- a/Comparison/src/main/java/cz/fidentis/analyst/symmetry/Plane.java +++ b/Comparison/src/main/java/cz/fidentis/analyst/symmetry/Plane.java @@ -27,6 +27,21 @@ public class Plane { this.d = d; } + /** + * Copy constructor. + * @param plane original plane + * @throws IllegalArgumentExpcption if the @code{plane} argument is null + */ + public Plane(Plane plane) { + if (plane == null) { + throw new IllegalArgumentException(); + } + a = plane.a; + b = plane.b; + c = plane.c; + d = plane.d; + } + /** * Normalize the plane */ diff --git a/Comparison/src/main/java/cz/fidentis/analyst/symmetry/SymmetryEstimator.java b/Comparison/src/main/java/cz/fidentis/analyst/symmetry/SymmetryEstimator.java index d1027164..36d2faf7 100644 --- a/Comparison/src/main/java/cz/fidentis/analyst/symmetry/SymmetryEstimator.java +++ b/Comparison/src/main/java/cz/fidentis/analyst/symmetry/SymmetryEstimator.java @@ -122,7 +122,7 @@ public class SymmetryEstimator { UIManager.put("ProgressMonitor.progressText", "Counting symmetry..."); - ArrayList<AproxSymmetryPlane> planes = new ArrayList<>(); + ArrayList<ApproxSymmetryPlane> planes = new ArrayList<>(); //List<Vector3d> normals = calculateNormals(); if (!facet.hasVertexNormals()) { facet.calculateVertexNormals(); @@ -209,7 +209,7 @@ public class SymmetryEstimator { config.getMinNormAngleCos(), boundingBox.getMaxDiag() * config.getMaxRelDistance()); - planes.add(new AproxSymmetryPlane(newPlane, currentVotes)); + planes.add(new ApproxSymmetryPlane(newPlane, currentVotes)); if (currentVotes > lastVotes) { lastVotes = currentVotes; @@ -225,7 +225,7 @@ public class SymmetryEstimator { } Collections.sort(planes); - ArrayList<AproxSymmetryPlane> finalPlanes = new ArrayList<>(); + ArrayList<ApproxSymmetryPlane> finalPlanes = new ArrayList<>(); for (int i = 0; i < planes.size(); i++) { if (planes.get(i).votes == lastVotes){ finalPlanes.add(planes.get(i)); -- GitLab