+ virtual void setShape(std::shared_ptr<GeomAPI_Shape> theShape) = 0;
+
+ /// Updates the shape taking the current value from the data structure, returns true
+ /// if update has been correctly done
+ virtual bool updateShape() = 0;
+
+ /// Sets the flag that it must be displayed in history (default is true)
+ virtual void setIsInHistory(const bool isInHistory) = 0;
+
+ /// if the construction result may be used as faces, this method returns not zero number of faces
+ /// \param theUpdateNaming is false of keeping the naming structure untouched (on load)
+ virtual int facesNum(const bool theUpdateNaming = true) = 0;
+ /// if the construction result may be used as faces, this method returns face by zero based index
+ virtual std::shared_ptr<GeomAPI_Face> face(const int theIndex) = 0;
+ /// Change the order of faces
+ virtual void setFacesOrder(const std::list<std::shared_ptr<GeomAPI_Face> >& theFaces) = 0;
+
+ /// By default object is not infinite.
+ virtual bool isInfinite() = 0;
+ /// Sets the flag that it is infinite
+ virtual void setInfinite(const bool theInfinite) = 0;