client/js/renderer/scene.js
changeset 519 b94a34c139c1
parent 512 480c1d2d6915
child 520 f14ff8669037
--- a/client/js/renderer/scene.js	Mon Sep 14 17:57:13 2015 +0200
+++ b/client/js/renderer/scene.js	Mon Sep 14 18:02:00 2015 +0200
@@ -487,12 +487,13 @@
 
     _(Scene.prototype).extend({
         fixSize: function() {
-//            if(typeothis.view) {
-//                this.view.setScale(view.get("zoom_level"), new paper.Point(view.get("offset")));
-//            }
-//            else{
-//                this.view.autoScale();
-//            }
+            if(typeof this.view === 'undefined') {
+                this.view = this.addRepresentation("View", this.renkan.project.get("views").last());
+                this.view.setScale(view.get("zoom_level"), new paper.Point(view.get("offset")));
+            }
+            else{
+                this.view.autoScale();
+            }
         },
         drawSector: function(_repr, _inR, _outR, _startAngle, _endAngle, _padding, _imgname, _caption) {
             var _options = this.renkan.options,
@@ -1201,37 +1202,35 @@
         },
         parameters: function(_params){
             if ($.isEmptyObject(_params)){
-                this.view = this.addRepresentation("View", this.renkan.project.get("views").last());
+                this.view = this.addRepresentation("View", this.renkan.project.get("views").first());
+                this.view.autoScale();
                 return;
             }
-            if (typeof _params.view !== 'undefined'){
+            if (typeof _params.idView !== 'undefined' && typeof this.renkan.project.get("views").at(_params.idView) !== 'undefined'){
+                this.view = this.addRepresentation("View", this.renkan.project.get("views").at(_params.idView));
+            }
+            if (typeof _params.view !== 'undefined' && _params.view.split(",").length >= 3){
                 var viewParams = _params.view.split(",");
-                if (viewParams.length >= 3){
-                    var params = {
-                            "project": this.renkan.project,
-                            "offset": {
-                                "x": parseFloat(viewParams[0]),
-                                "y": parseFloat(viewParams[1])
-                            },
-                            "zoom_level": parseFloat(viewParams[2])
-                    };
-                    for (var i = 3; i < viewParams.length; i++){
-                        params.hidden_nodes.push(viewParams[i]);
-                    }
-                    //var view = new Rkns.Models.View(params);
-                    
-                    if (this.view){
-                        this.view.showNodes(false);
-                        this.removeRepresentation(this.view);
-                    }
-                    
+                var params = {
+                        "project": this.renkan.project,
+                        "offset": {
+                            "x": parseFloat(viewParams[0]),
+                            "y": parseFloat(viewParams[1])
+                        },
+                        "zoom_level": parseFloat(viewParams[2])
+                };
+                if (this.view){
+                    this.view.setScale(params.zoom_level, new paper.Point(params.offset));
+                } else{
                     this.view = this.addRepresentation("View", null);
                     this.view.params = params;
-                    this.view.init();
-                } else {
-                    this.view = this.addRepresentation("View", this.renkan.project.get("views").last());
+                    this.view.init();                    
                 }
             }
+            if(!this.view){
+                this.view = this.addRepresentation("View", this.renkan.project.get("views").first());
+                this.view.autoScale();
+            }
             //other parameters must go after because most of them depends on a view that must be initialize before
             if (typeof _params.idNode !== 'undefined'){
                 this.unhighlightAll();