From 4629090fafbef256abd0686a85ee12042d658868 Mon Sep 17 00:00:00 2001
From: Normand Briere <nbriere@noware.ca>
Date: Wed, 12 Jun 2019 22:37:48 -0400
Subject: [PATCH] Mocap big data

---
 BoundaryRep.java |   47 ++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 40 insertions(+), 7 deletions(-)

diff --git a/BoundaryRep.java b/BoundaryRep.java
index 3583aa0..6c09eda 100644
--- a/BoundaryRep.java
+++ b/BoundaryRep.java
@@ -3857,6 +3857,28 @@
         Trim(true/*wastrim*/,true,crease,wasstrip,false);
     }
     
+    void GenerateNormalsMesh()
+    {
+        if (stripified)
+        {
+            Unstripify();
+        }
+        
+        if (trimmed)
+        {
+            normals = null;
+        }
+        else
+        {
+            for (int i=VertexCount(); --i>=0;)
+            {
+                Vertex v = GetVertex(i);
+
+                v.norm = null;
+            }
+        }
+    }
+    
     void GenNormalsJME()
     {
         assert(false);
@@ -4013,8 +4035,9 @@
                     triangles[i] = i;
                 }
                 
-                Untrim();
-                MergeNormals();
+//                Untrim();
+                if (!trimmed)
+                    MergeNormals();
             }
         }
 
@@ -4076,8 +4099,9 @@
                 triangles[0] = 3;
             }
             
-            Untrim();
-            MergeNormals();
+            //Untrim();
+            if (!trimmed)
+                MergeNormals();
         }
 
     /*
@@ -4942,9 +4966,18 @@
             v./*pos.*/y = positions[i3 + 1];
             v./*pos.*/z = positions[i3 + 2];
 
-            v.norm.x = normals[i3];
-            v.norm.y = normals[i3 + 1];
-            v.norm.z = normals[i3 + 2];
+            if (normals == null)
+            {
+                v.norm.x = 0;
+                v.norm.y = 0;
+                v.norm.z = 0;
+            }
+            else
+            {
+                v.norm.x = normals[i3];
+                v.norm.y = normals[i3 + 1];
+                v.norm.z = normals[i3 + 2];
+            }
 
             v.s = uvmap[i2];
             v.t = uvmap[i2 + 1];

--
Gitblit v1.6.2