.. | .. |
---|
28 | 28 | iSendInfo |
---|
29 | 29 | //KeyListener |
---|
30 | 30 | { |
---|
| 31 | + boolean timeline; |
---|
| 32 | + boolean wasFullScreen; |
---|
31 | 33 | |
---|
32 | 34 | // SCRIPT |
---|
33 | 35 | |
---|
.. | .. |
---|
238 | 240 | //if (!isDisplayable()) |
---|
239 | 241 | //setUndecorated(true); |
---|
240 | 242 | |
---|
241 | | - System.out.println("getFullScreenWindow? " + gd.getFullScreenWindow()); |
---|
| 243 | + //System.out.println("getFullScreenWindow? " + gd.getFullScreenWindow()); |
---|
242 | 244 | client = inClient; |
---|
243 | 245 | copy = localCopy; |
---|
244 | 246 | copy.editWindow = this; |
---|
.. | .. |
---|
292 | 294 | //normalLensItem.addActionListener(this); |
---|
293 | 295 | cameraMenu.add(revertCameraItem = new MenuItem("Revert Camera")); |
---|
294 | 296 | 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); |
---|
298 | 302 | cameraMenu.add("-"); |
---|
299 | 303 | cameraMenu.add(toggleTextureItem = new CheckboxMenuItem("Texture")); |
---|
300 | 304 | toggleTextureItem.addItemListener(this); |
---|
.. | .. |
---|
522 | 526 | maxima.y = sel.toParent[3][1]; |
---|
523 | 527 | maxima.z = sel.toParent[3][2]; |
---|
524 | 528 | 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 | 529 | maxima.x = sel.toParent[0][0]; |
---|
531 | 530 | maxima.y = sel.toParent[1][1]; |
---|
532 | 531 | maxima.z = sel.toParent[2][2]; |
---|
533 | 532 | 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]; |
---|
537 | 541 | if (full) |
---|
538 | 542 | si.SendInfo(" Global Scale: " + maxima, "regular"); |
---|
539 | 543 | } |
---|
.. | .. |
---|
593 | 597 | System.err.println("Couldn't insert initial text into text pane."); |
---|
594 | 598 | } |
---|
595 | 599 | } |
---|
| 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 | + } |
---|
596 | 616 | |
---|
597 | 617 | private JTextArea createTextPane() |
---|
598 | 618 | { |
---|
.. | .. |
---|
692 | 712 | protected static ImageIcon createImageIcon(String path, |
---|
693 | 713 | String description) |
---|
694 | 714 | { |
---|
695 | | - java.net.URL imgURL = GraphreeD.class.getResource(path); |
---|
| 715 | + java.net.URL imgURL = GrafreeD.class.getResource(path); |
---|
696 | 716 | if (imgURL != null) |
---|
697 | 717 | { |
---|
698 | 718 | return new ImageIcon(imgURL, description); |
---|
.. | .. |
---|
1107 | 1127 | //frontScroll.setLabel("------------------------------ XZ (front) ---------------------------------------------------"); |
---|
1108 | 1128 | //sideScroll.setLabel("------------------------------- YZ (side) ---------------------------------------------------"); |
---|
1109 | 1129 | |
---|
1110 | | -// GridBagConstraints gbc = (GridBagConstraints) GraphreeD.clone(aConstraints); |
---|
| 1130 | +// GridBagConstraints gbc = (GridBagConstraints) GrafreeD.clone(aConstraints); |
---|
1111 | 1131 | Camera cam = GetCamera(copy, 0); |
---|
1112 | 1132 | |
---|
1113 | 1133 | Composite cams = null; |
---|
.. | .. |
---|
1158 | 1178 | //JPanel worldPanel = |
---|
1159 | 1179 | // new gov.nasa.worldwind.examples.ApplicationTemplate.AppPanel(null, true); |
---|
1160 | 1180 | //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); |
---|
1164 | 1184 | |
---|
| 1185 | + centralPanel.add(cameraView); |
---|
| 1186 | + //frame.setJMenuBar(timelineMenubar); |
---|
| 1187 | + //centralPanel.add(timelinePanel); |
---|
| 1188 | + |
---|
1165 | 1189 | //topView.camera = ; |
---|
1166 | 1190 | //frontView.camera = new Camera(2); |
---|
1167 | 1191 | //sideView.camera = new Camera(3); |
---|
.. | .. |
---|
1191 | 1215 | gridPanel.add(cameraView); |
---|
1192 | 1216 | gridPanel.add(XYZPanel); |
---|
1193 | 1217 | */ |
---|
1194 | | - gridPanel = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, cameraPanel, XYZPanel); //new BorderLayout()); |
---|
| 1218 | + gridPanel = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, centralPanel, XYZPanel); //new BorderLayout()); |
---|
1195 | 1219 | gridPanel.setContinuousLayout(true); |
---|
1196 | 1220 | gridPanel.setOneTouchExpandable(true); |
---|
1197 | 1221 | gridPanel.setDividerLocation(1.0); |
---|
.. | .. |
---|
1244 | 1268 | scrollpane.setWheelScrollingEnabled(true); |
---|
1245 | 1269 | scrollpane.addMouseWheelListener(this); // Default not fast enough |
---|
1246 | 1270 | |
---|
1247 | | - /*JTabbedPane*/ jtp = new JTabbedPane(); |
---|
1248 | | - jtp.add(scrollpane); |
---|
| 1271 | + /*JTabbedPane*/ scenePanel = new JTabbedPane(); |
---|
| 1272 | + scenePanel.add(scrollpane); |
---|
1249 | 1273 | |
---|
1250 | | - jtp.add(FSPane = new cFileSystemPane(this)); |
---|
| 1274 | + scenePanel.add(FSPane = new cFileSystemPane(this)); |
---|
1251 | 1275 | |
---|
1252 | 1276 | optionsPanel = new JPanel(new GridBagLayout()); |
---|
1253 | 1277 | |
---|
1254 | 1278 | optionsPanel.setName("Options"); |
---|
1255 | | - jtp.add(optionsPanel); |
---|
| 1279 | + scenePanel.add(optionsPanel); |
---|
1256 | 1280 | |
---|
1257 | 1281 | |
---|
1258 | 1282 | /* |
---|
.. | .. |
---|
1275 | 1299 | jtp.add(tree); |
---|
1276 | 1300 | */ |
---|
1277 | 1301 | |
---|
1278 | | - bigPanel = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, jtp, gridPanel); |
---|
| 1302 | + bigPanel = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, scenePanel, gridPanel); |
---|
1279 | 1303 | bigPanel.setContinuousLayout(true); |
---|
1280 | 1304 | bigPanel.setOneTouchExpandable(true); |
---|
1281 | 1305 | bigPanel.setDividerLocation(0.8); |
---|
.. | .. |
---|
1297 | 1321 | aWindowConstraints.fill = GridBagConstraints.VERTICAL; |
---|
1298 | 1322 | aWindowConstraints.weightx = 0; |
---|
1299 | 1323 | aWindowConstraints.weighty = 1; |
---|
1300 | | - bigThree.add(jtp, aWindowConstraints); |
---|
| 1324 | + bigThree.add(scenePanel, aWindowConstraints); |
---|
1301 | 1325 | aWindowConstraints.weightx = 1; |
---|
1302 | 1326 | aWindowConstraints.gridwidth = 3; |
---|
1303 | 1327 | // aConstraints.gridheight = 3; |
---|
1304 | 1328 | aWindowConstraints.gridx = 1; |
---|
1305 | 1329 | aWindowConstraints.fill = GridBagConstraints.BOTH; |
---|
1306 | | - bigThree.add(cameraPanel, aWindowConstraints); |
---|
| 1330 | + bigThree.add(centralPanel, aWindowConstraints); |
---|
1307 | 1331 | aWindowConstraints.weightx = 0; |
---|
1308 | 1332 | aWindowConstraints.gridx = 4; |
---|
1309 | 1333 | aWindowConstraints.gridwidth = 1; |
---|
.. | .. |
---|
1334 | 1358 | frame.getContentPane().add(/*"Center",*/framePanel); |
---|
1335 | 1359 | //frame.getContentPane().add(/*"Center",*/ worldPane); |
---|
1336 | 1360 | |
---|
1337 | | -// aConstraints = gbc; // (GridBagConstraints) GraphreeD.clone(gbc); |
---|
| 1361 | +// aConstraints = gbc; // (GridBagConstraints) GrafreeD.clone(gbc); |
---|
1338 | 1362 | |
---|
1339 | 1363 | frame.setSize(1024, 768); |
---|
1340 | 1364 | frame.show(); |
---|
.. | .. |
---|
1859 | 1883 | } |
---|
1860 | 1884 | |
---|
1861 | 1885 | // 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"))) |
---|
| 1886 | + if (filename.toLowerCase().endsWith(".jpg") |
---|
| 1887 | + || filename.toLowerCase().endsWith(".jpeg") |
---|
| 1888 | + || filename.toLowerCase().endsWith(".gif") |
---|
| 1889 | + || filename.toLowerCase().endsWith(".png") |
---|
| 1890 | + || filename.toLowerCase().endsWith(".tre") |
---|
| 1891 | + || filename.toLowerCase().endsWith(".bmp") |
---|
| 1892 | + || filename.toLowerCase().endsWith(".tga") |
---|
| 1893 | + || filename.toLowerCase().endsWith(".sgi") |
---|
| 1894 | + || filename.toLowerCase().endsWith(".tif") |
---|
| 1895 | + || filename.toLowerCase().endsWith(".tiff")) |
---|
1873 | 1896 | { |
---|
1874 | | - DropTexture(filename); |
---|
| 1897 | + if (textures) |
---|
| 1898 | + DropTexture(filename); |
---|
| 1899 | + else |
---|
| 1900 | + CreateBillboard(filename); |
---|
1875 | 1901 | continue; |
---|
1876 | 1902 | } |
---|
1877 | 1903 | |
---|
.. | .. |
---|
1880 | 1906 | } |
---|
1881 | 1907 | |
---|
1882 | 1908 | ResetModel(); |
---|
| 1909 | + } |
---|
| 1910 | + |
---|
| 1911 | + void CreateBillboard(String filename) |
---|
| 1912 | + { |
---|
| 1913 | + Object3D source = null; |
---|
| 1914 | + Object3D group = copy; |
---|
| 1915 | + |
---|
| 1916 | + if (group.selection.size() > 0) |
---|
| 1917 | + { |
---|
| 1918 | + source = group.selection.get(0); |
---|
| 1919 | + } |
---|
| 1920 | + |
---|
| 1921 | + Grid grid = new Grid(1,1); |
---|
| 1922 | + grid.material = null; |
---|
| 1923 | + |
---|
| 1924 | + grid.toParent = LA.newMatrix(); |
---|
| 1925 | + grid.fromParent = LA.newMatrix(); |
---|
| 1926 | + LA.matYRotate(grid.toParent, Math.PI/2); |
---|
| 1927 | + LA.matXRotate(grid.toParent, -Math.PI/2); |
---|
| 1928 | + LA.matXRotate(grid.fromParent, Math.PI/2); |
---|
| 1929 | + LA.matYRotate(grid.fromParent, -Math.PI/2); |
---|
| 1930 | + |
---|
| 1931 | + BillboardNode bb = new BillboardNode(); |
---|
| 1932 | + bb.addChild(grid); |
---|
| 1933 | + |
---|
| 1934 | + Object3D newgroup = new Object3D(); |
---|
| 1935 | + newgroup.CreateMaterial(); |
---|
| 1936 | + |
---|
| 1937 | + File file = new File(filename); |
---|
| 1938 | + newgroup.name = file.getName(); |
---|
| 1939 | + newgroup.addChild(bb); |
---|
| 1940 | + |
---|
| 1941 | + Object3D main = newgroup; |
---|
| 1942 | + |
---|
| 1943 | + main.SetPigmentTexture(filename); |
---|
| 1944 | + |
---|
| 1945 | + if (source != null) |
---|
| 1946 | + { |
---|
| 1947 | + main.material = new cMaterial(source.material); |
---|
| 1948 | + if (main.projectedVertices.length < source.projectedVertices.length) |
---|
| 1949 | + { |
---|
| 1950 | + main.projectedVertices = new Object3D.cVector2[source.projectedVertices.length]; |
---|
| 1951 | + } |
---|
| 1952 | + |
---|
| 1953 | + for (int i=0; i<source.projectedVertices.length; i++) |
---|
| 1954 | + { |
---|
| 1955 | + main.projectedVertices[i].x = source.projectedVertices[i].x; |
---|
| 1956 | + main.projectedVertices[i].y = source.projectedVertices[i].y; |
---|
| 1957 | + } |
---|
| 1958 | + |
---|
| 1959 | + main.texres = source.texres; |
---|
| 1960 | + } |
---|
| 1961 | + |
---|
| 1962 | + makeSomething(newgroup, false); |
---|
1883 | 1963 | } |
---|
1884 | 1964 | |
---|
1885 | 1965 | Point location; |
---|
.. | .. |
---|
2138 | 2218 | { |
---|
2139 | 2219 | Mocap sel = (Mocap) copy.selection.get(0); |
---|
2140 | 2220 | |
---|
| 2221 | + sel.SetCurrentBones(sel.frame); |
---|
| 2222 | + |
---|
2141 | 2223 | sel.fullname = fullname; |
---|
2142 | 2224 | |
---|
2143 | 2225 | if (changename) |
---|
.. | .. |
---|
2151 | 2233 | sel.smoothed = false; |
---|
2152 | 2234 | |
---|
2153 | 2235 | // if (!changename) |
---|
2154 | | - 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(); |
---|
2155 | 2241 | // sel.setPose(0); |
---|
2156 | 2242 | refreshContents(); |
---|
2157 | 2243 | } else |
---|
2158 | 2244 | { |
---|
2159 | 2245 | mocap.Reset(); |
---|
2160 | 2246 | // new skeleton |
---|
2161 | | - makeSomething(mocap, false); // true); |
---|
| 2247 | + makeSomething(mocap, true); // true); |
---|
2162 | 2248 | } |
---|
2163 | 2249 | } catch (Exception e) |
---|
2164 | 2250 | { |
---|
.. | .. |
---|
2185 | 2271 | { |
---|
2186 | 2272 | Mocap sel = (Mocap) select; |
---|
2187 | 2273 | |
---|
| 2274 | + sel.SetCurrentBones(sel.frame); |
---|
| 2275 | + |
---|
2188 | 2276 | File file = new File(fullname); |
---|
2189 | 2277 | |
---|
2190 | 2278 | // Mocap mocap = new Mocap("Mocap" + file.getName()); |
---|
.. | .. |
---|
2251 | 2339 | |
---|
2252 | 2340 | if (!changename) |
---|
2253 | 2341 | { |
---|
2254 | | - 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(); |
---|
2255 | 2347 | } |
---|
2256 | 2348 | |
---|
2257 | 2349 | // sel.setPose(0); |
---|
.. | .. |
---|
2345 | 2437 | |
---|
2346 | 2438 | void ImportJME(com.jmex.model.converters.FormatConverter converter, String ext, String dialogName) |
---|
2347 | 2439 | { |
---|
2348 | | - if (GraphreeD.standAlone) |
---|
| 2440 | + if (GrafreeD.standAlone) |
---|
2349 | 2441 | { |
---|
2350 | 2442 | /**/ |
---|
2351 | 2443 | FileDialog browser = new FileDialog(frame, dialogName, FileDialog.LOAD); |
---|
.. | .. |
---|
2890 | 2982 | // june 2013 copy.HardTouch(); |
---|
2891 | 2983 | cameraView.repaint(); |
---|
2892 | 2984 | return; |
---|
2893 | | - } else if (event.getSource() == toggleFullItem) |
---|
| 2985 | + } else if (event.getSource() == toggleTimelineItem) |
---|
2894 | 2986 | { |
---|
2895 | | - if (CameraPane.FULLSCREEN) |
---|
| 2987 | + timeline ^= true; |
---|
| 2988 | + |
---|
| 2989 | + if (timeline) |
---|
2896 | 2990 | { |
---|
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); |
---|
| 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); |
---|
2904 | 2998 | } |
---|
| 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 | + |
---|
2905 | 3009 | frame.validate(); |
---|
2906 | | - cameraView.ToggleFullScreen(); |
---|
| 3010 | + return; |
---|
| 3011 | + } else if (event.getSource() == toggleFullScreenItem) |
---|
| 3012 | + { |
---|
| 3013 | + ToggleFullScreen(); |
---|
| 3014 | + frame.validate(); |
---|
2907 | 3015 | |
---|
2908 | 3016 | return; |
---|
2909 | 3017 | } else if (event.getSource() == toggleRandomItem) |
---|
.. | .. |
---|
3152 | 3260 | cameraView.RevertCamera(); |
---|
3153 | 3261 | cameraView.repaint(); |
---|
3154 | 3262 | return; |
---|
3155 | | - } else if (event.getSource() == textureButton) |
---|
3156 | | - { |
---|
3157 | | - return; // true; |
---|
| 3263 | +// } else if (event.getSource() == textureButton) |
---|
| 3264 | +// { |
---|
| 3265 | +// return; // true; |
---|
3158 | 3266 | } else // combos... |
---|
3159 | 3267 | if (event.getSource() == texresMenu) |
---|
3160 | 3268 | { |
---|
.. | .. |
---|
3183 | 3291 | |
---|
3184 | 3292 | CameraPane.ANIMATION ^= true; |
---|
3185 | 3293 | |
---|
3186 | | - GraphreeD.wav.cursor = 0; |
---|
3187 | | - GraphreeD.wav.loop = 0; |
---|
| 3294 | + GrafreeD.wav.cursor = 0; |
---|
| 3295 | + GrafreeD.wav.loop = 0; |
---|
3188 | 3296 | } |
---|
3189 | 3297 | } else |
---|
3190 | 3298 | { |
---|
.. | .. |
---|
3481 | 3589 | |
---|
3482 | 3590 | void SnapObject() |
---|
3483 | 3591 | { |
---|
3484 | | - Object3D obj = (Object3D)copy.selection.elementAt(0); |
---|
3485 | | - SnapObject(obj); |
---|
| 3592 | + if (copy.selection.size() > 0) |
---|
| 3593 | + { |
---|
| 3594 | + Object3D obj = (Object3D)copy.selection.elementAt(0); |
---|
| 3595 | + SnapObject(obj); |
---|
| 3596 | + } |
---|
3486 | 3597 | } |
---|
3487 | 3598 | |
---|
3488 | 3599 | void SnapObject(Object3D obj) |
---|
.. | .. |
---|
3596 | 3707 | |
---|
3597 | 3708 | if (obj.parent != null) |
---|
3598 | 3709 | { |
---|
3599 | | - obj.parent.TransformToWorld(interest); |
---|
| 3710 | +// obj.parent.TransformToWorld(interest); |
---|
3600 | 3711 | } |
---|
3601 | 3712 | |
---|
3602 | 3713 | if (!CameraPane.TRACK) |
---|
.. | .. |
---|
4085 | 4196 | |
---|
4086 | 4197 | void load() // throws ClassNotFoundException |
---|
4087 | 4198 | { |
---|
4088 | | - if (GraphreeD.standAlone) |
---|
| 4199 | + if (GrafreeD.standAlone) |
---|
4089 | 4200 | { |
---|
4090 | 4201 | FileDialog browser = new FileDialog(frame, "Load", FileDialog.LOAD); |
---|
4091 | 4202 | browser.show(); |
---|
.. | .. |
---|
4190 | 4301 | |
---|
4191 | 4302 | void saveAs() |
---|
4192 | 4303 | { |
---|
4193 | | - if (GraphreeD.standAlone) |
---|
| 4304 | + if (GrafreeD.standAlone) |
---|
4194 | 4305 | { |
---|
4195 | 4306 | FileDialog browser = new FileDialog(frame, "Save As", FileDialog.SAVE); |
---|
4196 | 4307 | browser.setVisible(true); |
---|
.. | .. |
---|
4213 | 4324 | |
---|
4214 | 4325 | Object3D object = copy.selection.get(0); |
---|
4215 | 4326 | |
---|
| 4327 | + FileObject fileobj = null; |
---|
| 4328 | + |
---|
| 4329 | + if (object instanceof FileObject) |
---|
| 4330 | + fileobj = (FileObject)object; |
---|
| 4331 | + |
---|
4216 | 4332 | if (object.fileparent != null) |
---|
4217 | 4333 | { |
---|
4218 | | - FileObject fileobj = (FileObject) object.fileparent; |
---|
| 4334 | + assert(fileobj == null); |
---|
4219 | 4335 | |
---|
| 4336 | + fileobj = (FileObject) object.fileparent; |
---|
| 4337 | + } |
---|
| 4338 | + |
---|
| 4339 | + if (fileobj != null) |
---|
| 4340 | + { |
---|
4220 | 4341 | System.out.println("WriteObject " + object + " : " + fileobj.name); |
---|
4221 | 4342 | WriteObject(object, fileobj.name); |
---|
4222 | 4343 | } |
---|
.. | .. |
---|
4259 | 4380 | } |
---|
4260 | 4381 | } |
---|
4261 | 4382 | else |
---|
4262 | | - //if (GraphreeD.standAlone) |
---|
| 4383 | + //if (GrafreeD.standAlone) |
---|
4263 | 4384 | { |
---|
4264 | 4385 | FileDialog browser = new FileDialog(frame, "Export", FileDialog.SAVE); |
---|
4265 | 4386 | browser.setVisible(true); |
---|
.. | .. |
---|
4291 | 4412 | Object3D objectparent = obj.parent; |
---|
4292 | 4413 | obj.parent = null; |
---|
4293 | 4414 | |
---|
4294 | | - Object3D object = (Object3D) GraphreeD.clone(obj); |
---|
| 4415 | + Object3D object = (Object3D) GrafreeD.clone(obj); |
---|
4295 | 4416 | |
---|
4296 | 4417 | obj.parent = objectparent; |
---|
4297 | 4418 | |
---|
.. | .. |
---|
4325 | 4446 | buffer.append("background { color rgb <0.8,0.8,0.8> }\n\n"); |
---|
4326 | 4447 | cameraView.renderCamera.generatePOV(buffer, bnds.width, bnds.height); |
---|
4327 | 4448 | copy.generatePOV(buffer); |
---|
4328 | | - if (GraphreeD.standAlone) |
---|
| 4449 | + if (GrafreeD.standAlone) |
---|
4329 | 4450 | { |
---|
4330 | 4451 | FileDialog browser = new FileDialog(frame, "Export POV", 1); |
---|
4331 | 4452 | browser.show(); |
---|
.. | .. |
---|
4366 | 4487 | MenuItem revertCameraItem; |
---|
4367 | 4488 | CheckboxMenuItem toggleLiveItem; |
---|
4368 | 4489 | MenuItem stepItem; |
---|
4369 | | - CheckboxMenuItem toggleFullItem; |
---|
| 4490 | + CheckboxMenuItem toggleFullScreenItem; |
---|
| 4491 | + CheckboxMenuItem toggleTimelineItem; |
---|
4370 | 4492 | CheckboxMenuItem toggleRenderItem; |
---|
4371 | 4493 | CheckboxMenuItem toggleDebugItem; |
---|
4372 | 4494 | CheckboxMenuItem toggleFrustumItem; |
---|
.. | .. |
---|
4393 | 4515 | JSplitPane gridPanel; |
---|
4394 | 4516 | JSplitPane bigPanel; |
---|
4395 | 4517 | JPanel bigThree; |
---|
4396 | | - JTabbedPane jtp; |
---|
4397 | | - JPanel cameraPanel; |
---|
| 4518 | + JTabbedPane scenePanel; |
---|
| 4519 | + JPanel centralPanel; |
---|
| 4520 | + JPanel timelinePanel; |
---|
| 4521 | + JMenuBar timelineMenubar; |
---|
4398 | 4522 | JSplitPane framePanel; |
---|
4399 | 4523 | JTextArea/*Field*/ nameField; |
---|
4400 | | - cButton textureButton; |
---|
| 4524 | + //cButton textureButton; |
---|
4401 | 4525 | cButton okButton; |
---|
4402 | 4526 | cButton applyButton; |
---|
4403 | 4527 | cButton cancelButton; |
---|