Salome HOME
SketchSolver Refactoring: Eliminate SolveSpace as a sketch solver.
[modules/shaper.git] / src / SketchSolver / PlaneGCSSolver / PlaneGCSSolver_EntityWrapper.h
1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
2
3 // File:    PlaneGCSSolver_EntityWrapper.h
4 // Created: 14 Dec 2015
5 // Author:  Artem ZHIDKOV
6
7 #ifndef PlaneGCSSolver_EntityWrapper_H_
8 #define PlaneGCSSolver_EntityWrapper_H_
9
10 #include <PlaneGCSSolver_Defs.h>
11 #include <SketchSolver_IEntityWrapper.h>
12
13 /**
14  *  Wrapper providing operations with PlaneGCS entities (lines, circles and arcs).
15  */
16 class PlaneGCSSolver_EntityWrapper : public SketchSolver_IEntityWrapper
17 {
18 public:
19   PlaneGCSSolver_EntityWrapper(const GCSCurvePtr theEntity);
20
21   /// \brief Return PlaneGCS geometric entity
22   const GCSCurvePtr& entity() const
23   { return myEntity; }
24   /// \brief Return PlaneGCS geometric entity to change
25   GCSCurvePtr& changeEntity()
26   { return myEntity; }
27
28   /// \brief Return type of current entity
29   virtual SketchSolver_EntityType type() const
30   { return myType; }
31
32 private:
33   SketchSolver_EntityType myType;
34   GCSCurvePtr myEntity;
35 };
36
37 #endif