SHAPER 9.16.0
GeomAlgoAPI_MakeShapeList.h
1// Copyright (C) 2014-2026 CEA, EDF
2//
3// This library is free software; you can redistribute it and/or
4// modify it under the terms of the GNU Lesser General Public
5// License as published by the Free Software Foundation; either
6// version 2.1 of the License, or (at your option) any later version.
7//
8// This library is distributed in the hope that it will be useful,
9// but WITHOUT ANY WARRANTY; without even the implied warranty of
10// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11// Lesser General Public License for more details.
12//
13// You should have received a copy of the GNU Lesser General Public
14// License along with this library; if not, write to the Free Software
15// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
16//
17// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18//
19
20#ifndef GeomAlgoAPI_MakeShapeList_H_
21#define GeomAlgoAPI_MakeShapeList_H_
22
23#include <GeomAPI_Shape.h>
24#include <GeomAlgoAPI.h>
25#include <GeomAlgoAPI_MakeShape.h>
26
27#include <memory>
28
33{
34 enum OperationType {
35 Generated,
36 Modified
37 };
38
39public:
41 GEOMALGOAPI_EXPORT GeomAlgoAPI_MakeShapeList();
42
45 GEOMALGOAPI_EXPORT GeomAlgoAPI_MakeShapeList(const ListOfMakeShape& theMakeShapeList);
46
49 GEOMALGOAPI_EXPORT void init(const ListOfMakeShape& theMakeShapeList);
50
52 GEOMALGOAPI_EXPORT const ListOfMakeShape& list() const;
53
56 GEOMALGOAPI_EXPORT void appendAlgo(const GeomMakeShapePtr theMakeShape);
57
59 GEOMALGOAPI_EXPORT virtual const GeomShapePtr shape() const;
60
62 GEOMALGOAPI_EXPORT virtual void generated(const GeomShapePtr theShape,
63 ListOfShape& theHistory);
64
66 GEOMALGOAPI_EXPORT virtual void modified(const GeomShapePtr theShape,
67 ListOfShape& theHistory);
68
70 GEOMALGOAPI_EXPORT virtual bool isDeleted(const GeomShapePtr theShape);
71
72private:
73 void result(const GeomShapePtr theShape,
74 ListOfShape& theHistory);
75
76protected:
77 ListOfMakeShape myListOfMakeShape;
78};
79
80#endif
List of topological shapes constructions.
Definition: GeomAlgoAPI_MakeShapeList.h:33
ListOfMakeShape myListOfMakeShape
List of make shape algos.
Definition: GeomAlgoAPI_MakeShapeList.h:77
virtual GEOMALGOAPI_EXPORT const GeomShapePtr shape() const
Definition: GeomAlgoAPI_MakeShapeList.cpp:74
virtual GEOMALGOAPI_EXPORT void modified(const GeomShapePtr theShape, ListOfShape &theHistory)
Definition: GeomAlgoAPI_MakeShapeList.cpp:93
GEOMALGOAPI_EXPORT void init(const ListOfMakeShape &theMakeShapeList)
Initializes a class with new list of algorithms.
Definition: GeomAlgoAPI_MakeShapeList.cpp:40
virtual GEOMALGOAPI_EXPORT bool isDeleted(const GeomShapePtr theShape)
Definition: GeomAlgoAPI_MakeShapeList.cpp:100
GEOMALGOAPI_EXPORT void appendAlgo(const GeomMakeShapePtr theMakeShape)
Adds algo to the end of list.
Definition: GeomAlgoAPI_MakeShapeList.cpp:63
virtual GEOMALGOAPI_EXPORT void generated(const GeomShapePtr theShape, ListOfShape &theHistory)
Definition: GeomAlgoAPI_MakeShapeList.cpp:86
GEOMALGOAPI_EXPORT GeomAlgoAPI_MakeShapeList()
Default constructor.
Definition: GeomAlgoAPI_MakeShapeList.cpp:28
GEOMALGOAPI_EXPORT const ListOfMakeShape & list() const
Definition: GeomAlgoAPI_MakeShapeList.cpp:56
Interface to the root class of all topological shapes constructions.
Definition: GeomAlgoAPI_MakeShape.h:35