Normand Briere
2018-10-27 d34fd9341c61d13677e029cb187d4dacff5e44ea
ObjEditor.java
....@@ -28,6 +28,8 @@
2828 iSendInfo
2929 //KeyListener
3030 {
31
+ boolean timeline;
32
+ boolean wasFullScreen;
3133
3234 // SCRIPT
3335
....@@ -238,7 +240,7 @@
238240 //if (!isDisplayable())
239241 //setUndecorated(true);
240242
241
- System.out.println("getFullScreenWindow? " + gd.getFullScreenWindow());
243
+ //System.out.println("getFullScreenWindow? " + gd.getFullScreenWindow());
242244 client = inClient;
243245 copy = localCopy;
244246 copy.editWindow = this;
....@@ -292,9 +294,11 @@
292294 //normalLensItem.addActionListener(this);
293295 cameraMenu.add(revertCameraItem = new MenuItem("Revert Camera"));
294296 revertCameraItem.addActionListener(this);
295
- cameraMenu.add(toggleFullItem = new CheckboxMenuItem("Full Screen"));
296
- toggleFullItem.addItemListener(this);
297
- toggleFullItem.setState(CameraPane.FULLSCREEN);
297
+ cameraMenu.add(toggleTimelineItem = new CheckboxMenuItem("Timeline"));
298
+ toggleTimelineItem.addItemListener(this);
299
+ cameraMenu.add(toggleFullScreenItem = new CheckboxMenuItem("Full Screen"));
300
+ toggleFullScreenItem.addItemListener(this);
301
+ toggleFullScreenItem.setState(CameraPane.FULLSCREEN);
298302 cameraMenu.add("-");
299303 cameraMenu.add(toggleTextureItem = new CheckboxMenuItem("Texture"));
300304 toggleTextureItem.addItemListener(this);
....@@ -522,18 +526,18 @@
522526 maxima.y = sel.toParent[3][1];
523527 maxima.z = sel.toParent[3][2];
524528 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");
530529 maxima.x = sel.toParent[0][0];
531530 maxima.y = sel.toParent[1][1];
532531 maxima.z = sel.toParent[2][2];
533532 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];
533
+ maxima.x = sel.globalTransform[3][0];
534
+ maxima.y = sel.globalTransform[3][1];
535
+ maxima.z = sel.globalTransform[3][2];
536
+ if (full)
537
+ si.SendInfo(" Global Orig: " + maxima, "regular");
538
+ maxima.x = sel.globalTransform[0][0];
539
+ maxima.y = sel.globalTransform[1][1];
540
+ maxima.z = sel.globalTransform[2][2];
537541 if (full)
538542 si.SendInfo(" Global Scale: " + maxima, "regular");
539543 }
....@@ -593,6 +597,22 @@
593597 System.err.println("Couldn't insert initial text into text pane.");
594598 }
595599 }
600
+
601
+ void ToggleFullScreen()
602
+ {
603
+ if (CameraPane.FULLSCREEN)
604
+ {
605
+ frame.getContentPane().remove(/*"Center",*/bigThree);
606
+ framePanel.add(bigThree);
607
+ frame.getContentPane().add(/*"Center",*/framePanel);
608
+ } else
609
+ {
610
+ frame.getContentPane().remove(/*"Center",*/framePanel);
611
+ framePanel.remove(bigThree);
612
+ frame.getContentPane().add(/*"Center",*/bigThree);
613
+ }
614
+ cameraView.ToggleFullScreen();
615
+ }
596616
597617 private JTextArea createTextPane()
598618 {
....@@ -1158,10 +1178,14 @@
11581178 //JPanel worldPanel =
11591179 // new gov.nasa.worldwind.examples.ApplicationTemplate.AppPanel(null, true);
11601180 //worldPanel.setName("World");
1161
- /*JPanel*/ cameraPanel =
1162
- new JPanel(new BorderLayout());
1163
- cameraPanel.add(cameraView);
1181
+ centralPanel = new JPanel(new BorderLayout());
1182
+ timelinePanel = new JPanel(new BorderLayout());
1183
+ timelineMenubar = new timeflow.app.TimeflowApp().TimeFlowWindow(timelinePanel);
11641184
1185
+ centralPanel.add(cameraView);
1186
+ //frame.setJMenuBar(timelineMenubar);
1187
+ //centralPanel.add(timelinePanel);
1188
+
11651189 //topView.camera = ;
11661190 //frontView.camera = new Camera(2);
11671191 //sideView.camera = new Camera(3);
....@@ -1191,7 +1215,7 @@
11911215 gridPanel.add(cameraView);
11921216 gridPanel.add(XYZPanel);
11931217 */
1194
- gridPanel = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, cameraPanel, XYZPanel); //new BorderLayout());
1218
+ gridPanel = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, centralPanel, XYZPanel); //new BorderLayout());
11951219 gridPanel.setContinuousLayout(true);
11961220 gridPanel.setOneTouchExpandable(true);
11971221 gridPanel.setDividerLocation(1.0);
....@@ -1244,15 +1268,15 @@
12441268 scrollpane.setWheelScrollingEnabled(true);
12451269 scrollpane.addMouseWheelListener(this); // Default not fast enough
12461270
1247
- /*JTabbedPane*/ jtp = new JTabbedPane();
1248
- jtp.add(scrollpane);
1271
+ /*JTabbedPane*/ scenePanel = new JTabbedPane();
1272
+ scenePanel.add(scrollpane);
12491273
1250
- jtp.add(FSPane = new cFileSystemPane(this));
1274
+ scenePanel.add(FSPane = new cFileSystemPane(this));
12511275
12521276 optionsPanel = new JPanel(new GridBagLayout());
12531277
12541278 optionsPanel.setName("Options");
1255
- jtp.add(optionsPanel);
1279
+ scenePanel.add(optionsPanel);
12561280
12571281
12581282 /*
....@@ -1275,7 +1299,7 @@
12751299 jtp.add(tree);
12761300 */
12771301
1278
- bigPanel = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, jtp, gridPanel);
1302
+ bigPanel = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, scenePanel, gridPanel);
12791303 bigPanel.setContinuousLayout(true);
12801304 bigPanel.setOneTouchExpandable(true);
12811305 bigPanel.setDividerLocation(0.8);
....@@ -1297,13 +1321,13 @@
12971321 aWindowConstraints.fill = GridBagConstraints.VERTICAL;
12981322 aWindowConstraints.weightx = 0;
12991323 aWindowConstraints.weighty = 1;
1300
- bigThree.add(jtp, aWindowConstraints);
1324
+ bigThree.add(scenePanel, aWindowConstraints);
13011325 aWindowConstraints.weightx = 1;
13021326 aWindowConstraints.gridwidth = 3;
13031327 // aConstraints.gridheight = 3;
13041328 aWindowConstraints.gridx = 1;
13051329 aWindowConstraints.fill = GridBagConstraints.BOTH;
1306
- bigThree.add(cameraPanel, aWindowConstraints);
1330
+ bigThree.add(centralPanel, aWindowConstraints);
13071331 aWindowConstraints.weightx = 0;
13081332 aWindowConstraints.gridx = 4;
13091333 aWindowConstraints.gridwidth = 1;
....@@ -2194,6 +2218,8 @@
21942218 {
21952219 Mocap sel = (Mocap) copy.selection.get(0);
21962220
2221
+ sel.SetCurrentBones(sel.frame);
2222
+
21972223 sel.fullname = fullname;
21982224
21992225 if (changename)
....@@ -2207,14 +2233,18 @@
22072233 sel.smoothed = false;
22082234
22092235 // if (!changename)
2210
- sel.SetPositionDelta(false, true, true, true/*?*/); // false
2236
+ //sel.SetPositionDelta(false, true, true, true/*?*/); // false
2237
+ sel.SetGlobalTransform();
2238
+ sel.LoadData();
2239
+ sel.Rewind();
2240
+ sel.Fade();
22112241 // sel.setPose(0);
22122242 refreshContents();
22132243 } else
22142244 {
22152245 mocap.Reset();
22162246 // new skeleton
2217
- makeSomething(mocap, false); // true);
2247
+ makeSomething(mocap, true); // true);
22182248 }
22192249 } catch (Exception e)
22202250 {
....@@ -2241,6 +2271,8 @@
22412271 {
22422272 Mocap sel = (Mocap) select;
22432273
2274
+ sel.SetCurrentBones(sel.frame);
2275
+
22442276 File file = new File(fullname);
22452277
22462278 // Mocap mocap = new Mocap("Mocap" + file.getName());
....@@ -2307,7 +2339,11 @@
23072339
23082340 if (!changename)
23092341 {
2310
- sel.SetPositionDelta(false, true, true, true/*?*/);
2342
+ //sel.SetPositionDelta(false, true, true, true/*?*/);
2343
+ sel.SetGlobalTransform();
2344
+ sel.LoadData();
2345
+ sel.Rewind();
2346
+ sel.Fade();
23112347 }
23122348
23132349 // sel.setPose(0);
....@@ -2946,20 +2982,36 @@
29462982 // june 2013 copy.HardTouch();
29472983 cameraView.repaint();
29482984 return;
2949
- } else if (event.getSource() == toggleFullItem)
2985
+ } else if (event.getSource() == toggleTimelineItem)
29502986 {
2951
- if (CameraPane.FULLSCREEN)
2987
+ timeline ^= true;
2988
+
2989
+ if (timeline)
29522990 {
2953
- frame.getContentPane().remove(/*"Center",*/bigThree);
2954
- framePanel.add(bigThree);
2955
- frame.getContentPane().add(/*"Center",*/framePanel);
2956
- } else
2957
- {
2958
- frame.getContentPane().remove(/*"Center",*/framePanel);
2959
- frame.getContentPane().add(/*"Center",*/bigThree);
2991
+ centralPanel.remove(cameraView);
2992
+ centralPanel.add(timelinePanel);
2993
+ frame.setJMenuBar(timelineMenubar);
2994
+ wasFullScreen = CameraPane.FULLSCREEN;
2995
+ if (!CameraPane.FULLSCREEN)
2996
+ ToggleFullScreen();
2997
+ toggleFullScreenItem.setEnabled(false);
29602998 }
2999
+ else
3000
+ {
3001
+ centralPanel.remove(timelinePanel);
3002
+ centralPanel.add(cameraView);
3003
+ frame.setJMenuBar(null);
3004
+ if (!wasFullScreen)
3005
+ ToggleFullScreen();
3006
+ toggleFullScreenItem.setEnabled(true);
3007
+ }
3008
+
29613009 frame.validate();
2962
- cameraView.ToggleFullScreen();
3010
+ return;
3011
+ } else if (event.getSource() == toggleFullScreenItem)
3012
+ {
3013
+ ToggleFullScreen();
3014
+ frame.validate();
29633015
29643016 return;
29653017 } else if (event.getSource() == toggleRandomItem)
....@@ -3208,9 +3260,9 @@
32083260 cameraView.RevertCamera();
32093261 cameraView.repaint();
32103262 return;
3211
- } else if (event.getSource() == textureButton)
3212
- {
3213
- return; // true;
3263
+// } else if (event.getSource() == textureButton)
3264
+// {
3265
+// return; // true;
32143266 } else // combos...
32153267 if (event.getSource() == texresMenu)
32163268 {
....@@ -3537,8 +3589,11 @@
35373589
35383590 void SnapObject()
35393591 {
3540
- Object3D obj = (Object3D)copy.selection.elementAt(0);
3541
- SnapObject(obj);
3592
+ if (copy.selection.size() > 0)
3593
+ {
3594
+ Object3D obj = (Object3D)copy.selection.elementAt(0);
3595
+ SnapObject(obj);
3596
+ }
35423597 }
35433598
35443599 void SnapObject(Object3D obj)
....@@ -3652,7 +3707,7 @@
36523707
36533708 if (obj.parent != null)
36543709 {
3655
- obj.parent.TransformToWorld(interest);
3710
+// obj.parent.TransformToWorld(interest);
36563711 }
36573712
36583713 if (!CameraPane.TRACK)
....@@ -4432,7 +4487,8 @@
44324487 MenuItem revertCameraItem;
44334488 CheckboxMenuItem toggleLiveItem;
44344489 MenuItem stepItem;
4435
- CheckboxMenuItem toggleFullItem;
4490
+ CheckboxMenuItem toggleFullScreenItem;
4491
+ CheckboxMenuItem toggleTimelineItem;
44364492 CheckboxMenuItem toggleRenderItem;
44374493 CheckboxMenuItem toggleDebugItem;
44384494 CheckboxMenuItem toggleFrustumItem;
....@@ -4459,11 +4515,13 @@
44594515 JSplitPane gridPanel;
44604516 JSplitPane bigPanel;
44614517 JPanel bigThree;
4462
- JTabbedPane jtp;
4463
- JPanel cameraPanel;
4518
+ JTabbedPane scenePanel;
4519
+ JPanel centralPanel;
4520
+ JPanel timelinePanel;
4521
+ JMenuBar timelineMenubar;
44644522 JSplitPane framePanel;
44654523 JTextArea/*Field*/ nameField;
4466
- cButton textureButton;
4524
+ //cButton textureButton;
44674525 cButton okButton;
44684526 cButton applyButton;
44694527 cButton cancelButton;