{
/// Sub-bodies if this is compsolid: zero base index to subs
std::vector<std::shared_ptr<ModelAPI_ResultBody> > mySubs;
+ /// Flag that stores the previous state of "concealed": if it is changed,
+ /// The event must be generated to redisplay this and all subs.
+ bool myLastConcealed;
+
public:
/// Removes the stored builders
MODEL_EXPORT virtual ~Model_ResultCompSolid();
- /// Request for initialization of data model of the object: adding all attributes
- MODEL_EXPORT virtual void initAttributes();
-
/// Stores the shape (called by the execution method). Creates sub-results for compsolid.
- MODEL_EXPORT virtual void store(const std::shared_ptr<GeomAPI_Shape>& theShape);
+ MODEL_EXPORT virtual void store(const std::shared_ptr<GeomAPI_Shape>& theShape,
+ const bool theIsStoreSameShapes = true);
/// Stores the generated shape. Creates sub-results for compsolid.
MODEL_EXPORT virtual void storeGenerated(const std::shared_ptr<GeomAPI_Shape>& theFromShape,
MODEL_EXPORT virtual bool setDisabled(std::shared_ptr<ModelAPI_Result> theThis,
const bool theFlag);
+ /// The compsolid is concealed if at least one of the sub is concealed
+ MODEL_EXPORT virtual bool isConcealed();
+
+ /// Sets all subs as concealed in the data tree (referenced by other objects)
+ MODEL_EXPORT virtual void setIsConcealed(const bool theValue);
+
+ /// Returns true if the latest modification of this body in the naming history
+ // is equal to the given shape
+ MODEL_EXPORT virtual bool isLatestEqual(const std::shared_ptr<GeomAPI_Shape>& theShape);
+
protected:
/// Makes a body on the given feature
Model_ResultCompSolid();