CSG.java | ●●●●● patch | view | raw | blame | history | |
CSGEditor.java | ●●●●● patch | view | raw | blame | history | |
CameraPane.java | ●●●●● patch | view | raw | blame | history | |
FrameSelector.java | ●●●●● patch | view | raw | blame | history | |
GenericJoint.java | ●●●●● patch | view | raw | blame | history | |
GroupEditor.java | ●●●●● patch | view | raw | blame | history | |
Merge.java | ●●●●● patch | view | raw | blame | history | |
Mocap.java | ●●●●● patch | view | raw | blame | history | |
ObjEditor.java | ●●●●● patch | view | raw | blame | history | |
Object3D.java | ●●●●● patch | view | raw | blame | history | |
RandomNode.java | ●●●●● patch | view | raw | blame | history | |
SwitchNode.java | ●●●●● patch | view | raw | blame | history | |
cTreeModel.java | ●●●●● patch | view | raw | blame | history | |
fullscenes/urbanfuture3.png | patch | view | raw | blame | history | |
fullscenes/urbanfuture4.png | patch | view | raw | blame | history |
CSG.java
.. .. @@ -134,7 +134,7 @@ 134 134 /**/ 135 135 void draw(iCameraPane display, Object3D /*Composite*/ root, boolean selected, boolean blocked) 136 136 { 137 - if (csgType == UNION || !link2master) // || csgType == MERGE)137 + if (csgType == UNION || !Link2Support()) // || csgType == MERGE)138 138 { 139 139 BoundaryRep keep = bRep; 140 140 bRep = null; CSGEditor.java
.. .. @@ -256,7 +256,7 @@ 256 256 csg.cellSize2 = size2Slider.getInteger(); 257 257 csg.tolerance = toleranceSlider.getFloat(); 258 258 259 - if (csg.link2master)259 + if (csg.Link2Support())260 260 csg.retile(); 261 261 } 262 262 CameraPane.java
.. .. @@ -1530,7 +1530,7 @@ 1530 1530 } 1531 1531 } 1532 1532 float b = 0; 1533 - if (obj.support != null && obj.link2master)1533 + if (obj.support != null && obj.Link2Support())1534 1534 { 1535 1535 b = 1; 1536 1536 } .. .. @@ -14676,9 +14676,14 @@ 14676 14676 RigidBody.pos.z = 0; 14677 14677 if (RigidBody.justclicked) 14678 14678 { 14679 - RigidBody.pos.x = (float)manipCamera.lookAt.x;14680 - RigidBody.pos.y = (float)manipCamera.lookAt.y;14681 - RigidBody.pos.z = (float)manipCamera.lookAt.z;14679 +// RigidBody.pos.x = (float)manipCamera.lookAt.x;14680 +// RigidBody.pos.y = (float)manipCamera.lookAt.y;14681 +// RigidBody.pos.z = (float)manipCamera.lookAt.z;14682 + // System.err.println("selected point = " + Trunk(selectedpoint.toParent[3][0]) + " " + Trunk(selectedpoint.toParent[3][1]) + " " + Trunk(selectedpoint.toParent[3][2]));14683 + RigidBody.pos.x = (float)selectedpoint.toParent[3][0];14684 + RigidBody.pos.y = (float)selectedpoint.toParent[3][1];14685 + RigidBody.pos.z = (float)selectedpoint.toParent[3][2];14686 +14682 14687 RigidBody.wind.set(RigidBody.pos); 14683 14688 RigidBody.wind.x -= (float)manipCamera.location.x; 14684 14689 RigidBody.wind.y -= (float)manipCamera.location.y; FrameSelector.java
.. .. @@ -25,7 +25,7 @@ 25 25 26 26 // System.err.println("Select Frame # " + frame); 27 27 // frame %= (getNumFrames() - mocap.offset); 28 - if (!link2master) // freeze current value28 + if (!Link2Support()) // freeze current value29 29 frame = (int)((getNumFrames() - mocap.GetFirstFrame()) * realframe); 30 30 // System.err.println("Select Frame modulo # " + frame); 31 31 boolean waslive = mocap.live; GenericJoint.java
.. .. @@ -492,7 +492,7 @@ 492 492 493 493 tc.getFrameOffsetB(trans); 494 494 495 - if (c == 8) // DEBUG495 + if (false) //c == 8) // DEBUG496 496 { 497 497 gl.glDisable(gl.GL_LIGHTING); 498 498 GroupEditor.java
.. .. @@ -741,8 +741,6 @@ 741 741 morphItem.addActionListener(this); 742 742 743 743 menu.add("-"); 744 - physicsItem = menu.add(new MenuItem("Physics"));745 - physicsItem.addActionListener(this);746 744 frameselectorItem = menu.add(new MenuItem("Frame Selector")); 747 745 frameselectorItem.addActionListener(this); 748 746 scriptNodeItem = menu.add(new MenuItem("Script Node")); .. .. @@ -1981,12 +1979,14 @@ 1981 1979 1982 1980 // particleItem = menu.add(new MenuItem("Particle system")); 1983 1981 // particleItem.addActionListener(this); 1984 - if (Globals.ADVANCED)1982 + //if (Globals.ADVANCED)1985 1983 { 1986 1984 ragdollItem = menu.add(new MenuItem("Rag Walk")); 1987 1985 ragdollItem.addActionListener(this); 1988 1986 ragdoll2Item = menu.add(new MenuItem("Rag Fall")); 1989 1987 ragdoll2Item.addActionListener(this); 1988 + physicsItem = menu.add(new MenuItem("Physics"));1989 + physicsItem.addActionListener(this);1990 1990 } 1991 1991 menu.add("-"); 1992 1992 meshItem = menu.add(new MenuItem("Dynamic Mesh")); Merge.java
.. .. @@ -126,7 +126,7 @@ 126 126 127 127 bRep = null; 128 128 129 - if (link2master)129 + if (Link2Support())130 130 renderme(); // null); 131 131 } 132 132 .. .. @@ -144,7 +144,7 @@ 144 144 if (bRep == null && GetObject() != null) 145 145 renderme(); // display); // only once 146 146 147 - if (/*display.LIVE && live &&*/link2master) // && display.drawMode == display.SHADOW) // SHADOW!!!147 + if (/*display.LIVE && live &&*/Link2Support()) // && display.drawMode == display.SHADOW) // SHADOW!!!148 148 { 149 149 try 150 150 { Mocap.java
.. .. @@ -998,7 +998,7 @@ 998 998 999 999 get(0).link2master = path.size() > 1; // hip orientation 1000 1000 1001 - if (get(0).link2master)1001 + if (get(0).Link2Support())1002 1002 { 1003 1003 rotateonce = 2; 1004 1004 } .. .. @@ -1427,7 +1427,7 @@ 1427 1427 double w = 0.00015; 1428 1428 1429 1429 //if (!sourcenode.link2master) // strong pin on floor 1430 - if (parent.link2master) // strong pin on floor1430 + if (parent.Link2Support()) // strong pin on floor1431 1431 { 1432 1432 w = 0.005; // .001; 1433 1433 } .. .. @@ -1641,7 +1641,7 @@ 1641 1641 // sourcenode.parent.toParent[3][1] = ground - floor.y; 1642 1642 // sourcenode.parent.toParent[3][2] += groundz - floor.z; 1643 1643 // sourcenode.parent.toParent[3][1] = K * (ground - floor.y) + (1 - K) * oldposy; 1644 - if (footcontact && (sourcenode.parent != null && !sourcenode.parent.link2master)) // strong pin on floor1644 + if (footcontact && (sourcenode.parent != null && !sourcenode.parent.Link2Support())) // strong pin on floor1645 1645 { 1646 1646 v0.x = groundx - floor.x; 1647 1647 v0.y = 0; // groundx - floor.x; .. .. @@ -2006,7 +2006,7 @@ 2006 2006 // if (sourcenode.link2master) 2007 2007 // if (goalx != 0 || goalz != 0) 2008 2008 // K = 0.02; // .0625; 2009 - if (parent.link2master) // strong pin on floor2009 + if (parent.Link2Support()) // strong pin on floor2010 2010 { 2011 2011 K = 0.05; // 0.02; 2012 2012 } .. .. @@ -2423,9 +2423,9 @@ 2423 2423 // SetBreakPoint(get(0).toParent[0], 0); 2424 2424 // } 2425 2425 2426 - boolean setrotation = get(0).link2master && !firsttimeafterload && frame > 0;2426 + boolean setrotation = get(0).Link2Support() && !firsttimeafterload && frame > 0;2427 2427 boolean setposition = sourcenode != null && // sourcenode.parent != null && // july 2014 2428 - sourcenode./*parent.*/link2master && !firsttimeafterload && frame > 0;2428 + sourcenode./*parent.*/Link2Support() && !firsttimeafterload && frame > 0;2429 2429 2430 2430 // cVector centroid = new cVector(); 2431 2431 // cVector floor = new cVector(); .. .. @@ -2858,7 +2858,7 @@ 2858 2858 2859 2859 // set translation 2860 2860 // (currently only possible for root bone! see mocapdata.com data) 2861 - if (bone._isRoot && link2master) // && !GetFileRoot().link2master)2861 + if (bone._isRoot && Link2Support()) // && !GetFileRoot().link2master)2862 2862 { 2863 2863 if (hasTranslation) // && _translationEnabled) 2864 2864 { ObjEditor.java
.. .. @@ -558,7 +558,7 @@ 558 558 // } 559 559 // } 560 560 // } 561 - cameraView.transformMode = objectTabbedPane.getSelectedIndex() == 5;561 + cameraView.transformMode = objectTabbedPane.getSelectedIndex() == transformTabIndex;562 562 563 563 // refreshContents(false); // To refresh Info tab 564 564 cameraView.repaint(); .. .. @@ -1421,7 +1421,7 @@ 1421 1421 randomCB = AddCheckBox(setupPanel2, "Random", copy.random); 1422 1422 randomCB.setToolTipText("Randomly Rewind (or Go back and forth)"); 1423 1423 1424 - link2masterCB = AddCheckBox(setupPanel2, GetSupportText(), copy.link2master);1424 + link2masterCB = AddCheckBox(setupPanel2, GetSupportText(), copy.Link2Support());1425 1425 link2masterCB.setToolTipText("Link to support"); 1426 1426 1427 1427 if (Globals.ADVANCED) .. .. @@ -1600,6 +1600,8 @@ 1600 1600 } 1601 1601 1602 1602 int objectTabCount; 1603 +1604 + int transformTabIndex;1603 1605 1604 1606 void SetupViews() 1605 1607 { .. .. @@ -1792,12 +1794,15 @@ 1792 1794 objectTabbedPane.add(materialPanel); 1793 1795 objectTabbedPane.setIconAt(objectTabCount, GetIcon("icons/material.png")); 1794 1796 objectTabbedPane.setToolTipTextAt(objectTabCount++, "Material"); 1795 -1797 +1798 + if (Globals.ADVANCED)1799 + {1796 1800 figurePanel = new cGridBag(); 1797 1801 figurePanel.add(new cButton("FIGURES and POSES coming soon!")); 1798 1802 objectTabbedPane.add(figurePanel); 1799 1803 objectTabbedPane.setIconAt(objectTabCount, GetIcon("icons/figure.png")); 1800 1804 objectTabbedPane.setToolTipTextAt(objectTabCount++, "Figures and poses"); 1805 + }1801 1806 1802 1807 // JPanel north = new JPanel(new BorderLayout()); 1803 1808 // north.setName("Edit"); .. .. @@ -1806,7 +1811,8 @@ 1806 1811 objectTabbedPane.add(editPanel); 1807 1812 objectTabbedPane.setIconAt(objectTabCount, GetIcon("icons/writewhite.png")); 1808 1813 objectTabbedPane.setToolTipTextAt(objectTabCount++, "Edit controls"); 1809 -1814 +1815 + transformTabIndex = objectTabCount;1810 1816 objectTabbedPane.add(transformPanel); 1811 1817 objectTabbedPane.setIconAt(objectTabCount, GetIcon("icons/XYZ.png")); 1812 1818 objectTabbedPane.setToolTipTextAt(objectTabCount++, "TRS transform"); .. .. @@ -2037,6 +2043,52 @@ 2037 2043 2038 2044 fullscenePanel.Return(); 2039 2045 2046 + fullscenePanel.add(fullsceneButton = GetButton("fullscenes/urbanfuture3.png", !Globals.NIMBUSLAF));2047 + fullsceneButton.setToolTipText("Urban Future!");2048 + fullsceneButton.addActionListener(new ActionListener()2049 + {2050 + @Override2051 + public void actionPerformed(ActionEvent e)2052 + {2053 + ReadGFD("https://www.noaofarc.ca/akeeba/categories/Applications/uf3.gfd", new iCallBack()2054 + {2055 +2056 + public void Callback(Object obj)2057 + {2058 + LoadIt(obj);2059 + }2060 +2061 + public void DragGesture()2062 + {2063 + }2064 + });2065 + }2066 + });2067 +2068 + fullscenePanel.add(fullsceneButton = GetButton("fullscenes/urbanfuture4.png", !Globals.NIMBUSLAF));2069 + fullsceneButton.setToolTipText("Street Level!");2070 + fullsceneButton.addActionListener(new ActionListener()2071 + {2072 + @Override2073 + public void actionPerformed(ActionEvent e)2074 + {2075 + ReadGFD("https://www.noaofarc.ca/akeeba/categories/Applications/uf4.gfd", new iCallBack()2076 + {2077 +2078 + public void Callback(Object obj)2079 + {2080 + LoadIt(obj);2081 + }2082 +2083 + public void DragGesture()2084 + {2085 + }2086 + });2087 + }2088 + });2089 +2090 + fullscenePanel.Return();2091 +2040 2092 fullscenePanel.add(new cGridBag()); 2041 2093 fullscenePanel.add(new cGridBag()); 2042 2094 fullscenePanel.Return(); Object3D.java
.. .. @@ -100,7 +100,7 @@ 100 100 other.softtouched = softtouched; 101 101 102 102 other.random = random; 103 - other.link2master = link2master;103 + other.link2master = Link2Support();104 104 other.transformcount = transformcount; 105 105 other.marked = marked; 106 106 other.skip = skip; .. .. @@ -220,7 +220,7 @@ 220 220 return; 221 221 222 222 transientsupport = support; 223 - transientlink2master = link2master;223 + transientlink2master = Link2Support();224 224 225 225 support = null; 226 226 link2master = false; .. .. @@ -633,7 +633,10 @@ 633 633 transient boolean keepdontselect; 634 634 boolean dontselect = false; 635 635 boolean hide = false; 636 +636 637 boolean link2master = false; // performs reset support/master at each frame (cannot rename due to serialization) 638 + boolean link2support = false; // (cannot rename due to serialization)639 +637 640 boolean marked = false; // animation node 638 641 boolean skip = false; // centroid issue 639 642 boolean skipmocap = false; // mocap data .. .. @@ -6154,7 +6157,7 @@ 6154 6157 boolean NeedSupport() 6155 6158 { 6156 6159 return 6157 - CameraPane.SUPPORT && (!CameraPane.movingcamera || (!Globals.FREEZEONMOVE && Globals.isLIVE())) && link2master && /*live &&*/ support != null6160 + CameraPane.SUPPORT && (!CameraPane.movingcamera || (!Globals.FREEZEONMOVE && Globals.isLIVE())) && Link2Support() && /*live &&*/ support != null6158 6161 // PROBLEM with CROWD!! 6159 6162 && (Globals.DrawMode() == iCameraPane.SHADOW || !Globals.RENDERSHADOW || Globals.CROWD); 6160 6163 } .. .. @@ -6177,6 +6180,11 @@ 6177 6180 return live && bRep != null; 6178 6181 } 6179 6182 6183 + boolean Link2Support()6184 + {6185 + return link2master || link2support;6186 + }6187 +6180 6188 static cVector minima = new cVector(); 6181 6189 static cVector maxima = new cVector(); 6182 6190 static javax.vecmath.Point3d center = new javax.vecmath.Point3d(); .. .. @@ -6190,7 +6198,7 @@ 6190 6198 // System.err.println("Draw " + this + " Frame # " + ((Mocap)((Merge)support).object).frame); 6191 6199 } 6192 6200 6193 - if (live && link2master && support == null && !this.marked) // project on ground6201 + if (live && Link2Support() && support == null && !this.marked) // project on ground6194 6202 { 6195 6203 getBounds(minima, maxima, true); 6196 6204 center.x = (minima.x + maxima.x) / 2; .. .. @@ -6265,7 +6273,7 @@ 6265 6273 support = support; 6266 6274 6267 6275 boolean usecalllists = !IsDynamic() && 6268 - IsStatic() && GetBRep() != null && (!CameraPane.SUPPORT || support == null || !link2master); // !(this instanceof cSpring) && !(this instanceof BezierPatch);6276 + IsStatic() && GetBRep() != null && (!CameraPane.SUPPORT || support == null || !Link2Support()); // !(this instanceof cSpring) && !(this instanceof BezierPatch);6269 6277 //boolean usecalllists = false; //!IsLive(); // IsStatic() && GetBRep() != null && (!CameraPane.SUPPORT || support == null) && !link2master; // !(this instanceof cSpring) && !(this instanceof BezierPatch); 6270 6278 6271 6279 //usecalllists &= display.DrawMode() == display.DEFAULT; // Don't compute list in shadow pass. .. .. @@ -6373,7 +6381,7 @@ 6373 6381 { 6374 6382 if (display.DrawMode() == iCameraPane.SHADOW) 6375 6383 { 6376 - if (!link2master // tricky to cull in shadow mode.6384 + if (!Link2Support() // tricky to cull in shadow mode.6377 6385 && GetBRep().FrustumCull(this, null, display.LightCamera(), true)) 6378 6386 { 6379 6387 //System.out.print("CULLED"); .. .. @@ -6846,7 +6854,7 @@ 6846 6854 6847 6855 //javax.media.opengl.GL gl = display.GetGL(); 6848 6856 6849 - if (CameraPane.BOXMODE && !selected) // || CameraPane.movingcamera)6857 + if (CameraPane.BOXMODE && !Link2Support()) //selected) // || CameraPane.movingcamera)6850 6858 { 6851 6859 int fc = bRep.FaceCount(); 6852 6860 int vc = bRep.VertexCount(); .. .. @@ -8917,7 +8925,7 @@ 8917 8925 8918 8926 boolean touch = false; 8919 8927 8920 - if (bRep != null && link2master)8928 + if (bRep != null && Link2Support())8921 8929 { 8922 8930 if (bbox == null) 8923 8931 { RandomNode.java
.. .. @@ -36,7 +36,7 @@ 36 36 37 37 boolean IsSwitch() 38 38 { 39 - return CameraPane.SWITCH && !this.link2master;39 + return CameraPane.SWITCH && !this.Link2Support();40 40 } 41 41 42 42 public int size() SwitchNode.java
.. .. @@ -63,7 +63,7 @@ 63 63 { 64 64 countspeed = speed; 65 65 66 - if (toggleneutral || !link2master)66 + if (toggleneutral || !Link2Support())67 67 { 68 68 do 69 69 { cTreeModel.java
.. .. @@ -96,7 +96,7 @@ 96 96 r = 192; 97 97 } 98 98 99 - if (obj.link2master)99 + if (obj.Link2Support())100 100 { 101 101 b = 192; 102 102 } fullscenes/urbanfuture3.pngBinary files differ
fullscenes/urbanfuture4.pngBinary files differ