Normand Briere
2019-08-16 83d0c2fa0bd2e96448f776144e1a89cdb1bb6998
Save version table.
4 files modified
60 ■■■■■ changed files
BoundaryRep.java 4 ●●●● patch | view | raw | blame | history
GroupEditor.java 11 ●●●●● patch | view | raw | blame | history
ObjEditor.java 43 ●●●●● patch | view | raw | blame | history
Object3D.java 2 ●●●●● patch | view | raw | blame | history
BoundaryRep.java
....@@ -686,6 +686,7 @@
686686
687687 void RecomputeBasis(BoundaryRep other, double[][] toRoot, Vertex v)
688688 {
689
+ CameraPane.CreateSelectedPoint();
689690 CameraPane.selectedpoint.
690691 getAverage(cStatic.point1, true);
691692
....@@ -1003,6 +1004,7 @@
10031004
10041005 v.closestsupport = -1;
10051006
1007
+ CameraPane.CreateSelectedPoint();
10061008 CameraPane.selectedpoint.
10071009 getAverage(cStatic.point1, true);
10081010
....@@ -1261,6 +1263,7 @@
12611263 for (int wi = v0.weights.length; --wi>=0;)
12621264 v[wi] = 0;
12631265
1266
+ CameraPane.CreateSelectedPoint();
12641267 CameraPane.selectedpoint.
12651268 getAverage(cStatic.point1, true);
12661269
....@@ -1398,6 +1401,7 @@
13981401 v0.x = v0.y = v0.z = 0;
13991402 v0.norm.x = v0.norm.y = v0.norm.z = 0;
14001403
1404
+ CameraPane.CreateSelectedPoint();
14011405 CameraPane.selectedpoint.
14021406 getAverage(cStatic.point1, true);
14031407
GroupEditor.java
....@@ -415,12 +415,14 @@
415415 this.copy = this.group = group;
416416 //selectees = this.group.selectees;
417417
418
+ assert(false);
419
+
418420 if (copy.versionlist == null)
419421 {
420422 copy.versionlist = new Object3D[100];
421423 copy.versionindex = -1;
422424
423
- Save(true);
425
+ //Save(true);
424426 }
425427
426428 if(ui)
....@@ -449,7 +451,7 @@
449451 copy.versionlist = new Object3D[100];
450452 copy.versionindex = -1;
451453
452
- Save(true);
454
+ //Save(true);
453455 }
454456 }
455457
....@@ -1111,6 +1113,7 @@
11111113 copyOptionsPanel.add(deleteVersionButton = GetButton("icons/trash.png", !Grafreed.NIMBUSLAF)); //, oe.aConstraints);
11121114 deleteVersionButton.setToolTipText("Delete current version");
11131115 deleteVersionButton.addActionListener(this);
1116
+ deleteVersionButton.setEnabled(false);
11141117
11151118 copyOptionsPanel.add(previousVersionButton = GetButton("icons/undo.png", !Grafreed.NIMBUSLAF)); //, oe.aConstraints);
11161119 previousVersionButton.setToolTipText("Previous version");
....@@ -1121,12 +1124,12 @@
11211124 updown.add(restoreButton = GetButton("icons/restore.png", !Grafreed.NIMBUSLAF)); //, oe.aConstraints);
11221125 restoreButton.setToolTipText("Undo (restore current version)");
11231126 restoreButton.addActionListener(this);
1124
- //restoreButton.setEnabled(false);
1127
+ restoreButton.setEnabled(false);
11251128
11261129 updown.add(replaceButton = GetButton("icons/replace.png", !Grafreed.NIMBUSLAF)); //, oe.aConstraints);
11271130 replaceButton.setToolTipText("Save (replace current version)");
11281131 replaceButton.addActionListener(this);
1129
- //replaceButton.setEnabled(false);
1132
+ replaceButton.setEnabled(false);
11301133
11311134 copyOptionsPanel.add(updown);
11321135
ObjEditor.java
....@@ -951,18 +951,24 @@
951951 boolean temp = CameraPane.SWITCH;
952952 CameraPane.SWITCH = false;
953953
954
- object.ExtractBigData(versiontable);
954
+ if (Grafreed.grafreed.universe.versiontable == null)
955
+ Grafreed.grafreed.universe.versiontable = new java.util.Hashtable<java.util.UUID, Object3D>();
956
+
957
+ object.ExtractBigData(Grafreed.grafreed.universe.versiontable);
955958 // if (copy == client)
956959
957960 Object3D versions[] = object.versionlist;
961
+ java.util.Hashtable<java.util.UUID, Object3D> versiontable = object.versiontable; // if Grafreed.grafreed.universe
958962 object.versionlist = null;
963
+ object.versiontable = null;
959964
960965 //byte[] compress = Compress(copy);
961966 Object3D compress = (Object3D)Grafreed.clone(object);
962967
963968 object.versionlist = versions;
969
+ object.versiontable = versiontable; // if Grafreed.grafreed.universe
964970
965
- object.RestoreBigData(versiontable);
971
+ object.RestoreBigData(Grafreed.grafreed.universe.versiontable);
966972
967973 CameraPane.SWITCH = temp;
968974
....@@ -1659,14 +1665,14 @@
16591665
16601666 //JScrollPane tmp = new JScrollPane(ctrlPanel, ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
16611667 //tmp.setName("Edit");
1662
- objectPanel.add(materialPanel);
1663
- objectPanel.setIconAt(0, GetIcon("icons/material.png"));
1664
- objectPanel.setToolTipTextAt(0, "Material");
1665
-
16661668 objectPanel.add(toolboxPanel);
1667
- objectPanel.setIconAt(1, GetIcon("icons/primitives.png"));
1668
- objectPanel.setToolTipTextAt(1, "Objects & textures");
1669
+ objectPanel.setIconAt(0, GetIcon("icons/primitives.png"));
1670
+ objectPanel.setToolTipTextAt(0, "Objects & textures");
16691671
1672
+ objectPanel.add(materialPanel);
1673
+ objectPanel.setIconAt(1, GetIcon("icons/material.png"));
1674
+ objectPanel.setToolTipTextAt(1, "Material");
1675
+
16701676 objectPanel.add(skyboxPanel);
16711677 objectPanel.setIconAt(2, GetIcon("icons/skybox.jpg"));
16721678 objectPanel.setToolTipTextAt(2, "Backgrounds");
....@@ -3913,7 +3919,7 @@
39133919 //System.out.println("ObjEditor " + event);
39143920 applySelf0(true);
39153921 //parent.applySelf();
3916
- objEditor.refreshContents();
3922
+ // conflicts with requestFocus objEditor.refreshContents();
39173923 } else if (source == resetButton)
39183924 {
39193925 CameraPane.fullreset = true;
....@@ -4225,8 +4231,6 @@
42254231 return true;
42264232 }
42274233
4228
- java.util.Hashtable<java.util.UUID, Object3D> versiontable = new java.util.Hashtable<java.util.UUID, Object3D>();
4229
-
42304234 void DeleteVersion()
42314235 {
42324236 for (int i = copy.versionindex; i < copy.versionlist.length-1; i++)
....@@ -4234,7 +4238,11 @@
42344238 copy.versionlist[i] = copy.versionlist[i+1];
42354239 }
42364240
4237
- CopyChanged();
4241
+ if (copy.versionlist[copy.versionindex] == null)
4242
+ copy.versionindex -= 1;
4243
+
4244
+ if (copy.versionindex != -1)
4245
+ CopyChanged();
42384246
42394247 SetVersionStates();
42404248 }
....@@ -4347,7 +4355,7 @@
43474355 boolean temp = CameraPane.SWITCH;
43484356 CameraPane.SWITCH = false;
43494357
4350
- copy.ExtractBigData(versiontable);
4358
+ copy.ExtractBigData(Grafreed.grafreed.universe.versiontable);
43514359
43524360 copy.clear();
43534361
....@@ -4359,7 +4367,7 @@
43594367 copy.add(obj.get(i));
43604368 }
43614369
4362
- copy.RestoreBigData(versiontable);
4370
+ copy.RestoreBigData(Grafreed.grafreed.universe.versiontable);
43634371
43644372 CameraPane.SWITCH = temp;
43654373
....@@ -4422,8 +4430,8 @@
44224430 previousVersionButton.setEnabled(copy.versionindex > 0);
44234431 nextVersionButton.setEnabled(copy.versionlist[copy.versionindex + 1] != null);
44244432
4425
- deleteVersionButton.setEnabled(//copy.versionindex > 0 &&
4426
- copy.versionlist[copy.versionindex + 1] != null);
4433
+ deleteVersionButton.setEnabled(copy.versionindex != -1);
4434
+ //copy.versionlist[copy.versionindex + 1] != null);
44274435
44284436 muteSlider = true;
44294437 versionSlider.setMinimum(0);
....@@ -4488,7 +4496,7 @@
44884496
44894497 public boolean Replace()
44904498 {
4491
- System.err.println("Replace");
4499
+ //System.err.println("Replace");
44924500
44934501 //cRadio tab = GetCurrentTab();
44944502
....@@ -5578,6 +5586,7 @@
55785586
55795587 copy.versionlist = readobj.versionlist;
55805588 copy.versionindex = readobj.versionindex;
5589
+ copy.versiontable = readobj.versiontable;
55815590
55825591 if (copy.versionlist == null)
55835592 {
Object3D.java
....@@ -36,6 +36,8 @@
3636 Object3D versionlist[];
3737 int versionindex = -1;
3838
39
+ java.util.Hashtable<java.util.UUID, Object3D> versiontable; // = new java.util.Hashtable<java.util.UUID, Object3D>();
40
+
3941 ScriptNode scriptnode;
4042
4143 void InitOthers()