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 63743cc7d06caaa327758599ccf7f7953ad6f019..87662f275a42cdc2e18a4510c50b4bb8ed2621d9 100644 (file)
@@ -56,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
 {