X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2FGeomAPI%2FGeomAPI_Dir.cpp;h=c1b88a78d5e89dbed12f721cf6e84317e8ce5c07;hb=d22fc665c79c31c9eea0625e04c2e941adfdf7be;hp=abe357b2bfc17e033ddd4af1644aa204ed3b3c5c;hpb=81dad1acf409fa5e71090501bc1aa7e0b7d80cde;p=modules%2Fshaper.git diff --git a/src/GeomAPI/GeomAPI_Dir.cpp b/src/GeomAPI/GeomAPI_Dir.cpp index abe357b2b..c1b88a78d 100644 --- a/src/GeomAPI/GeomAPI_Dir.cpp +++ b/src/GeomAPI/GeomAPI_Dir.cpp @@ -10,12 +10,14 @@ #define MY_DIR static_cast(myImpl) GeomAPI_Dir::GeomAPI_Dir(const double theX, const double theY, const double theZ) - : GeomAPI_Interface(new gp_Dir(theX, theY, theZ)) -{} + : GeomAPI_Interface(new gp_Dir(theX, theY, theZ)) +{ +} GeomAPI_Dir::GeomAPI_Dir(const boost::shared_ptr& theCoords) - : GeomAPI_Interface(new gp_Dir(theCoords->x(), theCoords->y(), theCoords->z())) -{} + : GeomAPI_Interface(new gp_Dir(theCoords->x(), theCoords->y(), theCoords->z())) +{ +} double GeomAPI_Dir::x() const { @@ -32,7 +34,7 @@ double GeomAPI_Dir::z() const return MY_DIR->Z(); } -const boost::shared_ptr GeomAPI_Dir::xyz() +const boost::shared_ptr GeomAPI_Dir::xyz() { return boost::shared_ptr(new GeomAPI_XYZ(MY_DIR->X(), MY_DIR->Y(), MY_DIR->Z())); } @@ -41,3 +43,11 @@ double GeomAPI_Dir::dot(const boost::shared_ptr& theArg) const { return MY_DIR->Dot(theArg->impl()); } + +const boost::shared_ptr GeomAPI_Dir::cross( + const boost::shared_ptr& theArg) const +{ + gp_XYZ aResult = MY_DIR->XYZ().Crossed(theArg->impl().XYZ()); + return boost::shared_ptr(new GeomAPI_XYZ(aResult.X(), aResult.Y(), aResult.Z())); +} +