From 64280907f31e6f6e5659acb0893df3e0da5bb044 Mon Sep 17 00:00:00 2001
From: hwc487
Date: Wed, 22 Feb 2012 16:28:29 -0800
Subject: GL save and reload.
---
.../RDGE/runtime/CanvasDataManager.js | 98 ++++++++++++++++++++++
1 file changed, 98 insertions(+)
create mode 100644 js/helper-classes/RDGE/runtime/CanvasDataManager.js
(limited to 'js/helper-classes/RDGE/runtime/CanvasDataManager.js')
diff --git a/js/helper-classes/RDGE/runtime/CanvasDataManager.js b/js/helper-classes/RDGE/runtime/CanvasDataManager.js
new file mode 100644
index 00000000..4985fc9a
--- /dev/null
+++ b/js/helper-classes/RDGE/runtime/CanvasDataManager.js
@@ -0,0 +1,98 @@
+/*
+This file contains proprietary software owned by Motorola Mobility, Inc.
+No rights, expressed or implied, whatsoever to this software are provided by Motorola Mobility, Inc. hereunder.
+(c) Copyright 2011 Motorola Mobility, Inc. All Rights Reserved.
+ */
+
+
+
+///////////////////////////////////////////////////////////////////////
+// Class ShapeRuntime
+// Manages runtime shape display
+///////////////////////////////////////////////////////////////////////
+function CanvasDataManager()
+{
+ this.loadGLData = function(root, valueArray)
+ {
+ var value = valueArray;
+ var nWorlds = value.length;
+ for (var i=0; i= 0)
+ {
+ var endIndex = importStr.indexOf( "\n", startIndex );
+ if (endIndex > 0)
+ {
+ var id = importStr.substring( startIndex+4, endIndex );
+ var canvas = this.findCanvasWithID( id, root );
+ if (canvas)
+ {
+ var loadForAuthoring = true;
+ var index = importStr.indexOf( "scenedata: " );
+ if (index >= 0) loadForAuthoring = false;
+
+ if (loadForAuthoring)
+ {
+ if (!canvas.elementModel)
+ {
+ NJUtils.makeElementModel(canvas, "Canvas", "shape", true);
+ }
+
+ if (canvas.elementModel)
+ {
+ if (canvas.elementModel.shapeModel.GLWorld)
+ canvas.elementModel.shapeModel.GLWorld.clearTree();
+
+ var world = new GLWorld( canvas );
+ canvas.elementModel.shapeModel.GLWorld = world;
+ world.import( importStr );
+ }
+ }
+ else
+ {
+ var rt = new GLRuntime( canvas, importStr );
+ }
+ }
+ }
+ }
+ }
+ }
+
+ this.collectGLData = function( elt, dataArray )
+ {
+ if (elt.elementModel && elt.elementModel.shapeModel && elt.elementModel.shapeModel.GLWorld)
+ {
+ var data = elt.elementModel.shapeModel.GLWorld.export();
+ dataArray.push( data );
+ }
+
+ if (elt.children)
+ {
+ var nKids = elt.children.length;
+ for (var i=0; i