Salome HOME
"2.11 Constraint with a point from the intersection between an outer edge and plane...
[modules/shaper.git] / src / PartSet / PartSet_WidgetShapeSelector.h
index 050b64e271b479860c10a54c7952c24125d1482d..9af349389ed90423e5024d99f58072e4ce3b9cf3 100644 (file)
@@ -42,19 +42,23 @@ Q_OBJECT
   /// Retrurns installed sketcher
   CompositeFeaturePtr sketch() const { return mySketch; }
 
+  /// Activate or deactivate selection and selection filters
+  /// \param toActivate boolean state whether it should be activated/deactivated
+  virtual void activateSelectionAndFilters(bool toActivate);
+
 protected:
-  /// Store the values to the model attribute of the widget. It casts this attribute to
-  /// the specific type and set the given values
-  /// \param theSelectedObject an object
-  /// \param theShape a selected shape, which is used in the selection attribute
-  virtual bool setObject(ObjectPtr theSelectedObject, GeomShapePtr theShape);
-
-  /// Get the shape from the attribute if the attribute contain a shape
-  /// It processes the ref attr type of attributes. It obtains the referenced attribute,
-  /// results of the attribute feature. And it founds a vertes in the owners of the results
-  /// If the vertex is found, it creates a geom shape on it.
-  /// \return a shape
-  virtual GeomShapePtr getShape() const;
+  /// Checks the widget validity. By default, it returns true.
+  /// \param thePrs a selected presentation in the view
+  /// \return a boolean value
+  virtual bool isValidSelectionCustom(const ModuleBase_ViewerPrs& thePrs);
+
+  /// Return an object and geom shape by the viewer presentation
+  /// \param thePrs a selection
+  /// \param theObject an output object
+  /// \param theShape a shape of the selection
+  virtual void getGeomSelection(const ModuleBase_ViewerPrs& thePrs,
+                                ObjectPtr& theObject,
+                                GeomShapePtr& theShape);
 
   /// Creates a backup of the current values of the attribute
   /// It should be realized in the specific widget because of different
@@ -62,16 +66,14 @@ protected:
   /// \param theValid a boolean flag, if restore happens for valid parameters
   void restoreAttributeValue(const bool theValid);
 
-  /// Found the sketch point attribute by the shape and set it in the feature attribute
-  /// otherwise set the selected object
-  /// \param theSelectedObject an object
-  /// \param theShape a selected shape, which is used in the selection attribute
-  void setPointAttribute(ObjectPtr theSelectedObject, GeomShapePtr theShape);
-
 protected:
+  /// A reference to external objects manager
   PartSet_ExternalObjectsMgr* myExternalObjectMgr;
+
   /// Pointer to a sketch 
   CompositeFeaturePtr mySketch;
+
+  bool myUseSketchPlane; /// state whether the sketch plane filter should be switched on
 };
 
 #endif
\ No newline at end of file