From 8c83f4142b6e4822a3136dc1f5df0e5ba7d428a2 Mon Sep 17 00:00:00 2001 From: Abdullah Tahiri Date: Sat, 17 Dec 2016 22:49:10 +0100 Subject: [PATCH] Part: Parabola Extension to support getting occ focus --- src/Mod/Part/App/Geometry.cpp | 9 +++++++++ src/Mod/Part/App/Geometry.h | 2 ++ 2 files changed, 11 insertions(+) diff --git a/src/Mod/Part/App/Geometry.cpp b/src/Mod/Part/App/Geometry.cpp index be7b389743..342c557857 100644 --- a/src/Mod/Part/App/Geometry.cpp +++ b/src/Mod/Part/App/Geometry.cpp @@ -2322,6 +2322,15 @@ void GeomArcOfParabola::setFocal(double length) } } +Base::Vector3d GeomArcOfParabola::getFocus(void) const +{ + Handle_Geom_Parabola p = Handle_Geom_Parabola::DownCast(myCurve->BasisCurve()); + gp_Pnt gp = p->Focus(); + + return Base::Vector3d(gp.X(),gp.Y(),gp.Z()); +} + + void GeomArcOfParabola::getRange(double& u, double& v, bool /*emulateCCWXY*/) const { #if 0 diff --git a/src/Mod/Part/App/Geometry.h b/src/Mod/Part/App/Geometry.h index 7652f324b6..4c49aeba7d 100644 --- a/src/Mod/Part/App/Geometry.h +++ b/src/Mod/Part/App/Geometry.h @@ -497,6 +497,8 @@ public: double getFocal(void) const; void setFocal(double length); + Base::Vector3d getFocus(void) const; + virtual void getRange(double& u, double& v, bool emulateCCWXY) const; virtual void setRange(double u, double v, bool emulateCCWXY);