aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xjs/document/html-document.js41
-rwxr-xr-xjs/helper-classes/3D/view-utils.js8
-rwxr-xr-xjs/helper-classes/RDGE/GLCircle.js2
-rwxr-xr-xjs/helper-classes/RDGE/GLLine.js2
-rwxr-xr-xjs/helper-classes/RDGE/GLRectangle.js2
-rwxr-xr-xjs/helper-classes/RDGE/GLWorld.js29
-rwxr-xr-xjs/helper-classes/RDGE/rdge-compiled.js28
-rw-r--r--js/helper-classes/RDGE/runtime/CanvasDataManager.js98
-rw-r--r--js/helper-classes/RDGE/runtime/GLRuntime.js159
-rw-r--r--js/helper-classes/RDGE/src/tools/rdge-compiled.js28
-rwxr-xr-xjs/preloader/Preloader.js3
11 files changed, 317 insertions, 83 deletions
diff --git a/js/document/html-document.js b/js/document/html-document.js
index 9a7755e6..f5816f64 100755
--- a/js/document/html-document.js
+++ b/js/document/html-document.js
@@ -152,13 +152,13 @@ exports.HTMLDocument = Montage.create(TextDocument, {
152 glData: { 152 glData: {
153 get: function() 153 get: function()
154 { 154 {
155 var elt = this.iframe;
156 var elt = this.iframe.contentWindow.document.getElementById("UserContent"); 155 var elt = this.iframe.contentWindow.document.getElementById("UserContent");
157 this._glData = null; 156 this._glData = null;
158 if (elt) 157 if (elt)
159 { 158 {
160 this._glData = new Array(); 159 var cdm = new CanvasDataManager();
161 this.collectGLData( elt, this._glData ); 160 this._glData = [];
161 cdm.collectGLData( elt, this._glData );
162 } 162 }
163 163
164 return this._glData 164 return this._glData
@@ -166,37 +166,12 @@ exports.HTMLDocument = Montage.create(TextDocument, {
166 166
167 set: function(value) 167 set: function(value)
168 { 168 {
169 var nWorlds = value.length; 169 var elt = this.iframe.contentWindow.document.getElementById("UserContent");
170 for (var i=0; i<nWorlds; i++) 170 if (elt)
171 { 171 {
172 var importStr = value[i]; 172 console.log( "load canvas data: " + value );
173 var startIndex = importStr.indexOf( "id: " ); 173 var cdm = new CanvasDataManager();
174 if (startIndex >= 0) 174 cdm.loadGLData(elt, value);
175 {
176 var endIndex = importStr.indexOf( "\n", startIndex );
177 if (endIndex > 0)
178 {
179 var id = importStr.substring( startIndex+4, endIndex );
180 var canvas = this.iframe.contentWindow.document.getElementById( id );
181 if (canvas)
182 {
183 if (!canvas.elementModel)
184 {
185 NJUtils.makeElementModel(canvas, "Canvas", "shape", true);
186 }
187
188 if (canvas.elementModel)
189 {
190 if (canvas.elementModel.shapeModel.GLWorld)
191 canvas.elementModel.shapeModel.GLWorld.clearTree();
192
193 var world = new GLWorld( canvas );
194 canvas.elementModel.shapeModel.GLWorld = world;
195 world.import( importStr );
196 }
197 }
198 }
199 }
200 } 175 }
201 } 176 }
202 }, 177 },
diff --git a/js/helper-classes/3D/view-utils.js b/js/helper-classes/3D/view-utils.js
index a2fac34f..bedda8bf 100755
--- a/js/helper-classes/3D/view-utils.js
+++ b/js/helper-classes/3D/view-utils.js
@@ -1226,6 +1226,14 @@ exports.ViewUtils = Montage.create(Component, {
1226 } 1226 }
1227 }, 1227 },
1228 1228
1229 getCurrentDocument:
1230 {
1231 value: function()
1232 {
1233 return snapManagerModule.SnapManager.application.ninja.currentDocument;
1234 }
1235 },
1236
1229 setStageZoom: { 1237 setStageZoom: {
1230 value:function( globalPt, zoomFactor ) { 1238 value:function( globalPt, zoomFactor ) {
1231 var localPt; 1239 var localPt;
diff --git a/js/helper-classes/RDGE/GLCircle.js b/js/helper-classes/RDGE/GLCircle.js
index 5b32547e..712544c0 100755
--- a/js/helper-classes/RDGE/GLCircle.js
+++ b/js/helper-classes/RDGE/GLCircle.js
@@ -135,7 +135,7 @@ function GLCircle()
135 if (!world._useWebGL) return; 135 if (!world._useWebGL) return;
136 136
137 // make sure RDGE has the correct context 137 // make sure RDGE has the correct context
138 g_Engine.setContext( world.getCanvas().uuid ); 138 g_Engine.setContext( world.getCanvas().rdgeid );
139 139
140 // create the gl buffer 140 // create the gl buffer
141 var gl = world.getGLContext(); 141 var gl = world.getGLContext();
diff --git a/js/helper-classes/RDGE/GLLine.js b/js/helper-classes/RDGE/GLLine.js
index 0d815145..f715a43c 100755
--- a/js/helper-classes/RDGE/GLLine.js
+++ b/js/helper-classes/RDGE/GLLine.js
@@ -171,7 +171,7 @@ function GLLine( world, xOffset, yOffset, width, height, slope, strokeSize, stro
171 if (!world._useWebGL) return; 171 if (!world._useWebGL) return;
172 172
173 // make sure RDGE has the correct context 173 // make sure RDGE has the correct context
174 g_Engine.setContext( world.getCanvas().uuid ); 174 g_Engine.setContext( world.getCanvas().rdgeid );
175 175
176 // create the gl buffer 176 // create the gl buffer
177 var gl = world.getGLContext(); 177 var gl = world.getGLContext();
diff --git a/js/helper-classes/RDGE/GLRectangle.js b/js/helper-classes/RDGE/GLRectangle.js
index 5b6ff94f..3c1cb7dc 100755
--- a/js/helper-classes/RDGE/GLRectangle.js
+++ b/js/helper-classes/RDGE/GLRectangle.js
@@ -214,7 +214,7 @@ function GLRectangle()
214 if (!world._useWebGL) return; 214 if (!world._useWebGL) return;
215 215
216 // make sure RDGE has the correct context 216 // make sure RDGE has the correct context
217 g_Engine.setContext( world.getCanvas().uuid ); 217 g_Engine.setContext( world.getCanvas().rdgeid );
218 218
219 // create the gl buffer 219 // create the gl buffer
220 var gl = world.getGLContext(); 220 var gl = world.getGLContext();
diff --git a/js/helper-classes/RDGE/GLWorld.js b/js/helper-classes/RDGE/GLWorld.js
index 1edd5cff..0addcadc 100755
--- a/js/helper-classes/RDGE/GLWorld.js
+++ b/js/helper-classes/RDGE/GLWorld.js
@@ -136,13 +136,6 @@ function GLWorld( canvas, use3D )
136 var camMat = Matrix.I(4); 136 var camMat = Matrix.I(4);
137 camMat[14] = this.getViewDistance(); 137 camMat[14] = this.getViewDistance();
138 this.setCameraMat( camMat ); 138 this.setCameraMat( camMat );
139
140 //////////////////////////////////////////
141 // test call to SVG importer
142// console.log( "***** SVG TEST *****" );
143// var svgImporter = new SVGParse( this );
144// svgImporter.importSVG();
145 //////////////////////////////////////////
146 139
147 // post-load processing of the scene 140 // post-load processing of the scene
148 this.init = function() 141 this.init = function()
@@ -198,7 +191,9 @@ function GLWorld( canvas, use3D )
198 this.myScene.addNode(lightTr); 191 this.myScene.addNode(lightTr);
199 192
200 // Add the scene to the engine - necessary if you want the engine to draw for you 193 // Add the scene to the engine - necessary if you want the engine to draw for you
201 g_Engine.AddScene("myScene" + this._canvas.id, this.myScene); 194 //g_Engine.AddScene("myScene" + this._canvas.id, this.myScene);
195 var name = this._canvas.getAttribute( "data-RDGE-id" );
196 g_Engine.AddScene("myScene" + name, this.myScene);
202 } 197 }
203 198
204 // main code for handling user interaction and updating the scene 199 // main code for handling user interaction and updating the scene
@@ -227,11 +222,11 @@ function GLWorld( canvas, use3D )
227 } 222 }
228 223
229 // defining the draw function to control how the scene is rendered 224 // defining the draw function to control how the scene is rendered
230 this.draw = function() 225 this.draw = function()
231 { 226 {
232 if (this._useWebGL) 227 if (this._useWebGL)
233 { 228 {
234 g_Engine.setContext( this._canvas.uuid ); 229 g_Engine.setContext( this._canvas.rdgeid );
235 var ctx = g_Engine.getContext(); 230 var ctx = g_Engine.getContext();
236 var renderer = ctx.renderer; 231 var renderer = ctx.renderer;
237 if (renderer.unloadedTextureCount <= 0) 232 if (renderer.unloadedTextureCount <= 0)
@@ -391,12 +386,10 @@ function GLWorld( canvas, use3D )
391 if (this._useWebGL) 386 if (this._useWebGL)
392 { 387 {
393 rdgeStarted = true; 388 rdgeStarted = true;
394 this._canvas.rdgeid = this._canvas.uuid; 389 var id = this._canvas.getAttribute( "data-RDGE-id" );
390 this._canvas.rdgeid = id;
395 g_Engine.registerCanvas(this._canvas, this); 391 g_Engine.registerCanvas(this._canvas, this);
396 RDGEStart( this._canvas ); 392 RDGEStart( this._canvas );
397
398 //this._canvas.fpsTracker = new fpsTracker( '0' );
399 //this._canvas.task = new RDGETask(this._canvas, false);
400 this._canvas.task.stop() 393 this._canvas.task.stop()
401 } 394 }
402} 395}
@@ -765,7 +758,7 @@ GLWorld.prototype.render = function()
765 else 758 else
766 { 759 {
767// console.log( "GLWorld.render, " + this._worldCount ); 760// console.log( "GLWorld.render, " + this._worldCount );
768 g_Engine.setContext( this._canvas.uuid ); 761 g_Engine.setContext( this._canvas.rdgeId );
769 //this.draw(); 762 //this.draw();
770 this.restartRenderLoop(); 763 this.restartRenderLoop();
771 } 764 }
@@ -821,7 +814,9 @@ GLWorld.prototype.getShapeFromPoint = function( offsetX, offsetY )
821GLWorld.prototype.export = function() 814GLWorld.prototype.export = function()
822{