3 // Copyright (C) 2005 CEA/DEN, EDF R&D
7 // File : SMESHGUI_Operation.h
8 // Author : Sergey LITONIN
11 #include <SMESHGUI_Operation.h>
13 #include <SMESHGUI_VTKUtils.h>
15 #include <SVTK_ViewWindow.h>
16 #include <SVTK_Selector.h>
20 Class : SMESHGUI_Operation
21 Description : Base class for all SMESH operations
24 //=======================================================================
25 // name : SMESHGUI_Operation
26 // Purpose : Constructor
27 //=======================================================================
28 SMESHGUI_Operation::SMESHGUI_Operation( SalomeApp_Application* app )
29 : SalomeApp_Operation( app ),
36 SMESHGUI_Operation::~SMESHGUI_Operation()
41 void SMESHGUI_Operation::setSelectionMode( const Selection_Mode mode )
44 myViewWindow->SetSelectionMode( mode );
47 void SMESHGUI_Operation::highlight( const Handle( SALOME_InteractiveObject )& obj,
48 const bool hilight, const bool immediately )
51 myViewWindow->highlight( obj, hilight, immediately );
54 void SMESHGUI_Operation::addOrRemoveIndex( const Handle( SALOME_InteractiveObject )& obj,
55 const TColStd_MapOfInteger& indices, const bool isModeShift )
58 mySelector->AddOrRemoveIndex( obj, indices, isModeShift );
61 SMESHGUI* SMESHGUI_Operation::getSMESHGUI() const
63 return dynamic_cast<SMESHGUI*>( module() );
66 SVTK_ViewWindow* SMESHGUI_Operation::getViewWindow() const
71 SVTK_Selector* SMESHGUI_Operation::getSelector() const
76 void SMESHGUI_Operation::startOperation()
78 SalomeApp_Operation::startOperation();
79 myViewWindow = SMESH::GetViewWindow( getSMESHGUI() );
80 mySelector = myViewWindow ? myViewWindow->GetSelector() : 0;