1 // Copyright (C) 2005 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
2 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
4 // This library is free software; you can redistribute it and/or
5 // modify it under the terms of the GNU Lesser General Public
6 // License as published by the Free Software Foundation; either
7 // version 2.1 of the License.
9 // This library is distributed in the hope that it will be useful
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 // Lesser General Public License for more details.
14 // You should have received a copy of the GNU Lesser General Public
15 // License along with this library; if not, write to the Free Software
16 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
20 #ifndef VVTK_VIEWWINDOW_H
21 #define VVTK_VIEWWINDOW_H
24 #pragma warning( disable:4251 )
28 #include "SVTK_ViewWindow.h"
34 class VVTK_MainWindow1;
35 class VVTK_MainWindow2;
38 //----------------------------------------------------------------------------
39 //! Customize the SVTK_ViewWindow in order to manage two SVTK_View (base and segmented one)
40 class VVTK_EXPORT VVTK_ViewWindow : public SVTK_ViewWindow
45 //! To construct the class
46 VVTK_ViewWindow(SUIT_Desktop* theDesktop);
55 Initialize(SVTK_ViewModelBase* theModel);
57 //----------------------------------------------------------------------------
58 //! Get access to base SVTK_MainWindow
62 //! Get access to segmented SVTK_MainWindow
66 //----------------------------------------------------------------------------
67 //! Redefine SVTK_ViewWindow::AddActor method
69 This is an entry point for publication the presentation into the viewer.
70 Pointed actor published into the basic MainWindow. If the actor is
71 a Gauss Points one second actor is created from initial actor and
72 is put into segemented MainWindow.
76 AddActor(VTKViewer_Actor* theActor,
77 bool theIsUpdate = false);
79 //! Redefine SVTK_ViewWindow::RemoveActor method
82 RemoveActor(VTKViewer_Actor* theActor,
83 bool theIsUpdate = false);
85 //! Redefine SVTK_ViewWindow::Repaint method
88 Repaint(bool theUpdateTrihedron = true);
90 //----------------------------------------------------------------------------
91 /* interactive object management */
92 //! Redefine SVTK_ViewWindow::highlight method
95 highlight(const Handle(SALOME_InteractiveObject)& theIO,
96 bool theIsHighlight = true,
97 bool theIsUpdate = true);
99 //! Redefine SVTK_ViewWindow::unHighlightAll method
104 //! Redefine SVTK_ViewWindow::setBackgroundColor method
107 setBackgroundColor( const QColor& );
109 //----------------------------------------------------------------------------
111 //! Refresh dump images of the viewers
113 void RefreshDumpImage();
116 //! Redefine SVTK_ViewWindow::onSelectionChanged method
119 onSelectionChanged();
121 //! Redefine SVTK_ViewWindow::onResetView method
126 //! Redefine SVTK_ViewWindow::onFitAll method
131 //----------------------------------------------------------------------------
137 virtual QImage dumpView();
139 VVTK_MainWindow1* myMainWindow1; //!< The manage base view
140 SVTK_View* myView1; //!< The manage base view
142 VVTK_MainWindow2* myMainWindow2; //!< The manage segmented view
143 SVTK_View* myView2; //!< The manage segmented view
150 #pragma warning( default:4251 )