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/
20 #ifndef VVTK_VIEWWINDOW_H
21 #define VVTK_VIEWWINDOW_H
24 #pragma warning( disable:4251 )
28 #include "SVTK_ViewWindow.h"
32 class VVTK_MainWindow1;
33 class VVTK_MainWindow2;
36 //----------------------------------------------------------------------------
37 //! Customize the SVTK_ViewWindow in order to manage two SVTK_View (base and segmented one)
38 class VVTK_EXPORT VVTK_ViewWindow : public SVTK_ViewWindow
43 //! To construct the class
44 VVTK_ViewWindow(SUIT_Desktop* theDesktop);
53 Initialize(SVTK_ViewModelBase* theModel);
55 //----------------------------------------------------------------------------
56 //! Get access to base SVTK_MainWindow
60 //! Get access to segmented SVTK_MainWindow
64 //----------------------------------------------------------------------------
65 //! Redefine SVTK_ViewWindow::AddActor method
67 This is an entry point for publication the presentation into the viewer.
68 Pointed actor published into the basic MainWindow. If the actor is
69 a Gauss Points one second actor is created from initial actor and
70 is put into segemented MainWindow.
74 AddActor(VTKViewer_Actor* theActor,
75 bool theIsUpdate = false);
77 //! Redefine SVTK_ViewWindow::RemoveActor method
80 RemoveActor(VTKViewer_Actor* theActor,
81 bool theIsUpdate = false);
83 //! Redefine SVTK_ViewWindow::Repaint method
86 Repaint(bool theUpdateTrihedron = true);
88 //----------------------------------------------------------------------------
89 /* interactive object management */
90 //! Redefine SVTK_ViewWindow::highlight method
93 highlight(const Handle(SALOME_InteractiveObject)& theIO,
94 bool theIsHighlight = true,
95 bool theIsUpdate = true);
97 //! Redefine SVTK_ViewWindow::unHighlightAll method
102 //! Redefine SVTK_ViewWindow::setBackgroundColor method
105 setBackgroundColor( const QColor& );
107 //----------------------------------------------------------------------------
109 //! Redefine SVTK_ViewWindow::onSelectionChanged method
112 onSelectionChanged();
114 //! Redefine SVTK_ViewWindow::onResetView method
119 //! Redefine SVTK_ViewWindow::onFitAll method
124 //----------------------------------------------------------------------------
130 virtual QImage dumpView();
132 VVTK_MainWindow1* myMainWindow1; //!< The manage base view
133 SVTK_View* myView1; //!< The manage base view
135 VVTK_MainWindow2* myMainWindow2; //!< The manage segmented view
136 SVTK_View* myView2; //!< The manage segmented view
140 #pragma warning( default:4251 )