Salome HOME
Merge branch 'master' of newgeom:newgeom
[modules/shaper.git] / src / GeomAPI / GeomAPI_Dir.h
index 7993a3d77d030e3adc6701457e36b686758d2b31..6ab0f1dd2baced7076eff6b372d6d477e4f1ca49 100644 (file)
@@ -6,6 +6,9 @@
 #define GeomAPI_Dir_HeaderFile
 
 #include <GeomAPI_Interface.h>
+#include <boost/shared_ptr.hpp>
+
+class GeomAPI_XYZ;
 
 /**\class GeomAPI_Dir
  * \ingroup DataModel
@@ -17,6 +20,8 @@ class GEOMAPI_EXPORT GeomAPI_Dir: public GeomAPI_Interface
 public:
   /// Creation of direction by coordinates
   GeomAPI_Dir(const double theX, const double theY, const double theZ);
+  /// Creation of direction by coordinates
+  GeomAPI_Dir(const boost::shared_ptr<GeomAPI_XYZ>& theCoords);
 
   /// returns X coordinate
   double x() const;
@@ -25,6 +30,11 @@ public:
   /// returns Z coordinate
   double z() const;
 
+  /// returns coordinates of the direction
+  const boost::shared_ptr<GeomAPI_XYZ> xyz();
+
+  /// result is a scalar product of directions
+  double dot(const boost::shared_ptr<GeomAPI_Dir>& theArg) const;
 };
 
 #endif