Normand Briere
2018-07-07 ecaf579303705545735450cbc8b8014d7e062329
ObjEditor.java
....@@ -522,18 +522,18 @@
522522 maxima.y = sel.toParent[3][1];
523523 maxima.z = sel.toParent[3][2];
524524 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");
530525 maxima.x = sel.toParent[0][0];
531526 maxima.y = sel.toParent[1][1];
532527 maxima.z = sel.toParent[2][2];
533528 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];
529
+ maxima.x = sel.globalTransform[3][0];
530
+ maxima.y = sel.globalTransform[3][1];
531
+ maxima.z = sel.globalTransform[3][2];
532
+ if (full)
533
+ si.SendInfo(" Global Orig: " + maxima, "regular");
534
+ maxima.x = sel.globalTransform[0][0];
535
+ maxima.y = sel.globalTransform[1][1];
536
+ maxima.z = sel.globalTransform[2][2];
537537 if (full)
538538 si.SendInfo(" Global Scale: " + maxima, "regular");
539539 }
....@@ -1161,6 +1161,7 @@
11611161 /*JPanel*/ cameraPanel =
11621162 new JPanel(new BorderLayout());
11631163 cameraPanel.add(cameraView);
1164
+ //new timeflow.app.TimeflowApp().TimeFlowWindow(cameraPanel, frame);
11641165
11651166 //topView.camera = ;
11661167 //frontView.camera = new Camera(2);
....@@ -1244,15 +1245,15 @@
12441245 scrollpane.setWheelScrollingEnabled(true);
12451246 scrollpane.addMouseWheelListener(this); // Default not fast enough
12461247
1247
- /*JTabbedPane*/ jtp = new JTabbedPane();
1248
- jtp.add(scrollpane);
1248
+ /*JTabbedPane*/ scenePanel = new JTabbedPane();
1249
+ scenePanel.add(scrollpane);
12491250
1250
- jtp.add(FSPane = new cFileSystemPane(this));
1251
+ scenePanel.add(FSPane = new cFileSystemPane(this));
12511252
12521253 optionsPanel = new JPanel(new GridBagLayout());
12531254
12541255 optionsPanel.setName("Options");
1255
- jtp.add(optionsPanel);
1256
+ scenePanel.add(optionsPanel);
12561257
12571258
12581259 /*
....@@ -1275,7 +1276,7 @@
12751276 jtp.add(tree);
12761277 */
12771278
1278
- bigPanel = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, jtp, gridPanel);
1279
+ bigPanel = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, scenePanel, gridPanel);
12791280 bigPanel.setContinuousLayout(true);
12801281 bigPanel.setOneTouchExpandable(true);
12811282 bigPanel.setDividerLocation(0.8);
....@@ -1297,7 +1298,7 @@
12971298 aWindowConstraints.fill = GridBagConstraints.VERTICAL;
12981299 aWindowConstraints.weightx = 0;
12991300 aWindowConstraints.weighty = 1;
1300
- bigThree.add(jtp, aWindowConstraints);
1301
+ bigThree.add(scenePanel, aWindowConstraints);
13011302 aWindowConstraints.weightx = 1;
13021303 aWindowConstraints.gridwidth = 3;
13031304 // aConstraints.gridheight = 3;
....@@ -1859,19 +1860,21 @@
18591860 }
18601861
18611862 // 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")))
1863
+ if (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"))
18731873 {
1874
- DropTexture(filename);
1874
+ if (textures)
1875
+ DropTexture(filename);
1876
+ else
1877
+ CreateBillboard(filename);
18751878 continue;
18761879 }
18771880
....@@ -1880,6 +1883,60 @@
18801883 }
18811884
18821885 ResetModel();
1886
+ }
1887
+
1888
+ void CreateBillboard(String filename)
1889
+ {
1890
+ Object3D source = null;
1891
+ Object3D group = copy;
1892
+
1893
+ if (group.selection.size() > 0)
1894
+ {
1895
+ source = group.selection.get(0);
1896
+ }
1897
+
1898
+ Grid grid = new Grid(1,1);
1899
+ grid.material = null;
1900
+
1901
+ grid.toParent = LA.newMatrix();
1902
+ grid.fromParent = LA.newMatrix();
1903
+ LA.matYRotate(grid.toParent, Math.PI/2);
1904
+ LA.matXRotate(grid.toParent, -Math.PI/2);
1905
+ LA.matXRotate(grid.fromParent, Math.PI/2);
1906
+ LA.matYRotate(grid.fromParent, -Math.PI/2);
1907
+
1908
+ BillboardNode bb = new BillboardNode();
1909
+ bb.addChild(grid);
1910
+
1911
+ Object3D newgroup = new Object3D();
1912
+ newgroup.CreateMaterial();
1913
+
1914
+ File file = new File(filename);
1915
+ newgroup.name = file.getName();
1916
+ newgroup.addChild(bb);
1917
+
1918
+ Object3D main = newgroup;
1919
+
1920
+ main.SetPigmentTexture(filename);
1921
+
1922
+ if (source != null)
1923
+ {
1924
+ main.material = new cMaterial(source.material);
1925
+ if (main.projectedVertices.length < source.projectedVertices.length)
1926
+ {
1927
+ main.projectedVertices = new Object3D.cVector2[source.projectedVertices.length];
1928
+ }
1929
+
1930
+ for (int i=0; i<source.projectedVertices.length; i++)
1931
+ {
1932
+ main.projectedVertices[i].x = source.projectedVertices[i].x;
1933
+ main.projectedVertices[i].y = source.projectedVertices[i].y;
1934
+ }
1935
+
1936
+ main.texres = source.texres;
1937
+ }
1938
+
1939
+ makeSomething(newgroup, false);
18831940 }
18841941
18851942 Point location;
....@@ -2138,6 +2195,8 @@
21382195 {
21392196 Mocap sel = (Mocap) copy.selection.get(0);
21402197
2198
+ sel.SetCurrentBones(sel.frame);
2199
+
21412200 sel.fullname = fullname;
21422201
21432202 if (changename)
....@@ -2151,14 +2210,18 @@
21512210 sel.smoothed = false;
21522211
21532212 // if (!changename)
2154
- sel.SetPositionDelta(false, true, true, true/*?*/); // false
2213
+ //sel.SetPositionDelta(false, true, true, true/*?*/); // false
2214
+ sel.SetGlobalTransform();
2215
+ sel.LoadData();
2216
+ sel.Rewind();
2217
+ sel.Fade();
21552218 // sel.setPose(0);
21562219 refreshContents();
21572220 } else
21582221 {
21592222 mocap.Reset();
21602223 // new skeleton
2161
- makeSomething(mocap, false); // true);
2224
+ makeSomething(mocap, true); // true);
21622225 }
21632226 } catch (Exception e)
21642227 {
....@@ -2185,6 +2248,8 @@
21852248 {
21862249 Mocap sel = (Mocap) select;
21872250
2251
+ sel.SetCurrentBones(sel.frame);
2252
+
21882253 File file = new File(fullname);
21892254
21902255 // Mocap mocap = new Mocap("Mocap" + file.getName());
....@@ -2251,7 +2316,11 @@
22512316
22522317 if (!changename)
22532318 {
2254
- sel.SetPositionDelta(false, true, true, true/*?*/);
2319
+ //sel.SetPositionDelta(false, true, true, true/*?*/);
2320
+ sel.SetGlobalTransform();
2321
+ sel.LoadData();
2322
+ sel.Rewind();
2323
+ sel.Fade();
22552324 }
22562325
22572326 // sel.setPose(0);
....@@ -3596,7 +3665,7 @@
35963665
35973666 if (obj.parent != null)
35983667 {
3599
- obj.parent.TransformToWorld(interest);
3668
+// obj.parent.TransformToWorld(interest);
36003669 }
36013670
36023671 if (!CameraPane.TRACK)
....@@ -4403,7 +4472,7 @@
44034472 JSplitPane gridPanel;
44044473 JSplitPane bigPanel;
44054474 JPanel bigThree;
4406
- JTabbedPane jtp;
4475
+ JTabbedPane scenePanel;
44074476 JPanel cameraPanel;
44084477 JSplitPane framePanel;
44094478 JTextArea/*Field*/ nameField;