From 723ea402b74efa0424b96c7e125c8ebb2b72410c Mon Sep 17 00:00:00 2001 From: Nivesh Rajbhandari Date: Mon, 26 Mar 2012 17:36:27 -0700 Subject: Fixed issue with WebGL materials not working after file-save or chrome-preview. Also fixed Raiders material not showing in the PI or working during Chrome Preview. Signed-off-by: Nivesh Rajbhandari --- js/lib/drawing/world.js | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) (limited to 'js/lib/drawing') diff --git a/js/lib/drawing/world.js b/js/lib/drawing/world.js index 781695b6..fec6a478 100755 --- a/js/lib/drawing/world.js +++ b/js/lib/drawing/world.js @@ -761,13 +761,10 @@ World.prototype.exportJSON = function() // We need to rebuild everything if (this._useWebGL) { - var root = this._rootNode; - root.children = new Array(); if (worldObj.children && (worldObj.children.length === 1)) { - this.init(); - this._geomRoot = undefined; - this.importObjectsJSON( worldObj.children[0] ); + this.rebuildTree(this._geomRoot); + this.restartRenderLoop(); } } @@ -783,6 +780,20 @@ World.prototype.exportJSON = function() return jStr; } +World.prototype.rebuildTree = function( obj ) +{ + if (!obj) return; + + obj.buildBuffers(); + + if (obj.getChild()) { + this.rebuildTree( obj.getChild () ); + } + + if (obj.getNext()) + this.rebuildTree( obj.getNext() ); +} + World.prototype.exportObjectsJSON = function( obj, parentObj ) { if (!obj) return; -- cgit v1.2.3 From 903b01b9d0501e6f974034273385a0517107b1e3 Mon Sep 17 00:00:00 2001 From: Pushkar Joshi Date: Tue, 27 Mar 2012 12:42:42 -0700 Subject: File IO for the brush stroke AND changing the data type of brush stroke from GEOM_TYPE_CUBIC_BEZIER to GEOM_TYPE_BRUSH_STROKE --- js/lib/drawing/world.js | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'js/lib/drawing') diff --git a/js/lib/drawing/world.js b/js/lib/drawing/world.js index 781695b6..1552178d 100755 --- a/js/lib/drawing/world.js +++ b/js/lib/drawing/world.js @@ -931,6 +931,7 @@ World.prototype.importObjectsJSON = function( jObj, parentGeomObj ) World.prototype.importObjectJSON = function( jObj, parentGeomObj ) { var type = jObj.type; + var BrushStroke = require("js/lib/geom/brush-stroke").BrushStroke; var obj; switch (type) @@ -950,6 +951,11 @@ World.prototype.importObjectJSON = function( jObj, parentGeomObj ) obj.importJSON( jObj ); break; + case 6: //brush stroke + obj = new BrushStroke(); + obj.importJSON(jObj); + break; + default: throw new Error( "Unrecognized object type: " + type ); break; -- cgit v1.2.3