Salome HOME
Correct case when the weak-named attribute is dumped in Geom mode: geometrical repres...
[modules/shaper.git] / src / GeomAPI / GeomAPI_Circ.cpp
index fd8ae536c8f928fb8c9868a59ac2435b2b1007ea..87662f275a42cdc2e18a4510c50b4bb8ed2621d9 100644 (file)
@@ -14,7 +14,8 @@
 // License along with this library; if not, write to the Free Software
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 //
-// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com<mailto:webmaster.salome@opencascade.com>
+// See http://www.salome-platform.org/ or
+// email : webmaster.salome@opencascade.com<mailto:webmaster.salome@opencascade.com>
 //
 
 #include <GeomAPI_Circ.h>
@@ -55,6 +56,16 @@ GeomAPI_Circ::GeomAPI_Circ(const std::shared_ptr<GeomAPI_Pnt>& theCenter,
 {
 }
 
+//=================================================================================================
+GeomAPI_Circ::GeomAPI_Circ(const GeomCurvePtr& theCurve)
+{
+  Handle(Geom_Curve) aCurve = theCurve->impl<Handle(Geom_Curve)>();
+  Handle(Geom_Circle) aCirc = Handle(Geom_Circle)::DownCast(aCurve);
+  if (aCirc.IsNull())
+    throw Standard_ConstructionError("GeomAPI_Circ: Curve is not a circle");
+  setImpl(new gp_Circ(aCirc->Circ()));
+}
+
 //=================================================================================================
 const std::shared_ptr<GeomAPI_Pnt> GeomAPI_Circ::center() const
 {