Salome HOME
The bathymetry is changed to their base altitude class for geometry objects (Bug...
[modules/hydro.git] / src / HYDROGUI / HYDROGUI_Prs.cxx
1 // Copyright (C) 2007-2013  CEA/DEN, EDF R&D, OPEN CASCADE
2 //
3 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
5 //
6 // This library is free software; you can redistribute it and/or
7 // modify it under the terms of the GNU Lesser General Public
8 // License as published by the Free Software Foundation; either
9 // version 2.1 of the License.
10 //
11 // This library is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14 // Lesser General Public License for more details.
15 //
16 // You should have received a copy of the GNU Lesser General Public
17 // License along with this library; if not, write to the Free Software
18 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
19 //
20 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21 //
22
23 #include "HYDROGUI_Prs.h"
24
25 #include <GraphicsView_ViewPort.h>
26
27 #include <QCursor>
28
29 //=======================================================================
30 // name    : HYDROGUI_Prs
31 // Purpose : Constructor
32 //=======================================================================
33 HYDROGUI_Prs::HYDROGUI_Prs( const Handle(HYDROData_Entity)& theObject )
34 : GraphicsView_Object(),
35   myObject( theObject ),
36   myIsToUpdate( false )
37 {
38   myHighlightCursor = new QCursor( Qt::PointingHandCursor );
39 }
40
41 //=======================================================================
42 // name    : HYDROGUI_Prs
43 // Purpose : Destructor
44 //=======================================================================
45 HYDROGUI_Prs::~HYDROGUI_Prs()
46 {
47   if( myHighlightCursor )
48   {
49     delete myHighlightCursor;
50     myHighlightCursor = 0;
51   }
52 }
53
54 //================================================================
55 // Function : addTo
56 // Purpose  : 
57 //================================================================
58 void HYDROGUI_Prs::addTo( GraphicsView_ViewPort* theViewPort )
59 {
60   GraphicsView_Object::addTo( theViewPort );
61
62   double aZValue = 0;
63   GraphicsView_ObjectListIterator anIter( theViewPort->getObjects() );
64   while( anIter.hasNext() )
65   {
66     if( HYDROGUI_Prs* aPrs = dynamic_cast<HYDROGUI_Prs*>( anIter.next() ) )
67     {
68       double aZValueRef = aPrs->zValue();
69       aZValue = qMax( aZValue, aZValueRef );
70     }
71   }
72   setZValue( aZValue + 1 );
73 }