Normand Briere
2019-04-28 f23e09019d161b02d566ffe312fdc553459fb954
ObjEditor.java
....@@ -28,7 +28,12 @@
2828 iSendInfo
2929 //KeyListener
3030 {
31
+ boolean timeline;
32
+ boolean wasFullScreen;
3133
34
+ GroupEditor callee;
35
+ JFrame frame;
36
+
3237 // SCRIPT
3338
3439 transient JFrame textpanel = null;
....@@ -119,14 +124,13 @@
119124 void keyPressed(int key, int modifiers)
120125 {
121126 System.out.println("KEY PRESSED");
122
- CameraPane.theRenderer.keyPressed(key, modifiers);
127
+ Globals.theRenderer.keyPressed(key, modifiers);
123128 }
124129 */
125130
126131 static GridBagConstraints aConstraints;
127132 static GridBagConstraints aWindowConstraints;
128
- GroupEditor callee;
129
- JFrame frame;
133
+
130134 static int GRIDWIDTH = 100; // 4;
131135
132136 public void closeUI()
....@@ -158,12 +162,16 @@
158162 objEditor.ctrlPanel.remove(slowerButton);
159163 objEditor.ctrlPanel.remove(fasterButton);
160164 objEditor.ctrlPanel.remove(remarkButton);
165
+
166
+ Remove(normalpushField);
161167 }
162168
163169 public ObjEditor GetEditor()
164170 {
165171 return objEditor; //.GetEditor();
166172 }
173
+
174
+ // Sometimes myself, sometimes my callee's.
167175 ObjEditor objEditor;
168176
169177 /*
....@@ -238,7 +246,7 @@
238246 //if (!isDisplayable())
239247 //setUndecorated(true);
240248
241
- System.out.println("getFullScreenWindow? " + gd.getFullScreenWindow());
249
+ //System.out.println("getFullScreenWindow? " + gd.getFullScreenWindow());
242250 client = inClient;
243251 copy = localCopy;
244252 copy.editWindow = this;
....@@ -292,16 +300,18 @@
292300 //normalLensItem.addActionListener(this);
293301 cameraMenu.add(revertCameraItem = new MenuItem("Revert Camera"));
294302 revertCameraItem.addActionListener(this);
295
- cameraMenu.add(toggleFullItem = new CheckboxMenuItem("Full Screen"));
296
- toggleFullItem.addItemListener(this);
297
- toggleFullItem.setState(CameraPane.FULLSCREEN);
303
+ cameraMenu.add(toggleTimelineItem = new CheckboxMenuItem("Timeline"));
304
+ toggleTimelineItem.addItemListener(this);
305
+ cameraMenu.add(toggleFullScreenItem = new CheckboxMenuItem("Full Screen"));
306
+ toggleFullScreenItem.addItemListener(this);
307
+ toggleFullScreenItem.setState(CameraPane.FULLSCREEN);
298308 cameraMenu.add("-");
299309 cameraMenu.add(toggleTextureItem = new CheckboxMenuItem("Texture"));
300310 toggleTextureItem.addItemListener(this);
301311 toggleTextureItem.setState(CameraPane.textureon);
302312 cameraMenu.add(toggleLiveItem = new CheckboxMenuItem("Live"));
303313 toggleLiveItem.addItemListener(this);
304
- toggleLiveItem.setState(CameraPane.isLIVE());
314
+ toggleLiveItem.setState(Globals.isLIVE());
305315 cameraMenu.add(stepItem = new MenuItem("Step"));
306316 stepItem.addActionListener(this);
307317 // cameraMenu.add(toggleDLItem = new CheckboxMenuItem("Display List"));
....@@ -522,18 +532,18 @@
522532 maxima.y = sel.toParent[3][1];
523533 maxima.z = sel.toParent[3][2];
524534 si.SendInfo(" Orig: " + maxima, "regular");
525
- maxima.x = sel.globalTransform[3][0];
526
- maxima.y = sel.globalTransform[3][1];
527
- maxima.z = sel.globalTransform[3][2];
528
- if (full)
529
- si.SendInfo(" Global Orig: " + maxima, "regular");
530535 maxima.x = sel.toParent[0][0];
531536 maxima.y = sel.toParent[1][1];
532537 maxima.z = sel.toParent[2][2];
533538 si.SendInfo(" Scale: " + maxima, "regular");
534
- maxima.x = sel.globalTransform[0][0];
535
- maxima.y = sel.globalTransform[1][1];
536
- maxima.z = sel.globalTransform[2][2];
539
+ maxima.x = sel.globalTransform[3][0];
540
+ maxima.y = sel.globalTransform[3][1];
541
+ maxima.z = sel.globalTransform[3][2];
542
+ if (full)
543
+ si.SendInfo(" Global Orig: " + maxima, "regular");
544
+ maxima.x = sel.globalTransform[0][0];
545
+ maxima.y = sel.globalTransform[1][1];
546
+ maxima.z = sel.globalTransform[2][2];
537547 if (full)
538548 si.SendInfo(" Global Scale: " + maxima, "regular");
539549 }
....@@ -593,6 +603,22 @@
593603 System.err.println("Couldn't insert initial text into text pane.");
594604 }
595605 }
606
+
607
+ void ToggleFullScreen()
608
+ {
609
+ if (CameraPane.FULLSCREEN)
610
+ {
611
+ frame.getContentPane().remove(/*"Center",*/bigThree);
612
+ framePanel.add(bigThree);
613
+ frame.getContentPane().add(/*"Center",*/framePanel);
614
+ } else
615
+ {
616
+ frame.getContentPane().remove(/*"Center",*/framePanel);
617
+ framePanel.remove(bigThree);
618
+ frame.getContentPane().add(/*"Center",*/bigThree);
619
+ }
620
+ cameraView.ToggleFullScreen();
621
+ }
596622
597623 private JTextArea createTextPane()
598624 {
....@@ -794,7 +820,7 @@
794820
795821 aConstraints.fill = GridBagConstraints.VERTICAL;
796822 jlabel.setHorizontalAlignment(SwingConstants.TRAILING);
797
- aConstraints.gridwidth = 2;
823
+ aConstraints.gridwidth = 1;
798824 ctrlPanel.add(jlabel, aConstraints); //, oe.ctrlPanel.getComponentCount()-1);
799825 aConstraints.gridx += 1;
800826 aConstraints.fill = GridBagConstraints.HORIZONTAL;
....@@ -963,6 +989,9 @@
963989
964990 Return();
965991
992
+ normalpushField = AddSlider(oe.ctrlPanel, "Push", -10, 10, 0, -1);
993
+ Return();
994
+
966995 // oe.ctrlPanel.add(stepButton = new cButton("Step"), ObjEditor.aConstraints, oe.ctrlPanel.getComponentCount() - 2);
967996 // ObjEditor.aConstraints.gridx += 1;
968997
....@@ -1158,10 +1187,21 @@
11581187 //JPanel worldPanel =
11591188 // new gov.nasa.worldwind.examples.ApplicationTemplate.AppPanel(null, true);
11601189 //worldPanel.setName("World");
1161
- /*JPanel*/ cameraPanel =
1162
- new JPanel(new BorderLayout());
1163
- cameraPanel.add(cameraView);
1190
+ centralPanel = new JPanel(new BorderLayout());
1191
+ timelinePanel = new JPanel(new BorderLayout());
1192
+ timelineMenubar = new timeflow.app.TimeflowApp().TimeFlowWindow(timelinePanel);
11641193
1194
+ cameraPanel = new JSplitPane(JSplitPane.VERTICAL_SPLIT, cameraView, timelinePanel);
1195
+ cameraPanel.setContinuousLayout(true);
1196
+ cameraPanel.setOneTouchExpandable(true);
1197
+// cameraPanel.setDividerLocation(0.9);
1198
+// cameraPanel.setDividerSize(9);
1199
+ cameraPanel.setResizeWeight(1.0);
1200
+
1201
+ centralPanel.add(cameraView);
1202
+ //frame.setJMenuBar(timelineMenubar);
1203
+ //centralPanel.add(timelinePanel);
1204
+
11651205 //topView.camera = ;
11661206 //frontView.camera = new Camera(2);
11671207 //sideView.camera = new Camera(3);
....@@ -1191,7 +1231,7 @@
11911231 gridPanel.add(cameraView);
11921232 gridPanel.add(XYZPanel);
11931233 */
1194
- gridPanel = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, cameraPanel, XYZPanel); //new BorderLayout());
1234
+ gridPanel = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, centralPanel, XYZPanel); //new BorderLayout());
11951235 gridPanel.setContinuousLayout(true);
11961236 gridPanel.setOneTouchExpandable(true);
11971237 gridPanel.setDividerLocation(1.0);
....@@ -1244,15 +1284,18 @@
12441284 scrollpane.setWheelScrollingEnabled(true);
12451285 scrollpane.addMouseWheelListener(this); // Default not fast enough
12461286
1247
- /*JTabbedPane*/ jtp = new JTabbedPane();
1248
- jtp.add(scrollpane);
1287
+ /*JTabbedPane*/ scenePanel = new JTabbedPane();
1288
+ scenePanel.add(scrollpane);
12491289
1250
- jtp.add(FSPane = new cFileSystemPane(this));
1290
+ scenePanel.add(FSPane = new cFileSystemPane(this));
12511291
12521292 optionsPanel = new JPanel(new GridBagLayout());
12531293
12541294 optionsPanel.setName("Options");
1255
- jtp.add(optionsPanel);
1295
+
1296
+ AddOptions(optionsPanel, aConstraints);
1297
+
1298
+ scenePanel.add(optionsPanel);
12561299
12571300
12581301 /*
....@@ -1275,7 +1318,7 @@
12751318 jtp.add(tree);
12761319 */
12771320
1278
- bigPanel = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, jtp, gridPanel);
1321
+ bigPanel = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, scenePanel, gridPanel);
12791322 bigPanel.setContinuousLayout(true);
12801323 bigPanel.setOneTouchExpandable(true);
12811324 bigPanel.setDividerLocation(0.8);
....@@ -1297,13 +1340,13 @@
12971340 aWindowConstraints.fill = GridBagConstraints.VERTICAL;
12981341 aWindowConstraints.weightx = 0;
12991342 aWindowConstraints.weighty = 1;
1300
- bigThree.add(jtp, aWindowConstraints);
1343
+ bigThree.add(scenePanel, aWindowConstraints);
13011344 aWindowConstraints.weightx = 1;
13021345 aWindowConstraints.gridwidth = 3;
13031346 // aConstraints.gridheight = 3;
13041347 aWindowConstraints.gridx = 1;
13051348 aWindowConstraints.fill = GridBagConstraints.BOTH;
1306
- bigThree.add(cameraPanel, aWindowConstraints);
1349
+ bigThree.add(centralPanel, aWindowConstraints);
13071350 aWindowConstraints.weightx = 0;
13081351 aWindowConstraints.gridx = 4;
13091352 aWindowConstraints.gridwidth = 1;
....@@ -1331,7 +1374,8 @@
13311374 //worldPane.add(bigPanel);
13321375 //worldPane.add(worldPanel);
13331376 /**/
1334
- frame.getContentPane().add(/*"Center",*/framePanel);
1377
+ //frame.getContentPane().add(/*"Center",*/framePanel);
1378
+ frame.add(/*"Center",*/framePanel);
13351379 //frame.getContentPane().add(/*"Center",*/ worldPane);
13361380
13371381 // aConstraints = gbc; // (GridBagConstraints) GrafreeD.clone(gbc);
....@@ -1352,6 +1396,10 @@
13521396 });
13531397 }
13541398
1399
+ void AddOptions(JPanel panel, GridBagConstraints constraints)
1400
+ {
1401
+ }
1402
+
13551403 JTree GetTree()
13561404 {
13571405 return objEditor.jTree;
....@@ -1422,7 +1470,7 @@
14221470 aConstraints.gridx += 1;
14231471 aConstraints.gridwidth = ObjEditor.GRIDWIDTH;
14241472 //aConstraints.weightx = 0;
1425
- ctrlPanel.add(colorField = new NumberSlider(0.001, 1, -0.1), aConstraints);
1473
+ ctrlPanel.add(colorField = new NumberSlider(0.001, 1, -0.5), aConstraints);
14261474 aConstraints.gridx = 0;
14271475 aConstraints.gridy += 1;
14281476 aConstraints.gridwidth = 1;
....@@ -1432,7 +1480,7 @@
14321480 aConstraints.fill = GridBagConstraints.HORIZONTAL;
14331481 aConstraints.gridx += 1;
14341482 aConstraints.gridwidth = ObjEditor.GRIDWIDTH;
1435
- ctrlPanel.add(modulationField = new NumberSlider(0.001, 1, -0.1), aConstraints);
1483
+ ctrlPanel.add(modulationField = new NumberSlider(0.001, 1, -0.5), aConstraints);
14361484 aConstraints.gridx = 0;
14371485 aConstraints.gridy += 1;
14381486 aConstraints.gridwidth = 1;
....@@ -1442,7 +1490,7 @@
14421490 aConstraints.fill = GridBagConstraints.HORIZONTAL;
14431491 aConstraints.gridx += 1;
14441492 aConstraints.gridwidth = ObjEditor.GRIDWIDTH;
1445
- ctrlPanel.add(textureField = new NumberSlider(0.001, 1, -0.1), aConstraints);
1493
+ ctrlPanel.add(textureField = new NumberSlider(0.001, 1, -0.5), aConstraints);
14461494 aConstraints.gridx = 0;
14471495 aConstraints.gridy += 1;
14481496 aConstraints.gridwidth = 1;
....@@ -1452,7 +1500,7 @@
14521500 aConstraints.fill = GridBagConstraints.HORIZONTAL;
14531501 aConstraints.gridx += 1;
14541502 aConstraints.gridwidth = ObjEditor.GRIDWIDTH;
1455
- ctrlPanel.add(anisoField = new NumberSlider(0.001, 1, -0.1), aConstraints);
1503
+ ctrlPanel.add(anisoField = new NumberSlider(0.001, 1, -0.5), aConstraints);
14561504 aConstraints.gridx = 0;
14571505 aConstraints.gridy += 1;
14581506 aConstraints.gridwidth = 1;
....@@ -1462,7 +1510,7 @@
14621510 aConstraints.fill = GridBagConstraints.HORIZONTAL;
14631511 aConstraints.gridx += 1;
14641512 aConstraints.gridwidth = ObjEditor.GRIDWIDTH;
1465
- ctrlPanel.add(anisoVField = new NumberSlider(0.001, 1, -0.1), aConstraints);
1513
+ ctrlPanel.add(anisoVField = new NumberSlider(0.001, 1, -0.5), aConstraints);
14661514 aConstraints.gridx = 0;
14671515 aConstraints.gridy += 1;
14681516 aConstraints.gridwidth = 1;
....@@ -1531,7 +1579,7 @@
15311579 aConstraints.fill = GridBagConstraints.HORIZONTAL;
15321580 aConstraints.gridx += 1;
15331581 aConstraints.gridwidth = ObjEditor.GRIDWIDTH;
1534
- ctrlPanel.add(subsurfaceField = new NumberSlider(0.001, 1, -0.1), aConstraints);
1582
+ ctrlPanel.add(subsurfaceField = new NumberSlider(0.001, 1, -0.5), aConstraints);
15351583 aConstraints.gridx = 0;
15361584 aConstraints.gridy += 1;
15371585 aConstraints.gridwidth = 1;
....@@ -1600,7 +1648,7 @@
16001648 aConstraints.fill = GridBagConstraints.HORIZONTAL;
16011649 aConstraints.gridx += 1;
16021650 aConstraints.gridwidth = ObjEditor.GRIDWIDTH;
1603
- ctrlPanel.add(metalnessField = new NumberSlider(0.001, 1, -0.1), aConstraints);
1651
+ ctrlPanel.add(metalnessField = new NumberSlider(0.001, 1, -0.5), aConstraints);
16041652 aConstraints.gridx = 0;
16051653 aConstraints.gridy += 1;
16061654 aConstraints.gridwidth = 1;
....@@ -1671,7 +1719,7 @@
16711719 aConstraints.fill = GridBagConstraints.HORIZONTAL;
16721720 aConstraints.gridx += 1;
16731721 aConstraints.gridwidth = ObjEditor.GRIDWIDTH;
1674
- ctrlPanel.add(opacityField = new NumberSlider(0.001, 1, -0.1), aConstraints);
1722
+ ctrlPanel.add(opacityField = new NumberSlider(0.001, 1, -0.5), aConstraints);
16751723 aConstraints.gridx = 0;
16761724 aConstraints.gridy += 1;
16771725 aConstraints.gridwidth = 1;
....@@ -1859,19 +1907,21 @@
18591907 }
18601908
18611909 // Images/textures
1862
- if (textures
1863
- && (filename.toLowerCase().endsWith(".jpg")
1864
- || filename.toLowerCase().endsWith(".jpeg")
1865
- || filename.toLowerCase().endsWith(".gif")
1866
- || filename.toLowerCase().endsWith(".png")
1867
- || filename.toLowerCase().endsWith(".tre")
1868
- || filename.toLowerCase().endsWith(".bmp")
1869
- || filename.toLowerCase().endsWith(".tga")
1870
- || filename.toLowerCase().endsWith(".sgi")
1871
- || filename.toLowerCase().endsWith(".tif")
1872
- || filename.toLowerCase().endsWith(".tiff")))
1910
+ if (filename.toLowerCase().endsWith(".jpg")
1911
+ || filename.toLowerCase().endsWith(".jpeg")
1912
+ || filename.toLowerCase().endsWith(".gif")
1913
+ || filename.toLowerCase().endsWith(".png")
1914
+ || filename.toLowerCase().endsWith(".tre")
1915
+ || filename.toLowerCase().endsWith(".bmp")
1916
+ || filename.toLowerCase().endsWith(".tga")
1917
+ || filename.toLowerCase().endsWith(".sgi")
1918
+ || filename.toLowerCase().endsWith(".tif")
1919
+ || filename.toLowerCase().endsWith(".tiff"))
18731920 {
1874
- DropTexture(filename);
1921
+ if (textures)
1922
+ DropTexture(filename);
1923
+ else
1924
+ CreateBillboard(filename);
18751925 continue;
18761926 }
18771927
....@@ -1880,6 +1930,60 @@
18801930 }
18811931
18821932 ResetModel();
1933
+ }
1934
+
1935
+ void CreateBillboard(String filename)
1936
+ {
1937
+ Object3D source = null;
1938
+ Object3D group = copy;
1939
+
1940
+ if (group.selection.size() > 0)
1941
+ {
1942
+ source = group.selection.get(0);
1943
+ }
1944
+
1945
+ Grid grid = new Grid(1,1);
1946
+ grid.material = null;
1947
+
1948
+ grid.toParent = LA.newMatrix();
1949
+ grid.fromParent = LA.newMatrix();
1950
+ LA.matYRotate(grid.toParent, Math.PI/2);
1951
+ LA.matXRotate(grid.toParent, -Math.PI/2);
1952
+ LA.matXRotate(grid.fromParent, Math.PI/2);
1953
+ LA.matYRotate(grid.fromParent, -Math.PI/2);
1954
+
1955
+ BillboardNode bb = new BillboardNode();
1956
+ bb.addChild(grid);
1957
+
1958
+ Object3D newgroup = new Object3D();
1959
+ newgroup.CreateMaterial();
1960
+
1961
+ File file = new File(filename);
1962
+ newgroup.name = file.getName();
1963
+ newgroup.addChild(bb);
1964
+
1965
+ Object3D main = newgroup;
1966
+
1967
+ main.SetPigmentTexture(filename);
1968
+
1969
+ if (source != null)
1970
+ {
1971
+ main.material = new cMaterial(source.material);
1972
+ if (main.projectedVertices.length < source.projectedVertices.length)
1973
+ {
1974
+ main.projectedVertices = new Object3D.cVector2[source.projectedVertices.length];
1975
+ }
1976
+
1977
+ for (int i=0; i<source.projectedVertices.length; i++)
1978
+ {
1979
+ main.projectedVertices[i].x = source.projectedVertices[i].x;
1980
+ main.projectedVertices[i].y = source.projectedVertices[i].y;
1981
+ }
1982
+
1983
+ main.texres = source.texres;
1984
+ }
1985
+
1986
+ makeSomething(newgroup, false);
18831987 }
18841988
18851989 Point location;
....@@ -2138,6 +2242,8 @@
21382242 {
21392243 Mocap sel = (Mocap) copy.selection.get(0);
21402244
2245
+ sel.SetCurrentBones(sel.frame);
2246
+
21412247 sel.fullname = fullname;
21422248
21432249 if (changename)
....@@ -2151,14 +2257,18 @@
21512257 sel.smoothed = false;
21522258
21532259 // if (!changename)
2154
- sel.SetPositionDelta(false, true, true, true/*?*/); // false
2260
+ //sel.SetPositionDelta(false, true, true, true/*?*/); // false
2261
+ sel.SetGlobalTransform();
2262
+ sel.LoadData();
2263
+ sel.Rewind();
2264
+ sel.Fade();
21552265 // sel.setPose(0);
21562266 refreshContents();
21572267 } else
21582268 {
21592269 mocap.Reset();
21602270 // new skeleton
2161
- makeSomething(mocap, false); // true);
2271
+ makeSomething(mocap, true); // true);
21622272 }
21632273 } catch (Exception e)
21642274 {
....@@ -2185,6 +2295,8 @@
21852295 {
21862296 Mocap sel = (Mocap) select;
21872297
2298
+ sel.SetCurrentBones(sel.frame);
2299
+
21882300 File file = new File(fullname);
21892301
21902302 // Mocap mocap = new Mocap("Mocap" + file.getName());
....@@ -2251,7 +2363,11 @@
22512363
22522364 if (!changename)
22532365 {
2254
- sel.SetPositionDelta(false, true, true, true/*?*/);
2366
+ //sel.SetPositionDelta(false, true, true, true/*?*/);
2367
+ sel.SetGlobalTransform();
2368
+ sel.LoadData();
2369
+ sel.Rewind();
2370
+ sel.Fade();
22552371 }
22562372
22572373 // sel.setPose(0);
....@@ -2890,20 +3006,37 @@
28903006 // june 2013 copy.HardTouch();
28913007 cameraView.repaint();
28923008 return;
2893
- } else if (event.getSource() == toggleFullItem)
3009
+ } else if (event.getSource() == toggleTimelineItem)
28943010 {
2895
- if (CameraPane.FULLSCREEN)
3011
+ timeline ^= true;
3012
+
3013
+ if (timeline)
28963014 {
2897
- frame.getContentPane().remove(/*"Center",*/bigThree);
2898
- framePanel.add(bigThree);
2899
- frame.getContentPane().add(/*"Center",*/framePanel);
2900
- } else
2901
- {
2902
- frame.getContentPane().remove(/*"Center",*/framePanel);
2903
- frame.getContentPane().add(/*"Center",*/bigThree);
3015
+ centralPanel.remove(cameraView);
3016
+ cameraPanel.add(cameraView);
3017
+ centralPanel.add(cameraPanel);
3018
+ frame.setJMenuBar(timelineMenubar);
3019
+ wasFullScreen = CameraPane.FULLSCREEN;
3020
+ if (!CameraPane.FULLSCREEN)
3021
+ ToggleFullScreen();
3022
+ toggleFullScreenItem.setEnabled(false);
29043023 }
3024
+ else
3025
+ {
3026
+ centralPanel.remove(cameraPanel);
3027
+ centralPanel.add(cameraView);
3028
+ frame.setJMenuBar(null);
3029
+ if (!wasFullScreen)
3030
+ ToggleFullScreen();
3031
+ toggleFullScreenItem.setEnabled(true);
3032
+ }
3033
+
29053034 frame.validate();
2906
- cameraView.ToggleFullScreen();
3035
+ return;
3036
+ } else if (event.getSource() == toggleFullScreenItem)
3037
+ {
3038
+ ToggleFullScreen();
3039
+ frame.validate();
29073040
29083041 return;
29093042 } else if (event.getSource() == toggleRandomItem)
....@@ -3013,7 +3146,8 @@
30133146 objEditor.refreshContents();
30143147 } else if (event.getSource() == stepItem)
30153148 {
3016
- cameraView.ONESTEP = true;
3149
+ //cameraView.ONESTEP = true;
3150
+ Globals.ONESTEP = true;
30173151 cameraView.repaint();
30183152 return;
30193153 } else if (event.getSource() == stepButton)
....@@ -3152,9 +3286,9 @@
31523286 cameraView.RevertCamera();
31533287 cameraView.repaint();
31543288 return;
3155
- } else if (event.getSource() == textureButton)
3156
- {
3157
- return; // true;
3289
+// } else if (event.getSource() == textureButton)
3290
+// {
3291
+// return; // true;
31583292 } else // combos...
31593293 if (event.getSource() == texresMenu)
31603294 {
....@@ -3170,25 +3304,25 @@
31703304
31713305 void ToggleAnimation()
31723306 {
3173
- if (!CameraPane.ANIMATION)
3307
+ if (!Globals.ANIMATION)
31743308 {
31753309 FileDialog browser = new FileDialog(frame, "Save Animation As...", FileDialog.SAVE);
31763310 browser.show();
31773311 String filename = browser.getFile();
31783312 if (filename != null && filename.length() > 0)
31793313 {
3180
- CameraPane.filename = browser.getDirectory() + filename;
3314
+ Globals.filename = browser.getDirectory() + filename;
31813315 //CameraPane.framecount = 0;
3182
- CameraPane.imagecount = 0;
3316
+ Globals.imagecount = 0;
31833317
3184
- CameraPane.ANIMATION ^= true;
3318
+ Globals.ANIMATION ^= true;
31853319
31863320 GrafreeD.wav.cursor = 0;
31873321 GrafreeD.wav.loop = 0;
31883322 }
31893323 } else
31903324 {
3191
- CameraPane.ANIMATION ^= true;
3325
+ Globals.ANIMATION ^= true;
31923326 }
31933327 }
31943328
....@@ -3441,7 +3575,13 @@
34413575 //System.out.println("PARENT = " + parent);
34423576 //if (parent != null)
34433577 // parent.applySelf();
3444
- refreshContents();
3578
+ if (e.getSource() == normalpushField)
3579
+ {
3580
+ objEditor.refreshContents();
3581
+ //Refresh();
3582
+ }
3583
+ else
3584
+ refreshContents();
34453585 // ??? client.refreshEditWindow();
34463586 }
34473587 //else
....@@ -3453,7 +3593,7 @@
34533593 //group.name = nameField.getText();
34543594 //objEditor.applySelf();
34553595
3456
- assert (objEditor == this);
3596
+ // OCT2018: assert (objEditor == this);
34573597 if (copy.selection == null || copy.selection.size() == 0)
34583598 //super.applySelf()
34593599 ; else
....@@ -3477,12 +3617,18 @@
34773617 objEditor.copy = keep;
34783618 }
34793619 }
3620
+
3621
+ if (normalpushField != null)
3622
+ copy.NORMALPUSH = (float)normalpushField.getFloat()/1000;
34803623 }
34813624
34823625 void SnapObject()
34833626 {
3484
- Object3D obj = (Object3D)copy.selection.elementAt(0);
3485
- SnapObject(obj);
3627
+ if (copy.selection.size() > 0)
3628
+ {
3629
+ Object3D obj = (Object3D)copy.selection.elementAt(0);
3630
+ SnapObject(obj);
3631
+ }
34863632 }
34873633
34883634 void SnapObject(Object3D obj)
....@@ -3596,7 +3742,7 @@
35963742
35973743 if (obj.parent != null)
35983744 {
3599
- obj.parent.TransformToWorld(interest);
3745
+// obj.parent.TransformToWorld(interest);
36003746 }
36013747
36023748 if (!CameraPane.TRACK)
....@@ -4376,7 +4522,8 @@
43764522 MenuItem revertCameraItem;
43774523 CheckboxMenuItem toggleLiveItem;
43784524 MenuItem stepItem;
4379
- CheckboxMenuItem toggleFullItem;
4525
+ CheckboxMenuItem toggleFullScreenItem;
4526
+ CheckboxMenuItem toggleTimelineItem;
43804527 CheckboxMenuItem toggleRenderItem;
43814528 CheckboxMenuItem toggleDebugItem;
43824529 CheckboxMenuItem toggleFrustumItem;
....@@ -4403,11 +4550,14 @@
44034550 JSplitPane gridPanel;
44044551 JSplitPane bigPanel;
44054552 JPanel bigThree;
4406
- JTabbedPane jtp;
4407
- JPanel cameraPanel;
4553
+ JTabbedPane scenePanel;
4554
+ JPanel centralPanel;
4555
+ JSplitPane cameraPanel;
4556
+ JPanel timelinePanel;
4557
+ JMenuBar timelineMenubar;
44084558 JSplitPane framePanel;
44094559 JTextArea/*Field*/ nameField;
4410
- cButton textureButton;
4560
+ //cButton textureButton;
44114561 cButton okButton;
44124562 cButton applyButton;
44134563 cButton cancelButton;
....@@ -4515,4 +4665,6 @@
45154665 NumberSlider opacityPowerField;
45164666 JTree jTree;
45174667 //ObjectUI parent;
4668
+
4669
+ NumberSlider normalpushField;
45184670 }