X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSVTK%2FSVTK_Selector.h;h=497e35fd574d808e2f9461cf3f4956336e2c46d1;hb=e6caa123c65e3c4a3017364ec5bb4225fd898465;hp=f72ba8adc042bf24618eba25dad43bf51d8afb14;hpb=f830c97c748d8f8a6a7eccc8e3a58e19066a1181;p=modules%2Fgui.git diff --git a/src/SVTK/SVTK_Selector.h b/src/SVTK/SVTK_Selector.h index f72ba8adc..497e35fd5 100644 --- a/src/SVTK/SVTK_Selector.h +++ b/src/SVTK/SVTK_Selector.h @@ -1,30 +1,28 @@ -// SALOME SALOMEGUI : implementation of desktop and GUI kernel +// Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE // -// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, -// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS -// -// This library is free software; you can redistribute it and/or -// modify it under the terms of the GNU Lesser General Public -// License as published by the Free Software Foundation; either -// version 2.1 of the License. -// -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public -// License along with this library; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -// -// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, +// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. // +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // + +// SALOME SALOMEGUI : implementation of desktop and GUI kernel // File : SALOME_Selection.h // Author : Nicolas REJNERI -// Module : SALOME -// $Header$ #ifndef SVTK_SELECTOR_H #define SVTK_SELECTOR_H @@ -32,20 +30,19 @@ #include "SVTK.h" #include "SVTK_Selection.h" #include "SALOME_ListIO.hxx" -#include "VTKViewer_Filter.h" -#include "SALOME_InteractiveObject.hxx" #include #include #include -class SALOME_Actor; +class Handle(VTKViewer_Filter); +class SALOME_Actor; class SVTK_SelectionEvent; - +class vtkActorCollection; class vtkRenderer; - +class Handle(SALOME_InteractiveObject); //! Define an abstract interface for selection in SVTK package /*! @@ -131,40 +128,40 @@ public: virtual void GetIndex( const Handle(SALOME_InteractiveObject)& theIO, - TColStd_IndexedMapOfInteger& theIndex ) = 0; - + TColStd_IndexedMapOfInteger& theIndex ) = 0; + //! Change indices of subselection for given #SALOME_InteractiveObject virtual bool AddOrRemoveIndex( const Handle(SALOME_InteractiveObject)& theIO, - const TColStd_IndexedMapOfInteger& theIndices, - bool theIsModeShift) = 0; + const TColStd_IndexedMapOfInteger& theIndices, + bool theIsModeShift) = 0; //! Change indexes of subslection for given #SALOME_InteractiveObject virtual bool AddOrRemoveIndex( const Handle(SALOME_InteractiveObject)& theIO, - const TColStd_MapOfInteger& theIndices, - bool theIsModeShift) = 0; + const TColStd_MapOfInteger& theIndices, + bool theIsModeShift) = 0; //! Change index of subslection for given #SALOME_InteractiveObject virtual bool AddOrRemoveIndex( const Handle(SALOME_InteractiveObject)& theIO, - int theIndex, - bool theIsModeShift) = 0; + int theIndex, + bool theIsModeShift) = 0; //! Change index of subslection for given #SALOME_InteractiveObject virtual void RemoveIndex( const Handle(SALOME_InteractiveObject)& theIO, - int theIndex) = 0; + int theIndex) = 0; //! Check, if the given index is present in subselection virtual bool IsIndexSelected(const Handle(SALOME_InteractiveObject)& theIO, - int theIndex) const = 0; + int theIndex) const = 0; //! Clear subselection virtual @@ -198,8 +195,8 @@ public: virtual bool IsValid(SALOME_Actor* theActor, - const int theId, - const bool theIsNode = false) const = 0; + const int theId, + const bool theIsNode = false) const = 0; //---------------------------------------------------------------------------- virtual @@ -213,12 +210,36 @@ public: //---------------------------------------------------------------------------- virtual - SALOME_Actor* - Pick(const SVTK_SelectionEvent* theEvent, vtkRenderer* theRenderer) const =0; + vtkActorCollection* + Pick(const SVTK_SelectionEvent* theEvent, vtkRenderer* theRenderer) const = 0; virtual void SetTolerance(const double& theTolerance) = 0; + + virtual + void + SetDynamicPreSelection( bool theIsDynPreselect ) = 0; + + virtual + bool + GetDynamicPreSelection() const = 0; + + virtual + void + SetPreSelectionEnabled( bool theEnabled ) = 0; + + virtual + bool + IsPreSelectionEnabled() const = 0; + + virtual + void + SetSelectionEnabled( bool theEnabled ) = 0; + + virtual + bool + IsSelectionEnabled() const = 0; };