1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
3 // File: ModelAPI_ResultPart.hxx
4 // Created: 07 Jul 2014
5 // Author: Mikhail PONIKAROV
7 #ifndef Model_ResultPart_H_
8 #define Model_ResultPart_H_
11 #include <ModelAPI_ResultPart.h>
13 /**\class Model_ResultPart
15 * \brief The Part document, result of a creation of new part feature.
17 * This result leaves without feature: no parametricity for this element,
18 * only add/remove, undo/redo.
20 class Model_ResultPart : public ModelAPI_ResultPart
23 /// Returns the part-document of this result
24 MODEL_EXPORT virtual std::shared_ptr<ModelAPI_Document> partDoc();
25 /// Part has no stored feature: this method returns NULL
26 MODEL_EXPORT virtual std::shared_ptr<ModelAPI_Feature> owner();
28 /// Sets this document as current and if it is not loaded yet, loads it
29 MODEL_EXPORT virtual void activate();
31 /// disable all feature of the part on disable of the part result
32 MODEL_EXPORT virtual bool setDisabled(std::shared_ptr<ModelAPI_Result> theThis,
35 /// Result shape of part document is compound of bodies inside of this part
36 MODEL_EXPORT virtual std::shared_ptr<GeomAPI_Shape> shape();
39 /// makes a result on a temporary feature (an action)
42 /// Sets the data manager of an object (document does), here also attributes are initialized
43 virtual void setData(std::shared_ptr<ModelAPI_Data> theData);
45 /// Returns true if document is activated (loaded into the memory)
46 virtual bool isActivated();
48 friend class Model_Objects;