.. | .. |
---|
368 | 368 | refreshContents(); |
---|
369 | 369 | } |
---|
370 | 370 | |
---|
371 | | - public void Show3DView() |
---|
372 | | - { |
---|
373 | | - // bug |
---|
374 | | - //gridPanel.setDividerLocation(1.0); |
---|
375 | | - //bigPanel.setDividerLocation(0.0); |
---|
376 | | - bigThree.ClearUI(); |
---|
377 | | - bigThree.add(centralPanel); |
---|
378 | | - bigThree.FlushUI(); |
---|
379 | | - } |
---|
380 | | - |
---|
381 | 371 | //ObjEditor objEditor; |
---|
382 | 372 | public void closeUI2() |
---|
383 | 373 | { |
---|
.. | .. |
---|
765 | 755 | shadowYItem.addActionListener(this); |
---|
766 | 756 | shadowZItem = menu.add(new MenuItem("Shadow Blue")); |
---|
767 | 757 | shadowZItem.addActionListener(this); |
---|
| 758 | + |
---|
768 | 759 | attributeItem = menu.add(new MenuItem("Attribute")); |
---|
769 | 760 | attributeItem.addActionListener(this); |
---|
770 | | - |
---|
771 | 761 | if (Globals.ADVANCED) |
---|
772 | 762 | { |
---|
773 | 763 | menu.add("-"); |
---|
.. | .. |
---|
779 | 769 | pointflowItem.addActionListener(this); |
---|
780 | 770 | } |
---|
781 | 771 | menu.add("-"); |
---|
| 772 | + textureRatioRItem = menu.add(new MenuItem("Texture Ratio Red")); |
---|
| 773 | + textureRatioRItem.addActionListener(this); |
---|
| 774 | + textureRatioGItem = menu.add(new MenuItem("Texture Ratio Green")); |
---|
| 775 | + textureRatioGItem.addActionListener(this); |
---|
| 776 | + textureRatioBItem = menu.add(new MenuItem("Texture Ratio Blue")); |
---|
| 777 | + textureRatioBItem.addActionListener(this); |
---|
| 778 | + menu.add("-"); |
---|
782 | 779 | resetTransformItem = menu.add(new MenuItem("Reset Transform")); |
---|
783 | 780 | resetTransformItem.addActionListener(this); |
---|
784 | 781 | resetCentroidItem = menu.add(new MenuItem("Reset Centroid")); |
---|
785 | 782 | resetCentroidItem.addActionListener(this); |
---|
786 | | - resetCentroidXZItem = menu.add(new MenuItem("Reset Centroid XY")); |
---|
| 783 | + resetCentroidXZItem = menu.add(new MenuItem("Reset Centroid XZ")); |
---|
787 | 784 | resetCentroidXZItem.addActionListener(this); |
---|
788 | 785 | transformGeometryItem = menu.add(new MenuItem("Transform Geometry")); |
---|
789 | 786 | transformGeometryItem.addActionListener(this); |
---|
.. | .. |
---|
1074 | 1071 | // } |
---|
1075 | 1072 | // }); |
---|
1076 | 1073 | |
---|
| 1074 | + oe.toolbarPanel.add(fullScreenButton = GetButton("icons/fullscreen.png", !Globals.NIMBUSLAF)); //, oe.aConstraints); |
---|
| 1075 | + fullScreenButton.setToolTipText("Full-screen window"); |
---|
| 1076 | + fullScreenButton.addActionListener(this); |
---|
| 1077 | + |
---|
1077 | 1078 | oe.toolbarPanel.add(collapseButton = GetButton("icons/collapse.png", !Globals.NIMBUSLAF)); //, oe.aConstraints); |
---|
1078 | 1079 | collapseButton.setToolTipText("Collapse toolbar"); |
---|
1079 | 1080 | collapseButton.addActionListener(this); |
---|
1080 | 1081 | |
---|
1081 | | - oe.toolbarPanel.add(maximize3DButton = GetButton("icons/square.png", !Globals.NIMBUSLAF)); //, oe.aConstraints); |
---|
1082 | | - maximize3DButton.setToolTipText("Maximize 3D view"); |
---|
1083 | | - maximize3DButton.addActionListener(this); |
---|
| 1082 | +// oe.toolbarPanel.add(maximize3DButton = GetButton("icons/square.png", !Globals.NIMBUSLAF)); //, oe.aConstraints); |
---|
| 1083 | +// maximize3DButton.setToolTipText("Maximize 3D view"); |
---|
| 1084 | +// maximize3DButton.addActionListener(this); |
---|
1084 | 1085 | |
---|
1085 | 1086 | oe.toolbarPanel.add(twoButton = GetButton("icons/cube.png", !Globals.NIMBUSLAF)); //, oe.aConstraints); |
---|
1086 | 1087 | twoButton.setToolTipText("Show 3D view only"); |
---|
.. | .. |
---|
1100 | 1101 | // sevenButton.setToolTipText("3-column layout"); |
---|
1101 | 1102 | // sevenButton.addActionListener(this); |
---|
1102 | 1103 | // |
---|
1103 | | - |
---|
1104 | | - oe.toolbarPanel.add(fullButton = GetButton("icons/fullscreen.png", !Globals.NIMBUSLAF)); //, oe.aConstraints); |
---|
1105 | | - fullButton.setToolTipText("Full-screen window"); |
---|
1106 | | - fullButton.addActionListener(this); |
---|
1107 | 1104 | |
---|
1108 | 1105 | oe.toolbarPanel.add(screenfitButton = GetButton("icons/fit.png", !Globals.NIMBUSLAF)); //, oe.aConstraints); |
---|
1109 | 1106 | screenfitButton.setToolTipText("Screen fit"); |
---|
.. | .. |
---|
1217 | 1214 | torusButton.setToolTipText("Create torus"); |
---|
1218 | 1215 | torusButton.addActionListener(this); |
---|
1219 | 1216 | |
---|
1220 | | - if (Globals.ADVANCED) |
---|
| 1217 | + if (false) //Globals.ADVANCED) |
---|
1221 | 1218 | { |
---|
1222 | 1219 | oe.toolboxPanel.add(kleinButton = GetButton("icons/klein.png", !Globals.NIMBUSLAF)); //, oe.aConstraints); |
---|
1223 | 1220 | kleinButton.setToolTipText("Create Klein bottle"); |
---|
.. | .. |
---|
1493 | 1490 | |
---|
1494 | 1491 | void EditObject(Object3D obj) |
---|
1495 | 1492 | { |
---|
1496 | | - assert(obj instanceof Composite); |
---|
| 1493 | + //assert(obj instanceof Composite); |
---|
1497 | 1494 | |
---|
1498 | 1495 | // if (obj.versionlist == null) |
---|
1499 | 1496 | // { |
---|
.. | .. |
---|
2129 | 2126 | switch(axis) |
---|
2130 | 2127 | { |
---|
2131 | 2128 | case 0 : |
---|
2132 | | - vert1.x = minima.x; vert1.y = minima.y; vert1.z = minima.z; |
---|
2133 | | - vert2.x = minima.x; vert2.y = maxima.y; vert2.z = minima.z; |
---|
2134 | | - vert3.x = minima.x; vert3.y = minima.y; vert3.z = maxima.z; |
---|
2135 | | - vert4.x = minima.x; vert4.y = maxima.y; vert4.z = maxima.z; |
---|
| 2129 | + vert1.x = minima.x + 0.001f; vert1.y = minima.y; vert1.z = minima.z; |
---|
| 2130 | + vert2.x = minima.x + 0.001f; vert2.y = maxima.y; vert2.z = minima.z; |
---|
| 2131 | + vert3.x = minima.x + 0.001f; vert3.y = minima.y; vert3.z = maxima.z; |
---|
| 2132 | + vert4.x = minima.x + 0.001f; vert4.y = maxima.y; vert4.z = maxima.z; |
---|
2136 | 2133 | norm = cVector.X; |
---|
2137 | 2134 | break; |
---|
2138 | 2135 | case 1 : |
---|
2139 | | - vert1.x = minima.x; vert1.y = minima.y; vert1.z = minima.z; |
---|
2140 | | - vert2.x = maxima.x; vert2.y = minima.y; vert2.z = minima.z; |
---|
2141 | | - vert3.x = minima.x; vert3.y = minima.y; vert3.z = maxima.z; |
---|
2142 | | - vert4.x = maxima.x; vert4.y = minima.y; vert4.z = maxima.z; |
---|
| 2136 | + vert1.x = minima.x; vert1.y = minima.y + 0.001f; vert1.z = minima.z; |
---|
| 2137 | + vert2.x = maxima.x; vert2.y = minima.y + 0.001f; vert2.z = minima.z; |
---|
| 2138 | + vert3.x = minima.x; vert3.y = minima.y + 0.001f; vert3.z = maxima.z; |
---|
| 2139 | + vert4.x = maxima.x; vert4.y = minima.y + 0.001f; vert4.z = maxima.z; |
---|
2143 | 2140 | norm = cVector.Y; |
---|
2144 | 2141 | break; |
---|
2145 | 2142 | case 2 : |
---|
2146 | | - vert1.x = minima.x; vert1.y = minima.y; vert1.z = minima.z; |
---|
2147 | | - vert2.x = maxima.x; vert2.y = minima.y; vert2.z = minima.z; |
---|
2148 | | - vert3.x = minima.x; vert3.y = maxima.y; vert3.z = minima.z; |
---|
2149 | | - vert4.x = maxima.x; vert4.y = maxima.y; vert4.z = minima.z; |
---|
| 2143 | + vert1.x = minima.x; vert1.y = minima.y; vert1.z = minima.z + 0.001f; |
---|
| 2144 | + vert2.x = maxima.x; vert2.y = minima.y; vert2.z = minima.z + 0.001f; |
---|
| 2145 | + vert3.x = minima.x; vert3.y = maxima.y; vert3.z = minima.z + 0.001f; |
---|
| 2146 | + vert4.x = maxima.x; vert4.y = maxima.y; vert4.z = minima.z + 0.001f; |
---|
2150 | 2147 | norm = cVector.Z; |
---|
2151 | 2148 | break; |
---|
2152 | 2149 | } |
---|
.. | .. |
---|
2715 | 2712 | if (!group.selection.isEmpty()) |
---|
2716 | 2713 | { |
---|
2717 | 2714 | Composite csg = new GroupLeaf(); |
---|
| 2715 | + group(csg); |
---|
2718 | 2716 | csg.count = 5; |
---|
2719 | 2717 | Composite child = new cGroup("Branch"); |
---|
2720 | 2718 | csg.addChild(child); |
---|
2721 | 2719 | child.addChild(csg); |
---|
2722 | | - group(csg); |
---|
2723 | 2720 | } |
---|
2724 | 2721 | } else |
---|
2725 | 2722 | if (source == doubleItem) |
---|
.. | .. |
---|
2727 | 2724 | if (!group.selection.isEmpty()) |
---|
2728 | 2725 | { |
---|
2729 | 2726 | Composite csg = new GroupLeaf("Fork"); |
---|
| 2727 | + group(csg); |
---|
2730 | 2728 | csg.count = 5; |
---|
2731 | 2729 | Composite child = new cGroup("Branch A"); |
---|
2732 | 2730 | csg.addChild(child); |
---|
.. | .. |
---|
2734 | 2732 | child = new cGroup("Branch B"); |
---|
2735 | 2733 | csg.addChild(child); |
---|
2736 | 2734 | child.addChild(csg); |
---|
2737 | | - group(csg); |
---|
2738 | 2735 | } |
---|
2739 | 2736 | } else |
---|
2740 | 2737 | if (source == tripleItem) |
---|
.. | .. |
---|
2800 | 2797 | { |
---|
2801 | 2798 | Maximize(); |
---|
2802 | 2799 | } else |
---|
2803 | | - if (source == fullButton) |
---|
| 2800 | + if (source == fullScreenButton) |
---|
2804 | 2801 | { |
---|
2805 | 2802 | ToggleFullScreen(); |
---|
2806 | 2803 | } else |
---|
.. | .. |
---|
2809 | 2806 | this.expandedLayout = radio.layout; |
---|
2810 | 2807 | CollapseToolbar(); |
---|
2811 | 2808 | } else |
---|
2812 | | - if (source == maximize3DButton) |
---|
2813 | | - { |
---|
2814 | | - this.expandedLayout = radio.layout; |
---|
2815 | | - radio.layout = twoButton; |
---|
2816 | | - Show3DView(); |
---|
2817 | | - CollapseToolbar(); |
---|
2818 | | - } else |
---|
| 2809 | +// if (source == maximize3DButton) |
---|
| 2810 | +// { |
---|
| 2811 | +// this.expandedLayout = radio.layout; |
---|
| 2812 | +// radio.layout = twoButton; |
---|
| 2813 | +// CollapseToolbar(); |
---|
| 2814 | +// Show3DView(); |
---|
| 2815 | +// } else |
---|
2819 | 2816 | if (source == previousVersionButton) |
---|
2820 | 2817 | { |
---|
2821 | 2818 | // Go to previous version |
---|
.. | .. |
---|
3612 | 3609 | { |
---|
3613 | 3610 | TransformChildren(); |
---|
3614 | 3611 | } else |
---|
| 3612 | + if (source == textureRatioRItem) |
---|
| 3613 | + { |
---|
| 3614 | + TextureRatio(0); |
---|
| 3615 | + } else |
---|
| 3616 | + if (source == textureRatioGItem) |
---|
| 3617 | + { |
---|
| 3618 | + TextureRatio(1); |
---|
| 3619 | + } else |
---|
| 3620 | + if (source == textureRatioBItem) |
---|
| 3621 | + { |
---|
| 3622 | + TextureRatio(2); |
---|
| 3623 | + } else |
---|
3615 | 3624 | if (source == resetTransformItem) |
---|
3616 | 3625 | { |
---|
3617 | 3626 | ResetTransform(); |
---|
.. | .. |
---|
3984 | 3993 | if (source == closeButton) |
---|
3985 | 3994 | { |
---|
3986 | 3995 | //System.out.println("CLOSE: " + buttonGroup.getSelection()); |
---|
3987 | | - Replace(); |
---|
| 3996 | + if (copy.versionlist != null) |
---|
| 3997 | + Replace(); |
---|
3988 | 3998 | |
---|
3989 | 3999 | cRadio ab; |
---|
3990 | 4000 | for (Enumeration e = buttonGroup.getElements(); e.hasMoreElements();) |
---|
.. | .. |
---|
4084 | 4094 | } else |
---|
4085 | 4095 | if(source instanceof cRadio) |
---|
4086 | 4096 | { |
---|
4087 | | - Replace(); |
---|
| 4097 | + if (copy.versionlist != null) |
---|
| 4098 | + Replace(); |
---|
4088 | 4099 | |
---|
4089 | 4100 | group.parent = keepparent; |
---|
4090 | 4101 | group.attributes = 0; |
---|
.. | .. |
---|
4137 | 4148 | */ |
---|
4138 | 4149 | radio.layout.doClick(); |
---|
4139 | 4150 | |
---|
4140 | | - assert(copy instanceof Composite); |
---|
| 4151 | + //assert(copy instanceof Composite); |
---|
4141 | 4152 | |
---|
4142 | 4153 | if (copy.versionlist == null) |
---|
4143 | 4154 | { |
---|
.. | .. |
---|
4148 | 4159 | // and check if any of these nodes are reachable below the root. |
---|
4149 | 4160 | Grafreed.grafreed.universe.TagObjects(copy, true); |
---|
4150 | 4161 | |
---|
4151 | | - if (copy.versionlist == null && !copy.HasTags()) |
---|
| 4162 | + if (copy instanceof Composite && !copy.HasTags()) |
---|
4152 | 4163 | { |
---|
4153 | | - copy.versionlist = new Object3D[100]; |
---|
| 4164 | + if (copy.versionlist == null) |
---|
| 4165 | + copy.versionlist = new Object3D[100]; |
---|
4154 | 4166 | |
---|
4155 | 4167 | //Save(true); |
---|
4156 | 4168 | } |
---|
.. | .. |
---|
4275 | 4287 | refreshContents(); |
---|
4276 | 4288 | } |
---|
4277 | 4289 | |
---|
| 4290 | + void TextureRatio(int axis) |
---|
| 4291 | + { |
---|
| 4292 | + Object3D obj; |
---|
| 4293 | + for (Enumeration e = group.selection.elements(); e.hasMoreElements();) |
---|
| 4294 | + { |
---|
| 4295 | + obj = (Object3D)e.nextElement(); |
---|
| 4296 | + obj.TextureRatio(axis); |
---|
| 4297 | + } |
---|
| 4298 | + |
---|
| 4299 | + refreshContents(); |
---|
| 4300 | + } |
---|
| 4301 | + |
---|
4278 | 4302 | void ResetTransform() |
---|
4279 | 4303 | { |
---|
4280 | 4304 | ResetTransform(-1); |
---|
.. | .. |
---|
4290 | 4314 | if (obj.toParent == null) |
---|
4291 | 4315 | continue; |
---|
4292 | 4316 | |
---|
4293 | | - if (mask == -1) |
---|
4294 | | - { |
---|
4295 | | - if (obj instanceof Camera) // jan 2014 |
---|
4296 | | - { |
---|
4297 | | - LA.matIdentity(obj.toParent); |
---|
4298 | | - LA.matIdentity(obj.fromParent); |
---|
4299 | | - } |
---|
4300 | | - else |
---|
4301 | | - { |
---|
4302 | | - obj.toParent = null; // jan 2014 LA.matIdentity(obj.toParent); |
---|
4303 | | - obj.fromParent = null; // LA.matIdentity(obj.fromParent); |
---|
4304 | | - } |
---|
4305 | | - TouchTransform(obj); |
---|
4306 | | - continue; |
---|
4307 | | - } |
---|
4308 | | - if ((mask&2) != 0) // Scale/rotation |
---|
4309 | | - { |
---|
4310 | | - obj.toParent[0][0] = obj.toParent[1][1] = obj.toParent[2][2] = 1; |
---|
4311 | | - obj.toParent[0][1] = obj.toParent[1][0] = obj.toParent[2][0] = 0; |
---|
4312 | | - obj.toParent[0][2] = obj.toParent[1][2] = obj.toParent[2][1] = 0; |
---|
4313 | | - obj.fromParent[0][0] = obj.fromParent[1][1] = obj.fromParent[2][2] = 1; |
---|
4314 | | - obj.fromParent[0][1] = obj.fromParent[1][0] = obj.fromParent[2][0] = 0; |
---|
4315 | | - obj.fromParent[0][2] = obj.fromParent[1][2] = obj.fromParent[2][1] = 0; |
---|
4316 | | - } |
---|
4317 | | - if ((mask&1) != 0) // Translation |
---|
4318 | | - { |
---|
4319 | | - if (obj.toParent != null) |
---|
4320 | | - { |
---|
4321 | | - obj.toParent[3][0] = obj.toParent[3][1] = obj.toParent[3][2] = 0; |
---|
4322 | | - obj.fromParent[3][0] = obj.fromParent[3][1] = obj.fromParent[3][2] = 0; |
---|
4323 | | - } |
---|
4324 | | - } |
---|
| 4317 | + obj.ResetTransform(mask); |
---|
| 4318 | + |
---|
4325 | 4319 | if (obj.parent == null) |
---|
4326 | 4320 | { |
---|
4327 | 4321 | System.out.println("NULL PARENT!"); |
---|
.. | .. |
---|
4829 | 4823 | for (int i=0; i<group.selection.size(); i++) |
---|
4830 | 4824 | { |
---|
4831 | 4825 | Object3D obj = group.selection.get(i); |
---|
| 4826 | + |
---|
| 4827 | + if (obj.toParent == null) |
---|
| 4828 | + { |
---|
| 4829 | + obj.toParent = LA.newMatrix(); |
---|
| 4830 | + obj.fromParent = LA.newMatrix(); |
---|
| 4831 | + } |
---|
4832 | 4832 | |
---|
4833 | 4833 | LA.matTranslate(obj.toParent, i * scale, 0, 0); |
---|
4834 | 4834 | LA.matTranslateInv(obj.fromParent, -i * scale, 0, 0); |
---|
.. | .. |
---|
5365 | 5365 | if (tps != null && tps.length > 0 && tps[0].getLastPathComponent() instanceof Camera) |
---|
5366 | 5366 | // a camera |
---|
5367 | 5367 | { |
---|
5368 | | - if (tps[0].getLastPathComponent() != Globals.theRenderer.LightCamera()) // Crash the camera because of invalid lightspace |
---|
| 5368 | + if (tps[0].getLastPathComponent() != Globals.theRenderer.LightCamera()) // Crashes the camera because of invalid lightspace |
---|
5369 | 5369 | { |
---|
5370 | 5370 | CameraPane.camerachangeframe = 0; // don't refuse it |
---|
5371 | 5371 | Globals.theRenderer.SetCamera((Camera) tps[0].getLastPathComponent()); |
---|
.. | .. |
---|
5412 | 5412 | } |
---|
5413 | 5413 | } |
---|
5414 | 5414 | |
---|
5415 | | - rootButton.setEnabled(allComposites); |
---|
| 5415 | + rootButton.setEnabled(true); // allComposites); |
---|
5416 | 5416 | } |
---|
5417 | 5417 | |
---|
5418 | 5418 | void refreshContents(boolean cp) |
---|
5419 | 5419 | { |
---|
5420 | | - if (Globals.ADVANCED) |
---|
| 5420 | + if (Globals.SHOWINFO) |
---|
5421 | 5421 | //if (objectPanel.getSelectedIndex() == 2) // objectPanel.indexOfTab("Info")) |
---|
5422 | 5422 | if (!Globals.MOUSEDRAGGED && group.selection != null) // && !Globals.TIMERRUNNING) |
---|
5423 | 5423 | { |
---|
.. | .. |
---|
6392 | 6392 | private MenuItem maxTexturesItem; |
---|
6393 | 6393 | private MenuItem panoTexturesItem; |
---|
6394 | 6394 | |
---|
| 6395 | + private MenuItem textureRatioRItem; |
---|
| 6396 | + private MenuItem textureRatioGItem; |
---|
| 6397 | + private MenuItem textureRatioBItem; |
---|
6395 | 6398 | private MenuItem resetCentroidItem; |
---|
6396 | 6399 | private MenuItem resetCentroidXZItem; |
---|
6397 | 6400 | private MenuItem resetTransformItem; |
---|