X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FGeomAlgoAPI%2FGeomAlgoAPI_Prism.h;h=08f64d27cdf7c7f9572625694451e5daba91cf2d;hb=c0861430eadfbc55433269ea813ea798c1540a71;hp=7d2d2dbddb6eb6710c7ccee7c1da79d7e1936565;hpb=c4eab94a20a0d93100549a210582d46409fec1cc;p=modules%2Fshaper.git diff --git a/src/GeomAlgoAPI/GeomAlgoAPI_Prism.h b/src/GeomAlgoAPI/GeomAlgoAPI_Prism.h index 7d2d2dbdd..08f64d27c 100644 --- a/src/GeomAlgoAPI/GeomAlgoAPI_Prism.h +++ b/src/GeomAlgoAPI/GeomAlgoAPI_Prism.h @@ -1,4 +1,4 @@ -// Copyright (C) 2014-2019 CEA/DEN, EDF R&D +// Copyright (C) 2014-2022 CEA/DEN, EDF R&D // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public @@ -20,15 +20,15 @@ #ifndef GeomAlgoAPI_Prism_H_ #define GeomAlgoAPI_Prism_H_ -#include "GeomAlgoAPI.h" - #include "GeomAlgoAPI_MakeSweep.h" -#include #include #include +class GeomAPI_Dir; +class GeomAPI_Pln; + /// \class GeomAlgoAPI_Prism /// \ingroup DataAlgo /// \brief Allows to create the prism based on a given face and bounding planes. @@ -55,13 +55,32 @@ public: const double theFromSize); private: - /// Builds resulting shape. - void build(const GeomShapePtr& theBaseShape, - const std::shared_ptr theDirection, - const GeomShapePtr& theToShape, - const double theToSize, - const GeomShapePtr& theFromShape, - const double theFromSize); + /// Build extrusion by distances from the base shape. + void buildBySizes(const GeomShapePtr theBaseShape, + const std::shared_ptr theDirection, + const double theToSize, + const double theFromSize, + const GeomAPI_Shape::ShapeType theTypeToExp); + + /// Build extrusion from plane to plane. + void buildByPlanes(const GeomShapePtr theBaseShape, + const std::shared_ptr theDirection, + const std::shared_ptr theToPlane, + const double theToSize, + const std::shared_ptr theFromPlane, + const double theFromSize, + const GeomAPI_Shape::ShapeType theTypeToExp); + + /// Build extrusion from face to face. + void buildByFaces(const GeomShapePtr theBaseShape, + const std::shared_ptr theDirection, + const GeomShapePtr theToShape, + const double theToSize, + const bool theToIsPlanar, + const GeomShapePtr theFromShape, + const double theFromSize, + const bool theFromIsPlanar, + const GeomAPI_Shape::ShapeType theTypeToExp); }; #endif