Normand Briere
2019-08-27 dce400da7c65d659129abf9bc6e8f38b360a63d2
Object3D.java
....@@ -194,6 +194,8 @@
194194 {
195195 Object3D o;
196196
197
+ boolean isnew = false;
198
+
197199 if (hashtable.containsKey(GetUUID()))
198200 {
199201 o = hashtable.get(GetUUID());
....@@ -206,6 +208,8 @@
206208 }
207209 else
208210 {
211
+ isnew = true;
212
+
209213 o = new Object3D("copy of " + this.name);
210214
211215 hashtable.put(GetUUID(), o);
....@@ -222,12 +226,15 @@
222226
223227 blockloop = false;
224228 }
225
-
226
- ExtractBigData(o);
229
+
230
+ if (isnew)
231
+ ExtractBigData(o);
227232 }
228233
229234 void ExtractBigData(Object3D o)
230235 {
236
+ //System.err.println("ExtractBigData : " + this + " --> " + o);
237
+
231238 if (o.bRep != null)
232239 Grafreed.Assert(o.bRep == this.bRep);
233240
....@@ -238,8 +245,8 @@
238245 // o.bRep.support = null;
239246 // }
240247 o.selection = this.selection;
241
- o.versionlist = this.versionlist;
242
- o.versionindex = this.versionindex;
248
+ //o.versionlist = this.versionlist;
249
+ //o.versionindex = this.versionindex;
243250
244251 if (this.support != null)
245252 {
....@@ -355,6 +362,8 @@
355362
356363 void RestoreBigData(Object3D o)
357364 {
365
+ //System.err.println("RestoreBigData : " + this + " <-- " + o);
366
+
358367 this.bRep = o.bRep;
359368 if (this.support != null && o.transientrep != null)
360369 {
....@@ -363,8 +372,8 @@
363372
364373 this.selection = o.selection;
365374
366
- this.versionlist = o.versionlist;
367
- this.versionindex = o.versionindex;
375
+ //this.versionlist = o.versionlist;
376
+ //this.versionindex = o.versionindex;
368377 // July 2019 if (this.bRep != null)
369378 // this.bRep.support = o.transientrep;
370379 // this.support = o.support;