X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FGeomAPI%2FGeomAPI_XYZ.h;h=12cf7d04a678902b7e1b62d380f2e54a557787fe;hb=60e95a5502a6940c6c27ce5d561b3c684b0b0a4f;hp=6042428e5e15c068ae2e83e6578ea97ed944cfca;hpb=d55b9b2a4aec1ad934bed2edda57d31ea33e34ae;p=modules%2Fshaper.git diff --git a/src/GeomAPI/GeomAPI_XYZ.h b/src/GeomAPI/GeomAPI_XYZ.h index 6042428e5..12cf7d04a 100644 --- a/src/GeomAPI/GeomAPI_XYZ.h +++ b/src/GeomAPI/GeomAPI_XYZ.h @@ -1,21 +1,23 @@ +// Copyright (C) 2014-20xx CEA/DEN, EDF R&D + // File: GeomAPI_XYZ.hxx // Created: 23 Apr 2014 // Author: Mikhail PONIKAROV -#ifndef GeomAPI_XYZ_HeaderFile -#define GeomAPI_XYZ_HeaderFile +#ifndef GeomAPI_XYZ_H_ +#define GeomAPI_XYZ_H_ #include -#include +#include /**\class GeomAPI_XYZ * \ingroup DataModel * \brief 3 coordinates: they may represent vector or point or something else */ -class GEOMAPI_EXPORT GeomAPI_XYZ: public GeomAPI_Interface +class GEOMAPI_EXPORT GeomAPI_XYZ : public GeomAPI_Interface { -public: + public: /// Creation by coordinates GeomAPI_XYZ(const double theX, const double theY, const double theZ); @@ -34,9 +36,19 @@ public: void setZ(const double theZ); /// result is sum of coordinates of this and the given argument - const boost::shared_ptr added(const boost::shared_ptr& theArg); + const std::shared_ptr added(const std::shared_ptr& theArg); + /// result is difference between coordinates of this and the given argument + const std::shared_ptr decreased(const std::shared_ptr& theArg); /// result is coordinates multiplied by the argument - const boost::shared_ptr multiplied(const double theArg); + const std::shared_ptr multiplied(const double theArg); + + /// result is a scalar product of two triplets + double dot(const std::shared_ptr& theArg) const; + /// result is a cross product of two triplets + const std::shared_ptr cross(const std::shared_ptr& theArg) const; + + /// Distance between two triplets + double distance(const std::shared_ptr& theOther) const; }; #endif