X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FGeomAPI%2FGeomAPI_XYZ.h;h=38f189db6b3d0c722a8ca6d93ffe4671f0bd8378;hb=73b293b1c77ab13ac9fbbb2aefb3b8573e63180b;hp=6042428e5e15c068ae2e83e6578ea97ed944cfca;hpb=d55b9b2a4aec1ad934bed2edda57d31ea33e34ae;p=modules%2Fshaper.git diff --git a/src/GeomAPI/GeomAPI_XYZ.h b/src/GeomAPI/GeomAPI_XYZ.h index 6042428e5..38f189db6 100644 --- a/src/GeomAPI/GeomAPI_XYZ.h +++ b/src/GeomAPI/GeomAPI_XYZ.h @@ -1,42 +1,67 @@ +// 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_XYZ : public GeomAPI_Interface { -public: + public: /// Creation by coordinates + GEOMAPI_EXPORT GeomAPI_XYZ(const double theX, const double theY, const double theZ); /// returns X coordinate + GEOMAPI_EXPORT double x() const; /// returns Y coordinate + GEOMAPI_EXPORT double y() const; /// returns Z coordinate + GEOMAPI_EXPORT double z() const; /// sets X coordinate + GEOMAPI_EXPORT void setX(const double theX); /// sets Y coordinate + GEOMAPI_EXPORT void setY(const double theY); /// sets Z coordinate + GEOMAPI_EXPORT 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); + GEOMAPI_EXPORT + const std::shared_ptr added(const std::shared_ptr& theArg); + /// result is difference between coordinates of this and the given argument + GEOMAPI_EXPORT + 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); + GEOMAPI_EXPORT + const std::shared_ptr multiplied(const double theArg); + + /// result is a scalar product of two triplets + GEOMAPI_EXPORT + double dot(const std::shared_ptr& theArg) const; + /// result is a cross product of two triplets + GEOMAPI_EXPORT + const std::shared_ptr cross(const std::shared_ptr& theArg) const; + + /// Distance between two triplets + GEOMAPI_EXPORT + double distance(const std::shared_ptr& theOther) const; }; #endif