Normand Briere
2019-05-02 c209bbe1cf788c9af3dcffea7667c830170a3f1f
Complete advanced mode.
8 files modified
370 ■■■■■ changed files
BoundaryRep.java 5 ●●●●● patch | view | raw | blame | history
CameraPane.java 4 ●●●● patch | view | raw | blame | history
GroupEditor.java 184 ●●●● patch | view | raw | blame | history
ObjEditor.java 101 ●●●●● patch | view | raw | blame | history
RandomNode.java 6 ●●●● patch | view | raw | blame | history
ScriptNode.java 6 ●●●● patch | view | raw | blame | history
SuperEditor.java 10 ●●●● patch | view | raw | blame | history
cFileSystemPane.java 54 ●●●●● patch | view | raw | blame | history
BoundaryRep.java
....@@ -3902,6 +3902,11 @@
39023902 tsa.getNormals(0, normals);
39033903 tsa.getTextureCoordinates(0, 0, uvmap);
39043904 // tsa.getColors(0, colors);
3905
+
3906
+ for (int i=colors.length; --i>=0;)
3907
+ {
3908
+ colors[i] = 1;
3909
+ }
39053910
39063911 int stripcount = tsa.getNumStrips();
39073912 triangles = new int[stripcount];
CameraPane.java
....@@ -106,7 +106,7 @@
106106 static boolean OEIL = true;
107107 static boolean OEILONCE = false; // do oeilon then oeiloff
108108 static boolean LOOKAT = true;
109
-static boolean RANDOM = true; // false;
109
+static boolean SWITCH = true; // false;
110110 static boolean HANDLES = false; // selection doesn't work!!
111111 static boolean PAINTMODE = false;
112112
....@@ -2267,7 +2267,7 @@
22672267
22682268 void ToggleRandom()
22692269 {
2270
- RANDOM ^= true;
2270
+ SWITCH ^= true;
22712271 }
22722272
22732273 void ToggleHandles()
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,36 +163,48 @@
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("-");
171
- cloneItem = menu.add(new MenuItem("Clone"));
172
- cloneItem.addActionListener(this);
173
- cloneSupportItem = menu.add(new MenuItem("Clone (+supports)"));
174
- cloneSupportItem.addActionListener(this);
175
- menu.add("-");
176174 cutItem = menu.add(new MenuItem("Cut"));
177175 cutItem.addActionListener(this);
178176 copyItem = menu.add(new MenuItem("Copy"));
179177 copyItem.addActionListener(this);
180178 pasteItem = menu.add(new MenuItem("Paste"));
181179 pasteItem.addActionListener(this);
180
+ menu.add("-");
181
+ cloneItem = menu.add(new MenuItem("Clone"));
182
+ cloneItem.addActionListener(this);
183
+ cloneSupportItem = menu.add(new MenuItem("Clone (+supports)"));
184
+ cloneSupportItem.addActionListener(this);
185
+ menu.add("-");
186
+ pasteIntoItem = menu.add(new MenuItem("Paste into"));
187
+ pasteIntoItem.addActionListener(this);
182188 pasteLinkItem = menu.add(new MenuItem("Paste link"));
183189 pasteLinkItem.addActionListener(this);
184190 pasteCloneItem = menu.add(new MenuItem("Paste clone"));
185191 pasteCloneItem.addActionListener(this);
186192 // pasteExpandItem = menu.add(new MenuItem("Paste expand"));
187193 // pasteExpandItem.addActionListener(this);
194
+ menu.add("-");
188195 clearItem = menu.add(new MenuItem("Clear"));
189196 clearItem.addActionListener(this);
197
+
198
+ if (Globals.ADVANCED)
199
+ {
200
+ // Deletes the cameras...
190201 clearAllItem = menu.add(new MenuItem("Clear All"));
191202 clearAllItem.addActionListener(this);
203
+ }
192204
193205 oe.menuBar.add(menu = new Menu("Setting"));
206
+ if (Globals.ADVANCED)
207
+ {
194208 resetMeshItem = menu.add(new MenuItem("Reset All"));
195209 resetMeshItem.addActionListener(this);
196210 stepAllItem = menu.add(new MenuItem("Step All"));
....@@ -200,6 +214,7 @@
200214 resetreferencesItem = menu.add(new MenuItem("Reset Mesh References"));
201215 resetreferencesItem.addActionListener(this);
202216 menu.add("-");
217
+ }
203218 overwriteGeoItem = menu.add(new MenuItem("Overwrite Geometry"));
204219 overwriteGeoItem.addActionListener(this);
205220 overwriteMatItem = menu.add(new MenuItem("Overwrite Material"));
....@@ -211,19 +226,26 @@
211226 overwriteUVItem = menu.add(new MenuItem("Overwrite UV"));
212227 overwriteUVItem.addActionListener(this);
213228 menu.add("-");
229
+ if (Globals.ADVANCED)
230
+ {
214231 generateMeshItem = menu.add(new MenuItem("Generate Meshes"));
215232 generateMeshItem.addActionListener(this);
216233 poseMeshItem = menu.add(new MenuItem("Set Pose Meshes"));
217234 poseMeshItem.addActionListener(this);
218235 menu.add("-");
236
+ }
219237 resetsupportItem = menu.add(new MenuItem("Reset support"));
220238 resetsupportItem.addActionListener(this);
221239 linkverticesItem = menu.add(new MenuItem("Link to Support"));
222240 linkverticesItem.addActionListener(this);
223241 relinkverticesItem = menu.add(new MenuItem("Re-link to Support"));
224242 relinkverticesItem.addActionListener(this);
243
+
244
+ if (Globals.ADVANCED)
245
+ {
225246 setMasterItem = menu.add(new MenuItem("Set Master Mesh"));
226247 setMasterItem.addActionListener(this);
248
+ }
227249
228250 oe.menuBar.add(menu = new Menu("Group"));
229251 grabItem = menu.add(new MenuItem("Grab"));
....@@ -234,7 +256,7 @@
234256 frontItem.addActionListener(this);
235257 compositeItem = menu.add(new MenuItem("Composite"));
236258 compositeItem.addActionListener(this);
237
- hideItem = menu.add(new MenuItem("Hide"));
259
+ hideItem = menu.add(new MenuItem("Hidden Group"));
238260 hideItem.addActionListener(this);
239261 ungroupItem = menu.add(new MenuItem("Ungroup"));
240262 ungroupItem.addActionListener(this);
....@@ -245,16 +267,20 @@
245267 switchGeoItem.addActionListener(this);
246268 switchTransfoItem = menu.add(new MenuItem("Switch Transform"));
247269 switchTransfoItem.addActionListener(this);
270
+ morphItem = menu.add(new MenuItem("Morph Group"));
271
+ morphItem.addActionListener(this);
272
+
273
+ if (Globals.ADVANCED)
274
+ {
248275 physicsItem = menu.add(new MenuItem("Physics"));
249276 physicsItem.addActionListener(this);
250277 frameselectorItem = menu.add(new MenuItem("Frame Selector"));
251278 frameselectorItem.addActionListener(this);
252
- morphItem = menu.add(new MenuItem("Morph"));
253
- morphItem.addActionListener(this);
254279 scriptNodeItem = menu.add(new MenuItem("Script Node"));
255280 scriptNodeItem.addActionListener(this);
256281 cameraItem = menu.add(new MenuItem("Camera"));
257282 cameraItem.addActionListener(this);
283
+ }
258284
259285 oe.menuBar.add(menu = new Menu("Object"));
260286 textureItem = menu.add(new MenuItem("Texture"));
....@@ -269,15 +295,18 @@
269295 shadowYItem.addActionListener(this);
270296 shadowZItem = menu.add(new MenuItem("Shadow Z"));
271297 shadowZItem.addActionListener(this);
298
+ if (Globals.ADVANCED)
299
+ {
272300 linkerItem = menu.add(new MenuItem("Linker"));
273301 linkerItem.addActionListener(this);
274
- templateItem = menu.add(new MenuItem("Template"));
275
- templateItem.addActionListener(this);
276302 attributeItem = menu.add(new MenuItem("Attribute"));
277303 attributeItem.addActionListener(this);
304
+ templateItem = menu.add(new MenuItem("Template"));
305
+ templateItem.addActionListener(this);
278306 pointflowItem = menu.add(new MenuItem("Point Flow"));
279307 pointflowItem.addActionListener(this);
280308 menu.add("-");
309
+ }
281310 resetTransformItem = menu.add(new MenuItem("Reset Transform"));
282311 resetTransformItem.addActionListener(this);
283312 resetCentroidItem = menu.add(new MenuItem("Reset Centroid"));
....@@ -294,8 +323,11 @@
294323 genNormalsCADItem.addActionListener(this);
295324 genNormalsMESHItem = menu.add(new MenuItem("Mesh Normals"));
296325 genNormalsMESHItem.addActionListener(this);
326
+ if (Globals.ADVANCED)
327
+ {
297328 genNormalsMINEItem = menu.add(new MenuItem("My Normals"));
298329 genNormalsMINEItem.addActionListener(this);
330
+ }
299331 stripifyItem = menu.add(new MenuItem("Stripify"));
300332 stripifyItem.addActionListener(this);
301333 unstripifyItem = menu.add(new MenuItem("Unstripify"));
....@@ -317,10 +349,14 @@
317349 reduce34MeshItem.addActionListener(this);
318350 increaseMeshItem = menu.add(new MenuItem("Increase mesh"));
319351 increaseMeshItem.addActionListener(this);
320
- smoothMeshItem = menu.add(new MenuItem("Smooth mesh"));
321
- smoothMeshItem.addActionListener(this);
322352 clipMeshItem = menu.add(new MenuItem("Clip mesh"));
323353 clipMeshItem.addActionListener(this);
354
+
355
+ if (Globals.ADVANCED)
356
+ {
357
+ smoothMeshItem = menu.add(new MenuItem("Smooth mesh"));
358
+ smoothMeshItem.addActionListener(this);
359
+ }
324360
325361 oe.menuBar.add(menu = new Menu("Attributes"));
326362 clearMaterialsItem = menu.add(new MenuItem("Clear Materials"));
....@@ -330,10 +366,13 @@
330366 liveleavesItem.addActionListener(this);
331367 unliveleavesItem = menu.add(new MenuItem("Unlive Leaves"));
332368 unliveleavesItem.addActionListener(this);
369
+ if (Globals.ADVANCED)
370
+ {
333371 supportleavesItem = menu.add(new MenuItem("Support Leaves"));
334372 supportleavesItem.addActionListener(this);
335373 unsupportleavesItem = menu.add(new MenuItem("Unsupport Leaves"));
336374 unsupportleavesItem.addActionListener(this);
375
+ }
337376 hideleavesItem = menu.add(new MenuItem("Hide Leaves"));
338377 hideleavesItem.addActionListener(this);
339378 showleavesItem = menu.add(new MenuItem("Show Leaves"));
....@@ -376,6 +415,8 @@
376415 sortbysizeItem.addActionListener(this);
377416 sortbynameItem = menu.add(new MenuItem("Sort by name"));
378417 sortbynameItem.addActionListener(this);
418
+ if (Globals.ADVANCED)
419
+ {
379420 menu.add("-");
380421 extractGeometriesItem = menu.add(new MenuItem("Link Geometry"));
381422 extractGeometriesItem.addActionListener(this);
....@@ -385,11 +426,11 @@
385426 shareGeometriesItem.addActionListener(this);
386427 mergeGeometriesItem = menu.add(new MenuItem("Merge Geometry"));
387428 mergeGeometriesItem.addActionListener(this);
429
+ }
388430
389431 oe.menuBar.add(menu = new Menu("Insert"));
390432 buildCreateMenu(menu);
391433
392
-
393434 oe.menuBar.add(menu = new Menu("Include"));
394435 importGFDItem = menu.add(new MenuItem("GrafreeD Object..."));
395436 importGFDItem.addActionListener(this);
....@@ -440,6 +481,10 @@
440481 liveCB.setToolTipText("Enabled animation");
441482 liveCB.addItemListener(this);
442483
484
+ oe.toolbarPanel.add(oneStepButton = new cButton("Step", !GrafreeD.NIMBUSLAF)); //, oe.aConstraints);
485
+ oneStepButton.setToolTipText("Animate one step forward");
486
+ oneStepButton.addActionListener(this);
487
+
443488 oe.toolbarPanel.add(fastCB = new cCheckBox("Fast", CameraPane.FAST)); //, constraints);
444489 fastCB.setToolTipText("Fast mode");
445490 fastCB.addItemListener(this);
....@@ -588,8 +633,18 @@
588633
589634 void AddOptions(cGridBag panel) //, GridBagConstraints constraints)
590635 {
636
+ panel.add(boxCB = new cCheckBox("Box", CameraPane.BOXMODE)); //, constraints);
637
+ boxCB.setToolTipText("Display bounding boxes");
638
+ boxCB.addItemListener(this);
639
+
640
+ panel.add(zoomBoxCB = new cCheckBox("Zoom", CameraPane.ZOOMBOXMODE)); //, constraints);
641
+ zoomBoxCB.setToolTipText("Display bounding boxes when moving the wheel");
642
+ zoomBoxCB.addItemListener(this);
643
+
644
+ if (Globals.ADVANCED)
645
+ {
591646 panel.add(supportCB = new cCheckBox("Support", CameraPane.SUPPORT)); //, constraints);
592
- supportCB.setToolTipText("Enabled rigging");
647
+ supportCB.setToolTipText("Enable rigging");
593648 supportCB.addItemListener(this);
594649
595650 // panel.add(localCB = new cCheckBox("Local", CameraPane.LOCALTRANSFORM), constraints);
....@@ -607,14 +662,6 @@
607662 slowCB.setToolTipText("Smooth interpolation");
608663 slowCB.addItemListener(this);
609664
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
-
618665 // constraints.gridy += 1;
619666 // panel.add(speakerMocapCB = new cCheckBox("Mocap", CameraPane.SPEAKERMOCAP), constraints);
620667 // speakerMocapCB.addItemListener(this);
....@@ -645,6 +692,8 @@
645692 panel.add(lookAtCB = new cCheckBox("Target", CameraPane.LOOKAT)); //, constraints);
646693 lookAtCB.setToolTipText("Look-at target");
647694 lookAtCB.addItemListener(this);
695
+
696
+ }
648697
649698 cGridBag fill = new cGridBag();
650699
....@@ -935,11 +984,11 @@
935984 {
936985 loadClipboard(true);
937986 objEditor.jTree.setSelectionPath(destinationPath);
938
- pasteInto(false);
987
+ pasteInto(false, false);
939988 } else {
940989 loadClipboard(false);
941990 objEditor.jTree.setSelectionPath(destinationPath);
942
- pasteInto(false); // true); // ???
991
+ pasteInto(false, false); // true); // ???
943992 }
944993 }
945994 public void dropActionChanged(DropTargetDragEvent dtde)
....@@ -1061,27 +1110,33 @@
10611110 kleinItem.addActionListener(this);
10621111 particleItem = menu.add(new MenuItem("Particle system"));
10631112 particleItem.addActionListener(this);
1113
+ if (Globals.ADVANCED)
1114
+ {
10641115 ragdollItem = menu.add(new MenuItem("Rag Walk"));
10651116 ragdollItem.addActionListener(this);
10661117 ragdoll2Item = menu.add(new MenuItem("Rag Fall"));
10671118 ragdoll2Item.addActionListener(this);
1119
+ }
10681120 menu.add("-");
1069
- meshItem = menu.add(new MenuItem("Mesh"));
1121
+ meshItem = menu.add(new MenuItem("Dynamic Mesh"));
10701122 meshItem.addActionListener(this);
10711123 // meshGroupItem = menu.add(new MenuItem("Mesh Group"));
10721124 // meshGroupItem.addActionListener(this);
1125
+ if (Globals.ADVANCED)
1126
+ {
10731127 springItem = menu.add(new MenuItem("Spring"));
10741128 springItem.addActionListener(this);
10751129 flagItem = menu.add(new MenuItem("Flag"));
10761130 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);
10811131 blobItem = menu.add(new MenuItem("Blob"));
10821132 blobItem.addActionListener(this);
10831133 latheItem = menu.add(new MenuItem("Lathe"));
10841134 latheItem.addActionListener(this);
1135
+ }
1136
+ bezierItem = menu.add(new MenuItem("Bezier Patch"));
1137
+ bezierItem.addActionListener(this);
1138
+ overlayItem = menu.add(new MenuItem("Overlay"));
1139
+ overlayItem.addActionListener(this);
10851140 lightItem = menu.add(new MenuItem("Light"));
10861141 lightItem.addActionListener(this);
10871142 menu.add("-");
....@@ -1091,8 +1146,11 @@
10911146 loopItem.addActionListener(this);
10921147 doubleItem = menu.add(new MenuItem("Fork"));
10931148 doubleItem.addActionListener(this);
1149
+ if (Globals.ADVANCED)
1150
+ {
10941151 tripleItem = menu.add(new MenuItem("Trident"));
10951152 tripleItem.addActionListener(this);
1153
+ }
10961154 }
10971155
10981156 void buildToolsMenu(Menu menu)
....@@ -1106,10 +1164,8 @@
11061164 parseverticesItem.addActionListener(this);
11071165 textureFieldItem = menu.add(new MenuItem("Texture Field"));
11081166 textureFieldItem.addActionListener(this);
1109
- alignItem = menu.add(new MenuItem("Align"));
1167
+ alignItem = menu.add(new MenuItem("Align Object"));
11101168 alignItem.addActionListener(this);
1111
- mirrorItem = menu.add(new MenuItem("Mirror Poses"));
1112
- mirrorItem.addActionListener(this);
11131169 reduceMorphItem = menu.add(new MenuItem("Reduce Morphs"));
11141170 reduceMorphItem.addActionListener(this);
11151171 reduce34MorphItem = menu.add(new MenuItem("Reduce Morphs (34)"));
....@@ -1117,8 +1173,12 @@
11171173
11181174 menu.add(computeAOItem = new MenuItem("Compute AO"));
11191175 computeAOItem.addActionListener(this);
1120
- menu.add("-");
11211176
1177
+ if (Globals.ADVANCED)
1178
+ {
1179
+ mirrorItem = menu.add(new MenuItem("Mirror Poses"));
1180
+ mirrorItem.addActionListener(this);
1181
+ menu.add("-");
11221182 menu.add(memoryItem = new MenuItem("Memory Usage"));
11231183 memoryItem.addActionListener(this);
11241184 menu.add(analyzeItem = new MenuItem("Analyze"));
....@@ -1141,6 +1201,7 @@
11411201 menu.add("-");
11421202 menu.add(editScriptItem = new MenuItem("Edit Script..."));
11431203 editScriptItem.addActionListener(this);
1204
+ }
11441205 }
11451206
11461207 void ScreenFit()
....@@ -1642,7 +1703,7 @@
16421703 {
16431704 makeSomething(new BezierSurface());
16441705 } else
1645
- if (source == checkerItem)
1706
+ if (source == overlayItem)
16461707 {
16471708 /*
16481709 Object3D obj = new BezierSurface(5,8);
....@@ -1830,6 +1891,11 @@
18301891 {
18311892 DumpObject();
18321893 } else
1894
+ if (source == oneStepButton)
1895
+ {
1896
+ Globals.ONESTEP = true;
1897
+ cameraView.repaint();
1898
+ } else
18331899 if (source == screenfitButton)
18341900 {
18351901 //Reload(lastConverter, lastFilename, true);
....@@ -1902,13 +1968,17 @@
19021968 {
19031969 paste(false);
19041970 } else
1971
+ if (source == pasteIntoItem)
1972
+ {
1973
+ pasteInto(true, false);
1974
+ } else
19051975 if (source == pasteLinkItem)
19061976 {
1907
- pasteInto(false);
1977
+ pasteInto(false, false);
19081978 } else
19091979 if (source == pasteCloneItem)
19101980 {
1911
- pasteInto(true);
1981
+ pasteInto(true, true);
19121982 } else
19131983 if (source == pasteExpandItem)
19141984 {
....@@ -2110,11 +2180,11 @@
21102180 Globals.theRenderer.setCursor(java.awt.Cursor.getPredefinedCursor(java.awt.Cursor.WAIT_CURSOR));
21112181 for (int i=0; i<group.selection.size(); i++)
21122182 {
2113
- boolean random = CameraPane.RANDOM;
2114
- CameraPane.RANDOM = false; // parse all random nodes
2183
+ boolean random = CameraPane.SWITCH;
2184
+ CameraPane.SWITCH = false; // parse all random nodes
21152185 group.selection.get(i).linkVerticesThis(content);
21162186 // group.selection.get(i).setMasterThis(content); // should be identity
2117
- CameraPane.RANDOM = random;
2187
+ CameraPane.SWITCH = random;
21182188 }
21192189 Globals.theRenderer.setCursor(java.awt.Cursor.getPredefinedCursor(java.awt.Cursor.DEFAULT_CURSOR));
21202190 refreshContents();
....@@ -2124,20 +2194,20 @@
21242194 {
21252195 for (int i=0; i<group.selection.size(); i++)
21262196 {
2127
- boolean random = CameraPane.RANDOM;
2128
- CameraPane.RANDOM = false; // parse all random nodes
2197
+ boolean random = CameraPane.SWITCH;
2198
+ CameraPane.SWITCH = false; // parse all random nodes
21292199 group.selection.get(i).linkVerticesThis(null);
2130
- CameraPane.RANDOM = random;
2200
+ CameraPane.SWITCH = random;
21312201 }
21322202
21332203 refreshContents();
21342204 } else
21352205 if (source == relinkverticesItem)
21362206 {
2137
- boolean random = CameraPane.RANDOM;
2138
- CameraPane.RANDOM = false; // parse all random nodes
2207
+ boolean random = CameraPane.SWITCH;
2208
+ CameraPane.SWITCH = false; // parse all random nodes
21392209 group.selection.RelinkToSupport();
2140
- CameraPane.RANDOM = random;
2210
+ CameraPane.SWITCH = random;
21412211
21422212 refreshContents();
21432213 } else
....@@ -3611,11 +3681,11 @@
36113681
36123682 SwitchNode sn = new SwitchNode(poses, Object3D.GEOMETRY);
36133683
3614
- boolean random = CameraPane.RANDOM;
3615
- CameraPane.RANDOM = false; // parse all random nodes
3684
+ boolean random = CameraPane.SWITCH;
3685
+ CameraPane.SWITCH = false; // parse all random nodes
36163686 lowres.linkVerticesThis(null);
36173687 lowres.linkVerticesThis(sn);
3618
- CameraPane.RANDOM = random;
3688
+ CameraPane.SWITCH = random;
36193689
36203690 System.err.flush();
36213691
....@@ -4373,7 +4443,7 @@
43734443 refreshContents();
43744444 }
43754445
4376
- void pasteInto(boolean copyit)
4446
+ void pasteInto(boolean copyit, boolean clone)
43774447 {
43784448 // if (GrafreeD.clipboard == null)
43794449 // return;
....@@ -4402,7 +4472,14 @@
44024472 if (copyit)
44034473 {
44044474 // paste(false);
4405
- CloneClipboard(false); // sept 2014
4475
+ if (clone)
4476
+ {
4477
+ CloneClipboard(false); // sept 2014
4478
+ }
4479
+ else
4480
+ {
4481
+ paste(false);
4482
+ }
44064483 }
44074484 else
44084485 {
....@@ -4950,6 +5027,8 @@
49505027 cButton clearpanelButton;
49515028 cButton unselectButton;
49525029
5030
+ cButton oneStepButton;
5031
+
49535032 cButton screenfitButton;
49545033 cButton screenfitpointButton;
49555034 cButton snapobjectButton;
....@@ -5004,6 +5083,7 @@
50045083 private MenuItem mergeGeometriesItem;
50055084 private MenuItem copyItem;
50065085 private MenuItem pasteItem;
5086
+ private MenuItem pasteIntoItem;
50075087 private MenuItem pasteLinkItem;
50085088 private MenuItem pasteCloneItem;
50095089 private MenuItem pasteExpandItem;
....@@ -5101,7 +5181,7 @@
51015181 private MenuItem blobItem;
51025182 private MenuItem latheItem;
51035183 private MenuItem bezierItem;
5104
- private MenuItem checkerItem;
5184
+ private MenuItem overlayItem;
51055185 private MenuItem meshItem;
51065186 // private MenuItem meshGroupItem;
51075187 private MenuItem springItem;
ObjEditor.java
....@@ -309,44 +309,60 @@
309309 //normalLensItem.addActionListener(this);
310310 cameraMenu.add(revertCameraItem = new MenuItem("Revert Camera"));
311311 revertCameraItem.addActionListener(this);
312
- cameraMenu.add(toggleTimelineItem = new CheckboxMenuItem("Timeline"));
313
- toggleTimelineItem.addItemListener(this);
312
+
314313 cameraMenu.add(toggleFullScreenItem = new CheckboxMenuItem("Full Screen"));
315314 toggleFullScreenItem.addItemListener(this);
316315 toggleFullScreenItem.setState(CameraPane.FULLSCREEN);
317316 cameraMenu.add("-");
317
+
318318 cameraMenu.add(toggleTextureItem = new CheckboxMenuItem("Texture"));
319319 toggleTextureItem.addItemListener(this);
320320 toggleTextureItem.setState(CameraPane.textureon);
321
- cameraMenu.add(toggleLiveItem = new CheckboxMenuItem("Live"));
322
- toggleLiveItem.addItemListener(this);
323
- toggleLiveItem.setState(Globals.isLIVE());
324
- cameraMenu.add(stepItem = new MenuItem("Step"));
325
- stepItem.addActionListener(this);
326
-// cameraMenu.add(toggleDLItem = new CheckboxMenuItem("Display List"));
327
-// toggleDLItem.addItemListener(this);
328
-// toggleDLItem.setState(false);
329
- cameraMenu.add(toggleRenderItem = new CheckboxMenuItem("Render"));
330
- toggleRenderItem.addItemListener(this);
331
- toggleRenderItem.setState(!CameraPane.frozen);
332
- cameraMenu.add(toggleDebugItem = new CheckboxMenuItem("Debug"));
333
- toggleDebugItem.addItemListener(this);
334
- toggleDebugItem.setState(CameraPane.DEBUG);
335
- cameraMenu.add(toggleFrustumItem = new CheckboxMenuItem("Frustum"));
336
- toggleFrustumItem.addItemListener(this);
337
- toggleFrustumItem.setState(CameraPane.FRUSTUM);
338
- cameraMenu.add(toggleFootContactItem = new CheckboxMenuItem("Foot contact"));
339
- toggleFootContactItem.addItemListener(this);
340
- toggleFootContactItem.setState(CameraPane.FOOTCONTACT);
341
- cameraMenu.add(toggleRandomItem = new CheckboxMenuItem("Random"));
342
- toggleRandomItem.addItemListener(this);
343
- toggleRandomItem.setState(CameraPane.RANDOM);
321
+
322
+ if (Globals.ADVANCED)
323
+ {
324
+ cameraMenu.add(toggleLiveItem = new CheckboxMenuItem("Live"));
325
+ toggleLiveItem.addItemListener(this);
326
+ toggleLiveItem.setState(Globals.isLIVE());
327
+
328
+ cameraMenu.add(stepItem = new MenuItem("Step"));
329
+ stepItem.addActionListener(this);
330
+ // cameraMenu.add(toggleDLItem = new CheckboxMenuItem("Display List"));
331
+ // toggleDLItem.addItemListener(this);
332
+ // toggleDLItem.setState(false);
333
+
334
+ cameraMenu.add(toggleRenderItem = new CheckboxMenuItem("Render"));
335
+ toggleRenderItem.addItemListener(this);
336
+ toggleRenderItem.setState(!CameraPane.frozen);
337
+
338
+ cameraMenu.add(toggleDebugItem = new CheckboxMenuItem("Debug"));
339
+ toggleDebugItem.addItemListener(this);
340
+ toggleDebugItem.setState(CameraPane.DEBUG);
341
+
342
+ cameraMenu.add(toggleFrustumItem = new CheckboxMenuItem("Frustum"));
343
+ toggleFrustumItem.addItemListener(this);
344
+ toggleFrustumItem.setState(CameraPane.FRUSTUM);
345
+
346
+ cameraMenu.add(toggleFootContactItem = new CheckboxMenuItem("Foot contact"));
347
+ toggleFootContactItem.addItemListener(this);
348
+ toggleFootContactItem.setState(CameraPane.FOOTCONTACT);
349
+
350
+ cameraMenu.add(toggleTimelineItem = new CheckboxMenuItem("Timeline"));
351
+ toggleTimelineItem.addItemListener(this);
352
+ }
353
+
354
+ cameraMenu.add(toggleSwitchItem = new CheckboxMenuItem("Switch"));
355
+ toggleSwitchItem.addItemListener(this);
356
+ toggleSwitchItem.setState(CameraPane.SWITCH);
357
+
344358 cameraMenu.add(toggleHandleItem = new CheckboxMenuItem("Handles"));
345359 toggleHandleItem.addItemListener(this);
346360 toggleHandleItem.setState(CameraPane.HANDLES);
361
+
347362 cameraMenu.add(togglePaintItem = new CheckboxMenuItem("Paint mode"));
348363 togglePaintItem.addItemListener(this);
349364 togglePaintItem.setState(CameraPane.PAINTMODE);
365
+
350366 // cameraMenu.add(toggleRootItem = new CheckboxMenuItem("Alternate Root"));
351367 // toggleRootItem.addItemListener(this);
352368 // toggleRootItem.setState(false);
....@@ -1469,9 +1485,12 @@
14691485 editBar.add(clearMaterialButton = new cButton("Clear", !GrafreeD.NIMBUSLAF)); // , aConstraints);
14701486 clearMaterialButton.setToolTipText("Clear material");
14711487
1472
- editBar.add(resetSlidersButton = new cButton("Reset", !GrafreeD.NIMBUSLAF)); // , aConstraints);
1473
- editBar.add(propagateToggle = new cCheckBox("Prop", propagate)); // , aConstraints);
1474
- editBar.add(multiplyToggle = new cCheckBox("Mult", false)); // , aConstraints);
1488
+ if (Globals.ADVANCED)
1489
+ {
1490
+ editBar.add(resetSlidersButton = new cButton("Reset", !GrafreeD.NIMBUSLAF)); // , aConstraints);
1491
+ editBar.add(propagateToggle = new cCheckBox("Prop", propagate)); // , aConstraints);
1492
+ editBar.add(multiplyToggle = new cCheckBox("Mult", false)); // , aConstraints);
1493
+ }
14751494
14761495 editBar.preferredHeight = 15;
14771496
....@@ -1740,12 +1759,15 @@
17401759 opacityPowerField.addChangeListener(this);
17411760 /**/
17421761
1743
- resetSlidersButton.addActionListener(this);
17441762 clearMaterialButton.addActionListener(this);
17451763 createMaterialButton.addActionListener(this);
1746
-
1747
- propagateToggle.addItemListener(this);
1748
- multiplyToggle.addItemListener(this);
1764
+
1765
+ if (Globals.ADVANCED)
1766
+ {
1767
+ resetSlidersButton.addActionListener(this);
1768
+ propagateToggle.addItemListener(this);
1769
+ multiplyToggle.addItemListener(this);
1770
+ }
17491771 }
17501772
17511773 void DropFile(java.io.File[] files, boolean textures)
....@@ -2737,7 +2759,8 @@
27372759 return;
27382760 }
27392761
2740
- multiplyToggle.setSelected(mat.multiply);
2762
+ if (multiplyToggle != null)
2763
+ multiplyToggle.setSelected(mat.multiply);
27412764
27422765 assert (object.projectedVertices != null);
27432766
....@@ -2952,7 +2975,7 @@
29522975 frame.validate();
29532976
29542977 return;
2955
- } else if (event.getSource() == toggleRandomItem)
2978
+ } else if (event.getSource() == toggleSwitchItem)
29562979 {
29572980 cameraView.ToggleRandom();
29582981 cameraView.repaint();
....@@ -3283,7 +3306,7 @@
32833306 void CreateMaterial()
32843307 {
32853308 //copy.ClearMaterial(); // PATCH
3286
- copy.CreateMaterialS(multiplyToggle.isSelected());
3309
+ copy.CreateMaterialS(multiplyToggle != null && multiplyToggle.isSelected());
32873310 if (copy.selection.size() > 0)
32883311 //SetMaterial(copy);
32893312 {
....@@ -3342,11 +3365,11 @@
33423365 {
33433366 copy.ResetBlockLoop(); // temporary problem
33443367
3345
- boolean random = CameraPane.RANDOM;
3346
- CameraPane.RANDOM = false; // parse everything
3368
+ boolean random = CameraPane.SWITCH;
3369
+ CameraPane.SWITCH = false; // parse everything
33473370 copy.ResetDisplayList();
33483371 copy.HardTouch();
3349
- CameraPane.RANDOM = random;
3372
+ CameraPane.SWITCH = random;
33503373 }
33513374
33523375 // public void applySelf()
....@@ -4446,7 +4469,7 @@
44464469 CheckboxMenuItem toggleFootContactItem;
44474470 CheckboxMenuItem toggleDLItem;
44484471 CheckboxMenuItem toggleTextureItem;
4449
- CheckboxMenuItem toggleRandomItem;
4472
+ CheckboxMenuItem toggleSwitchItem;
44504473 CheckboxMenuItem toggleRootItem;
44514474 CheckboxMenuItem animationItem;
44524475 CheckboxMenuItem toggleHandleItem;
RandomNode.java
....@@ -27,7 +27,7 @@
2727
2828 public int size()
2929 {
30
- if (CameraPane.RANDOM)
30
+ if (CameraPane.SWITCH)
3131 {
3232 if (super.size() > 0)
3333 return 1;
....@@ -59,7 +59,7 @@
5959
6060 public Object3D reserve(int i)
6161 {
62
- if (!CameraPane.RANDOM)
62
+ if (!CameraPane.SWITCH)
6363 return super.reserve(i);
6464
6565 //assert(rnd == -1);
....@@ -126,7 +126,7 @@
126126
127127 public void release(int i)
128128 {
129
- if (!CameraPane.RANDOM)
129
+ if (!CameraPane.SWITCH)
130130 {
131131 super.release(i);
132132 return;
ScriptNode.java
....@@ -1235,8 +1235,8 @@
12351235 }
12361236 if (command.equals("setsupport"))
12371237 {
1238
- boolean random = CameraPane.RANDOM;
1239
- CameraPane.RANDOM = false; // parse all random nodes
1238
+ boolean random = CameraPane.SWITCH;
1239
+ CameraPane.SWITCH = false; // parse all random nodes
12401240 if (object.support instanceof Merge)
12411241 {
12421242 ((Merge)object.support).renderme();
....@@ -1245,7 +1245,7 @@
12451245 object.linkVerticesThis(null);
12461246 object.linkVerticesThis(GetObject(GetAlias(strs[index+2])));
12471247 // object.setMasterThis(content); // should be identity
1248
- CameraPane.RANDOM = random;
1248
+ CameraPane.SWITCH = random;
12491249 return;
12501250 }
12511251 if (command.equals("setchild"))
SuperEditor.java
....@@ -51,14 +51,14 @@
5151
5252 northPanel = new cGridBag();
5353
54
- northPanel.add(northLabel = new JLabel("XY Exp")); //, ObjEditor.aConstraints, oe.ctrlPanel.getComponentCount()-2);
55
- northPanel.add(northField = new cNumberSlider(this, 0.0001,20,-1)); //, ObjEditor.aConstraints, oe.ctrlPanel.getComponentCount()-2);
54
+ northPanel.add(northLabel = new JLabel("XY factor")); //, ObjEditor.aConstraints, oe.ctrlPanel.getComponentCount()-2);
55
+ northPanel.add(northField = new cNumberSlider(this, 0.0001,20, -1)); //, ObjEditor.aConstraints, oe.ctrlPanel.getComponentCount()-2);
5656 oe.ctrlPanel.add(northPanel);
5757
5858 oe.ctrlPanel.Return();
5959 eastPanel = new cGridBag();
60
- eastPanel.add(eastLabel = new JLabel("Z Exp")); //, ObjEditor.aConstraints, oe.ctrlPanel.getComponentCount()-2);
61
- eastPanel.add(eastField = new cNumberSlider(this, 0.0001,20,-1)); //, ObjEditor.aConstraints, oe.ctrlPanel.getComponentCount()-2);
60
+ eastPanel.add(eastLabel = new JLabel("Z factor")); //, ObjEditor.aConstraints, oe.ctrlPanel.getComponentCount()-2);
61
+ eastPanel.add(eastField = new cNumberSlider(this, 0.0001,20, -1)); //, ObjEditor.aConstraints, oe.ctrlPanel.getComponentCount()-2);
6262 oe.ctrlPanel.add(eastPanel);
6363
6464 oe.ctrlPanel.Return();
....@@ -68,7 +68,7 @@
6868
6969 oe.ctrlPanel.Return();
7070
71
- northField.setFloat(superE.north);
71
+ northField.setFloat(superE.north);
7272 eastField.setFloat(superE.east);
7373 }
7474
cFileSystemPane.java
....@@ -8,7 +8,9 @@
88
99 import java.io.File;
1010
11
-public class cFileSystemPane extends JPanel implements ActionListener, ItemListener, DragGestureListener,
11
+import grafeme.ui.*;
12
+
13
+public class cFileSystemPane extends cGridBag implements ActionListener, ItemListener, DragGestureListener,
1214 //DragSourceListener,
1315 DropTargetListener
1416 {
....@@ -33,7 +35,7 @@
3335 setName("File system");
3436 //System.out.println("layout : " + getLayout());
3537 //setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
36
- setLayout(new GridBagLayout());
38
+ //setLayout(new GridBagLayout());
3739 //ToolTipManager.sharedInstance().registerComponent(jTree);
3840 jTree.setCellRenderer(new cFileSystemModel.Renderer());
3941
....@@ -58,20 +60,27 @@
5860 GridBagConstraints aConstraints = new GridBagConstraints(0,0,1,1, 1.0,1.0,
5961 GridBagConstraints.EAST,GridBagConstraints.HORIZONTAL,new Insets(1,1,1,1), 0,0);
6062
61
- aConstraints.weighty = 0;
62
- aConstraints.gridwidth = 1;
63
- add(refreshButton = new JButton("Refresh"), aConstraints);
64
- aConstraints.gridx += 1;
65
- add(loadButton = new JButton("Load"), aConstraints);
66
- aConstraints.gridx += 1;
67
- add(printButton = new JButton("Print"), aConstraints);
68
- // aConstraints.gridx += 1;
69
- // add(replaceButton = new JButton("Replace"), aConstraints);
63
+ cGridBag fileCommsnds = new cGridBag();
64
+
65
+ fileCommsnds.add(refreshButton = new JButton("Refresh")); //, aConstraints);
66
+ refreshButton.setToolTipText("Refresh entire tree");
67
+ fileCommsnds.add(loadButton = new JButton("Load")); //, aConstraints);
68
+ loadButton.setToolTipText("Load selected file(s)");
7069
7170 refreshButton.addActionListener(this);
7271 loadButton.addActionListener(this);
73
- printButton.addActionListener(this);
72
+
73
+ if (Globals.ADVANCED)
74
+ {
75
+ fileCommsnds.add(printButton = new JButton("Print")); //, aConstraints);
76
+ printButton.setToolTipText("Print file path in terminal");
77
+ printButton.addActionListener(this);
78
+ fileCommsnds.add(mergeAttributesCB = new cCheckBox("Merge", cJME.mergeAttributes)); //, aConstraints);
79
+ mergeAttributesCB.setToolTipText("Merge common attributes (recommended)");
80
+ mergeAttributesCB.addItemListener(this);
7481 // replaceButton.addActionListener(this);
82
+ // add(replaceButton = new JButton("Replace"), aConstraints);
83
+ }
7584
7685 // aConstraints.gridx += 1;
7786 // add(trimCB = new cCheckBox("Trim", cJME.trim), aConstraints);
....@@ -86,17 +95,18 @@
8695 // add(genUVCB = new cCheckBox("UV", cJME.genUV), aConstraints);
8796 // genUVCB.addItemListener(this);
8897
89
- aConstraints.gridx += 1;
90
- add(mergeAttributesCB = new cCheckBox("Merge", cJME.mergeAttributes), aConstraints);
91
- mergeAttributesCB.addItemListener(this);
98
+ add(fileCommsnds);
99
+ fileCommsnds.preferredHeight = 1;
92100
93
- aConstraints.gridx = 0;
94
- aConstraints.gridy += 1;
95
- aConstraints.weighty = 1;
96
- aConstraints.gridwidth = 10;
97
- aConstraints.fill = GridBagConstraints.BOTH;
98
-
99
- add(tree, aConstraints);
101
+ Return();
102
+
103
+ cGridBag treeBag = new cGridBag();
104
+
105
+ treeBag.add(tree);
106
+
107
+ treeBag.preferredHeight = 30;
108
+
109
+ add(treeBag); //, aConstraints);
100110
101111 GroupEditor oe = (GroupEditor) owner;
102112