aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xjs/lib/geom/sub-path.js4
-rwxr-xr-xjs/tools/PenTool.js10
2 files changed, 10 insertions, 4 deletions
diff --git a/js/lib/geom/sub-path.js b/js/lib/geom/sub-path.js
index bca4e1c5..d784fbc6 100755
--- a/js/lib/geom/sub-path.js
+++ b/js/lib/geom/sub-path.js
@@ -338,6 +338,10 @@ GLSubpath.prototype.setPlaneMatrix = function(planeMat){
338 this._planeMat = planeMat; 338 this._planeMat = planeMat;
339}; 339};
340 340
341GLSubpath.prototype.getPlaneMatrix = function(){
342 return this._planeMat;
343};
344
341GLSubpath.prototype.setDragPlane = function(p){ 345GLSubpath.prototype.setDragPlane = function(p){
342 this._dragPlane = p; 346 this._dragPlane = p;
343}; 347};
diff --git a/js/tools/PenTool.js b/js/tools/PenTool.js
index f310208e..96702756 100755
--- a/js/tools/PenTool.js
+++ b/js/tools/PenTool.js
@@ -410,10 +410,12 @@ exports.PenTool = Montage.create(ShapeTool, {
410 ShowSelectedSubpath:{ 410 ShowSelectedSubpath:{
411 value: function() { 411 value: function() {
412 if (this._selectedSubpath){ 412 if (this._selectedSubpath){
413 this._selectedSubpath.setPlaneMatrix(this._penPlaneMat); 413 if (!this._selectedSubpath.getPlaneMatrix()) {
414 var planeMatInv = glmat4.inverse( this._penPlaneMat, [] ); 414 this._selectedSubpath.setPlaneMatrix(this._penPlaneMat);
415 this._selectedSubpath.setPlaneMatrixInverse(planeMatInv); 415 var planeMatInv = glmat4.inverse( this._penPlaneMat, [] );
416 this._selectedSubpath.setDragPlane(this._dragPlane); 416 this._selectedSubpath.setPlaneMatrixInverse(planeMatInv);
417 this._selectedSubpath.setDragPlane(this._dragPlane);
418 }
417 419
418 this._selectedSubpath.createSamples(); //dirty bit is checked here 420 this._selectedSubpath.createSamples(); //dirty bit is checked here
419 this._selectedSubpath.buildLocalCoord(); //local dirty bit is checked here 421 this._selectedSubpath.buildLocalCoord(); //local dirty bit is checked here