1 // Copyright (C) 2017-20xx CEA/DEN, EDF R&D
3 // File: PlaneGCSSolver_AttributeBuilder.h
4 // Created: 10 Feb 2017
5 // Author: Artem ZHIDKOV
7 #ifndef PlaneGCSSolver_AttributeBuilder_H_
8 #define PlaneGCSSolver_AttributeBuilder_H_
10 #include <PlaneGCSSolver_EntityBuilder.h>
12 /** \class PlaneGCSSolver_AttributeBuilder
14 * \brief Converts ModelAPI_Attribute to the entity applicable for PlaneGCS solver
16 class PlaneGCSSolver_AttributeBuilder : public PlaneGCSSolver_EntityBuilder
19 PlaneGCSSolver_AttributeBuilder(PlaneGCSSolver_Storage* theStorage = 0);
20 PlaneGCSSolver_AttributeBuilder(const StoragePtr& theStorage);
22 /// \brief Converts an attribute to the solver's entity.
23 /// Double attributes and 2D points are supported only.
24 /// \param theAttribute [in] attribute to create
25 /// \return Created wrapper of the attribute applicable for specific solver
26 virtual EntityWrapperPtr createAttribute(AttributePtr theAttribute);
28 /// \brief Blank. To be defined in derived class.
29 virtual EntityWrapperPtr createFeature(FeaturePtr)
30 { return EntityWrapperPtr(); }
32 /// \brief Blank. To be defined in derived class.
33 virtual const std::list<GCSConstraintPtr>& constraints() const;