Salome HOME
Issue #1648: Dump Python in the High Level Parameterized Geometry API. Debug of namin...
[modules/shaper.git] / src / Model / Model_ResultPart.h
index a04e0024f5ce6a650f9a671402fac06ee677af1e..49adb855ae316261456e5d9460e83dc17b9ca4cb 100644 (file)
@@ -24,12 +24,21 @@ class Model_ResultPart : public ModelAPI_ResultPart
   TopoDS_Shape myShape; ///< shape of this part created from bodies (updated only of Part deactivation)
   std::shared_ptr<gp_Trsf> myTrsf; ///< if it is just copy of original shape, keep just transformation
  public:
+
+  /// the reference to the base result document, may be null if this is the root, others make sequence of references
+  inline static const std::string& BASE_REF_ID()
+  {
+    static const std::string MY_BASE_REF("BaseReference");
+    return MY_BASE_REF;
+  }
   /// Request for initialization of data model of the result: adding all attributes
   virtual void initAttributes();
   /// Returns the part-document of this result
   MODEL_EXPORT virtual std::shared_ptr<ModelAPI_Document> partDoc();
-  /// Part has no stored feature: this method returns NULL
-  MODEL_EXPORT virtual std::shared_ptr<ModelAPI_Feature> owner();
+
+  /// Returns the original part result: for transfomration features results this is 
+  /// the original Part feature result
+  MODEL_EXPORT virtual std::shared_ptr<ModelAPI_ResultPart> original();
 
   /// Sets this document as current and if it is not loaded yet, loads it
   MODEL_EXPORT virtual void activate();
@@ -51,7 +60,8 @@ class Model_ResultPart : public ModelAPI_ResultPart
   /// Updates the selection inside of the part by the selection index
   MODEL_EXPORT virtual bool updateInPart(const int theIndex);
   /// Returns the shape by the name in the part
-  MODEL_EXPORT virtual std::shared_ptr<GeomAPI_Shape> shapeInPart(const std::string& theName);
+  MODEL_EXPORT virtual std::shared_ptr<GeomAPI_Shape> shapeInPart(
+    const std::string& theName, const std::string& theType, int& theIndex);
   /// Updates the shape-result of the part (called on Part feature execution)
   MODEL_EXPORT virtual void updateShape();
   /// Applies the additional transformation of the part
@@ -62,6 +72,9 @@ class Model_ResultPart : public ModelAPI_ResultPart
   MODEL_EXPORT virtual void colorConfigInfo(std::string& theSection, std::string& theName,
                                             std::string& theDefault);
 
+  /// Returns the shape selected in the selection index
+  MODEL_EXPORT virtual std::shared_ptr<GeomAPI_Shape> selectionValue(const int theIndex);
+
 protected:
   /// makes a result on a temporary feature (an action)
   Model_ResultPart();