]> SALOME platform Git repositories - modules/shaper.git/blobdiff - src/NewGeom/NewGeom_SalomeViewer.cpp
Salome HOME
Issue #236: Provide filtering of selected objects for extrusion
[modules/shaper.git] / src / NewGeom / NewGeom_SalomeViewer.cpp
index fe9cd2310214d6a07099bc0564055e564f2b992d..419c5d0b88e14593970b5f97fdc27ffac25ba026 100644 (file)
@@ -174,4 +174,31 @@ void NewGeom_SalomeViewer::setViewProjection(double theX, double theY, double th
       aView3d->SetZSize(0.);
     }
   }
-}
\ No newline at end of file
+}
+
+//***************************************
+void NewGeom_SalomeViewer::addSelectionFilter(const Handle(SelectMgr_Filter)& theFilter)
+{
+  Handle(AIS_InteractiveContext) aContext = AISContext();
+  if (!aContext.IsNull()) {
+    aContext->AddFilter(theFilter);
+  }
+}
+
+//***************************************
+void NewGeom_SalomeViewer::removeSelectionFilter(const Handle(SelectMgr_Filter)& theFilter)
+{
+  Handle(AIS_InteractiveContext) aContext = AISContext();
+  if (!aContext.IsNull()) {
+    aContext->RemoveFilter(theFilter);
+  }
+}
+
+//***************************************
+void NewGeom_SalomeViewer::clearSelectionFilters()
+{
+  Handle(AIS_InteractiveContext) aContext = AISContext();
+  if (!aContext.IsNull()) {
+    aContext->RemoveFilters();
+  }
+}