X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSketchSolver%2FPlaneGCSSolver%2FPlaneGCSSolver_EntityWrapper.h;h=b9a3981d075b73570e3bb8b5ccc6f8f70d790c95;hb=2c3272b2cb03f034eea9fc9ae19095e0a2b905af;hp=38c92198a494a3d8d08476be9bc18a5db407cd5f;hpb=83e4015d7099a1f87aae13a2811590dac27a6344;p=modules%2Fshaper.git diff --git a/src/SketchSolver/PlaneGCSSolver/PlaneGCSSolver_EntityWrapper.h b/src/SketchSolver/PlaneGCSSolver/PlaneGCSSolver_EntityWrapper.h index 38c92198a..b9a3981d0 100644 --- a/src/SketchSolver/PlaneGCSSolver/PlaneGCSSolver_EntityWrapper.h +++ b/src/SketchSolver/PlaneGCSSolver/PlaneGCSSolver_EntityWrapper.h @@ -1,37 +1,41 @@ // Copyright (C) 2014-20xx CEA/DEN, EDF R&D // File: PlaneGCSSolver_EntityWrapper.h -// Created: 14 Dec 2015 +// Created: 30 Nov 2015 // Author: Artem ZHIDKOV #ifndef PlaneGCSSolver_EntityWrapper_H_ #define PlaneGCSSolver_EntityWrapper_H_ #include -#include + +#include +#include + +#include +#include /** - * Wrapper providing operations with PlaneGCS entities (lines, circles and arcs). + * Wrapper providing operations with entities regardless the solver. */ -class PlaneGCSSolver_EntityWrapper : public SketchSolver_IEntityWrapper +class PlaneGCSSolver_EntityWrapper { public: - PlaneGCSSolver_EntityWrapper(const GCSCurvePtr theEntity); - - /// \brief Return PlaneGCS geometric entity - const GCSCurvePtr& entity() const - { return myEntity; } - /// \brief Return PlaneGCS geometric entity to change - GCSCurvePtr& changeEntity() - { return myEntity; } + PlaneGCSSolver_EntityWrapper() : myExternal(false) {} + virtual ~PlaneGCSSolver_EntityWrapper() {} /// \brief Return type of current entity - virtual SketchSolver_EntityType type() const - { return myType; } + virtual SketchSolver_EntityType type() const = 0; + + /// \brief Change flag indicating the entity cannot be changed in the solver + void setExternal(bool theExternal) { myExternal = theExternal; } + /// \brief Return the External flag + bool isExternal() const { return myExternal; } private: - SketchSolver_EntityType myType; - GCSCurvePtr myEntity; + bool myExternal; }; +typedef std::shared_ptr EntityWrapperPtr; + #endif