X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROGUI%2FHYDROGUI_AbstractDisplayer.cxx;h=7ef7aec2030efdc57d32d03637af6b155c761ef5;hb=d6e19029f8b41f295db878e9aecf451c2edda4af;hp=8a1262bd1f49f902413af6d735a57636f6d9c859;hpb=d5288d46b0d85156f7666edf2cef050dc6655eae;p=modules%2Fhydro.git diff --git a/src/HYDROGUI/HYDROGUI_AbstractDisplayer.cxx b/src/HYDROGUI/HYDROGUI_AbstractDisplayer.cxx index 8a1262bd..7ef7aec2 100644 --- a/src/HYDROGUI/HYDROGUI_AbstractDisplayer.cxx +++ b/src/HYDROGUI/HYDROGUI_AbstractDisplayer.cxx @@ -1,12 +1,8 @@ -// Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE -// -// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, -// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS -// +// Copyright (C) 2014-2015 EDF-R&D // 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 @@ -27,6 +23,7 @@ #include "HYDROGUI_Tool.h" #include +#include HYDROGUI_AbstractDisplayer::HYDROGUI_AbstractDisplayer( HYDROGUI_Module* theModule ) : myModule( theModule ) @@ -77,14 +74,20 @@ void HYDROGUI_AbstractDisplayer::Update( const HYDROData_SequenceOfObjects& theO // Now dig in the data model HYDROData_SequenceOfObjects anObjectsToErase, anObjectsToDisplay; + SUIT_ViewModel* aViewer = module()->getViewManager( theViewerId )->getViewModel(); for( int i = 1, n = theObjs.Length(); i <= n; i++ ) { const Handle(HYDROData_Entity)& anObj = theObjs.Value( i ); - if( anObj.IsNull() ) - anObjectsToErase.Append( anObj ); - else + + if( module()->isObjectVisible( (size_t)aViewer, anObj ) ) + { anObjectsToDisplay.Append( anObj ); + } + else + { + anObjectsToErase.Append( anObj ); + } } if( anObjectsToErase.Length() )