1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
3 // File: PlaneGCSSolver_EntityWrapper.h
4 // Created: 14 Dec 2015
5 // Author: Artem ZHIDKOV
7 #ifndef PlaneGCSSolver_EntityWrapper_H_
8 #define PlaneGCSSolver_EntityWrapper_H_
10 #include <PlaneGCSSolver_Defs.h>
11 #include <SketchSolver_IEntityWrapper.h>
14 * Wrapper providing operations with PlaneGCS entities.
16 class PlaneGCSSolver_EntityWrapper : public SketchSolver_IEntityWrapper
19 PlaneGCSSolver_EntityWrapper(const FeaturePtr theFeature,
20 const GCSCurvePtr theEntity = GCSCurvePtr());
22 /// \brief Return PlaneGCS geometric entity
23 const GCSCurvePtr& entity() const
25 /// \brief Return PlaneGCS geometric entity to change
26 GCSCurvePtr& changeEntity()
29 /// \brief Return ID of current entity
30 virtual EntityID id() const
32 /// \brief Change ID of the entity
33 void setId(EntityID theID)
36 /// \brief Change group for the entity
37 virtual void setGroup(const GroupID& theGroup);
38 /// \brief Return identifier of the group the entity belongs to
39 virtual GroupID group() const
42 /// \brief Return type of current entity
43 virtual SketchSolver_EntityType type() const
46 /// \brief Verify the feature is used in the entity
47 virtual bool isUsed(FeaturePtr theFeature) const;
48 /// \brief Verify the attribute is used in the entity
49 virtual bool isUsed(AttributePtr theAttribute) const;
51 /// \brief Compare current entity with other
52 virtual bool isEqual(const EntityWrapperPtr& theOther);
54 /// \brief Update values of parameters of this entity by the parameters of given one
55 /// \return \c true if some parameters change their values
56 virtual bool update(const EntityWrapperPtr& theOther);
61 SketchSolver_EntityType myType;