From 255bcc8ac2faaf412e78e231eaa8e4a560621668 Mon Sep 17 00:00:00 2001 From: Normand Briere <nbriere@noware.ca> Date: Sun, 29 Sep 2019 12:44:37 -0400 Subject: [PATCH] link2master + link2support + UF --- Object3D.java | 24 ++++++++++++++++-------- 1 files changed, 16 insertions(+), 8 deletions(-) diff --git a/Object3D.java b/Object3D.java index 10bff2f..0bb1b02 100644 --- a/Object3D.java +++ b/Object3D.java @@ -100,7 +100,7 @@ other.softtouched = softtouched; other.random = random; - other.link2master = link2master; + other.link2master = Link2Support(); other.transformcount = transformcount; other.marked = marked; other.skip = skip; @@ -220,7 +220,7 @@ return; transientsupport = support; - transientlink2master = link2master; + transientlink2master = Link2Support(); support = null; link2master = false; @@ -633,7 +633,10 @@ transient boolean keepdontselect; boolean dontselect = false; boolean hide = false; + boolean link2master = false; // performs reset support/master at each frame (cannot rename due to serialization) + boolean link2support = false; // (cannot rename due to serialization) + boolean marked = false; // animation node boolean skip = false; // centroid issue boolean skipmocap = false; // mocap data @@ -6154,7 +6157,7 @@ boolean NeedSupport() { return - CameraPane.SUPPORT && (!CameraPane.movingcamera || (!Globals.FREEZEONMOVE && Globals.isLIVE())) && link2master && /*live &&*/ support != null + CameraPane.SUPPORT && (!CameraPane.movingcamera || (!Globals.FREEZEONMOVE && Globals.isLIVE())) && Link2Support() && /*live &&*/ support != null // PROBLEM with CROWD!! && (Globals.DrawMode() == iCameraPane.SHADOW || !Globals.RENDERSHADOW || Globals.CROWD); } @@ -6177,6 +6180,11 @@ return live && bRep != null; } + boolean Link2Support() + { + return link2master || link2support; + } + static cVector minima = new cVector(); static cVector maxima = new cVector(); static javax.vecmath.Point3d center = new javax.vecmath.Point3d(); @@ -6190,7 +6198,7 @@ // System.err.println("Draw " + this + " Frame # " + ((Mocap)((Merge)support).object).frame); } - if (live && link2master && support == null && !this.marked) // project on ground + if (live && Link2Support() && support == null && !this.marked) // project on ground { getBounds(minima, maxima, true); center.x = (minima.x + maxima.x) / 2; @@ -6265,7 +6273,7 @@ support = support; boolean usecalllists = !IsDynamic() && - IsStatic() && GetBRep() != null && (!CameraPane.SUPPORT || support == null || !link2master); // !(this instanceof cSpring) && !(this instanceof BezierPatch); + IsStatic() && GetBRep() != null && (!CameraPane.SUPPORT || support == null || !Link2Support()); // !(this instanceof cSpring) && !(this instanceof BezierPatch); //boolean usecalllists = false; //!IsLive(); // IsStatic() && GetBRep() != null && (!CameraPane.SUPPORT || support == null) && !link2master; // !(this instanceof cSpring) && !(this instanceof BezierPatch); //usecalllists &= display.DrawMode() == display.DEFAULT; // Don't compute list in shadow pass. @@ -6373,7 +6381,7 @@ { if (display.DrawMode() == iCameraPane.SHADOW) { - if (!link2master // tricky to cull in shadow mode. + if (!Link2Support() // tricky to cull in shadow mode. && GetBRep().FrustumCull(this, null, display.LightCamera(), true)) { //System.out.print("CULLED"); @@ -6846,7 +6854,7 @@ //javax.media.opengl.GL gl = display.GetGL(); - if (CameraPane.BOXMODE && !selected) // || CameraPane.movingcamera) + if (CameraPane.BOXMODE && !Link2Support()) //selected) // || CameraPane.movingcamera) { int fc = bRep.FaceCount(); int vc = bRep.VertexCount(); @@ -8917,7 +8925,7 @@ boolean touch = false; - if (bRep != null && link2master) + if (bRep != null && Link2Support()) { if (bbox == null) { -- Gitblit v1.6.2