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. --- Merge.java | 82 +++++++++++++++++++++++------------------ 1 files changed, 46 insertions(+), 36 deletions(-) diff --git a/Merge.java b/Merge.java index be363c1..03408c4 100644 --- a/Merge.java +++ b/Merge.java @@ -134,6 +134,7 @@ transient cVector maxima = new cVector(); // ObjectArrayList<Transform> initialmatrices; + transient boolean rendered = false; void DrawNode(iCameraPane display, Object3D /*Composite*/ root, boolean selected) // ?? { @@ -153,6 +154,8 @@ { e.printStackTrace(); } + + rendered = true; } super.DrawNode(display, root, selected); @@ -192,7 +195,7 @@ try { //font = FontRender.createFont("Dialog", 11, false, true); - font = new FontRender.GLFont(gl, GrafreeD.class.getResourceAsStream("DejaVu_Sans_11.fnt")); + font = new FontRender.GLFont(gl, Grafreed.class.getResourceAsStream("DejaVu_Sans_11.fnt")); } catch (java.io.IOException e) { e.printStackTrace(); @@ -260,7 +263,8 @@ bRep.startvertices = new int[NumGeometries(GetObject()) + 1]; bRep.averagepoints = new float[(bRep.startvertices.length-1) * 3]; bRep.extremepoints = new float[(bRep.startvertices.length-1) * 3]; - bRep.supportsizes = new float[(bRep.startvertices.length-1)]; + bRep.supportminsize = new float[(bRep.startvertices.length-1)]; + bRep.supportmaxsize = new float[(bRep.startvertices.length-1)]; buildrep = true; // initialmatrices = new ObjectArrayList<Transform>(); @@ -686,11 +690,12 @@ } else { - if (bRep.averagepoints == null || bRep.extremepoints == null || bRep.supportsizes == null) + if (bRep.averagepoints == null || bRep.extremepoints == null || bRep.supportminsize == null || bRep.supportmaxsize == null) { bRep.averagepoints = new float[(bRep.startvertices.length-1) * 3]; bRep.extremepoints = new float[(bRep.startvertices.length-1) * 3]; - bRep.supportsizes = new float[(bRep.startvertices.length-1)]; + bRep.supportminsize = new float[(bRep.startvertices.length-1)]; + bRep.supportmaxsize = new float[(bRep.startvertices.length-1)]; } float averagex = 0; @@ -731,42 +736,47 @@ v.norm.normalize(); } - int index3 = currentobject-1; - index3 *= 3; - - bRep.averagepoints[index3] = averagex/count; - bRep.averagepoints[index3+1] = averagey/count; - bRep.averagepoints[index3+2] = averagez/count; - - double mindist2 = 1E10f; - double maxdist2 = -1E10f; - - for (int i=bRep.startvertices[currentobject-1]; i<bRep.startvertices[currentobject]; i++) + if (!rendered) { - Vertex v = bRep.GetVertex(i); - - double x = v.x - bRep.averagepoints[index3]; - double y = v.y - bRep.averagepoints[index3+1]; - double z = v.z - bRep.averagepoints[index3+2]; - - double dist2 = x*x + y*y + z*z; - - if (mindist2 > dist2) - mindist2 = dist2; - if (maxdist2 < dist2) + int index3 = currentobject-1; + index3 *= 3; + + bRep.averagepoints[index3] = averagex/count; + bRep.averagepoints[index3+1] = averagey/count; + bRep.averagepoints[index3+2] = averagez/count; + + double mindist2 = 1E10f; + double maxdist2 = -1E10f; + + for (int i=bRep.startvertices[currentobject-1]; i<bRep.startvertices[currentobject]; i++) { - maxdist2 = dist2; - bRep.extremepoints[index3] = (float)v.x; - bRep.extremepoints[index3+1] = (float)v.y; - bRep.extremepoints[index3+2] = (float)v.z; + Vertex v = bRep.GetVertex(i); + + double x = v.x - bRep.averagepoints[index3]; + double y = v.y - bRep.averagepoints[index3+1]; + double z = v.z - bRep.averagepoints[index3+2]; + + double dist2 = x*x + y*y + z*z; + + if (mindist2 > dist2) + mindist2 = dist2; + + if (maxdist2 < dist2) + { + maxdist2 = dist2; + bRep.extremepoints[index3] = (float)v.x; + bRep.extremepoints[index3+1] = (float)v.y; + bRep.extremepoints[index3+2] = (float)v.z; + } } + + bRep.supportminsize[currentobject-1] = (float)Math.sqrt(mindist2); + bRep.supportmaxsize[currentobject-1] = (float)Math.sqrt(maxdist2); + // for (int i = 0; i < hull.numVertices(); i++) + // { + // + // } } - - bRep.supportsizes[currentobject-1] = (float)Math.sqrt(mindist2); -// for (int i = 0; i < hull.numVertices(); i++) -// { -// -// } } // if (hull.numTriangles() > 0) -- Gitblit v1.6.2