.. | .. |
---|
28 | 28 | iSendInfo |
---|
29 | 29 | //KeyListener |
---|
30 | 30 | { |
---|
| 31 | + boolean timeline; |
---|
| 32 | + boolean wasFullScreen; |
---|
31 | 33 | |
---|
| 34 | + GroupEditor callee; |
---|
| 35 | + JFrame frame; |
---|
| 36 | + |
---|
32 | 37 | // SCRIPT |
---|
33 | 38 | |
---|
34 | 39 | transient JFrame textpanel = null; |
---|
.. | .. |
---|
119 | 124 | void keyPressed(int key, int modifiers) |
---|
120 | 125 | { |
---|
121 | 126 | System.out.println("KEY PRESSED"); |
---|
122 | | - CameraPane.theRenderer.keyPressed(key, modifiers); |
---|
| 127 | + Globals.theRenderer.keyPressed(key, modifiers); |
---|
123 | 128 | } |
---|
124 | 129 | */ |
---|
125 | 130 | |
---|
126 | 131 | static GridBagConstraints aConstraints; |
---|
127 | 132 | static GridBagConstraints aWindowConstraints; |
---|
128 | | - GroupEditor callee; |
---|
129 | | - JFrame frame; |
---|
| 133 | + |
---|
130 | 134 | static int GRIDWIDTH = 100; // 4; |
---|
131 | 135 | |
---|
132 | 136 | public void closeUI() |
---|
.. | .. |
---|
158 | 162 | objEditor.ctrlPanel.remove(slowerButton); |
---|
159 | 163 | objEditor.ctrlPanel.remove(fasterButton); |
---|
160 | 164 | objEditor.ctrlPanel.remove(remarkButton); |
---|
| 165 | + |
---|
| 166 | + Remove(normalpushField); |
---|
161 | 167 | } |
---|
162 | 168 | |
---|
163 | 169 | public ObjEditor GetEditor() |
---|
164 | 170 | { |
---|
165 | 171 | return objEditor; //.GetEditor(); |
---|
166 | 172 | } |
---|
| 173 | + |
---|
| 174 | + // Sometimes myself, sometimes my callee's. |
---|
167 | 175 | ObjEditor objEditor; |
---|
168 | 176 | |
---|
169 | 177 | /* |
---|
.. | .. |
---|
238 | 246 | //if (!isDisplayable()) |
---|
239 | 247 | //setUndecorated(true); |
---|
240 | 248 | |
---|
241 | | - System.out.println("getFullScreenWindow? " + gd.getFullScreenWindow()); |
---|
| 249 | + //System.out.println("getFullScreenWindow? " + gd.getFullScreenWindow()); |
---|
242 | 250 | client = inClient; |
---|
243 | 251 | copy = localCopy; |
---|
244 | 252 | copy.editWindow = this; |
---|
.. | .. |
---|
292 | 300 | //normalLensItem.addActionListener(this); |
---|
293 | 301 | cameraMenu.add(revertCameraItem = new MenuItem("Revert Camera")); |
---|
294 | 302 | 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); |
---|
298 | 308 | cameraMenu.add("-"); |
---|
299 | 309 | cameraMenu.add(toggleTextureItem = new CheckboxMenuItem("Texture")); |
---|
300 | 310 | toggleTextureItem.addItemListener(this); |
---|
301 | 311 | toggleTextureItem.setState(CameraPane.textureon); |
---|
302 | 312 | cameraMenu.add(toggleLiveItem = new CheckboxMenuItem("Live")); |
---|
303 | 313 | toggleLiveItem.addItemListener(this); |
---|
304 | | - toggleLiveItem.setState(CameraPane.isLIVE()); |
---|
| 314 | + toggleLiveItem.setState(Globals.isLIVE()); |
---|
305 | 315 | cameraMenu.add(stepItem = new MenuItem("Step")); |
---|
306 | 316 | stepItem.addActionListener(this); |
---|
307 | 317 | // cameraMenu.add(toggleDLItem = new CheckboxMenuItem("Display List")); |
---|
.. | .. |
---|
522 | 532 | maxima.y = sel.toParent[3][1]; |
---|
523 | 533 | maxima.z = sel.toParent[3][2]; |
---|
524 | 534 | 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"); |
---|
530 | 535 | maxima.x = sel.toParent[0][0]; |
---|
531 | 536 | maxima.y = sel.toParent[1][1]; |
---|
532 | 537 | maxima.z = sel.toParent[2][2]; |
---|
533 | 538 | 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]; |
---|
537 | 547 | if (full) |
---|
538 | 548 | si.SendInfo(" Global Scale: " + maxima, "regular"); |
---|
539 | 549 | } |
---|
.. | .. |
---|
593 | 603 | System.err.println("Couldn't insert initial text into text pane."); |
---|
594 | 604 | } |
---|
595 | 605 | } |
---|
| 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 | + } |
---|
596 | 622 | |
---|
597 | 623 | private JTextArea createTextPane() |
---|
598 | 624 | { |
---|
.. | .. |
---|
692 | 718 | protected static ImageIcon createImageIcon(String path, |
---|
693 | 719 | String description) |
---|
694 | 720 | { |
---|
695 | | - java.net.URL imgURL = GraphreeD.class.getResource(path); |
---|
| 721 | + java.net.URL imgURL = GrafreeD.class.getResource(path); |
---|
696 | 722 | if (imgURL != null) |
---|
697 | 723 | { |
---|
698 | 724 | return new ImageIcon(imgURL, description); |
---|
.. | .. |
---|
794 | 820 | |
---|
795 | 821 | aConstraints.fill = GridBagConstraints.VERTICAL; |
---|
796 | 822 | jlabel.setHorizontalAlignment(SwingConstants.TRAILING); |
---|
797 | | - aConstraints.gridwidth = 2; |
---|
| 823 | + aConstraints.gridwidth = 1; |
---|
798 | 824 | ctrlPanel.add(jlabel, aConstraints); //, oe.ctrlPanel.getComponentCount()-1); |
---|
799 | 825 | aConstraints.gridx += 1; |
---|
800 | 826 | aConstraints.fill = GridBagConstraints.HORIZONTAL; |
---|
.. | .. |
---|
963 | 989 | |
---|
964 | 990 | Return(); |
---|
965 | 991 | |
---|
| 992 | + normalpushField = AddSlider(oe.ctrlPanel, "Push", -10, 10, 0, -1); |
---|
| 993 | + Return(); |
---|
| 994 | + |
---|
966 | 995 | // oe.ctrlPanel.add(stepButton = new cButton("Step"), ObjEditor.aConstraints, oe.ctrlPanel.getComponentCount() - 2); |
---|
967 | 996 | // ObjEditor.aConstraints.gridx += 1; |
---|
968 | 997 | |
---|
.. | .. |
---|
1107 | 1136 | //frontScroll.setLabel("------------------------------ XZ (front) ---------------------------------------------------"); |
---|
1108 | 1137 | //sideScroll.setLabel("------------------------------- YZ (side) ---------------------------------------------------"); |
---|
1109 | 1138 | |
---|
1110 | | -// GridBagConstraints gbc = (GridBagConstraints) GraphreeD.clone(aConstraints); |
---|
| 1139 | +// GridBagConstraints gbc = (GridBagConstraints) GrafreeD.clone(aConstraints); |
---|
1111 | 1140 | Camera cam = GetCamera(copy, 0); |
---|
1112 | 1141 | |
---|
1113 | 1142 | Composite cams = null; |
---|
.. | .. |
---|
1158 | 1187 | //JPanel worldPanel = |
---|
1159 | 1188 | // new gov.nasa.worldwind.examples.ApplicationTemplate.AppPanel(null, true); |
---|
1160 | 1189 | //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); |
---|
1164 | 1193 | |
---|
| 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 | + |
---|
1165 | 1205 | //topView.camera = ; |
---|
1166 | 1206 | //frontView.camera = new Camera(2); |
---|
1167 | 1207 | //sideView.camera = new Camera(3); |
---|
.. | .. |
---|
1191 | 1231 | gridPanel.add(cameraView); |
---|
1192 | 1232 | gridPanel.add(XYZPanel); |
---|
1193 | 1233 | */ |
---|
1194 | | - gridPanel = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, cameraPanel, XYZPanel); //new BorderLayout()); |
---|
| 1234 | + gridPanel = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, centralPanel, XYZPanel); //new BorderLayout()); |
---|
1195 | 1235 | gridPanel.setContinuousLayout(true); |
---|
1196 | 1236 | gridPanel.setOneTouchExpandable(true); |
---|
1197 | 1237 | gridPanel.setDividerLocation(1.0); |
---|
.. | .. |
---|
1244 | 1284 | scrollpane.setWheelScrollingEnabled(true); |
---|
1245 | 1285 | scrollpane.addMouseWheelListener(this); // Default not fast enough |
---|
1246 | 1286 | |
---|
1247 | | - /*JTabbedPane*/ jtp = new JTabbedPane(); |
---|
1248 | | - jtp.add(scrollpane); |
---|
| 1287 | + /*JTabbedPane*/ scenePanel = new JTabbedPane(); |
---|
| 1288 | + scenePanel.add(scrollpane); |
---|
1249 | 1289 | |
---|
1250 | | - jtp.add(FSPane = new cFileSystemPane(this)); |
---|
| 1290 | + scenePanel.add(FSPane = new cFileSystemPane(this)); |
---|
1251 | 1291 | |
---|
1252 | 1292 | optionsPanel = new JPanel(new GridBagLayout()); |
---|
1253 | 1293 | |
---|
1254 | 1294 | optionsPanel.setName("Options"); |
---|
1255 | | - jtp.add(optionsPanel); |
---|
| 1295 | + scenePanel.add(optionsPanel); |
---|
1256 | 1296 | |
---|
1257 | 1297 | |
---|
1258 | 1298 | /* |
---|
.. | .. |
---|
1275 | 1315 | jtp.add(tree); |
---|
1276 | 1316 | */ |
---|
1277 | 1317 | |
---|
1278 | | - bigPanel = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, jtp, gridPanel); |
---|
| 1318 | + bigPanel = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, scenePanel, gridPanel); |
---|
1279 | 1319 | bigPanel.setContinuousLayout(true); |
---|
1280 | 1320 | bigPanel.setOneTouchExpandable(true); |
---|
1281 | 1321 | bigPanel.setDividerLocation(0.8); |
---|
.. | .. |
---|
1297 | 1337 | aWindowConstraints.fill = GridBagConstraints.VERTICAL; |
---|
1298 | 1338 | aWindowConstraints.weightx = 0; |
---|
1299 | 1339 | aWindowConstraints.weighty = 1; |
---|
1300 | | - bigThree.add(jtp, aWindowConstraints); |
---|
| 1340 | + bigThree.add(scenePanel, aWindowConstraints); |
---|
1301 | 1341 | aWindowConstraints.weightx = 1; |
---|
1302 | 1342 | aWindowConstraints.gridwidth = 3; |
---|
1303 | 1343 | // aConstraints.gridheight = 3; |
---|
1304 | 1344 | aWindowConstraints.gridx = 1; |
---|
1305 | 1345 | aWindowConstraints.fill = GridBagConstraints.BOTH; |
---|
1306 | | - bigThree.add(cameraPanel, aWindowConstraints); |
---|
| 1346 | + bigThree.add(centralPanel, aWindowConstraints); |
---|
1307 | 1347 | aWindowConstraints.weightx = 0; |
---|
1308 | 1348 | aWindowConstraints.gridx = 4; |
---|
1309 | 1349 | aWindowConstraints.gridwidth = 1; |
---|
.. | .. |
---|
1331 | 1371 | //worldPane.add(bigPanel); |
---|
1332 | 1372 | //worldPane.add(worldPanel); |
---|
1333 | 1373 | /**/ |
---|
1334 | | - frame.getContentPane().add(/*"Center",*/framePanel); |
---|
| 1374 | + //frame.getContentPane().add(/*"Center",*/framePanel); |
---|
| 1375 | + frame.add(/*"Center",*/framePanel); |
---|
1335 | 1376 | //frame.getContentPane().add(/*"Center",*/ worldPane); |
---|
1336 | 1377 | |
---|
1337 | | -// aConstraints = gbc; // (GridBagConstraints) GraphreeD.clone(gbc); |
---|
| 1378 | +// aConstraints = gbc; // (GridBagConstraints) GrafreeD.clone(gbc); |
---|
1338 | 1379 | |
---|
1339 | | - frame.setSize(800, 600); |
---|
| 1380 | + frame.setSize(1024, 768); |
---|
1340 | 1381 | frame.show(); |
---|
1341 | 1382 | |
---|
1342 | 1383 | gridPanel.setDividerLocation(1.0); |
---|
.. | .. |
---|
1422 | 1463 | aConstraints.gridx += 1; |
---|
1423 | 1464 | aConstraints.gridwidth = ObjEditor.GRIDWIDTH; |
---|
1424 | 1465 | //aConstraints.weightx = 0; |
---|
1425 | | - ctrlPanel.add(colorField = new NumberSlider(0.001, 1, -0.1), aConstraints); |
---|
| 1466 | + ctrlPanel.add(colorField = new NumberSlider(0.001, 1, -0.5), aConstraints); |
---|
1426 | 1467 | aConstraints.gridx = 0; |
---|
1427 | 1468 | aConstraints.gridy += 1; |
---|
1428 | 1469 | aConstraints.gridwidth = 1; |
---|
.. | .. |
---|
1432 | 1473 | aConstraints.fill = GridBagConstraints.HORIZONTAL; |
---|
1433 | 1474 | aConstraints.gridx += 1; |
---|
1434 | 1475 | aConstraints.gridwidth = ObjEditor.GRIDWIDTH; |
---|
1435 | | - ctrlPanel.add(modulationField = new NumberSlider(0.001, 1, -0.1), aConstraints); |
---|
| 1476 | + ctrlPanel.add(modulationField = new NumberSlider(0.001, 1, -0.5), aConstraints); |
---|
1436 | 1477 | aConstraints.gridx = 0; |
---|
1437 | 1478 | aConstraints.gridy += 1; |
---|
1438 | 1479 | aConstraints.gridwidth = 1; |
---|
.. | .. |
---|
1442 | 1483 | aConstraints.fill = GridBagConstraints.HORIZONTAL; |
---|
1443 | 1484 | aConstraints.gridx += 1; |
---|
1444 | 1485 | aConstraints.gridwidth = ObjEditor.GRIDWIDTH; |
---|
1445 | | - ctrlPanel.add(textureField = new NumberSlider(0.001, 1, -0.1), aConstraints); |
---|
| 1486 | + ctrlPanel.add(textureField = new NumberSlider(0.001, 1, -0.5), aConstraints); |
---|
1446 | 1487 | aConstraints.gridx = 0; |
---|
1447 | 1488 | aConstraints.gridy += 1; |
---|
1448 | 1489 | aConstraints.gridwidth = 1; |
---|
.. | .. |
---|
1452 | 1493 | aConstraints.fill = GridBagConstraints.HORIZONTAL; |
---|
1453 | 1494 | aConstraints.gridx += 1; |
---|
1454 | 1495 | aConstraints.gridwidth = ObjEditor.GRIDWIDTH; |
---|
1455 | | - ctrlPanel.add(anisoField = new NumberSlider(0.001, 1, -0.1), aConstraints); |
---|
| 1496 | + ctrlPanel.add(anisoField = new NumberSlider(0.001, 1, -0.5), aConstraints); |
---|
1456 | 1497 | aConstraints.gridx = 0; |
---|
1457 | 1498 | aConstraints.gridy += 1; |
---|
1458 | 1499 | aConstraints.gridwidth = 1; |
---|
.. | .. |
---|
1462 | 1503 | aConstraints.fill = GridBagConstraints.HORIZONTAL; |
---|
1463 | 1504 | aConstraints.gridx += 1; |
---|
1464 | 1505 | aConstraints.gridwidth = ObjEditor.GRIDWIDTH; |
---|
1465 | | - ctrlPanel.add(anisoVField = new NumberSlider(0.001, 1, -0.1), aConstraints); |
---|
| 1506 | + ctrlPanel.add(anisoVField = new NumberSlider(0.001, 1, -0.5), aConstraints); |
---|
1466 | 1507 | aConstraints.gridx = 0; |
---|
1467 | 1508 | aConstraints.gridy += 1; |
---|
1468 | 1509 | aConstraints.gridwidth = 1; |
---|
.. | .. |
---|
1531 | 1572 | aConstraints.fill = GridBagConstraints.HORIZONTAL; |
---|
1532 | 1573 | aConstraints.gridx += 1; |
---|
1533 | 1574 | aConstraints.gridwidth = ObjEditor.GRIDWIDTH; |
---|
1534 | | - ctrlPanel.add(subsurfaceField = new NumberSlider(0.001, 1, -0.1), aConstraints); |
---|
| 1575 | + ctrlPanel.add(subsurfaceField = new NumberSlider(0.001, 1, -0.5), aConstraints); |
---|
1535 | 1576 | aConstraints.gridx = 0; |
---|
1536 | 1577 | aConstraints.gridy += 1; |
---|
1537 | 1578 | aConstraints.gridwidth = 1; |
---|
.. | .. |
---|
1600 | 1641 | aConstraints.fill = GridBagConstraints.HORIZONTAL; |
---|
1601 | 1642 | aConstraints.gridx += 1; |
---|
1602 | 1643 | aConstraints.gridwidth = ObjEditor.GRIDWIDTH; |
---|
1603 | | - ctrlPanel.add(metalnessField = new NumberSlider(0.001, 1, -0.1), aConstraints); |
---|
| 1644 | + ctrlPanel.add(metalnessField = new NumberSlider(0.001, 1, -0.5), aConstraints); |
---|
1604 | 1645 | aConstraints.gridx = 0; |
---|
1605 | 1646 | aConstraints.gridy += 1; |
---|
1606 | 1647 | aConstraints.gridwidth = 1; |
---|
.. | .. |
---|
1671 | 1712 | aConstraints.fill = GridBagConstraints.HORIZONTAL; |
---|
1672 | 1713 | aConstraints.gridx += 1; |
---|
1673 | 1714 | aConstraints.gridwidth = ObjEditor.GRIDWIDTH; |
---|
1674 | | - ctrlPanel.add(opacityField = new NumberSlider(0.001, 1, -0.1), aConstraints); |
---|
| 1715 | + ctrlPanel.add(opacityField = new NumberSlider(0.001, 1, -0.5), aConstraints); |
---|
1675 | 1716 | aConstraints.gridx = 0; |
---|
1676 | 1717 | aConstraints.gridy += 1; |
---|
1677 | 1718 | aConstraints.gridwidth = 1; |
---|
.. | .. |
---|
1859 | 1900 | } |
---|
1860 | 1901 | |
---|
1861 | 1902 | // 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"))) |
---|
| 1903 | + if (filename.toLowerCase().endsWith(".jpg") |
---|
| 1904 | + || filename.toLowerCase().endsWith(".jpeg") |
---|
| 1905 | + || filename.toLowerCase().endsWith(".gif") |
---|
| 1906 | + || filename.toLowerCase().endsWith(".png") |
---|
| 1907 | + || filename.toLowerCase().endsWith(".tre") |
---|
| 1908 | + || filename.toLowerCase().endsWith(".bmp") |
---|
| 1909 | + || filename.toLowerCase().endsWith(".tga") |
---|
| 1910 | + || filename.toLowerCase().endsWith(".sgi") |
---|
| 1911 | + || filename.toLowerCase().endsWith(".tif") |
---|
| 1912 | + || filename.toLowerCase().endsWith(".tiff")) |
---|
1873 | 1913 | { |
---|
1874 | | - DropTexture(filename); |
---|
| 1914 | + if (textures) |
---|
| 1915 | + DropTexture(filename); |
---|
| 1916 | + else |
---|
| 1917 | + CreateBillboard(filename); |
---|
1875 | 1918 | continue; |
---|
1876 | 1919 | } |
---|
1877 | 1920 | |
---|
.. | .. |
---|
1880 | 1923 | } |
---|
1881 | 1924 | |
---|
1882 | 1925 | ResetModel(); |
---|
| 1926 | + } |
---|
| 1927 | + |
---|
| 1928 | + void CreateBillboard(String filename) |
---|
| 1929 | + { |
---|
| 1930 | + Object3D source = null; |
---|
| 1931 | + Object3D group = copy; |
---|
| 1932 | + |
---|
| 1933 | + if (group.selection.size() > 0) |
---|
| 1934 | + { |
---|
| 1935 | + source = group.selection.get(0); |
---|
| 1936 | + } |
---|
| 1937 | + |
---|
| 1938 | + Grid grid = new Grid(1,1); |
---|
| 1939 | + grid.material = null; |
---|
| 1940 | + |
---|
| 1941 | + grid.toParent = LA.newMatrix(); |
---|
| 1942 | + grid.fromParent = LA.newMatrix(); |
---|
| 1943 | + LA.matYRotate(grid.toParent, Math.PI/2); |
---|
| 1944 | + LA.matXRotate(grid.toParent, -Math.PI/2); |
---|
| 1945 | + LA.matXRotate(grid.fromParent, Math.PI/2); |
---|
| 1946 | + LA.matYRotate(grid.fromParent, -Math.PI/2); |
---|
| 1947 | + |
---|
| 1948 | + BillboardNode bb = new BillboardNode(); |
---|
| 1949 | + bb.addChild(grid); |
---|
| 1950 | + |
---|
| 1951 | + Object3D newgroup = new Object3D(); |
---|
| 1952 | + newgroup.CreateMaterial(); |
---|
| 1953 | + |
---|
| 1954 | + File file = new File(filename); |
---|
| 1955 | + newgroup.name = file.getName(); |
---|
| 1956 | + newgroup.addChild(bb); |
---|
| 1957 | + |
---|
| 1958 | + Object3D main = newgroup; |
---|
| 1959 | + |
---|
| 1960 | + main.SetPigmentTexture(filename); |
---|
| 1961 | + |
---|
| 1962 | + if (source != null) |
---|
| 1963 | + { |
---|
| 1964 | + main.material = new cMaterial(source.material); |
---|
| 1965 | + if (main.projectedVertices.length < source.projectedVertices.length) |
---|
| 1966 | + { |
---|
| 1967 | + main.projectedVertices = new Object3D.cVector2[source.projectedVertices.length]; |
---|
| 1968 | + } |
---|
| 1969 | + |
---|
| 1970 | + for (int i=0; i<source.projectedVertices.length; i++) |
---|
| 1971 | + { |
---|
| 1972 | + main.projectedVertices[i].x = source.projectedVertices[i].x; |
---|
| 1973 | + main.projectedVertices[i].y = source.projectedVertices[i].y; |
---|
| 1974 | + } |
---|
| 1975 | + |
---|
| 1976 | + main.texres = source.texres; |
---|
| 1977 | + } |
---|
| 1978 | + |
---|
| 1979 | + makeSomething(newgroup, false); |
---|
1883 | 1980 | } |
---|
1884 | 1981 | |
---|
1885 | 1982 | Point location; |
---|
.. | .. |
---|
2138 | 2235 | { |
---|
2139 | 2236 | Mocap sel = (Mocap) copy.selection.get(0); |
---|
2140 | 2237 | |
---|
| 2238 | + sel.SetCurrentBones(sel.frame); |
---|
| 2239 | + |
---|
2141 | 2240 | sel.fullname = fullname; |
---|
2142 | 2241 | |
---|
2143 | 2242 | if (changename) |
---|
.. | .. |
---|
2151 | 2250 | sel.smoothed = false; |
---|
2152 | 2251 | |
---|
2153 | 2252 | // if (!changename) |
---|
2154 | | - sel.SetPositionDelta(false, true, true, true/*?*/); // false |
---|
| 2253 | + //sel.SetPositionDelta(false, true, true, true/*?*/); // false |
---|
| 2254 | + sel.SetGlobalTransform(); |
---|
| 2255 | + sel.LoadData(); |
---|
| 2256 | + sel.Rewind(); |
---|
| 2257 | + sel.Fade(); |
---|
2155 | 2258 | // sel.setPose(0); |
---|
2156 | 2259 | refreshContents(); |
---|
2157 | 2260 | } else |
---|
2158 | 2261 | { |
---|
2159 | 2262 | mocap.Reset(); |
---|
2160 | 2263 | // new skeleton |
---|
2161 | | - makeSomething(mocap, false); // true); |
---|
| 2264 | + makeSomething(mocap, true); // true); |
---|
2162 | 2265 | } |
---|
2163 | 2266 | } catch (Exception e) |
---|
2164 | 2267 | { |
---|
.. | .. |
---|
2185 | 2288 | { |
---|
2186 | 2289 | Mocap sel = (Mocap) select; |
---|
2187 | 2290 | |
---|
| 2291 | + sel.SetCurrentBones(sel.frame); |
---|
| 2292 | + |
---|
2188 | 2293 | File file = new File(fullname); |
---|
2189 | 2294 | |
---|
2190 | 2295 | // Mocap mocap = new Mocap("Mocap" + file.getName()); |
---|
.. | .. |
---|
2251 | 2356 | |
---|
2252 | 2357 | if (!changename) |
---|
2253 | 2358 | { |
---|
2254 | | - sel.SetPositionDelta(false, true, true, true/*?*/); |
---|
| 2359 | + //sel.SetPositionDelta(false, true, true, true/*?*/); |
---|
| 2360 | + sel.SetGlobalTransform(); |
---|
| 2361 | + sel.LoadData(); |
---|
| 2362 | + sel.Rewind(); |
---|
| 2363 | + sel.Fade(); |
---|
2255 | 2364 | } |
---|
2256 | 2365 | |
---|
2257 | 2366 | // sel.setPose(0); |
---|
.. | .. |
---|
2345 | 2454 | |
---|
2346 | 2455 | void ImportJME(com.jmex.model.converters.FormatConverter converter, String ext, String dialogName) |
---|
2347 | 2456 | { |
---|
2348 | | - if (GraphreeD.standAlone) |
---|
| 2457 | + if (GrafreeD.standAlone) |
---|
2349 | 2458 | { |
---|
2350 | 2459 | /**/ |
---|
2351 | 2460 | FileDialog browser = new FileDialog(frame, dialogName, FileDialog.LOAD); |
---|
.. | .. |
---|
2890 | 2999 | // june 2013 copy.HardTouch(); |
---|
2891 | 3000 | cameraView.repaint(); |
---|
2892 | 3001 | return; |
---|
2893 | | - } else if (event.getSource() == toggleFullItem) |
---|
| 3002 | + } else if (event.getSource() == toggleTimelineItem) |
---|
2894 | 3003 | { |
---|
2895 | | - if (CameraPane.FULLSCREEN) |
---|
| 3004 | + timeline ^= true; |
---|
| 3005 | + |
---|
| 3006 | + if (timeline) |
---|
2896 | 3007 | { |
---|
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); |
---|
| 3008 | + centralPanel.remove(cameraView); |
---|
| 3009 | + cameraPanel.add(cameraView); |
---|
| 3010 | + centralPanel.add(cameraPanel); |
---|
| 3011 | + frame.setJMenuBar(timelineMenubar); |
---|
| 3012 | + wasFullScreen = CameraPane.FULLSCREEN; |
---|
| 3013 | + if (!CameraPane.FULLSCREEN) |
---|
| 3014 | + ToggleFullScreen(); |
---|
| 3015 | + toggleFullScreenItem.setEnabled(false); |
---|
2904 | 3016 | } |
---|
| 3017 | + else |
---|
| 3018 | + { |
---|
| 3019 | + centralPanel.remove(cameraPanel); |
---|
| 3020 | + centralPanel.add(cameraView); |
---|
| 3021 | + frame.setJMenuBar(null); |
---|
| 3022 | + if (!wasFullScreen) |
---|
| 3023 | + ToggleFullScreen(); |
---|
| 3024 | + toggleFullScreenItem.setEnabled(true); |
---|
| 3025 | + } |
---|
| 3026 | + |
---|
2905 | 3027 | frame.validate(); |
---|
2906 | | - cameraView.ToggleFullScreen(); |
---|
| 3028 | + return; |
---|
| 3029 | + } else if (event.getSource() == toggleFullScreenItem) |
---|
| 3030 | + { |
---|
| 3031 | + ToggleFullScreen(); |
---|
| 3032 | + frame.validate(); |
---|
2907 | 3033 | |
---|
2908 | 3034 | return; |
---|
2909 | 3035 | } else if (event.getSource() == toggleRandomItem) |
---|
.. | .. |
---|
3013 | 3139 | objEditor.refreshContents(); |
---|
3014 | 3140 | } else if (event.getSource() == stepItem) |
---|
3015 | 3141 | { |
---|
3016 | | - cameraView.ONESTEP = true; |
---|
| 3142 | + //cameraView.ONESTEP = true; |
---|
| 3143 | + Globals.ONESTEP = true; |
---|
3017 | 3144 | cameraView.repaint(); |
---|
3018 | 3145 | return; |
---|
3019 | 3146 | } else if (event.getSource() == stepButton) |
---|
.. | .. |
---|
3152 | 3279 | cameraView.RevertCamera(); |
---|
3153 | 3280 | cameraView.repaint(); |
---|
3154 | 3281 | return; |
---|
3155 | | - } else if (event.getSource() == textureButton) |
---|
3156 | | - { |
---|
3157 | | - return; // true; |
---|
| 3282 | +// } else if (event.getSource() == textureButton) |
---|
| 3283 | +// { |
---|
| 3284 | +// return; // true; |
---|
3158 | 3285 | } else // combos... |
---|
3159 | 3286 | if (event.getSource() == texresMenu) |
---|
3160 | 3287 | { |
---|
.. | .. |
---|
3170 | 3297 | |
---|
3171 | 3298 | void ToggleAnimation() |
---|
3172 | 3299 | { |
---|
3173 | | - if (!CameraPane.ANIMATION) |
---|
| 3300 | + if (!Globals.ANIMATION) |
---|
3174 | 3301 | { |
---|
3175 | 3302 | FileDialog browser = new FileDialog(frame, "Save Animation As...", FileDialog.SAVE); |
---|
3176 | 3303 | browser.show(); |
---|
3177 | 3304 | String filename = browser.getFile(); |
---|
3178 | 3305 | if (filename != null && filename.length() > 0) |
---|
3179 | 3306 | { |
---|
3180 | | - CameraPane.filename = browser.getDirectory() + filename; |
---|
| 3307 | + Globals.filename = browser.getDirectory() + filename; |
---|
3181 | 3308 | //CameraPane.framecount = 0; |
---|
3182 | | - CameraPane.imagecount = 0; |
---|
| 3309 | + Globals.imagecount = 0; |
---|
3183 | 3310 | |
---|
3184 | | - CameraPane.ANIMATION ^= true; |
---|
| 3311 | + Globals.ANIMATION ^= true; |
---|
3185 | 3312 | |
---|
3186 | | - GraphreeD.wav.cursor = 0; |
---|
3187 | | - GraphreeD.wav.loop = 0; |
---|
| 3313 | + GrafreeD.wav.cursor = 0; |
---|
| 3314 | + GrafreeD.wav.loop = 0; |
---|
3188 | 3315 | } |
---|
3189 | 3316 | } else |
---|
3190 | 3317 | { |
---|
3191 | | - CameraPane.ANIMATION ^= true; |
---|
| 3318 | + Globals.ANIMATION ^= true; |
---|
3192 | 3319 | } |
---|
3193 | 3320 | } |
---|
3194 | 3321 | |
---|
.. | .. |
---|
3441 | 3568 | //System.out.println("PARENT = " + parent); |
---|
3442 | 3569 | //if (parent != null) |
---|
3443 | 3570 | // parent.applySelf(); |
---|
3444 | | - refreshContents(); |
---|
| 3571 | + if (e.getSource() == normalpushField) |
---|
| 3572 | + { |
---|
| 3573 | + objEditor.refreshContents(); |
---|
| 3574 | + //Refresh(); |
---|
| 3575 | + } |
---|
| 3576 | + else |
---|
| 3577 | + refreshContents(); |
---|
3445 | 3578 | // ??? client.refreshEditWindow(); |
---|
3446 | 3579 | } |
---|
3447 | 3580 | //else |
---|
.. | .. |
---|
3453 | 3586 | //group.name = nameField.getText(); |
---|
3454 | 3587 | //objEditor.applySelf(); |
---|
3455 | 3588 | |
---|
3456 | | - assert (objEditor == this); |
---|
| 3589 | + // OCT2018: assert (objEditor == this); |
---|
3457 | 3590 | if (copy.selection == null || copy.selection.size() == 0) |
---|
3458 | 3591 | //super.applySelf() |
---|
3459 | 3592 | ; else |
---|
.. | .. |
---|
3477 | 3610 | objEditor.copy = keep; |
---|
3478 | 3611 | } |
---|
3479 | 3612 | } |
---|
| 3613 | + |
---|
| 3614 | + if (normalpushField != null) |
---|
| 3615 | + copy.NORMALPUSH = (float)normalpushField.getFloat()/1000; |
---|
3480 | 3616 | } |
---|
3481 | 3617 | |
---|
3482 | 3618 | void SnapObject() |
---|
3483 | 3619 | { |
---|
3484 | | - Object3D obj = (Object3D)copy.selection.elementAt(0); |
---|
3485 | | - SnapObject(obj); |
---|
| 3620 | + if (copy.selection.size() > 0) |
---|
| 3621 | + { |
---|
| 3622 | + Object3D obj = (Object3D)copy.selection.elementAt(0); |
---|
| 3623 | + SnapObject(obj); |
---|
| 3624 | + } |
---|
3486 | 3625 | } |
---|
3487 | 3626 | |
---|
3488 | 3627 | void SnapObject(Object3D obj) |
---|
.. | .. |
---|
3596 | 3735 | |
---|
3597 | 3736 | if (obj.parent != null) |
---|
3598 | 3737 | { |
---|
3599 | | - obj.parent.TransformToWorld(interest); |
---|
| 3738 | +// obj.parent.TransformToWorld(interest); |
---|
3600 | 3739 | } |
---|
3601 | 3740 | |
---|
3602 | 3741 | if (!CameraPane.TRACK) |
---|
.. | .. |
---|
4085 | 4224 | |
---|
4086 | 4225 | void load() // throws ClassNotFoundException |
---|
4087 | 4226 | { |
---|
4088 | | - if (GraphreeD.standAlone) |
---|
| 4227 | + if (GrafreeD.standAlone) |
---|
4089 | 4228 | { |
---|
4090 | 4229 | FileDialog browser = new FileDialog(frame, "Load", FileDialog.LOAD); |
---|
4091 | 4230 | browser.show(); |
---|
.. | .. |
---|
4190 | 4329 | |
---|
4191 | 4330 | void saveAs() |
---|
4192 | 4331 | { |
---|
4193 | | - if (GraphreeD.standAlone) |
---|
| 4332 | + if (GrafreeD.standAlone) |
---|
4194 | 4333 | { |
---|
4195 | 4334 | FileDialog browser = new FileDialog(frame, "Save As", FileDialog.SAVE); |
---|
4196 | 4335 | browser.setVisible(true); |
---|
.. | .. |
---|
4213 | 4352 | |
---|
4214 | 4353 | Object3D object = copy.selection.get(0); |
---|
4215 | 4354 | |
---|
| 4355 | + FileObject fileobj = null; |
---|
| 4356 | + |
---|
| 4357 | + if (object instanceof FileObject) |
---|
| 4358 | + fileobj = (FileObject)object; |
---|
| 4359 | + |
---|
4216 | 4360 | if (object.fileparent != null) |
---|
4217 | 4361 | { |
---|
4218 | | - FileObject fileobj = (FileObject) object.fileparent; |
---|
| 4362 | + assert(fileobj == null); |
---|
4219 | 4363 | |
---|
| 4364 | + fileobj = (FileObject) object.fileparent; |
---|
| 4365 | + } |
---|
| 4366 | + |
---|
| 4367 | + if (fileobj != null) |
---|
| 4368 | + { |
---|
4220 | 4369 | System.out.println("WriteObject " + object + " : " + fileobj.name); |
---|
4221 | 4370 | WriteObject(object, fileobj.name); |
---|
4222 | 4371 | } |
---|
.. | .. |
---|
4259 | 4408 | } |
---|
4260 | 4409 | } |
---|
4261 | 4410 | else |
---|
4262 | | - //if (GraphreeD.standAlone) |
---|
| 4411 | + //if (GrafreeD.standAlone) |
---|
4263 | 4412 | { |
---|
4264 | 4413 | FileDialog browser = new FileDialog(frame, "Export", FileDialog.SAVE); |
---|
4265 | 4414 | browser.setVisible(true); |
---|
.. | .. |
---|
4291 | 4440 | Object3D objectparent = obj.parent; |
---|
4292 | 4441 | obj.parent = null; |
---|
4293 | 4442 | |
---|
4294 | | - Object3D object = (Object3D) GraphreeD.clone(obj); |
---|
| 4443 | + Object3D object = (Object3D) GrafreeD.clone(obj); |
---|
4295 | 4444 | |
---|
4296 | 4445 | obj.parent = objectparent; |
---|
4297 | 4446 | |
---|
.. | .. |
---|
4325 | 4474 | buffer.append("background { color rgb <0.8,0.8,0.8> }\n\n"); |
---|
4326 | 4475 | cameraView.renderCamera.generatePOV(buffer, bnds.width, bnds.height); |
---|
4327 | 4476 | copy.generatePOV(buffer); |
---|
4328 | | - if (GraphreeD.standAlone) |
---|
| 4477 | + if (GrafreeD.standAlone) |
---|
4329 | 4478 | { |
---|
4330 | 4479 | FileDialog browser = new FileDialog(frame, "Export POV", 1); |
---|
4331 | 4480 | browser.show(); |
---|
.. | .. |
---|
4366 | 4515 | MenuItem revertCameraItem; |
---|
4367 | 4516 | CheckboxMenuItem toggleLiveItem; |
---|
4368 | 4517 | MenuItem stepItem; |
---|
4369 | | - CheckboxMenuItem toggleFullItem; |
---|
| 4518 | + CheckboxMenuItem toggleFullScreenItem; |
---|
| 4519 | + CheckboxMenuItem toggleTimelineItem; |
---|
4370 | 4520 | CheckboxMenuItem toggleRenderItem; |
---|
4371 | 4521 | CheckboxMenuItem toggleDebugItem; |
---|
4372 | 4522 | CheckboxMenuItem toggleFrustumItem; |
---|
.. | .. |
---|
4393 | 4543 | JSplitPane gridPanel; |
---|
4394 | 4544 | JSplitPane bigPanel; |
---|
4395 | 4545 | JPanel bigThree; |
---|
4396 | | - JTabbedPane jtp; |
---|
4397 | | - JPanel cameraPanel; |
---|
| 4546 | + JTabbedPane scenePanel; |
---|
| 4547 | + JPanel centralPanel; |
---|
| 4548 | + JSplitPane cameraPanel; |
---|
| 4549 | + JPanel timelinePanel; |
---|
| 4550 | + JMenuBar timelineMenubar; |
---|
4398 | 4551 | JSplitPane framePanel; |
---|
4399 | 4552 | JTextArea/*Field*/ nameField; |
---|
4400 | | - cButton textureButton; |
---|
| 4553 | + //cButton textureButton; |
---|
4401 | 4554 | cButton okButton; |
---|
4402 | 4555 | cButton applyButton; |
---|
4403 | 4556 | cButton cancelButton; |
---|
.. | .. |
---|
4505 | 4658 | NumberSlider opacityPowerField; |
---|
4506 | 4659 | JTree jTree; |
---|
4507 | 4660 | //ObjectUI parent; |
---|
| 4661 | + |
---|
| 4662 | + NumberSlider normalpushField; |
---|
4508 | 4663 | } |
---|