]> SALOME platform Git repositories - modules/shaper.git/commitdiff
Salome HOME
Calculation of angle between two directions
authorazv <azv@opencascade.com>
Thu, 23 Apr 2015 06:03:36 +0000 (09:03 +0300)
committerazv <azv@opencascade.com>
Thu, 23 Apr 2015 06:03:36 +0000 (09:03 +0300)
src/GeomAPI/GeomAPI_Dir.cpp
src/GeomAPI/GeomAPI_Dir.h
src/GeomAPI/GeomAPI_Dir2d.cpp
src/GeomAPI/GeomAPI_Dir2d.h

index 858d8f877bca48b78b968e536a4eaa214a746e48..5c42d68a0d9e6afc35664479468a23ca8701ee89 100644 (file)
@@ -53,3 +53,8 @@ const std::shared_ptr<GeomAPI_XYZ> GeomAPI_Dir::cross(
   return std::shared_ptr<GeomAPI_XYZ>(new GeomAPI_XYZ(aResult.X(), aResult.Y(), aResult.Z()));
 }
 
+double GeomAPI_Dir::angle(const std::shared_ptr<GeomAPI_Dir>& theArg) const
+{
+  return MY_DIR->Angle(theArg->impl<gp_Dir>());
+}
+
index c713019f92267f6d7a9f46fce67fa605b98b5e1d..fa0cdcb6bcce408a43dcd90038f15b1b687eaab5 100644 (file)
@@ -39,6 +39,9 @@ class GEOMAPI_EXPORT GeomAPI_Dir : public GeomAPI_Interface
   double dot(const std::shared_ptr<GeomAPI_Dir>& theArg) const;
   /// result is a cross product of two directions
   const std::shared_ptr<GeomAPI_XYZ> cross(const std::shared_ptr<GeomAPI_Dir>& theArg) const;
+
+  /// calculates angle between two directions
+  double angle(const std::shared_ptr<GeomAPI_Dir>& theArg) const;
 };
 
 #endif
index e9131f992d6b2782d32d73d895eabcd6b83ab92e..abb954f294e260c54d789982eb52f361cf7a9bf5 100644 (file)
@@ -46,3 +46,7 @@ double GeomAPI_Dir2d::cross(const std::shared_ptr<GeomAPI_Dir2d>& theArg) const
   return MY_DIR->XY().Crossed(theArg->impl<gp_Dir2d>().XY());
 }
 
+double GeomAPI_Dir2d::angle(const std::shared_ptr<GeomAPI_Dir2d>& theArg) const
+{
+  return MY_DIR->Angle(theArg->impl<gp_Dir2d>());
+}
index ec558769392d7b1f91a370edaa9ea172a8526d1d..afea837238ee4077bef285278ae8c76ee91e2dab 100644 (file)
@@ -37,6 +37,9 @@ class GEOMAPI_EXPORT GeomAPI_Dir2d : public GeomAPI_Interface
   double dot(const std::shared_ptr<GeomAPI_Dir2d>& theArg) const;
   /// result is a cross product of two directions
   double cross(const std::shared_ptr<GeomAPI_Dir2d>& theArg) const;
+
+  /// calculates angle between two directions
+  double angle(const std::shared_ptr<GeomAPI_Dir2d>& theArg) const;
 };
 
 #endif