Salome HOME
Sketcher: Remove obsolete interfaces. Code cleanup.
[modules/shaper.git] / src / SketchSolver / PlaneGCSSolver / PlaneGCSSolver_EdgeWrapper.h
1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
2
3 // File:    PlaneGCSSolver_EdgeWrapper.h
4 // Created: 14 Dec 2015
5 // Author:  Artem ZHIDKOV
6
7 #ifndef PlaneGCSSolver_EdgeWrapper_H_
8 #define PlaneGCSSolver_EdgeWrapper_H_
9
10 #include <PlaneGCSSolver_Defs.h>
11 #include <PlaneGCSSolver_EntityWrapper.h>
12
13 /**
14  *  Wrapper providing operations with PlaneGCS entities (lines, circles and arcs).
15  */
16 class PlaneGCSSolver_EdgeWrapper : public PlaneGCSSolver_EntityWrapper
17 {
18 public:
19   PlaneGCSSolver_EdgeWrapper(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