aboutsummaryrefslogtreecommitdiff
path: root/js/lib/drawing/world.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/lib/drawing/world.js')
-rwxr-xr-xjs/lib/drawing/world.js27
1 files changed, 22 insertions, 5 deletions
diff --git a/js/lib/drawing/world.js b/js/lib/drawing/world.js
index 781695b6..5a054224 100755
--- a/js/lib/drawing/world.js
+++ b/js/lib/drawing/world.js
@@ -761,13 +761,10 @@ World.prototype.exportJSON = function()
761 // We need to rebuild everything 761 // We need to rebuild everything
762 if (this._useWebGL) 762 if (this._useWebGL)
763 { 763 {
764 var root = this._rootNode;
765 root.children = new Array();
766 if (worldObj.children && (worldObj.children.length === 1)) 764 if (worldObj.children && (worldObj.children.length === 1))
767 { 765 {
768 this.init(); 766 this.rebuildTree(this._geomRoot);
769 this._geomRoot = undefined; 767 this.restartRenderLoop();
770 this.importObjectsJSON( worldObj.children[0] );
771 } 768 }
772 } 769 }
773 770
@@ -783,6 +780,20 @@ World.prototype.exportJSON = function()
783 return jStr; 780 return jStr;
784} 781}
785 782
783World.prototype.rebuildTree = function( obj )
784{
785 if (!obj) return;
786
787 obj.buildBuffers();
788
789 if (obj.getChild()) {
790 this.rebuildTree( obj.getChild () );
791 }
792
793 if (obj.getNext())
794 this.rebuildTree( obj.getNext() );
795}
796
786World.prototype.exportObjectsJSON = function( obj, parentObj ) 797World.prototype.exportObjectsJSON = function( obj, parentObj )
787{ 798{
788 if (!obj) return; 799 if (!obj) return;
@@ -931,6 +942,7 @@ World.prototype.importObjectsJSON = function( jObj, parentGeomObj )
931World.prototype.importObjectJSON = function( jObj, parentGeomObj ) 942World.prototype.importObjectJSON = function( jObj, parentGeomObj )
932{ 943{
933 var type = jObj.type; 944 var type = jObj.type;
945 var BrushStroke = require("js/lib/geom/brush-stroke").BrushStroke;
934 946
935 var obj; 947 var obj;
936 switch (type) 948 switch (type)
@@ -950,6 +962,11 @@ World.prototype.importObjectJSON = function( jObj, parentGeomObj )
950 obj.importJSON( jObj ); 962 obj.importJSON( jObj );
951 break; 963 break;
952 964
965 case 6: //brush stroke
966 obj = new BrushStroke();
967 obj.importJSON(jObj);
968 break;
969
953 default: 970 default:
954 throw new Error( "Unrecognized object type: " + type ); 971 throw new Error( "Unrecognized object type: " + type );
955 break; 972 break;