From 89b25e7cc97f6fe221dfd41c4d463500f8a31bc1 Mon Sep 17 00:00:00 2001
From: Normand Briere <nbriere@noware.ca>
Date: Tue, 25 Jun 2019 23:58:09 -0400
Subject: [PATCH] Edit panel pin state.

---
 Vertex.java |   27 ++++++++++++++++++++-------
 1 files changed, 20 insertions(+), 7 deletions(-)

diff --git a/Vertex.java b/Vertex.java
index 87c5cac..e81c9e4 100644
--- a/Vertex.java
+++ b/Vertex.java
@@ -112,7 +112,6 @@
     {
         //if (normalmode) // pos == null)
         //	return 0;
-
         if (norm == null || !normalmode)
         {
             return /*pos.*/ super.hashCode();
@@ -123,18 +122,32 @@
 
     public boolean equals(Object o)
     {
-            assert(norm.normalized());
+    // JUNE 2019. norm can be null (e.g. Box)           Grafreed.Assert(norm.normalized());
         //if (true) return false;
 
         Vertex vert = (Vertex) o;
 
         //System.out.println("pos = " + pos + "; vert.pos = " + vert/*.pos*/);
+        
+        double tolerance = 0.00001;
+        
+        if (!Grafreed.epsequal)
+            tolerance = 0;
 
-        return Math.abs(/*pos.*/x - vert./*pos.*/x) +
-                Math.abs(/*pos.*/y - vert./*pos.*/y) +
-                Math.abs(/*pos.*/z - vert./*pos.*/z) < 0.00001 && // GraphreeD.epsvertex2 && // WARNING: USE 0.0001 for serial issues
-                (GraphreeD.linkUV || Math.abs(s - vert.s) + Math.abs(t - vert.t) < 0.00001)
-                ; // GraphreeD.epsvertex2;
+        boolean samepos = Math.abs(/*pos.*/x - vert./*pos.*/x) +
+                          Math.abs(/*pos.*/y - vert./*pos.*/y) +
+                          Math.abs(/*pos.*/z - vert./*pos.*/z) <= tolerance && // GrafreeD.epsvertex2 && // WARNING: USE 0.0001 for serial issues
+                          (Grafreed.linkUV || Math.abs(s - vert.s) + Math.abs(t - vert.t) <= tolerance)
+                        ; // GrafreeD.epsvertex2;
+        
+        if (samepos && Grafreed.smoothmode)
+        {
+            norm.add(vert.norm);
+            norm.normalize();
+            vert.norm.set(norm);
+        }
+        
+        return samepos;
     }
     /*
     public boolean isSame(Object o)

--
Gitblit v1.6.2