X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FGeomAlgoAPI%2FGeomAlgoAPI_EdgeBuilder.h;h=ffd042b4c52c2e7a6a967b69a87471a2e199e6ca;hb=f5c7bb3100ed321392da42f61c2ab505833ec61a;hp=cd505a8614d57f110f42a634098663eac38e577c;hpb=1a6a9c1c0c466abb867f2c2815b20aa0620a444c;p=modules%2Fshaper.git diff --git a/src/GeomAlgoAPI/GeomAlgoAPI_EdgeBuilder.h b/src/GeomAlgoAPI/GeomAlgoAPI_EdgeBuilder.h index cd505a861..ffd042b4c 100644 --- a/src/GeomAlgoAPI/GeomAlgoAPI_EdgeBuilder.h +++ b/src/GeomAlgoAPI/GeomAlgoAPI_EdgeBuilder.h @@ -1,14 +1,17 @@ +// Copyright (C) 2014-20xx CEA/DEN, EDF R&D + // File: GeomAlgoAPI_EdgeBuilder.h // Created: 23 Apr 2014 // Author: Mikhail PONIKAROV -#ifndef GeomAlgoAPI_EdgeBuilder_HeaderFile -#define GeomAlgoAPI_EdgeBuilder_HeaderFile +#ifndef GeomAlgoAPI_EdgeBuilder_H_ +#define GeomAlgoAPI_EdgeBuilder_H_ #include -#include +#include #include -#include +#include +#include /**\class GeomAlgoAPI_EdgeBuilder * \ingroup DataAlgo @@ -17,10 +20,26 @@ class GEOMALGOAPI_EXPORT GeomAlgoAPI_EdgeBuilder { -public: - /// Creates linear edge by two points - static boost::shared_ptr line( - boost::shared_ptr theStart, boost::shared_ptr theEnd); + public: + /// Creates linear edge by two points. + /// \param theStart a first point of an edge + /// \param theEnd an end point of an edge + static std::shared_ptr line(std::shared_ptr theStart, + std::shared_ptr theEnd); + /// Creates edge - axis of the given cylindrical face. The result axis edge is infinite + static std::shared_ptr cylinderAxis( + std::shared_ptr theCylindricalFace); + + /// Creates linear edge in a form of a circle by a point and a circle radius + static std::shared_ptr lineCircle(std::shared_ptr theCenter, + std::shared_ptr theNormal, + double theRadius); + + /// Creates linear edge in a form of a circle arc by a three points + static std::shared_ptr lineCircleArc(std::shared_ptr theCenter, + std::shared_ptr theStartPoint, + std::shared_ptr theEndPoint, + std::shared_ptr theNormal); }; #endif