diff options
Diffstat (limited to 'js/lib')
-rwxr-xr-x | js/lib/NJUtils.js | 32 | ||||
-rwxr-xr-x | js/lib/drawing/world.js | 6 |
2 files changed, 37 insertions, 1 deletions
diff --git a/js/lib/NJUtils.js b/js/lib/NJUtils.js index 4f1082f9..904aa41e 100755 --- a/js/lib/NJUtils.js +++ b/js/lib/NJUtils.js | |||
@@ -96,15 +96,45 @@ exports.NJUtils = Object.create(Object.prototype, { | |||
96 | value: function(el, selection, controller, isShape) { | 96 | value: function(el, selection, controller, isShape) { |
97 | var p3d = Montage.create(Properties3D).init(el); | 97 | var p3d = Montage.create(Properties3D).init(el); |
98 | var shapeProps = null; | 98 | var shapeProps = null; |
99 | var pi = controller + "Pi"; | ||
100 | |||
99 | if(isShape) { | 101 | if(isShape) { |
100 | shapeProps = Montage.create(ShapeModel); | 102 | shapeProps = Montage.create(ShapeModel); |
101 | } | 103 | } |
102 | 104 | ||
105 | if(el.controller) { | ||
106 | |||
107 | var componentInfo = Montage.getInfoForObject(el.controller); | ||
108 | var componentName = componentInfo.objectName.toLowerCase(); | ||
109 | |||
110 | controller = "component"; | ||
111 | isShape = false; | ||
112 | |||
113 | switch(componentName) { | ||
114 | case "feedreader": | ||
115 | selection = "Feed Reader"; | ||
116 | pi = "FeedReaderPi"; | ||
117 | break; | ||
118 | case "map": | ||
119 | selection = "Map"; | ||
120 | pi = "MapPi"; | ||
121 | break; | ||
122 | case "youtubechannel": | ||
123 | selection = "Youtube Channel"; | ||
124 | pi = "YoutubeChannelPi"; | ||
125 | break; | ||
126 | case "picasacarousel": | ||
127 | selection = "Picasa Carousel"; | ||
128 | pi = "PicasaCarouselPi"; | ||
129 | break; | ||
130 | } | ||
131 | } | ||
132 | |||
103 | el.elementModel = Montage.create(ElementModel, { | 133 | el.elementModel = Montage.create(ElementModel, { |
104 | type: { value: el.nodeName}, | 134 | type: { value: el.nodeName}, |
105 | selection: { value: selection}, | 135 | selection: { value: selection}, |
106 | controller: { value: ControllerFactory.getController(controller)}, | 136 | controller: { value: ControllerFactory.getController(controller)}, |
107 | pi: { value: controller + "Pi"}, | 137 | pi: { value: pi}, |
108 | props3D: { value: p3d}, | 138 | props3D: { value: p3d}, |
109 | shapeModel: { value: shapeProps} | 139 | shapeModel: { value: shapeProps} |
110 | }); | 140 | }); |
diff --git a/js/lib/drawing/world.js b/js/lib/drawing/world.js index 07a2c3ae..b87c6272 100755 --- a/js/lib/drawing/world.js +++ b/js/lib/drawing/world.js | |||
@@ -117,6 +117,8 @@ var World = function GLWorld( canvas, use3D, preserveDrawingBuffer ) { | |||
117 | 117 | ||
118 | this.getRenderer = function() { return this.renderer; }; | 118 | this.getRenderer = function() { return this.renderer; }; |
119 | 119 | ||
120 | // Flag to play/pause animation at authortime | ||
121 | this._previewAnimation = true; | ||
120 | //////////////////////////////////////////////////////////////////////////////////// | 122 | //////////////////////////////////////////////////////////////////////////////////// |
121 | // RDGE | 123 | // RDGE |
122 | // local variables | 124 | // local variables |
@@ -475,6 +477,10 @@ World.prototype.restartRenderLoop = function() { | |||
475 | if (this._allMapsLoaded) { | 477 | if (this._allMapsLoaded) { |
476 | //console.log( "starting task" ); | 478 | //console.log( "starting task" ); |
477 | this._canvas.task.start(); | 479 | this._canvas.task.start(); |
480 | if(!this._previewAnimation) { | ||
481 | //render only once if authortime animation is turned off | ||
482 | this._canvas.task.stop(); | ||
483 | } | ||
478 | } else { | 484 | } else { |
479 | //console.log( "stopping task" ); | 485 | //console.log( "stopping task" ); |
480 | this._canvas.task.stop(); | 486 | this._canvas.task.stop(); |