diff --git a/src/scene/SceneInitializer.js b/src/scene/SceneInitializer.js index 6de9106e..2fe01b4e 100644 --- a/src/scene/SceneInitializer.js +++ b/src/scene/SceneInitializer.js @@ -97,7 +97,7 @@ SceneInitializer.prototype = { updateCamera: function() { - let modelDepth = this.layers.length; + let modelDepth = this.depth; let controlRatio = getControlRatio( modelDepth ); this.camera.position.set( diff --git a/src/tsp-model/AbstractModel.js b/src/tsp-model/AbstractModel.js index 8fdb0627..eaeb88d2 100644 --- a/src/tsp-model/AbstractModel.js +++ b/src/tsp-model/AbstractModel.js @@ -112,6 +112,14 @@ function AbstractModel( container, config ) { this.hoveredLayer = undefined; + /** + * Model's depth in visualization. + * + * @type { Int } + */ + + this.depth = undefined; + /** * Model configuration. * Initialized with user's model config and default model config. diff --git a/src/tsp-model/Model.js b/src/tsp-model/Model.js index efdd9695..4b9be1d2 100644 --- a/src/tsp-model/Model.js +++ b/src/tsp-model/Model.js @@ -248,7 +248,10 @@ Model.prototype = Object.assign( Object.create( AbstractModel.prototype ), { this.createGraph(); this.assembleLayers(); - this.updateCamera( this.layers.length ); + + this.depth = this.levelMap.length; + + this.updateCamera(); this.createModelElements(); this.registerModelEvent(); this.animate(); diff --git a/src/tsp-model/Sequential.js b/src/tsp-model/Sequential.js index 593d661a..84038003 100644 --- a/src/tsp-model/Sequential.js +++ b/src/tsp-model/Sequential.js @@ -220,7 +220,9 @@ Sequential.prototype = Object.assign( Object.create( AbstractModel.prototype ), initTSPModel: function() { - this.updateCamera( this.layers.length ); + this.depth = this.layers.length; + + this.updateCamera(); this.createModelElements(); this.registerModelEvent(); this.animate();