/**\class ModelAPI_BodyBuilder
* \ingroup DataModel
+ * \brief Extra API for the ResultBody that allows to work with naming.
*/
class ModelAPI_BodyBuilder
{
const std::shared_ptr<GeomAPI_Shape>& theNewShape,
const int theDecomposeSolidsTag = 0) = 0;
+ /// Stores the shape without naming support
+ virtual void storeWithoutNaming(const std::shared_ptr<GeomAPI_Shape>& theShape) = 0;
+
+ /// Returns the shape-result produced by this feature
+ virtual std::shared_ptr<GeomAPI_Shape> shape() = 0;
+
/// Records the subshape newShape which was generated during a topological construction.
/// As an example, consider the case of a face generated in construction of a box.
virtual void generated(
/// load disconnected vetexes
virtual void loadDisconnectedVertexes(std::shared_ptr<GeomAPI_Shape> theShape, const std::string& theName,int& theTag) = 0;
+ /// Converts evolution of sub-shapes stored in naming structure to selection
+ /// (theFlag = true) and back (theFlag = false)
+ virtual void evolutionToSelection(const bool theFlag) = 0;
+
protected:
/// Returns the data manager of this object: attributes
MODELAPI_EXPORT virtual std::shared_ptr<ModelAPI_Data> data() const;
MODELAPI_EXPORT virtual std::shared_ptr<ModelAPI_Document> document() const;
protected:
+ /// Deafult constructor accessible only from Model_Object
MODELAPI_EXPORT ModelAPI_BodyBuilder(ModelAPI_Object* theOwner);
- ModelAPI_Object* myOwner;
+ ModelAPI_Object* myOwner; ///< the owner object this builder belongs to
};
//! Pointer on feature object