From 42372db6bbd5f9d52e461329cfa87d07487c304e Mon Sep 17 00:00:00 2001 From: Val Erastov Date: Sun, 11 Dec 2016 23:08:26 -0800 Subject: [PATCH] reuse point on arc for point on ellipse action --- web/app/sketcher/parametric.js | 15 +++++++-------- web/app/sketcher/sketcher-app.js | 6 +----- web/sketcher.html | 1 - 3 files changed, 8 insertions(+), 14 deletions(-) diff --git a/web/app/sketcher/parametric.js b/web/app/sketcher/parametric.js index c1b09263..d8e0d9ad 100644 --- a/web/app/sketcher/parametric.js +++ b/web/app/sketcher/parametric.js @@ -330,15 +330,14 @@ ParametricManager.prototype.symmetry = function(objs) { }; ParametricManager.prototype.pointOnArc = function(objs) { - var points = fetch.generic(objs, ['TCAD.TWO.EndPoint'], 1); - var arcs = fetch.generic(objs, ['TCAD.TWO.Arc', 'TCAD.TWO.Circle'], 1); - this.add(new Constraints.PointOnArc(points[0], arcs[0])); -}; - -ParametricManager.prototype.pointOnEllipse = function(objs) { const points = fetch.generic(objs, ['TCAD.TWO.EndPoint'], 1); - const ellipses = fetch.generic(objs, ['TCAD.TWO.Ellipse', 'TCAD.TWO.EllipticalArc'], 1); - this.add(new Constraints.PointOnEllipse(points[0], ellipses[0])); + const arcs = fetch.generic(objs, ['TCAD.TWO.Arc', 'TCAD.TWO.Circle', 'TCAD.TWO.Ellipse', 'TCAD.TWO.EllipticalArc'], 1); + const arc = arcs[0]; + if (arc._class == 'TCAD.TWO.Ellipse' || arc._class == 'TCAD.TWO.EllipticalArc') { + this.add(new Constraints.PointOnEllipse(points[0], arc)); + } else { + this.add(new Constraints.PointOnArc(points[0], arc)); + } }; ParametricManager.prototype.pointOnLine = function(objs) { diff --git a/web/app/sketcher/sketcher-app.js b/web/app/sketcher/sketcher-app.js index 4d76cf8b..37583884 100644 --- a/web/app/sketcher/sketcher-app.js +++ b/web/app/sketcher/sketcher-app.js @@ -227,14 +227,10 @@ function App2D() { app.viewer.parametricManager.pointOnLine(app.viewer.selected); }); - this.registerAction('pointOnArc', "Point On Arc", function () { + this.registerAction('pointOnArc', "Point On Arc / Ellipse", function () { app.viewer.parametricManager.pointOnArc(app.viewer.selected); }); - this.registerAction('pointOnEllipse', "Point On Ellipse", function () { - app.viewer.parametricManager.pointOnEllipse(app.viewer.selected); - }); - this.registerAction('pointInMiddle', "Point In the Middle", function () { app.viewer.parametricManager.pointInMiddle(app.viewer.selected); }); diff --git a/web/sketcher.html b/web/sketcher.html index e63b3a88..b0e6e99a 100644 --- a/web/sketcher.html +++ b/web/sketcher.html @@ -62,7 +62,6 @@
-