X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESHGUI%2FSMESHGUI_VTKUtils.h;h=b6673afcdcbadbe423ec6adbab24d8e25f0b4c31;hp=b226f7767263878de40db1ebad4ba33837ee60ad;hb=2e6d41859930a694e6df9302898e9fab77809428;hpb=9a54694a0ab1e5cbc558a35c4606ceea4f7af2ef diff --git a/src/SMESHGUI/SMESHGUI_VTKUtils.h b/src/SMESHGUI/SMESHGUI_VTKUtils.h index b226f7767..b6673afcd 100644 --- a/src/SMESHGUI/SMESHGUI_VTKUtils.h +++ b/src/SMESHGUI/SMESHGUI_VTKUtils.h @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2012 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2020 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 @@ -6,7 +6,7 @@ // 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 @@ -40,7 +40,8 @@ #include #include -class TColStd_IndexedMapOfInteger; +// OCCT includes +#include class SALOMEDSClient_Study; @@ -62,10 +63,9 @@ class vtkActor; namespace SMESH { //---------------------------------------------------------------------------- - typedef std::pair TKeyOfVisualObj; SMESHGUI_EXPORT - TVisualObjPtr GetVisualObj( int, const char*, bool nulData =false ); + TVisualObjPtr GetVisualObj( const char*, bool nulData =false ); SMESHGUI_EXPORT void OnVisuException(); // PAL16631 @@ -102,13 +102,13 @@ SMESHGUI_EXPORT //---------------------------------------------------------------------------- SMESHGUI_EXPORT - SMESH_Actor* CreateActor( _PTR(Study), const char*, int = false ); + SMESH_Actor* CreateActor( const char*, int = false ); SMESHGUI_EXPORT void DisplayActor( SUIT_ViewWindow*, SMESH_Actor* ); SMESHGUI_EXPORT void RemoveActor( SUIT_ViewWindow*, SMESH_Actor* ); SMESHGUI_EXPORT - void RemoveVisuData( int ); + void RemoveVisuData(); //---------------------------------------------------------------------------- enum EDisplaing { eDisplayAll, eDisplay, eDisplayOnly, eErase, eEraseAll }; @@ -119,7 +119,7 @@ SMESHGUI_EXPORT bool UpdateView( EDisplaing, const char* = "" ); SMESHGUI_EXPORT - void UpdateView(); + void UpdateView( bool withChildrenOfSelected = false ); SMESHGUI_EXPORT bool UpdateNulData( const Handle(SALOME_InteractiveObject)& theIO, bool theDisplay); @@ -202,12 +202,30 @@ SMESHGUI_EXPORT //---------------------------------------------------------------------------- SMESHGUI_EXPORT bool ComputeClippingPlaneParameters( std::list theActorList, - vtkFloatingPointType theNormal[3], - vtkFloatingPointType theDist, - vtkFloatingPointType theBounds[6], - vtkFloatingPointType theOrigin[3] ); + double theNormal[3], + double theDist, + double theBounds[6], + double theOrigin[3] ); + + bool ComputeBounds( std::list theActorList, + double theBounds[6]); + + void PositionToDistance( double theBounds[6], + double theDirection[3], + double thePos[3], + double& theDist ); SMESHGUI_EXPORT void RemoveVisualObjectWithActors( const char* theEntry, bool fromAllViews = false ); + + SMESHGUI_EXPORT + void UpdateActorsAfterUpdateStudy( SUIT_ViewWindow* wnd ); + + SMESHGUI_EXPORT + void UpdateActorsAfterUpdateStudy(); + + SMESHGUI_EXPORT + bool NoSmeshActors(SUIT_ViewWindow *theWnd=nullptr); + }; #endif // SMESHGUI_VTKUTILS_H