Salome HOME
1. Compound selection choice is provided for sketch selection in Extrusion operation...
[modules/shaper.git] / src / PartSet / PartSet_ExternalObjectsMgr.h
index 6451751dee3dda3e01d0e659f079de9f3583d918..03b8097301c22bb44a5697b1288adb47623d50be 100644 (file)
@@ -36,6 +36,8 @@ class PARTSET_EXPORT PartSet_ExternalObjectsMgr
   /// Returns the state whether the external object is used
   bool useExternal() const { return myUseExternal; }
 
+  bool isValidObject(const ObjectPtr& theObject);
+
   /// Finds or create and external object
   /// \param theSelectedObject an object
   /// \param theShape a selected shape, which is used in the selection attribute
@@ -44,16 +46,34 @@ class PARTSET_EXPORT PartSet_ExternalObjectsMgr
   ObjectPtr externalObject(const ObjectPtr& theSelectedObject, const GeomShapePtr& theShape,
                            const CompositeFeaturePtr& theSketch);
 
+  ObjectPtr externalObjectValidated(const ObjectPtr& theSelectedObject, const GeomShapePtr& theShape,
+                           const CompositeFeaturePtr& theSketch);
+
   // Removes the external presentation from the model
   /// \param theSketch a current sketch
   /// \param theFeature a current feature
   void removeExternal(const CompositeFeaturePtr& theSketch,
                       const FeaturePtr& theFeature);
 
+  void removeExternalValidated(const CompositeFeaturePtr& theSketch,
+                               const FeaturePtr& theFeature);
+
+  void removeUnusedExternalObjects(const QObjectPtrList& theIgnoreObjects,
+                            const CompositeFeaturePtr& theSketch,
+                            const FeaturePtr& theFeature);
+
+protected:
+  void removeExternalObject(const ObjectPtr& theObject,
+                            const CompositeFeaturePtr& theSketch,
+                            const FeaturePtr& theFeature);
+
 protected:
   /// An external object
   QObjectPtrList myExternalObjects;
 
+  /// An external object
+  ObjectPtr myExternalObjectValidated;
+
   /// Boolean value about the neccessity of the external object use
   bool myUseExternal;
 };