-// Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2023 CEA, EDF, OPEN CASCADE
//
// 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.
+// 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
#ifndef SVTK_SELECTORDEF_H
#define SVTK_SELECTORDEF_H
+#include "SVTK_Selector.h"
+
#include <set>
#include <map>
#include "SALOME_InteractiveObject.hxx"
-#include "SVTK_Selector.h"
-
class SALOME_Actor;
class SVTK_Viewer;
virtual
void
GetIndex( const Handle(SALOME_InteractiveObject)& theIO,
- TColStd_IndexedMapOfInteger& theIndex );
+ SVTK_TIndexedMapOfVtkId& theIndex );
virtual
bool
AddOrRemoveIndex( const Handle(SALOME_InteractiveObject)& theIO,
- const TColStd_IndexedMapOfInteger& theIndices,
+ const SVTK_TIndexedMapOfVtkId& theIndices,
bool theIsModeShift);
virtual
bool
AddOrRemoveIndex( const Handle(SALOME_InteractiveObject)& theIO,
- const TColStd_MapOfInteger& theIndices,
+ const SVTK_TVtkIDsMap& theIndices,
bool theIsModeShift);
virtual
bool
void
ClearIndex();
+ //----------------------------------------------------------------------------
+ /// ! Composite indexes
+ virtual
+ bool
+ HasCompositeIndex(const Handle(SALOME_InteractiveObject)& theIO ) const;
+
+ virtual
+ void
+ GetCompositeIndex( const Handle(SALOME_InteractiveObject)& theIO,
+ SVTK_IndexedMapOfVtkIds& theIds );
+ virtual
+ bool
+ AddOrRemoveCompositeIndex( const Handle(SALOME_InteractiveObject)& theIO,
+ const SVTK_IndexedMapOfVtkIds& theIds,
+ bool theIsModeShift);
+
+ virtual
+ bool
+ AddOrRemoveCompositeIndex( const Handle(SALOME_InteractiveObject)& theIO,
+ SVTK_ListOfVtk theIds,
+ bool theIsModeShift);
+
+ virtual
+ void
+ RemoveCompositeIndex( const Handle(SALOME_InteractiveObject)& theIO,
+ SVTK_ListOfVtk theIds );
+
+ virtual
+ bool
+ IsCompositeIndexSelected(const Handle(SALOME_InteractiveObject)& theIO,
+ SVTK_ListOfVtk theIds ) const;
+
+ virtual
+ void
+ ClearCompositeIndex();
+
//----------------------------------------------------------------------------
virtual
void
struct TIndexedMapOfInteger
{
- TColStd_IndexedMapOfInteger myMap;
+ SVTK_TIndexedMapOfVtkId myMap;
TIndexedMapOfInteger()
{}
TIndexedMapOfInteger(const TIndexedMapOfInteger& theIndexedMapOfInteger)
TIOLessThan> TMapIOSubIndex;
TMapIOSubIndex myMapIOSubIndex;
+ typedef std::map<Handle(SALOME_InteractiveObject),
+ SVTK_IndexedMapOfVtkIds,
+ TIOLessThan> TMapIOSubCompositeIndex;
+ TMapIOSubCompositeIndex myMapIOSubCompositeIndex;
+
+
typedef std::map<TFilterID,Handle(VTKViewer_Filter)> TFilters;
TFilters myFilters;