Salome HOME
Hide faces: checking presentation on having any shapes using a whole container of...
[modules/shaper.git] / src / ModuleBase / ModuleBase_Tools.h
index 7bdaab7574865a140089c584eeb7864b29e4bc5e..0cd2ed2dc815842b1185cb53b6e01cb8b30c24ac 100755 (executable)
@@ -26,6 +26,7 @@
 
 #include <ModelAPI_Attribute.h>
 #include <ModelAPI_Feature.h>
+#include <ModelAPI_Folder.h>
 
 #include <TopAbs_ShapeEnum.hxx>
 #include <TopoDS_Shape.hxx>
@@ -44,9 +45,10 @@ class QWidget;
 class QLayout;
 class QDoubleSpinBox;
 class QAction;
+class ModuleBase_IWorkshop;
 class ModuleBase_ParamIntSpinBox;
 class ModuleBase_ParamSpinBox;
-class ModuleBase_IWorkshop;
+class ModuleBase_ViewerPrs;
 
 class GeomAPI_Shape;
 
@@ -211,6 +213,12 @@ MODULEBASE_EXPORT ObjectPtr getObject(const AttributePtr& theAttribute);
 /// \param theObj an object
 MODULEBASE_EXPORT TopAbs_ShapeEnum getCompoundSubType(const TopoDS_Shape& theShape);
 
+/// Returns either presentation shape or shape of BREP owner if it is casted to it
+/// \param thePrs selection presentation
+/// \return shape
+MODULEBASE_EXPORT TopoDS_Shape getSelectedShape(
+  const std::shared_ptr<ModuleBase_ViewerPrs>& thePrs);
+
 /// Returns list of parameters accessible in the active part and partset
 /// \theParameters a list of parameter names
 MODULEBASE_EXPORT void getParameters(QStringList& theParameters);
@@ -332,6 +340,13 @@ void MODULEBASE_EXPORT convertToFeatures(const QObjectPtrList& theObjects,
                                          std::set<FeaturePtr>& theFeatures);
 
 
+/// Converts a list of objects to set of folders.
+/// \param theObjects a list of objects
+/// \param theFeatures an out conteiner of features
+void MODULEBASE_EXPORT convertToFolders(const QObjectPtrList& theObjects,
+                                         std::set<FolderPtr>& theFolders);
+
+
 /// Returns translation from the given data.
 /// If translation is not exists then it returns a string
 /// from the info data without translation