.. | .. |
---|
17 | 17 | filecontent = null; |
---|
18 | 18 | } |
---|
19 | 19 | |
---|
| 20 | + boolean HasBigData() |
---|
| 21 | + { |
---|
| 22 | + return filecontent != null; |
---|
| 23 | + } |
---|
| 24 | + |
---|
| 25 | + void ExtractBigData(java.util.Hashtable<java.util.UUID, Object3D> hashtable) |
---|
| 26 | + { |
---|
| 27 | + Object3D o; |
---|
| 28 | + |
---|
| 29 | + if (hashtable.containsKey(GetUUID())) |
---|
| 30 | + { |
---|
| 31 | + o = hashtable.get(GetUUID()); |
---|
| 32 | + |
---|
| 33 | + //Grafreed.Assert(this.filecontent == ((FileObject)o).filecontent); |
---|
| 34 | + } |
---|
| 35 | + else |
---|
| 36 | + { |
---|
| 37 | + o = new Object3D("copy of " + this.name); |
---|
| 38 | + |
---|
| 39 | + hashtable.put(GetUUID(), o); |
---|
| 40 | + } |
---|
| 41 | + |
---|
| 42 | + ExtractBigData(o); |
---|
| 43 | + } |
---|
| 44 | + |
---|
| 45 | + void RestoreBigData(java.util.Hashtable<java.util.UUID, Object3D> hashtable) |
---|
| 46 | + { |
---|
| 47 | + if (!hashtable.containsKey(GetUUID())) |
---|
| 48 | + return; |
---|
| 49 | + |
---|
| 50 | + Object3D o = hashtable.get(GetUUID()); |
---|
| 51 | + |
---|
| 52 | + RestoreBigData(o); |
---|
| 53 | + } |
---|
| 54 | + |
---|
20 | 55 | boolean IsStatic() |
---|
21 | 56 | { |
---|
22 | 57 | return false; // ???? false; |
---|
.. | .. |
---|
81 | 116 | this.objfile = objfile; |
---|
82 | 117 | } |
---|
83 | 118 | |
---|
| 119 | + void ExtractBigData(Object3D o) |
---|
| 120 | + { |
---|
| 121 | + super.ExtractBigData(o); |
---|
| 122 | + |
---|
| 123 | + o.savefilecontent = this.filecontent; |
---|
| 124 | + |
---|
| 125 | + // filecontent is transient |
---|
| 126 | + this.filecontent = null; |
---|
| 127 | + } |
---|
| 128 | + |
---|
| 129 | + void RestoreBigData(Object3D o) |
---|
| 130 | + { |
---|
| 131 | + super.RestoreBigData(o); |
---|
| 132 | + |
---|
| 133 | + this.filecontent = o.savefilecontent; |
---|
| 134 | + } |
---|
| 135 | + |
---|
84 | 136 | Object3D deepCopy() |
---|
85 | 137 | { |
---|
86 | 138 | FileObject e = new FileObject(name, objfile); |
---|
.. | .. |
---|
88 | 140 | return e; |
---|
89 | 141 | } |
---|
90 | 142 | |
---|
91 | | - protected void deepCopySelf(Object3D other) |
---|
| 143 | + protected void deepCopyNode(Object3D other) |
---|
92 | 144 | { |
---|
93 | | - super.deepCopySelf(other); |
---|
| 145 | + super.deepCopyNode(other); |
---|
94 | 146 | } |
---|
95 | 147 | |
---|
96 | 148 | // void Draw(CameraPane display, Object3D /*Composite*/ root, boolean selected) |
---|