Normand Briere
2019-05-02 a7277e6c6381e55761f7fa87276260fac1c94d5e
GroupEditor.java
....@@ -150,6 +150,8 @@
150150
151151 void SetupMenu2(ObjEditor oe)
152152 {
153
+ if (Globals.ADVANCED)
154
+ {
153155 oe.cameraMenu.add(lookAtItem = new MenuItem("Set Interest"));
154156 //cameraMenu.add(lookFromItem = new MenuItem("Look From Selection"));
155157 //cameraMenu.add(switchItem = new MenuItem("Reverse View"));
....@@ -161,17 +163,21 @@
161163 lookAtItem.addActionListener(this);
162164 //lookFromItem.addActinoListener(this);
163165 //switchItem.addActionListener(this);
166
+ }
167
+
164168 Menu menu;
165169 oe.menuBar.add(menu = new Menu("Edit"));
166170 //editItem = menu.add(new MenuItem("Edit"));
167171 //editItem.addActionListener(this);
168172 duplicateItem = menu.add(new MenuItem("Duplicate"));
169173 duplicateItem.addActionListener(this);
170
- menu.add("-");
171174 cloneItem = menu.add(new MenuItem("Clone"));
172175 cloneItem.addActionListener(this);
176
+ if (Globals.ADVANCED)
177
+ {
173178 cloneSupportItem = menu.add(new MenuItem("Clone (+supports)"));
174179 cloneSupportItem.addActionListener(this);
180
+ }
175181 menu.add("-");
176182 cutItem = menu.add(new MenuItem("Cut"));
177183 cutItem.addActionListener(this);
....@@ -179,18 +185,31 @@
179185 copyItem.addActionListener(this);
180186 pasteItem = menu.add(new MenuItem("Paste"));
181187 pasteItem.addActionListener(this);
188
+ menu.add("-");
189
+
190
+ menu.add("-");
191
+ pasteIntoItem = menu.add(new MenuItem("Paste into"));
192
+ pasteIntoItem.addActionListener(this);
182193 pasteLinkItem = menu.add(new MenuItem("Paste link"));
183194 pasteLinkItem.addActionListener(this);
184195 pasteCloneItem = menu.add(new MenuItem("Paste clone"));
185196 pasteCloneItem.addActionListener(this);
186197 // pasteExpandItem = menu.add(new MenuItem("Paste expand"));
187198 // pasteExpandItem.addActionListener(this);
199
+ menu.add("-");
188200 clearItem = menu.add(new MenuItem("Clear"));
189201 clearItem.addActionListener(this);
202
+
203
+ if (Globals.ADVANCED)
204
+ {
205
+ // Deletes the cameras...
190206 clearAllItem = menu.add(new MenuItem("Clear All"));
191207 clearAllItem.addActionListener(this);
208
+ }
192209
193210 oe.menuBar.add(menu = new Menu("Setting"));
211
+ if (Globals.ADVANCED)
212
+ {
194213 resetMeshItem = menu.add(new MenuItem("Reset All"));
195214 resetMeshItem.addActionListener(this);
196215 stepAllItem = menu.add(new MenuItem("Step All"));
....@@ -200,6 +219,7 @@
200219 resetreferencesItem = menu.add(new MenuItem("Reset Mesh References"));
201220 resetreferencesItem.addActionListener(this);
202221 menu.add("-");
222
+ }
203223 overwriteGeoItem = menu.add(new MenuItem("Overwrite Geometry"));
204224 overwriteGeoItem.addActionListener(this);
205225 overwriteMatItem = menu.add(new MenuItem("Overwrite Material"));
....@@ -211,19 +231,26 @@
211231 overwriteUVItem = menu.add(new MenuItem("Overwrite UV"));
212232 overwriteUVItem.addActionListener(this);
213233 menu.add("-");
234
+ if (Globals.ADVANCED)
235
+ {
214236 generateMeshItem = menu.add(new MenuItem("Generate Meshes"));
215237 generateMeshItem.addActionListener(this);
216238 poseMeshItem = menu.add(new MenuItem("Set Pose Meshes"));
217239 poseMeshItem.addActionListener(this);
218240 menu.add("-");
241
+ }
219242 resetsupportItem = menu.add(new MenuItem("Reset support"));
220243 resetsupportItem.addActionListener(this);
221244 linkverticesItem = menu.add(new MenuItem("Link to Support"));
222245 linkverticesItem.addActionListener(this);
223246 relinkverticesItem = menu.add(new MenuItem("Re-link to Support"));
224247 relinkverticesItem.addActionListener(this);
248
+
249
+ if (Globals.ADVANCED)
250
+ {
225251 setMasterItem = menu.add(new MenuItem("Set Master Mesh"));
226252 setMasterItem.addActionListener(this);
253
+ }
227254
228255 oe.menuBar.add(menu = new Menu("Group"));
229256 grabItem = menu.add(new MenuItem("Grab"));
....@@ -234,7 +261,7 @@
234261 frontItem.addActionListener(this);
235262 compositeItem = menu.add(new MenuItem("Composite"));
236263 compositeItem.addActionListener(this);
237
- hideItem = menu.add(new MenuItem("Hide"));
264
+ hideItem = menu.add(new MenuItem("Hidden Group"));
238265 hideItem.addActionListener(this);
239266 ungroupItem = menu.add(new MenuItem("Ungroup"));
240267 ungroupItem.addActionListener(this);
....@@ -245,16 +272,21 @@
245272 switchGeoItem.addActionListener(this);
246273 switchTransfoItem = menu.add(new MenuItem("Switch Transform"));
247274 switchTransfoItem.addActionListener(this);
275
+ morphItem = menu.add(new MenuItem("Morph Group"));
276
+ morphItem.addActionListener(this);
277
+
278
+ if (Globals.ADVANCED)
279
+ {
280
+ menu.add("-");
248281 physicsItem = menu.add(new MenuItem("Physics"));
249282 physicsItem.addActionListener(this);
250283 frameselectorItem = menu.add(new MenuItem("Frame Selector"));
251284 frameselectorItem.addActionListener(this);
252
- morphItem = menu.add(new MenuItem("Morph"));
253
- morphItem.addActionListener(this);
254285 scriptNodeItem = menu.add(new MenuItem("Script Node"));
255286 scriptNodeItem.addActionListener(this);
256287 cameraItem = menu.add(new MenuItem("Camera"));
257288 cameraItem.addActionListener(this);
289
+ }
258290
259291 oe.menuBar.add(menu = new Menu("Object"));
260292 textureItem = menu.add(new MenuItem("Texture"));
....@@ -269,14 +301,18 @@
269301 shadowYItem.addActionListener(this);
270302 shadowZItem = menu.add(new MenuItem("Shadow Z"));
271303 shadowZItem.addActionListener(this);
304
+ if (Globals.ADVANCED)
305
+ {
306
+ menu.add("-");
272307 linkerItem = menu.add(new MenuItem("Linker"));
273308 linkerItem.addActionListener(this);
274
- templateItem = menu.add(new MenuItem("Template"));
275
- templateItem.addActionListener(this);
276309 attributeItem = menu.add(new MenuItem("Attribute"));
277310 attributeItem.addActionListener(this);
311
+ templateItem = menu.add(new MenuItem("Template"));
312
+ templateItem.addActionListener(this);
278313 pointflowItem = menu.add(new MenuItem("Point Flow"));
279314 pointflowItem.addActionListener(this);
315
+ }
280316 menu.add("-");
281317 resetTransformItem = menu.add(new MenuItem("Reset Transform"));
282318 resetTransformItem.addActionListener(this);
....@@ -294,8 +330,11 @@
294330 genNormalsCADItem.addActionListener(this);
295331 genNormalsMESHItem = menu.add(new MenuItem("Mesh Normals"));
296332 genNormalsMESHItem.addActionListener(this);
333
+ if (Globals.ADVANCED)
334
+ {
297335 genNormalsMINEItem = menu.add(new MenuItem("My Normals"));
298336 genNormalsMINEItem.addActionListener(this);
337
+ }
299338 stripifyItem = menu.add(new MenuItem("Stripify"));
300339 stripifyItem.addActionListener(this);
301340 unstripifyItem = menu.add(new MenuItem("Unstripify"));
....@@ -317,10 +356,14 @@
317356 reduce34MeshItem.addActionListener(this);
318357 increaseMeshItem = menu.add(new MenuItem("Increase mesh"));
319358 increaseMeshItem.addActionListener(this);
320
- smoothMeshItem = menu.add(new MenuItem("Smooth mesh"));
321
- smoothMeshItem.addActionListener(this);
322359 clipMeshItem = menu.add(new MenuItem("Clip mesh"));
323360 clipMeshItem.addActionListener(this);
361
+
362
+ if (Globals.ADVANCED)
363
+ {
364
+ smoothMeshItem = menu.add(new MenuItem("Smooth mesh"));
365
+ smoothMeshItem.addActionListener(this);
366
+ }
324367
325368 oe.menuBar.add(menu = new Menu("Attributes"));
326369 clearMaterialsItem = menu.add(new MenuItem("Clear Materials"));
....@@ -330,10 +373,13 @@
330373 liveleavesItem.addActionListener(this);
331374 unliveleavesItem = menu.add(new MenuItem("Unlive Leaves"));
332375 unliveleavesItem.addActionListener(this);
376
+ if (Globals.ADVANCED)
377
+ {
333378 supportleavesItem = menu.add(new MenuItem("Support Leaves"));
334379 supportleavesItem.addActionListener(this);
335380 unsupportleavesItem = menu.add(new MenuItem("Unsupport Leaves"));
336381 unsupportleavesItem.addActionListener(this);
382
+ }
337383 hideleavesItem = menu.add(new MenuItem("Hide Leaves"));
338384 hideleavesItem.addActionListener(this);
339385 showleavesItem = menu.add(new MenuItem("Show Leaves"));
....@@ -376,6 +422,8 @@
376422 sortbysizeItem.addActionListener(this);
377423 sortbynameItem = menu.add(new MenuItem("Sort by name"));
378424 sortbynameItem.addActionListener(this);
425
+ if (Globals.ADVANCED)
426
+ {
379427 menu.add("-");
380428 extractGeometriesItem = menu.add(new MenuItem("Link Geometry"));
381429 extractGeometriesItem.addActionListener(this);
....@@ -385,11 +433,11 @@
385433 shareGeometriesItem.addActionListener(this);
386434 mergeGeometriesItem = menu.add(new MenuItem("Merge Geometry"));
387435 mergeGeometriesItem.addActionListener(this);
436
+ }
388437
389438 oe.menuBar.add(menu = new Menu("Insert"));
390439 buildCreateMenu(menu);
391440
392
-
393441 oe.menuBar.add(menu = new Menu("Include"));
394442 importGFDItem = menu.add(new MenuItem("GrafreeD Object..."));
395443 importGFDItem.addActionListener(this);
....@@ -440,6 +488,10 @@
440488 liveCB.setToolTipText("Enabled animation");
441489 liveCB.addItemListener(this);
442490
491
+ oe.toolbarPanel.add(oneStepButton = new cButton("Step", !GrafreeD.NIMBUSLAF)); //, oe.aConstraints);
492
+ oneStepButton.setToolTipText("Animate one step forward");
493
+ oneStepButton.addActionListener(this);
494
+
443495 oe.toolbarPanel.add(fastCB = new cCheckBox("Fast", CameraPane.FAST)); //, constraints);
444496 fastCB.setToolTipText("Fast mode");
445497 fastCB.addItemListener(this);
....@@ -588,8 +640,18 @@
588640
589641 void AddOptions(cGridBag panel) //, GridBagConstraints constraints)
590642 {
643
+ panel.add(boxCB = new cCheckBox("Box", CameraPane.BOXMODE)); //, constraints);
644
+ boxCB.setToolTipText("Display bounding boxes");
645
+ boxCB.addItemListener(this);
646
+
647
+ panel.add(zoomBoxCB = new cCheckBox("Zoom", CameraPane.ZOOMBOXMODE)); //, constraints);
648
+ zoomBoxCB.setToolTipText("Display bounding boxes when moving the wheel");
649
+ zoomBoxCB.addItemListener(this);
650
+
651
+ if (Globals.ADVANCED)
652
+ {
591653 panel.add(supportCB = new cCheckBox("Support", CameraPane.SUPPORT)); //, constraints);
592
- supportCB.setToolTipText("Enabled rigging");
654
+ supportCB.setToolTipText("Enable rigging");
593655 supportCB.addItemListener(this);
594656
595657 // panel.add(localCB = new cCheckBox("Local", CameraPane.LOCALTRANSFORM), constraints);
....@@ -607,14 +669,6 @@
607669 slowCB.setToolTipText("Smooth interpolation");
608670 slowCB.addItemListener(this);
609671
610
- panel.add(boxCB = new cCheckBox("Box", CameraPane.BOXMODE)); //, constraints);
611
- boxCB.setToolTipText("Display bounding boxes");
612
- boxCB.addItemListener(this);
613
-
614
- panel.add(zoomBoxCB = new cCheckBox("Zoom", CameraPane.ZOOMBOXMODE)); //, constraints);
615
- zoomBoxCB.setToolTipText("Display bounding boxes when moving the wheel");
616
- zoomBoxCB.addItemListener(this);
617
-
618672 // constraints.gridy += 1;
619673 // panel.add(speakerMocapCB = new cCheckBox("Mocap", CameraPane.SPEAKERMOCAP), constraints);
620674 // speakerMocapCB.addItemListener(this);
....@@ -645,6 +699,8 @@
645699 panel.add(lookAtCB = new cCheckBox("Target", CameraPane.LOOKAT)); //, constraints);
646700 lookAtCB.setToolTipText("Look-at target");
647701 lookAtCB.addItemListener(this);
702
+
703
+ }
648704
649705 cGridBag fill = new cGridBag();
650706
....@@ -935,11 +991,11 @@
935991 {
936992 loadClipboard(true);
937993 objEditor.jTree.setSelectionPath(destinationPath);
938
- pasteInto(false);
994
+ pasteInto(false, false);
939995 } else {
940996 loadClipboard(false);
941997 objEditor.jTree.setSelectionPath(destinationPath);
942
- pasteInto(false); // true); // ???
998
+ pasteInto(false, false); // true); // ???
943999 }
9441000 }
9451001 public void dropActionChanged(DropTargetDragEvent dtde)
....@@ -1061,27 +1117,33 @@
10611117 kleinItem.addActionListener(this);
10621118 particleItem = menu.add(new MenuItem("Particle system"));
10631119 particleItem.addActionListener(this);
1120
+ if (Globals.ADVANCED)
1121
+ {
10641122 ragdollItem = menu.add(new MenuItem("Rag Walk"));
10651123 ragdollItem.addActionListener(this);
10661124 ragdoll2Item = menu.add(new MenuItem("Rag Fall"));
10671125 ragdoll2Item.addActionListener(this);
1126
+ }
10681127 menu.add("-");
1069
- meshItem = menu.add(new MenuItem("Mesh"));
1128
+ meshItem = menu.add(new MenuItem("Dynamic Mesh"));
10701129 meshItem.addActionListener(this);
10711130 // meshGroupItem = menu.add(new MenuItem("Mesh Group"));
10721131 // meshGroupItem.addActionListener(this);
1132
+ if (Globals.ADVANCED)
1133
+ {
10731134 springItem = menu.add(new MenuItem("Spring"));
10741135 springItem.addActionListener(this);
10751136 flagItem = menu.add(new MenuItem("Flag"));
10761137 flagItem.addActionListener(this);
1077
- bezierItem = menu.add(new MenuItem("Patch"));
1078
- bezierItem.addActionListener(this);
1079
- checkerItem = menu.add(new MenuItem("Checker"));
1080
- checkerItem.addActionListener(this);
10811138 blobItem = menu.add(new MenuItem("Blob"));
10821139 blobItem.addActionListener(this);
10831140 latheItem = menu.add(new MenuItem("Lathe"));
10841141 latheItem.addActionListener(this);
1142
+ }
1143
+ bezierItem = menu.add(new MenuItem("Bezier Patch"));
1144
+ bezierItem.addActionListener(this);
1145
+ overlayItem = menu.add(new MenuItem("Overlay"));
1146
+ overlayItem.addActionListener(this);
10851147 lightItem = menu.add(new MenuItem("Light"));
10861148 lightItem.addActionListener(this);
10871149 menu.add("-");
....@@ -1091,8 +1153,11 @@
10911153 loopItem.addActionListener(this);
10921154 doubleItem = menu.add(new MenuItem("Fork"));
10931155 doubleItem.addActionListener(this);
1156
+ if (Globals.ADVANCED)
1157
+ {
10941158 tripleItem = menu.add(new MenuItem("Trident"));
10951159 tripleItem.addActionListener(this);
1160
+ }
10961161 }
10971162
10981163 void buildToolsMenu(Menu menu)
....@@ -1106,19 +1171,21 @@
11061171 parseverticesItem.addActionListener(this);
11071172 textureFieldItem = menu.add(new MenuItem("Texture Field"));
11081173 textureFieldItem.addActionListener(this);
1109
- alignItem = menu.add(new MenuItem("Align"));
1174
+ alignItem = menu.add(new MenuItem("Align Objects"));
11101175 alignItem.addActionListener(this);
1111
- mirrorItem = menu.add(new MenuItem("Mirror Poses"));
1112
- mirrorItem.addActionListener(this);
11131176 reduceMorphItem = menu.add(new MenuItem("Reduce Morphs"));
11141177 reduceMorphItem.addActionListener(this);
11151178 reduce34MorphItem = menu.add(new MenuItem("Reduce Morphs (34)"));
11161179 reduce34MorphItem.addActionListener(this);
1117
-
1180
+ menu.add("-");
11181181 menu.add(computeAOItem = new MenuItem("Compute AO"));
11191182 computeAOItem.addActionListener(this);
1120
- menu.add("-");
11211183
1184
+ if (Globals.ADVANCED)
1185
+ {
1186
+ mirrorItem = menu.add(new MenuItem("Mirror Poses"));
1187
+ mirrorItem.addActionListener(this);
1188
+ menu.add("-");
11221189 menu.add(memoryItem = new MenuItem("Memory Usage"));
11231190 memoryItem.addActionListener(this);
11241191 menu.add(analyzeItem = new MenuItem("Analyze"));
....@@ -1141,6 +1208,7 @@
11411208 menu.add("-");
11421209 menu.add(editScriptItem = new MenuItem("Edit Script..."));
11431210 editScriptItem.addActionListener(this);
1211
+ }
11441212 }
11451213
11461214 void ScreenFit()
....@@ -1642,7 +1710,7 @@
16421710 {
16431711 makeSomething(new BezierSurface());
16441712 } else
1645
- if (source == checkerItem)
1713
+ if (source == overlayItem)
16461714 {
16471715 /*
16481716 Object3D obj = new BezierSurface(5,8);
....@@ -1830,6 +1898,11 @@
18301898 {
18311899 DumpObject();
18321900 } else
1901
+ if (source == oneStepButton)
1902
+ {
1903
+ Globals.ONESTEP = true;
1904
+ cameraView.repaint();
1905
+ } else
18331906 if (source == screenfitButton)
18341907 {
18351908 //Reload(lastConverter, lastFilename, true);
....@@ -1902,13 +1975,17 @@
19021975 {
19031976 paste(false);
19041977 } else
1978
+ if (source == pasteIntoItem)
1979
+ {
1980
+ pasteInto(true, false);
1981
+ } else
19051982 if (source == pasteLinkItem)
19061983 {
1907
- pasteInto(false);
1984
+ pasteInto(false, false);
19081985 } else
19091986 if (source == pasteCloneItem)
19101987 {
1911
- pasteInto(true);
1988
+ pasteInto(true, true);
19121989 } else
19131990 if (source == pasteExpandItem)
19141991 {
....@@ -2110,11 +2187,11 @@
21102187 Globals.theRenderer.setCursor(java.awt.Cursor.getPredefinedCursor(java.awt.Cursor.WAIT_CURSOR));
21112188 for (int i=0; i<group.selection.size(); i++)
21122189 {
2113
- boolean random = CameraPane.RANDOM;
2114
- CameraPane.RANDOM = false; // parse all random nodes
2190
+ boolean random = CameraPane.SWITCH;
2191
+ CameraPane.SWITCH = false; // parse all random nodes
21152192 group.selection.get(i).linkVerticesThis(content);
21162193 // group.selection.get(i).setMasterThis(content); // should be identity
2117
- CameraPane.RANDOM = random;
2194
+ CameraPane.SWITCH = random;
21182195 }
21192196 Globals.theRenderer.setCursor(java.awt.Cursor.getPredefinedCursor(java.awt.Cursor.DEFAULT_CURSOR));
21202197 refreshContents();
....@@ -2124,20 +2201,20 @@
21242201 {
21252202 for (int i=0; i<group.selection.size(); i++)
21262203 {
2127
- boolean random = CameraPane.RANDOM;
2128
- CameraPane.RANDOM = false; // parse all random nodes
2204
+ boolean random = CameraPane.SWITCH;
2205
+ CameraPane.SWITCH = false; // parse all random nodes
21292206 group.selection.get(i).linkVerticesThis(null);
2130
- CameraPane.RANDOM = random;
2207
+ CameraPane.SWITCH = random;
21312208 }
21322209
21332210 refreshContents();
21342211 } else
21352212 if (source == relinkverticesItem)
21362213 {
2137
- boolean random = CameraPane.RANDOM;
2138
- CameraPane.RANDOM = false; // parse all random nodes
2214
+ boolean random = CameraPane.SWITCH;
2215
+ CameraPane.SWITCH = false; // parse all random nodes
21392216 group.selection.RelinkToSupport();
2140
- CameraPane.RANDOM = random;
2217
+ CameraPane.SWITCH = random;
21412218
21422219 refreshContents();
21432220 } else
....@@ -3611,11 +3688,11 @@
36113688
36123689 SwitchNode sn = new SwitchNode(poses, Object3D.GEOMETRY);
36133690
3614
- boolean random = CameraPane.RANDOM;
3615
- CameraPane.RANDOM = false; // parse all random nodes
3691
+ boolean random = CameraPane.SWITCH;
3692
+ CameraPane.SWITCH = false; // parse all random nodes
36163693 lowres.linkVerticesThis(null);
36173694 lowres.linkVerticesThis(sn);
3618
- CameraPane.RANDOM = random;
3695
+ CameraPane.SWITCH = random;
36193696
36203697 System.err.flush();
36213698
....@@ -4373,7 +4450,7 @@
43734450 refreshContents();
43744451 }
43754452
4376
- void pasteInto(boolean copyit)
4453
+ void pasteInto(boolean copyit, boolean clone)
43774454 {
43784455 // if (GrafreeD.clipboard == null)
43794456 // return;
....@@ -4402,7 +4479,14 @@
44024479 if (copyit)
44034480 {
44044481 // paste(false);
4405
- CloneClipboard(false); // sept 2014
4482
+ if (clone)
4483
+ {
4484
+ CloneClipboard(false); // sept 2014
4485
+ }
4486
+ else
4487
+ {
4488
+ paste(false);
4489
+ }
44064490 }
44074491 else
44084492 {
....@@ -4950,6 +5034,8 @@
49505034 cButton clearpanelButton;
49515035 cButton unselectButton;
49525036
5037
+ cButton oneStepButton;
5038
+
49535039 cButton screenfitButton;
49545040 cButton screenfitpointButton;
49555041 cButton snapobjectButton;
....@@ -5004,6 +5090,7 @@
50045090 private MenuItem mergeGeometriesItem;
50055091 private MenuItem copyItem;
50065092 private MenuItem pasteItem;
5093
+ private MenuItem pasteIntoItem;
50075094 private MenuItem pasteLinkItem;
50085095 private MenuItem pasteCloneItem;
50095096 private MenuItem pasteExpandItem;
....@@ -5101,7 +5188,7 @@
51015188 private MenuItem blobItem;
51025189 private MenuItem latheItem;
51035190 private MenuItem bezierItem;
5104
- private MenuItem checkerItem;
5191
+ private MenuItem overlayItem;
51055192 private MenuItem meshItem;
51065193 // private MenuItem meshGroupItem;
51075194 private MenuItem springItem;