Salome HOME
Fix for the issue #686: now compounds produced by the Boolean operations can be corre...
[modules/shaper.git] / src / Model / Model_ResultBody.h
index a5ffd83027b04bba1e2ca48a2fac7b6f6df0b951..75f9863f1896faf434f4193ca954380f6b84cbaf 100644 (file)
@@ -32,17 +32,22 @@ public:
   /// default color for a result body
   inline static const std::string& DEFAULT_COLOR()
   {
-    static const std::string RESULT_BODY_COLOR("#E0A01B");
+    static const std::string RESULT_BODY_COLOR("150,150,180");
     return RESULT_BODY_COLOR;
   }
 
   /// Request for initialization of data model of the result: adding all attributes
   virtual void initAttributes();
 
-  // Retuns the parameters of color definition in the resources config manager
+  /// Returns the parameters of color definition in the resources config manager
   MODEL_EXPORT virtual void colorConfigInfo(std::string& theSection, std::string& theName,
                                             std::string& theDefault);
 
+  /// Disables the result body: keeps the resulting shape as selection, but erases the underlaying
+  /// naming data structure if theFlag if false. Or restores everything on theFlag is true.
+  MODEL_EXPORT virtual bool setDisabled(std::shared_ptr<ModelAPI_Result> theThis,
+    const bool theFlag);
+
   /// Stores the shape (called by the execution method).
   MODEL_EXPORT virtual void store(const std::shared_ptr<GeomAPI_Shape>& theShape);
 
@@ -51,8 +56,13 @@ public:
                                               const std::shared_ptr<GeomAPI_Shape>& theToShape);
 
   /// Stores the modified shape (called by the execution method).
+  /// \param theOldShape shape that produces result
+  /// \param theNewShape resulting shape
+  /// \param theDecomposeSolidsTag tag for starting of solids sub-elements placement in case 
+  ///          theNewShape is compound of solids, if zero it is not used
   MODEL_EXPORT virtual void storeModified(const std::shared_ptr<GeomAPI_Shape>& theOldShape,
-                                              const std::shared_ptr<GeomAPI_Shape>& theNewShape);
+                                               const std::shared_ptr<GeomAPI_Shape>& theNewShape,
+                                          const int theDecomposeSolidsTag = 0);
 
   /// Returns the shape-result produced by this feature
   MODEL_EXPORT virtual std::shared_ptr<GeomAPI_Shape> shape();
@@ -130,7 +140,7 @@ private:
   /// builds name for the shape kept at the specified tag 
   void buildName(const int theTag, const std::string& theName);
 
-  friend class Model_Document;
+  friend class Model_Objects;
 };
 
 #endif