1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
3 // File: PlaneGCSSolver_EntityWrapper.h
4 // Created: 30 Nov 2015
5 // Author: Artem ZHIDKOV
7 #ifndef PlaneGCSSolver_EntityWrapper_H_
8 #define PlaneGCSSolver_EntityWrapper_H_
10 #include <PlaneGCSSolver_Defs.h>
12 #include <ModelAPI_Attribute.h>
13 #include <ModelAPI_Feature.h>
19 * Wrapper providing operations with entities regardless the solver.
21 class PlaneGCSSolver_EntityWrapper
24 PlaneGCSSolver_EntityWrapper() : myExternal(false) {}
25 virtual ~PlaneGCSSolver_EntityWrapper() {}
27 /// \brief Return type of current entity
28 virtual SketchSolver_EntityType type() const = 0;
30 /// \brief Change flag indicating the entity cannot be changed in the solver
31 void setExternal(bool theExternal) { myExternal = theExternal; }
32 /// \brief Return the External flag
33 bool isExternal() const { return myExternal; }
39 typedef std::shared_ptr<PlaneGCSSolver_EntityWrapper> EntityWrapperPtr;