aboutsummaryrefslogtreecommitdiff
path: root/js/helper-classes/RDGE/runtime
diff options
context:
space:
mode:
authorhwc4872012-02-22 16:28:29 -0800
committerhwc4872012-02-22 16:28:29 -0800
commit64280907f31e6f6e5659acb0893df3e0da5bb044 (patch)
treea7665fecf079d3c9bcdd34a6eedec52ab2a4206f /js/helper-classes/RDGE/runtime
parent2bb869eb1c0b71e379f159eb0f95dfa168496d8d (diff)
downloadninja-64280907f31e6f6e5659acb0893df3e0da5bb044.tar.gz
GL save and reload.
Diffstat (limited to 'js/helper-classes/RDGE/runtime')
-rw-r--r--js/helper-classes/RDGE/runtime/CanvasDataManager.js98
-rw-r--r--js/helper-classes/RDGE/runtime/CanvasLoader.js72
2 files changed, 98 insertions, 72 deletions
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 @@
1/* <copyright>
2This file contains proprietary software owned by Motorola Mobility, Inc.<br/>
3No rights, expressed or implied, whatsoever to this software are provided by Motorola Mobility, Inc. hereunder.<br/>
4(c) Copyright 2011 Motorola Mobility, Inc. All Rights Reserved.
5</copyright> */
6
7
8
9///////////////////////////////////////////////////////////////////////
10// Class ShapeRuntime
11// Manages runtime shape display
12///////////////////////////////////////////////////////////////////////
13function CanvasDataManager()
14{
15 this.loadGLData = function(root, valueArray)
16 {
17 var value = valueArray;
18 var nWorlds = value.length;
19 for (var i=0; i<nWorlds; i++)
20 {
21 var importStr = value[i];
22 var startIndex = importStr.indexOf( "id: " );
23 if (startIndex >= 0)
24 {
25 var endIndex = importStr.indexOf( "\n", startIndex );
26 if (endIndex > 0)
27 {
28 var id = importStr.substring( startIndex+4, endIndex );
29 var canvas = this.findCanvasWithID( id, root );
30 if (canvas)
31 {
32 var loadForAuthoring = true;
33 var index = importStr.indexOf( "scenedata: " );
34 if (index >= 0) loadForAuthoring = false;
35
36 if (loadForAuthoring)
37 {
38 if (!canvas.elementModel)
39 {
40 NJUtils.makeElementModel(canvas, "Canvas", "shape", true);
41 }
42
43 if (canvas.elementModel)
44 {
45 if (canvas.elementModel.shapeModel.GLWorld)
46 canvas.elementModel.shapeModel.GLWorld.clearTree();
47
48 var world = new GLWorld( canvas );
49 canvas.elementModel.shapeModel.GLWorld = world;
50 world.import( importStr );
51 }
52 }
53 else
54 {
55 var rt = new GLRuntime( canvas, importStr );
56 }
57 }
58 }
59 }
60 }
61 }
62
63 this.collectGLData = function( elt, dataArray )
64 {
65 if (elt.elementModel && elt.elementModel.shapeModel && elt.elementModel.shapeModel.GLWorld)
66 {
67 var data = elt.elementModel.shapeModel.GLWorld.export();
68 dataArray.push( data );
69 }
70
71 if (elt.children)
72 {
73 var nKids = elt.children.length;
74 for (var i=0; i<nKids; i++)
75 {
76 var child = elt.children[i];
77 this.collectGLData( child, dataArray );
78 }
79 }
80 }
81
82 this.findCanvasWithID = function( id, elt )
83 {
84 var cid = elt.getAttribute( "data-RDGE-id" );
85 if (cid == id) return elt;
86
87 if (elt.children)
88 {
89 var nKids = elt.children.length;
90 for (var i=0; i<nKids; i++)
91 {
92 var child = elt.children[i];
93 this.findCanvasWithID( id, child );
94 }
95 }
96 }
97}
98
diff --git a/js/helper-classes/RDGE/runtime/CanvasLoader.js b/js/helper-classes/RDGE/runtime/CanvasLoader.js
deleted file mode 100644
index 12a985d3..00000000
--- a/js/helper-classes/RDGE/runtime/CanvasLoader.js
+++ /dev/null
@@ -1,72 +0,0 @@
1/* <copyright>
2This file contains proprietary software owned by Motorola Mobility, Inc.<br/>
3No rights, expressed or implied, whatsoever to this software are provided by Motorola Mobility, Inc. hereunder.<br/>
4(c) Copyright 2011 Motorola Mobility, Inc. All Rights Reserved.
5</copyright> */
6
7
8
9///////////////////////////////////////////////////////////////////////
10// Class ShapeRuntime
11// Manages runtime shape display
12///////////////////////////////////////////////////////////////////////
13function CanvasLoader( root, valueArray, loadForAuthoring )
14{
15 var value = valueArray;
16 var nWorlds = value.length;
17 for (var i=0; i<nWorlds; i++)
18 {
19 var importStr = value[i];
20 var startIndex = importStr.indexOf( "id: " );
21 if (startIndex >= 0)
22 {
23 var endIndex = importStr.indexOf( "\n", startIndex );
24 if (endIndex > 0)
25 {
26 var id = importStr.substring( startIndex+4, endIndex );
27 var canvas = this.findCanvasWithID( id, root );
28 if (canvas)
29 {
30 if (loadForAuthoring)
31 {
32 if (!canvas.elementModel)
33 {
34 NJUtils.makeElementModel(canvas, "Canvas", "shape", true);
35 }
36
37 if (canvas.elementModel)
38 {
39 if (canvas.elementModel.shapeModel.GLWorld)
40 canvas.elementModel.shapeModel.GLWorld.clearTree();
41
42 var world = new GLWorld( canvas );
43 canvas.elementModel.shapeModel.GLWorld = world;
44 world.import( importStr );
45 }
46 }
47 else
48 {
49 var rt = new GLRuntime( canvas, importStr );
50 }
51 }
52 }
53 }
54 }
55
56 this.findCanvasWithID = function( id, elt )
57 {
58 var cid = elt.getAttribute( "data-RDGE-id" );
59 if (cid == id) return elt;
60
61 if (elt.children)
62 {
63 var nKids = elt.children.length;
64 for (var i=0; i<nKids; i++)
65 {
66 var child = elt.children[i];
67 this.findCanvasWithID( id, child );
68 }
69 }
70 }
71}
72