Normand Briere
2019-06-09 989407a46041b80c71fd906bff6b97528e6f3350
GroupEditor.java
....@@ -210,10 +210,6 @@
210210 oe.menuBar.add(menu = new Menu("Setting"));
211211 if (Globals.ADVANCED)
212212 {
213
- resetMeshItem = menu.add(new MenuItem("Reset All"));
214
- resetMeshItem.addActionListener(this);
215
- stepAllItem = menu.add(new MenuItem("Step All"));
216
- stepAllItem.addActionListener(this);
217213 revertMeshItem = menu.add(new MenuItem("Revert Meshes"));
218214 revertMeshItem.addActionListener(this);
219215 resetreferencesItem = menu.add(new MenuItem("Reset Mesh References"));
....@@ -318,8 +314,12 @@
318314 resetTransformItem.addActionListener(this);
319315 resetCentroidItem = menu.add(new MenuItem("Reset Centroid"));
320316 resetCentroidItem.addActionListener(this);
321
- transformgeometryItem = menu.add(new MenuItem("Transform Geometry"));
322
- transformgeometryItem.addActionListener(this);
317
+ resetCentroidXZItem = menu.add(new MenuItem("Reset Centroid XY"));
318
+ resetCentroidXZItem.addActionListener(this);
319
+ transformGeometryItem = menu.add(new MenuItem("Transform Geometry"));
320
+ transformGeometryItem.addActionListener(this);
321
+ transformChildrenItem = menu.add(new MenuItem("Transform Children"));
322
+ transformChildrenItem.addActionListener(this);
323323
324324 oe.menuBar.add(menu = new Menu("Geometry"));
325325 genUVItem = menu.add(new MenuItem("Generate UV"));
....@@ -368,6 +368,10 @@
368368 oe.menuBar.add(menu = new Menu("Attributes"));
369369 clearMaterialsItem = menu.add(new MenuItem("Clear Materials"));
370370 clearMaterialsItem.addActionListener(this);
371
+ resetAllItem = menu.add(new MenuItem("Reset All"));
372
+ resetAllItem.addActionListener(this);
373
+ stepAllItem = menu.add(new MenuItem("Step All"));
374
+ stepAllItem.addActionListener(this);
371375 menu.add("-");
372376 liveleavesItem = menu.add(new MenuItem("Live Leaves"));
373377 liveleavesItem.addActionListener(this);
....@@ -422,17 +426,18 @@
422426 sortbysizeItem.addActionListener(this);
423427 sortbynameItem = menu.add(new MenuItem("Sort by name"));
424428 sortbynameItem.addActionListener(this);
429
+ menu.add("-");
430
+ shareGeometriesItem = menu.add(new MenuItem("Share Geometries"));
431
+ shareGeometriesItem.addActionListener(this);
432
+ mergeGeometriesItem = menu.add(new MenuItem("Merge Geometries"));
433
+ mergeGeometriesItem.addActionListener(this);
425434 if (Globals.ADVANCED)
426435 {
427
- menu.add("-");
436
+ // Pretty much the same as duplicate and clone.
428437 extractGeometriesItem = menu.add(new MenuItem("Link Geometry"));
429438 extractGeometriesItem.addActionListener(this);
430439 cloneGeometriesItem = menu.add(new MenuItem("Clone Geometry"));
431440 cloneGeometriesItem.addActionListener(this);
432
- shareGeometriesItem = menu.add(new MenuItem("Share Geometry"));
433
- shareGeometriesItem.addActionListener(this);
434
- mergeGeometriesItem = menu.add(new MenuItem("Merge Geometry"));
435
- mergeGeometriesItem.addActionListener(this);
436441 }
437442
438443 oe.menuBar.add(menu = new Menu("Insert"));
....@@ -488,7 +493,7 @@
488493 //this.AddOptions(oe.toolbarPanel, oe.aConstraints);
489494
490495 oe.toolbarPanel.add(liveCB = new cCheckBox("Live", Globals.isLIVE())); //, oe.aConstraints);
491
- liveCB.setToolTipText("Enabled animation");
496
+ liveCB.setToolTipText("Enable animation");
492497 liveCB.addItemListener(this);
493498
494499 oe.toolbarPanel.add(oneStepButton = new cButton("Step", !Grafreed.NIMBUSLAF)); //, oe.aConstraints);
....@@ -651,7 +656,7 @@
651656 zoomBoxCB.setToolTipText("Display bounding boxes when moving the wheel");
652657 zoomBoxCB.addItemListener(this);
653658
654
- if (Globals.ADVANCED)
659
+ if (true) // Globals.ADVANCED)
655660 {
656661 panel.add(supportCB = new cCheckBox("Support", CameraPane.SUPPORT)); //, constraints);
657662 supportCB.setToolTipText("Enable rigging");
....@@ -724,6 +729,7 @@
724729 buttonGroup.add(radioButton);
725730 radioButton.doClick();
726731 }
732
+
727733 void SetupViews(ObjEditor oe)
728734 {
729735 oe.SetupViews();
....@@ -2276,7 +2282,7 @@
22762282 {
22772283 RevertMeshes();
22782284 } else
2279
- if (source == resetMeshItem)
2285
+ if (source == resetAllItem)
22802286 {
22812287 ResetAll();
22822288 } else
....@@ -2614,9 +2620,13 @@
26142620 {
26152621 SmoothMesh();
26162622 } else
2617
- if (source == transformgeometryItem)
2623
+ if (source == transformGeometryItem)
26182624 {
26192625 TransformGeometry();
2626
+ } else
2627
+ if (source == transformChildrenItem)
2628
+ {
2629
+ TransformChildren();
26202630 } else
26212631 if (source == resetTransformItem)
26222632 {
....@@ -2624,7 +2634,11 @@
26242634 } else
26252635 if (source == resetCentroidItem)
26262636 {
2627
- ResetCentroid();
2637
+ ResetCentroid(true);
2638
+ } else
2639
+ if (source == resetCentroidXZItem)
2640
+ {
2641
+ ResetCentroid(false);
26282642 } else
26292643 if (source == resetParentItem)
26302644 {
....@@ -3066,7 +3080,9 @@
30663080 frontView.object = group;
30673081 sideView.object = group;
30683082 }
3069
- group.editWindow = this;
3083
+
3084
+// fix "+" issue group.editWindow = this;
3085
+
30703086 /*
30713087 currentLayout = radio.layout;
30723088 if (currentLayout == null)
....@@ -3140,6 +3156,28 @@
31403156 refreshContents();
31413157 }
31423158
3159
+ void TransformChildren()
3160
+ {
3161
+ Object3D obj;
3162
+ for (Enumeration e = group.selection.elements(); e.hasMoreElements();)
3163
+ {
3164
+ obj = (Object3D)e.nextElement();
3165
+ obj.KeepTextureMatrices();
3166
+ obj.TransformChildren();
3167
+ obj.RestoreTextureMatrices();
3168
+
3169
+// if (obj.parent == null)
3170
+// {
3171
+// System.out.println("NULL PARENT!");
3172
+// new Exception().printStackTrace();
3173
+// }
3174
+// else
3175
+// TouchTransform(obj);
3176
+// //obj.parent.Touch();
3177
+ }
3178
+
3179
+ refreshContents();
3180
+ }
31433181
31443182 void ResetTransform()
31453183 {
....@@ -3252,7 +3290,7 @@
32523290 refreshContents();
32533291 }
32543292
3255
- void ResetCentroid()
3293
+ void ResetCentroid(boolean full)
32563294 {
32573295 Object3D obj;
32583296 for (Enumeration e = group.selection.elements(); e.hasMoreElements();)
....@@ -3267,12 +3305,16 @@
32673305 LA.matIdentity(Object3D.mat);
32683306 obj.getBounds(minima, maxima, false);
32693307 Object3D.mat[3][0] = -(minima.x + maxima.x)/2;
3270
- Object3D.mat[3][1] = -(minima.y + maxima.y)/2;
3308
+ if (full)
3309
+ Object3D.mat[3][1] = -(minima.y + maxima.y)/2;
32713310 Object3D.mat[3][2] = -(minima.z + maxima.z)/2;
32723311 obj.TransformMesh(Object3D.mat);
3312
+
32733313 Object3D.mat[3][0] = (minima.x + maxima.x)/2;
3274
- Object3D.mat[3][1] = (minima.y + maxima.y)/2;
3314
+ if (full)
3315
+ Object3D.mat[3][1] = (minima.y + maxima.y)/2;
32753316 Object3D.mat[3][2] = (minima.z + maxima.z)/2;
3317
+
32763318 LA.matConcat(Object3D.mat, obj.toParent, obj.toParent);
32773319 //Object3D.mat[3][0] = -Object3D.mat[3][0];
32783320 //Object3D.mat[3][1] = -Object3D.mat[3][1];
....@@ -3613,7 +3655,16 @@
36133655 String pigment = Object3D.GetPigment(tex);
36143656 //String bump = Object3D.GetBump(tex);
36153657
3616
- com.sun.opengl.util.texture.TextureData texturedata = Globals.theRenderer.GetTextureData(pigment, false, node.texres);
3658
+ com.sun.opengl.util.texture.TextureData texturedata = null;
3659
+
3660
+ try
3661
+ {
3662
+ texturedata = Globals.theRenderer.GetTextureData(pigment, false, node.texres);
3663
+ }
3664
+ catch (Exception e)
3665
+ {
3666
+ System.err.println("FAIL: " + node);
3667
+ }
36173668
36183669 double s = v.s;
36193670
....@@ -4085,7 +4136,7 @@
40854136 objectPanel.setSelectedIndex(objectPanel.indexOfTab("Edit"));
40864137
40874138 Object3D elem = (Object3D)group.selection.elementAt(i);
4088
- if(elem != group)
4139
+ if(elem != group || !newWindow)
40894140 {
40904141 // if (!(elem instanceof Composite))
40914142 // newWindow = false;
....@@ -5092,7 +5143,7 @@
50925143 private MenuItem linkverticesItem;
50935144 private MenuItem relinkverticesItem;
50945145 private MenuItem setMasterItem;
5095
- private MenuItem resetMeshItem;
5146
+ private MenuItem resetAllItem;
50965147 private MenuItem stepAllItem;
50975148 private MenuItem revertMeshItem;
50985149 private MenuItem poseMeshItem;
....@@ -5153,8 +5204,10 @@
51535204 private MenuItem panoTexturesItem;
51545205
51555206 private MenuItem resetCentroidItem;
5156
- private MenuItem transformgeometryItem;
5207
+ private MenuItem resetCentroidXZItem;
51575208 private MenuItem resetTransformItem;
5209
+ private MenuItem transformGeometryItem;
5210
+ private MenuItem transformChildrenItem;
51585211 private MenuItem hideItem;
51595212 private MenuItem grabItem;
51605213 private MenuItem backItem;