aboutsummaryrefslogtreecommitdiff
path: root/js
diff options
context:
space:
mode:
Diffstat (limited to 'js')
-rwxr-xr-xjs/helper-classes/3D/snap-manager.js21
1 files changed, 15 insertions, 6 deletions
diff --git a/js/helper-classes/3D/snap-manager.js b/js/helper-classes/3D/snap-manager.js
index 1caacd00..a755e9e2 100755
--- a/js/helper-classes/3D/snap-manager.js
+++ b/js/helper-classes/3D/snap-manager.js
@@ -471,7 +471,8 @@ var SnapManager = exports.SnapManager = Montage.create(Component, {
471 value: function( plane ) { 471 value: function( plane ) {
472 this._elementCache = new Array; 472 this._elementCache = new Array;
473 473
474 var stage = this.getStage(); 474// var stage = this.getStage();
475 var stage = this.application.ninja.currentSelectedContainer || this.getStage();
475 this.hLoadElementCache( stage, plane, 0 ); 476 this.hLoadElementCache( stage, plane, 0 );
476 this._isCacheInvalid = false; 477 this._isCacheInvalid = false;
477 478
@@ -570,6 +571,11 @@ var SnapManager = exports.SnapManager = Montage.create(Component, {
570 571
571 hLoadElementCache : { 572 hLoadElementCache : {
572 value: function( elt, plane, depth ) { 573 value: function( elt, plane, depth ) {
574 if(depth > 1)
575 {
576 return;
577 }
578
573 if (depth > 0) 579 if (depth > 0)
574 { 580 {
575 // check if the element is on the specified plane 581 // check if the element is on the specified plane
@@ -590,8 +596,7 @@ var SnapManager = exports.SnapManager = Montage.create(Component, {
590 elt.elementModel.isIn2DSnapCache = false; 596 elt.elementModel.isIn2DSnapCache = false;
591 } 597 }
592 598
593 // TODO - Don't traverse components' children 599 // TODO - Don't traverse svg and components' children
594// if(elt.elementModel && elt.elementModel.isComponent)
595 if(elt.nodeName.toLowerCase() === "svg" || (elt.elementModel && (elt.elementModel.isComponent || (elt.elementModel.selection === "SVG")))) 600 if(elt.nodeName.toLowerCase() === "svg" || (elt.elementModel && (elt.elementModel.isComponent || (elt.elementModel.selection === "SVG"))))
596 { 601 {
597 return; 602 return;
@@ -964,7 +969,8 @@ var SnapManager = exports.SnapManager = Montage.create(Component, {
964 snapToElements : { 969 snapToElements : {
965 value: function( screenPt, hitRecs ) { 970 value: function( screenPt, hitRecs ) {
966 // start at the stage. 971 // start at the stage.
967 var stage = this.getStage(); 972// var stage = this.getStage();
973 var stage = this.application.ninja.currentSelectedContainer || this.getStage();
968 974
969 // the root should be the 'view' canvas, so the first matrix is the camera 975 // the root should be the 'view' canvas, so the first matrix is the camera
970 viewUtils.setViewportObj( stage ); 976 viewUtils.setViewportObj( stage );
@@ -980,6 +986,10 @@ var SnapManager = exports.SnapManager = Montage.create(Component, {
980 { 986 {
981 value: function( elt, hitRecs, depth, globalScrPt ) 987 value: function( elt, hitRecs, depth, globalScrPt )
982 { 988 {
989 if(depth > 1)
990 {
991 return;
992 }
983 // hit test the current object 993 // hit test the current object
984 var hit; 994 var hit;
985 if (depth > 0) // don't snap to the root 995 if (depth > 0) // don't snap to the root
@@ -1001,8 +1011,7 @@ var SnapManager = exports.SnapManager = Montage.create(Component, {
1001 } 1011 }
1002 } 1012 }
1003 1013
1004 // TODO - Don't traverse components' children 1014 // TODO - Don't traverse svg and components' children
1005// if(elt.elementModel && elt.elementModel.isComponent)
1006 if(elt.nodeName.toLowerCase() === "svg" || (elt.elementModel && (elt.elementModel.isComponent || (elt.elementModel.selection === "SVG")))) 1015 if(elt.nodeName.toLowerCase() === "svg" || (elt.elementModel && (elt.elementModel.isComponent || (elt.elementModel.selection === "SVG"))))
1007 { 1016 {
1008 return; 1017 return;