From 655810d1c4e710e7c85772b8dde96772dbcf274b Mon Sep 17 00:00:00 2001
From: Normand Briere <nbriere@noware.ca>
Date: Sun, 01 Jul 2018 11:50:49 -0400
Subject: [PATCH] Major mocap changes.

---
 Object3D.java |   77 +++++++++++++++++++++++++++++---------
 1 files changed, 58 insertions(+), 19 deletions(-)

diff --git a/Object3D.java b/Object3D.java
index 8f3990d..f6cf69b 100644
--- a/Object3D.java
+++ b/Object3D.java
@@ -355,7 +355,7 @@
     
     int MemorySize()
     {
-        if (memorysize == 0)
+        if (true) // memorysize == 0)
         {
             try
             {
@@ -935,7 +935,7 @@
 
     public Object clone()
     {
-        return GraphreeD.clone(this);
+        return GrafreeD.clone(this);
     }
 
     Object3D copyExpand()
@@ -1446,7 +1446,16 @@
     //    if (other == null)
     //        return;
         
-        System.out.println("Link support this = " + this + "; other = " + other);
+        if (other != null)
+        {
+            BoundaryRep.SEUIL = other.material.cameralight;
+
+            // Set default to 0.1
+            BoundaryRep.SEUIL /= 2;
+            System.out.println("SEUIL = " + BoundaryRep.SEUIL);
+        }
+        
+        System.out.println("Link this = " + this + "; support = " + other);
         
         //if (bRep != null)
         //    bRep.linkVerticesThis(other.bRep);
@@ -1701,7 +1710,7 @@
             Object3D o = new Object3D((clone?"Ge:":"Li:") + this.name);
             o.bRep = transientrep;
             if (clone)
-                o.bRep = (BoundaryRep) GraphreeD.clone(transientrep);
+                o.bRep = (BoundaryRep) GrafreeD.clone(transientrep);
             o.CreateMaterial();
             o.SetAttributes(this, -1);
             //parent
@@ -1714,7 +1723,7 @@
             Object3D o = new Object3D((clone?"Ge:":"Li:") + this.name);
             o.bRep = bRep;
             if (clone)
-                o.bRep = (BoundaryRep) GraphreeD.clone(bRep);
+                o.bRep = (BoundaryRep) GrafreeD.clone(bRep);
             o.CreateMaterial();
             //o.overwriteThis(this, -1);
             o.SetAttributes(this, -1);
@@ -1756,7 +1765,7 @@
 //        {
 //            assert(bRep == null);
 //            Object3D o = new Object3D("Geometry:" + this.name);
-//            o.bRep = (BoundaryRep) GraphreeD.clone(transientrep);
+//            o.bRep = (BoundaryRep) GrafreeD.clone(transientrep);
 //            o.CreateMaterial();
 //            parent.addChild(o);
 //        }
@@ -1765,7 +1774,7 @@
 //        {
 //            assert(transientrep == null);
 //            Object3D o = new Object3D("Geometry:" + this.name);
-//            o.bRep = (BoundaryRep) GraphreeD.clone(bRep);
+//            o.bRep = (BoundaryRep) GrafreeD.clone(bRep);
 //            o.CreateMaterial();
 //            parent.addChild(o);
 //        }
@@ -1816,8 +1825,9 @@
             if (obj.name == null)
                 continue; // can't be a null one
             
-            //if (n.contains(obj.name)) // dec 2013  name.split(":")[0])) // Poser generates a count
-            if (n.startsWith(obj.name))
+            String name = obj.name.split(":")[0]; // Poser generates a count
+            //if (n.startsWith(obj.name))
+            if (n.contains(name))
             {
                 theobj = obj;
                 count++;
@@ -2732,6 +2742,24 @@
         blockloop = false;
     }
 
+    void GenNormalsMINE()
+    {
+        if (blockloop)
+            return;
+        
+        blockloop = true;
+        GenNormalsMINE0();
+        for (int i = 0; i < Children().Size(); i++)
+        {
+            Object3D child = (Object3D) Children().get(i); // reserve(i);
+            if (child == null)
+                continue;
+            child.GenNormalsMINE();
+//            Children().release(i);
+        }
+        blockloop = false;
+    }
+
     void ClearColors()
     {
         if (blockloop)
@@ -2876,6 +2904,15 @@
         if (bRep != null)
         {
             bRep.GenerateNormals(crease);
+            Touch();
+        }
+    }
+
+    void GenNormalsMINE0()
+    {
+        if (bRep != null)
+        {
+            bRep.GenerateNormalsMINE();
             Touch();
         }
     }
@@ -3153,7 +3190,7 @@
         
         BoundaryRep sup = bRep.support;
         bRep.support = null;
-        BoundaryRep temprep = (BoundaryRep) GraphreeD.clone(bRep);
+        BoundaryRep temprep = (BoundaryRep) GrafreeD.clone(bRep);
 //            bRep.SplitInTwo(onlyone); // thread...
             temprep.SplitInTwo(reduction34, onlyone);
             bRep = temprep;
@@ -3677,7 +3714,7 @@
             if (child == null)
                 continue;
             
-            if (GraphreeD.RENDERME > 0)
+            if (GrafreeD.RENDERME > 0)
             {
                 if (child instanceof Merge)
                     ((Merge)child).renderme();
@@ -3828,7 +3865,7 @@
                 if (child == null)
                     continue;
                 
-                if (GraphreeD.RENDERME > 0)
+                if (GrafreeD.RENDERME > 0)
                 {
                     if (child instanceof Merge)
                         ((Merge)child).renderme();
@@ -4023,7 +4060,7 @@
                 if (child == null)
                     continue;
                 
-                if (GraphreeD.RENDERME > 0)
+                if (GrafreeD.RENDERME > 0)
                 {
                     if (child instanceof Merge)
                         ((Merge)child).renderme();
@@ -4111,7 +4148,7 @@
         if (blockloop)
             return;
         
-        for (int i=0; i<size(); i++)
+        for (int i=0; i<Size(); i++)
         {
             if (get(i).parent != this)
             {
@@ -5519,7 +5556,9 @@
                     display.options2[2] = material.factor;
 
                     cColor.HSBtoRGB(material.color, material.modulation, 1, display.options3);
-                    display.options3[3] = material.cameralight/0.2f;
+                    display.options4[0] = material.cameralight/0.2f;
+                    display.options4[1] = material.subsurface;
+                    display.options4[2] = material.sheen;
                     
                  //   if (display.CURRENTANTIALIAS > 0)
                  //       display.options3[3] /= 4;
@@ -5819,12 +5858,12 @@
             if (!child.HasTransparency())
             {
                 sel = root != null && root.selection != null && root.selection.indexOf(child) != -1;
-           //     GraphreeD.tracein("draw ", child);
+           //     GrafreeD.tracein("draw ", child);
                 boolean wasblocked = blockdraw;
                 blockdraw = true;
                 child.draw(display, root, selected || sel, wasblocked || blocked); //  || child.IsSelected());
                 blockdraw = false;
-           // GraphreeD.traceout("draw ", child);
+           // GrafreeD.traceout("draw ", child);
             }
 
             release(i);
@@ -7731,7 +7770,7 @@
         if (parent == null)
         {
             System.out.println("NULL PARENT");
-            new Exception().printStackTrace();
+            //new Exception().printStackTrace();
         } else
         {
             if (parent instanceof BezierPatch)
@@ -8041,7 +8080,7 @@
         {
             assert(bRep != null);
             if (!(support instanceof GenericJoint)) // support.bRep != null)
-                GraphreeD.Assert(support.bRep == bRep.support);
+                GrafreeD.Assert(support.bRep == bRep.support);
         }
         else
         {

--
Gitblit v1.6.2