Salome HOME
Issue #1015: The validate icon must be greyed and inactive instead of red and active
[modules/shaper.git] / src / GeomAPI / GeomAPI_Lin2d.cpp
index 3c784eefdbd7eb0c3b1ca1215aad9fea5128c5c5..2d97bd6c8747d49e9af1346e2397eef2f003a089 100644 (file)
@@ -15,7 +15,7 @@
 
 #include <IntAna2d_AnaIntersection.hxx>
 
-#define MY_LIN2D static_cast<gp_Lin2d*>(myImpl)
+#define MY_LIN2D implPtr<gp_Lin2d>()
 
 static gp_Lin2d* newLine2d(const double theStartX, const double theStartY, const double theEndX,
                            const double theEndY)
@@ -25,6 +25,7 @@ static gp_Lin2d* newLine2d(const double theStartX, const double theStartY, const
   return new gp_Lin2d(aStart, gp_Dir2d(aDir));
 }
 
+
 GeomAPI_Lin2d::GeomAPI_Lin2d(const double theStartX, const double theStartY, const double theEndX,
                              const double theEndY)
     : GeomAPI_Interface(newLine2d(theStartX, theStartY, theEndX, theEndY))
@@ -37,6 +38,14 @@ GeomAPI_Lin2d::GeomAPI_Lin2d(const std::shared_ptr<GeomAPI_Pnt2d>& theStart,
 {
 }
 
+GeomAPI_Lin2d::GeomAPI_Lin2d(const std::shared_ptr<GeomAPI_Pnt2d>& theOrigin,
+                             const std::shared_ptr<GeomAPI_Dir2d>& theDirection)
+    : GeomAPI_Interface(newLine2d(theOrigin->x(), theOrigin->y(),
+        theOrigin->x() + theDirection->x(), theOrigin->y() + theDirection->y()))
+{
+}
+
+
 std::shared_ptr<GeomAPI_Pnt2d> GeomAPI_Lin2d::location()
 {
   gp_Pnt2d aLoc = impl<gp_Lin2d>().Location();