Normand Briere
2018-12-15 6ed65dcb597fb2153cef75bf1845978f1115658c
ObjEditor.java
....@@ -28,6 +28,8 @@
2828 iSendInfo
2929 //KeyListener
3030 {
31
+ boolean timeline;
32
+ boolean wasFullScreen;
3133
3234 // SCRIPT
3335
....@@ -158,12 +160,16 @@
158160 objEditor.ctrlPanel.remove(slowerButton);
159161 objEditor.ctrlPanel.remove(fasterButton);
160162 objEditor.ctrlPanel.remove(remarkButton);
163
+
164
+ Remove(normalpushField);
161165 }
162166
163167 public ObjEditor GetEditor()
164168 {
165169 return objEditor; //.GetEditor();
166170 }
171
+
172
+ // Sometimes myself, sometimes my callee's.
167173 ObjEditor objEditor;
168174
169175 /*
....@@ -238,7 +244,7 @@
238244 //if (!isDisplayable())
239245 //setUndecorated(true);
240246
241
- System.out.println("getFullScreenWindow? " + gd.getFullScreenWindow());
247
+ //System.out.println("getFullScreenWindow? " + gd.getFullScreenWindow());
242248 client = inClient;
243249 copy = localCopy;
244250 copy.editWindow = this;
....@@ -292,9 +298,11 @@
292298 //normalLensItem.addActionListener(this);
293299 cameraMenu.add(revertCameraItem = new MenuItem("Revert Camera"));
294300 revertCameraItem.addActionListener(this);
295
- cameraMenu.add(toggleFullItem = new CheckboxMenuItem("Full Screen"));
296
- toggleFullItem.addItemListener(this);
297
- toggleFullItem.setState(CameraPane.FULLSCREEN);
301
+ cameraMenu.add(toggleTimelineItem = new CheckboxMenuItem("Timeline"));
302
+ toggleTimelineItem.addItemListener(this);
303
+ cameraMenu.add(toggleFullScreenItem = new CheckboxMenuItem("Full Screen"));
304
+ toggleFullScreenItem.addItemListener(this);
305
+ toggleFullScreenItem.setState(CameraPane.FULLSCREEN);
298306 cameraMenu.add("-");
299307 cameraMenu.add(toggleTextureItem = new CheckboxMenuItem("Texture"));
300308 toggleTextureItem.addItemListener(this);
....@@ -522,18 +530,18 @@
522530 maxima.y = sel.toParent[3][1];
523531 maxima.z = sel.toParent[3][2];
524532 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");
530533 maxima.x = sel.toParent[0][0];
531534 maxima.y = sel.toParent[1][1];
532535 maxima.z = sel.toParent[2][2];
533536 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];
537
+ maxima.x = sel.globalTransform[3][0];
538
+ maxima.y = sel.globalTransform[3][1];
539
+ maxima.z = sel.globalTransform[3][2];
540
+ if (full)
541
+ si.SendInfo(" Global Orig: " + maxima, "regular");
542
+ maxima.x = sel.globalTransform[0][0];
543
+ maxima.y = sel.globalTransform[1][1];
544
+ maxima.z = sel.globalTransform[2][2];
537545 if (full)
538546 si.SendInfo(" Global Scale: " + maxima, "regular");
539547 }
....@@ -593,6 +601,22 @@
593601 System.err.println("Couldn't insert initial text into text pane.");
594602 }
595603 }
604
+
605
+ void ToggleFullScreen()
606
+ {
607
+ if (CameraPane.FULLSCREEN)
608
+ {
609
+ frame.getContentPane().remove(/*"Center",*/bigThree);
610
+ framePanel.add(bigThree);
611
+ frame.getContentPane().add(/*"Center",*/framePanel);
612
+ } else
613
+ {
614
+ frame.getContentPane().remove(/*"Center",*/framePanel);
615
+ framePanel.remove(bigThree);
616
+ frame.getContentPane().add(/*"Center",*/bigThree);
617
+ }
618
+ cameraView.ToggleFullScreen();
619
+ }
596620
597621 private JTextArea createTextPane()
598622 {
....@@ -794,7 +818,7 @@
794818
795819 aConstraints.fill = GridBagConstraints.VERTICAL;
796820 jlabel.setHorizontalAlignment(SwingConstants.TRAILING);
797
- aConstraints.gridwidth = 2;
821
+ aConstraints.gridwidth = 1;
798822 ctrlPanel.add(jlabel, aConstraints); //, oe.ctrlPanel.getComponentCount()-1);
799823 aConstraints.gridx += 1;
800824 aConstraints.fill = GridBagConstraints.HORIZONTAL;
....@@ -963,6 +987,9 @@
963987
964988 Return();
965989
990
+ normalpushField = AddSlider(oe.ctrlPanel, "Push", -10, 10, 0, -1);
991
+ Return();
992
+
966993 // oe.ctrlPanel.add(stepButton = new cButton("Step"), ObjEditor.aConstraints, oe.ctrlPanel.getComponentCount() - 2);
967994 // ObjEditor.aConstraints.gridx += 1;
968995
....@@ -1158,10 +1185,14 @@
11581185 //JPanel worldPanel =
11591186 // new gov.nasa.worldwind.examples.ApplicationTemplate.AppPanel(null, true);
11601187 //worldPanel.setName("World");
1161
- /*JPanel*/ cameraPanel =
1162
- new JPanel(new BorderLayout());
1163
- cameraPanel.add(cameraView);
1188
+ centralPanel = new JPanel(new BorderLayout());
1189
+ timelinePanel = new JPanel(new BorderLayout());
1190
+ timelineMenubar = new timeflow.app.TimeflowApp().TimeFlowWindow(timelinePanel);
11641191
1192
+ centralPanel.add(cameraView);
1193
+ //frame.setJMenuBar(timelineMenubar);
1194
+ //centralPanel.add(timelinePanel);
1195
+
11651196 //topView.camera = ;
11661197 //frontView.camera = new Camera(2);
11671198 //sideView.camera = new Camera(3);
....@@ -1191,7 +1222,7 @@
11911222 gridPanel.add(cameraView);
11921223 gridPanel.add(XYZPanel);
11931224 */
1194
- gridPanel = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, cameraPanel, XYZPanel); //new BorderLayout());
1225
+ gridPanel = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, centralPanel, XYZPanel); //new BorderLayout());
11951226 gridPanel.setContinuousLayout(true);
11961227 gridPanel.setOneTouchExpandable(true);
11971228 gridPanel.setDividerLocation(1.0);
....@@ -1244,15 +1275,15 @@
12441275 scrollpane.setWheelScrollingEnabled(true);
12451276 scrollpane.addMouseWheelListener(this); // Default not fast enough
12461277
1247
- /*JTabbedPane*/ jtp = new JTabbedPane();
1248
- jtp.add(scrollpane);
1278
+ /*JTabbedPane*/ scenePanel = new JTabbedPane();
1279
+ scenePanel.add(scrollpane);
12491280
1250
- jtp.add(FSPane = new cFileSystemPane(this));
1281
+ scenePanel.add(FSPane = new cFileSystemPane(this));
12511282
12521283 optionsPanel = new JPanel(new GridBagLayout());
12531284
12541285 optionsPanel.setName("Options");
1255
- jtp.add(optionsPanel);
1286
+ scenePanel.add(optionsPanel);
12561287
12571288
12581289 /*
....@@ -1275,7 +1306,7 @@
12751306 jtp.add(tree);
12761307 */
12771308
1278
- bigPanel = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, jtp, gridPanel);
1309
+ bigPanel = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, scenePanel, gridPanel);
12791310 bigPanel.setContinuousLayout(true);
12801311 bigPanel.setOneTouchExpandable(true);
12811312 bigPanel.setDividerLocation(0.8);
....@@ -1297,13 +1328,13 @@
12971328 aWindowConstraints.fill = GridBagConstraints.VERTICAL;
12981329 aWindowConstraints.weightx = 0;
12991330 aWindowConstraints.weighty = 1;
1300
- bigThree.add(jtp, aWindowConstraints);
1331
+ bigThree.add(scenePanel, aWindowConstraints);
13011332 aWindowConstraints.weightx = 1;
13021333 aWindowConstraints.gridwidth = 3;
13031334 // aConstraints.gridheight = 3;
13041335 aWindowConstraints.gridx = 1;
13051336 aWindowConstraints.fill = GridBagConstraints.BOTH;
1306
- bigThree.add(cameraPanel, aWindowConstraints);
1337
+ bigThree.add(centralPanel, aWindowConstraints);
13071338 aWindowConstraints.weightx = 0;
13081339 aWindowConstraints.gridx = 4;
13091340 aWindowConstraints.gridwidth = 1;
....@@ -1422,7 +1453,7 @@
14221453 aConstraints.gridx += 1;
14231454 aConstraints.gridwidth = ObjEditor.GRIDWIDTH;
14241455 //aConstraints.weightx = 0;
1425
- ctrlPanel.add(colorField = new NumberSlider(0.001, 1, -0.1), aConstraints);
1456
+ ctrlPanel.add(colorField = new NumberSlider(0.001, 1, -0.5), aConstraints);
14261457 aConstraints.gridx = 0;
14271458 aConstraints.gridy += 1;
14281459 aConstraints.gridwidth = 1;
....@@ -1432,7 +1463,7 @@
14321463 aConstraints.fill = GridBagConstraints.HORIZONTAL;
14331464 aConstraints.gridx += 1;
14341465 aConstraints.gridwidth = ObjEditor.GRIDWIDTH;
1435
- ctrlPanel.add(modulationField = new NumberSlider(0.001, 1, -0.1), aConstraints);
1466
+ ctrlPanel.add(modulationField = new NumberSlider(0.001, 1, -0.5), aConstraints);
14361467 aConstraints.gridx = 0;
14371468 aConstraints.gridy += 1;
14381469 aConstraints.gridwidth = 1;
....@@ -1442,7 +1473,7 @@
14421473 aConstraints.fill = GridBagConstraints.HORIZONTAL;
14431474 aConstraints.gridx += 1;
14441475 aConstraints.gridwidth = ObjEditor.GRIDWIDTH;
1445
- ctrlPanel.add(textureField = new NumberSlider(0.001, 1, -0.1), aConstraints);
1476
+ ctrlPanel.add(textureField = new NumberSlider(0.001, 1, -0.5), aConstraints);
14461477 aConstraints.gridx = 0;
14471478 aConstraints.gridy += 1;
14481479 aConstraints.gridwidth = 1;
....@@ -1452,7 +1483,7 @@
14521483 aConstraints.fill = GridBagConstraints.HORIZONTAL;
14531484 aConstraints.gridx += 1;
14541485 aConstraints.gridwidth = ObjEditor.GRIDWIDTH;
1455
- ctrlPanel.add(anisoField = new NumberSlider(0.001, 1, -0.1), aConstraints);
1486
+ ctrlPanel.add(anisoField = new NumberSlider(0.001, 1, -0.5), aConstraints);
14561487 aConstraints.gridx = 0;
14571488 aConstraints.gridy += 1;
14581489 aConstraints.gridwidth = 1;
....@@ -1462,7 +1493,7 @@
14621493 aConstraints.fill = GridBagConstraints.HORIZONTAL;
14631494 aConstraints.gridx += 1;
14641495 aConstraints.gridwidth = ObjEditor.GRIDWIDTH;
1465
- ctrlPanel.add(anisoVField = new NumberSlider(0.001, 1, -0.1), aConstraints);
1496
+ ctrlPanel.add(anisoVField = new NumberSlider(0.001, 1, -0.5), aConstraints);
14661497 aConstraints.gridx = 0;
14671498 aConstraints.gridy += 1;
14681499 aConstraints.gridwidth = 1;
....@@ -1531,7 +1562,7 @@
15311562 aConstraints.fill = GridBagConstraints.HORIZONTAL;
15321563 aConstraints.gridx += 1;
15331564 aConstraints.gridwidth = ObjEditor.GRIDWIDTH;
1534
- ctrlPanel.add(subsurfaceField = new NumberSlider(0.001, 1, -0.1), aConstraints);
1565
+ ctrlPanel.add(subsurfaceField = new NumberSlider(0.001, 1, -0.5), aConstraints);
15351566 aConstraints.gridx = 0;
15361567 aConstraints.gridy += 1;
15371568 aConstraints.gridwidth = 1;
....@@ -1600,7 +1631,7 @@
16001631 aConstraints.fill = GridBagConstraints.HORIZONTAL;
16011632 aConstraints.gridx += 1;
16021633 aConstraints.gridwidth = ObjEditor.GRIDWIDTH;
1603
- ctrlPanel.add(metalnessField = new NumberSlider(0.001, 1, -0.1), aConstraints);
1634
+ ctrlPanel.add(metalnessField = new NumberSlider(0.001, 1, -0.5), aConstraints);
16041635 aConstraints.gridx = 0;
16051636 aConstraints.gridy += 1;
16061637 aConstraints.gridwidth = 1;
....@@ -1671,7 +1702,7 @@
16711702 aConstraints.fill = GridBagConstraints.HORIZONTAL;
16721703 aConstraints.gridx += 1;
16731704 aConstraints.gridwidth = ObjEditor.GRIDWIDTH;
1674
- ctrlPanel.add(opacityField = new NumberSlider(0.001, 1, -0.1), aConstraints);
1705
+ ctrlPanel.add(opacityField = new NumberSlider(0.001, 1, -0.5), aConstraints);
16751706 aConstraints.gridx = 0;
16761707 aConstraints.gridy += 1;
16771708 aConstraints.gridwidth = 1;
....@@ -1859,19 +1890,21 @@
18591890 }
18601891
18611892 // 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")))
1893
+ if (filename.toLowerCase().endsWith(".jpg")
1894
+ || filename.toLowerCase().endsWith(".jpeg")
1895
+ || filename.toLowerCase().endsWith(".gif")
1896
+ || filename.toLowerCase().endsWith(".png")
1897
+ || filename.toLowerCase().endsWith(".tre")
1898
+ || filename.toLowerCase().endsWith(".bmp")
1899
+ || filename.toLowerCase().endsWith(".tga")
1900
+ || filename.toLowerCase().endsWith(".sgi")
1901
+ || filename.toLowerCase().endsWith(".tif")
1902
+ || filename.toLowerCase().endsWith(".tiff"))
18731903 {
1874
- DropTexture(filename);
1904
+ if (textures)
1905
+ DropTexture(filename);
1906
+ else
1907
+ CreateBillboard(filename);
18751908 continue;
18761909 }
18771910
....@@ -1880,6 +1913,60 @@
18801913 }
18811914
18821915 ResetModel();
1916
+ }
1917
+
1918
+ void CreateBillboard(String filename)
1919
+ {
1920
+ Object3D source = null;
1921
+ Object3D group = copy;
1922
+
1923
+ if (group.selection.size() > 0)
1924
+ {
1925
+ source = group.selection.get(0);
1926
+ }
1927
+
1928
+ Grid grid = new Grid(1,1);
1929
+ grid.material = null;
1930
+
1931
+ grid.toParent = LA.newMatrix();
1932
+ grid.fromParent = LA.newMatrix();
1933
+ LA.matYRotate(grid.toParent, Math.PI/2);
1934
+ LA.matXRotate(grid.toParent, -Math.PI/2);
1935
+ LA.matXRotate(grid.fromParent, Math.PI/2);
1936
+ LA.matYRotate(grid.fromParent, -Math.PI/2);
1937
+
1938
+ BillboardNode bb = new BillboardNode();
1939
+ bb.addChild(grid);
1940
+
1941
+ Object3D newgroup = new Object3D();
1942
+ newgroup.CreateMaterial();
1943
+
1944
+ File file = new File(filename);
1945
+ newgroup.name = file.getName();
1946
+ newgroup.addChild(bb);
1947
+
1948
+ Object3D main = newgroup;
1949
+
1950
+ main.SetPigmentTexture(filename);
1951
+
1952
+ if (source != null)
1953
+ {
1954
+ main.material = new cMaterial(source.material);
1955
+ if (main.projectedVertices.length < source.projectedVertices.length)
1956
+ {
1957
+ main.projectedVertices = new Object3D.cVector2[source.projectedVertices.length];
1958
+ }
1959
+
1960
+ for (int i=0; i<source.projectedVertices.length; i++)
1961
+ {
1962
+ main.projectedVertices[i].x = source.projectedVertices[i].x;
1963
+ main.projectedVertices[i].y = source.projectedVertices[i].y;
1964
+ }
1965
+
1966
+ main.texres = source.texres;
1967
+ }
1968
+
1969
+ makeSomething(newgroup, false);
18831970 }
18841971
18851972 Point location;
....@@ -2138,6 +2225,8 @@
21382225 {
21392226 Mocap sel = (Mocap) copy.selection.get(0);
21402227
2228
+ sel.SetCurrentBones(sel.frame);
2229
+
21412230 sel.fullname = fullname;
21422231
21432232 if (changename)
....@@ -2151,14 +2240,18 @@
21512240 sel.smoothed = false;
21522241
21532242 // if (!changename)
2154
- sel.SetPositionDelta(false, true, true, true/*?*/); // false
2243
+ //sel.SetPositionDelta(false, true, true, true/*?*/); // false
2244
+ sel.SetGlobalTransform();
2245
+ sel.LoadData();
2246
+ sel.Rewind();
2247
+ sel.Fade();
21552248 // sel.setPose(0);
21562249 refreshContents();
21572250 } else
21582251 {
21592252 mocap.Reset();
21602253 // new skeleton
2161
- makeSomething(mocap, false); // true);
2254
+ makeSomething(mocap, true); // true);
21622255 }
21632256 } catch (Exception e)
21642257 {
....@@ -2185,6 +2278,8 @@
21852278 {
21862279 Mocap sel = (Mocap) select;
21872280
2281
+ sel.SetCurrentBones(sel.frame);
2282
+
21882283 File file = new File(fullname);
21892284
21902285 // Mocap mocap = new Mocap("Mocap" + file.getName());
....@@ -2251,7 +2346,11 @@
22512346
22522347 if (!changename)
22532348 {
2254
- sel.SetPositionDelta(false, true, true, true/*?*/);
2349
+ //sel.SetPositionDelta(false, true, true, true/*?*/);
2350
+ sel.SetGlobalTransform();
2351
+ sel.LoadData();
2352
+ sel.Rewind();
2353
+ sel.Fade();
22552354 }
22562355
22572356 // sel.setPose(0);
....@@ -2890,20 +2989,36 @@
28902989 // june 2013 copy.HardTouch();
28912990 cameraView.repaint();
28922991 return;
2893
- } else if (event.getSource() == toggleFullItem)
2992
+ } else if (event.getSource() == toggleTimelineItem)
28942993 {
2895
- if (CameraPane.FULLSCREEN)
2994
+ timeline ^= true;
2995
+
2996
+ if (timeline)
28962997 {
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);
2998
+ centralPanel.remove(cameraView);
2999
+ centralPanel.add(timelinePanel);
3000
+ frame.setJMenuBar(timelineMenubar);
3001
+ wasFullScreen = CameraPane.FULLSCREEN;
3002
+ if (!CameraPane.FULLSCREEN)
3003
+ ToggleFullScreen();
3004
+ toggleFullScreenItem.setEnabled(false);
29043005 }
3006
+ else
3007
+ {
3008
+ centralPanel.remove(timelinePanel);
3009
+ centralPanel.add(cameraView);
3010
+ frame.setJMenuBar(null);
3011
+ if (!wasFullScreen)
3012
+ ToggleFullScreen();
3013
+ toggleFullScreenItem.setEnabled(true);
3014
+ }
3015
+
29053016 frame.validate();
2906
- cameraView.ToggleFullScreen();
3017
+ return;
3018
+ } else if (event.getSource() == toggleFullScreenItem)
3019
+ {
3020
+ ToggleFullScreen();
3021
+ frame.validate();
29073022
29083023 return;
29093024 } else if (event.getSource() == toggleRandomItem)
....@@ -3152,9 +3267,9 @@
31523267 cameraView.RevertCamera();
31533268 cameraView.repaint();
31543269 return;
3155
- } else if (event.getSource() == textureButton)
3156
- {
3157
- return; // true;
3270
+// } else if (event.getSource() == textureButton)
3271
+// {
3272
+// return; // true;
31583273 } else // combos...
31593274 if (event.getSource() == texresMenu)
31603275 {
....@@ -3441,7 +3556,13 @@
34413556 //System.out.println("PARENT = " + parent);
34423557 //if (parent != null)
34433558 // parent.applySelf();
3444
- refreshContents();
3559
+ if (e.getSource() == normalpushField)
3560
+ {
3561
+ objEditor.refreshContents();
3562
+ //Refresh();
3563
+ }
3564
+ else
3565
+ refreshContents();
34453566 // ??? client.refreshEditWindow();
34463567 }
34473568 //else
....@@ -3453,7 +3574,7 @@
34533574 //group.name = nameField.getText();
34543575 //objEditor.applySelf();
34553576
3456
- assert (objEditor == this);
3577
+ // OCT2018: assert (objEditor == this);
34573578 if (copy.selection == null || copy.selection.size() == 0)
34583579 //super.applySelf()
34593580 ; else
....@@ -3477,12 +3598,18 @@
34773598 objEditor.copy = keep;
34783599 }
34793600 }
3601
+
3602
+ if (normalpushField != null)
3603
+ copy.NORMALPUSH = (float)normalpushField.getFloat()/1000;
34803604 }
34813605
34823606 void SnapObject()
34833607 {
3484
- Object3D obj = (Object3D)copy.selection.elementAt(0);
3485
- SnapObject(obj);
3608
+ if (copy.selection.size() > 0)
3609
+ {
3610
+ Object3D obj = (Object3D)copy.selection.elementAt(0);
3611
+ SnapObject(obj);
3612
+ }
34863613 }
34873614
34883615 void SnapObject(Object3D obj)
....@@ -3596,7 +3723,7 @@
35963723
35973724 if (obj.parent != null)
35983725 {
3599
- obj.parent.TransformToWorld(interest);
3726
+// obj.parent.TransformToWorld(interest);
36003727 }
36013728
36023729 if (!CameraPane.TRACK)
....@@ -4376,7 +4503,8 @@
43764503 MenuItem revertCameraItem;
43774504 CheckboxMenuItem toggleLiveItem;
43784505 MenuItem stepItem;
4379
- CheckboxMenuItem toggleFullItem;
4506
+ CheckboxMenuItem toggleFullScreenItem;
4507
+ CheckboxMenuItem toggleTimelineItem;
43804508 CheckboxMenuItem toggleRenderItem;
43814509 CheckboxMenuItem toggleDebugItem;
43824510 CheckboxMenuItem toggleFrustumItem;
....@@ -4403,11 +4531,13 @@
44034531 JSplitPane gridPanel;
44044532 JSplitPane bigPanel;
44054533 JPanel bigThree;
4406
- JTabbedPane jtp;
4407
- JPanel cameraPanel;
4534
+ JTabbedPane scenePanel;
4535
+ JPanel centralPanel;
4536
+ JPanel timelinePanel;
4537
+ JMenuBar timelineMenubar;
44084538 JSplitPane framePanel;
44094539 JTextArea/*Field*/ nameField;
4410
- cButton textureButton;
4540
+ //cButton textureButton;
44114541 cButton okButton;
44124542 cButton applyButton;
44134543 cButton cancelButton;
....@@ -4515,4 +4645,6 @@
45154645 NumberSlider opacityPowerField;
45164646 JTree jTree;
45174647 //ObjectUI parent;
4648
+
4649
+ NumberSlider normalpushField;
45184650 }