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