X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSMESHGUI%2FSMESHGUI_VTKUtils.h;h=d13e37de33c67184efbd7fb80a383308b32cf06a;hb=07ec002dfd20ec187228e11533e8e2135eca08fd;hp=9937073b667cbfdad3d8cb9448e003bb1c764b65;hpb=e4737e85f0da6d3f90fd08f6be1c2825195fe16f;p=modules%2Fsmesh.git diff --git a/src/SMESHGUI/SMESHGUI_VTKUtils.h b/src/SMESHGUI/SMESHGUI_VTKUtils.h index 9937073b6..d13e37de3 100644 --- a/src/SMESHGUI/SMESHGUI_VTKUtils.h +++ b/src/SMESHGUI/SMESHGUI_VTKUtils.h @@ -1,37 +1,35 @@ // Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, -// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS -// -// 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. -// -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public -// License along with this library; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -// -// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org +// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS +// +// 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. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com + +using namespace std; #ifndef SMESHGUI_VTKUtils_HeaderFile #define SMESHGUI_VTKUtils_HeaderFile -class QString; -class vtkRenderer; -class TColStd_IndexedMapOfInteger; +#include "SMESH_SMESHGUI.hxx" +#include "SALOMEDSClient_definitions.hxx" #include "SALOME_InteractiveObject.hxx" #include "VTKViewer_Filter.h" -class QAD_Study; -class QAD_StudyFrame; -class SALOME_Selection; -class VTKViewer_ViewFrame; -class VTKViewer_InteractorStyleSALOME; +#include "SMESH_Object.h" +#include "SMESHGUI_Utils.h" #include @@ -39,151 +37,169 @@ class VTKViewer_InteractorStyleSALOME; #include CORBA_CLIENT_HEADER(SALOMEDS) #include -#include "SMESH_Object.h" -class SALOME_Actor; +class QString; + +class TColStd_IndexedMapOfInteger; + +class SALOMEDSClient_Study; + +class SUIT_Study; +class SUIT_ViewWindow; +class SUIT_ViewManager; + +class SVTK_ViewWindow; +class SVTK_Selector; + +class LightApp_SelectionMgr; +class SalomeApp_Module; + +class SMESHGUI; class SMESH_Actor; +class SALOME_Actor; -namespace SMESH{ +namespace SMESH { //---------------------------------------------------------------------------- typedef pair TKeyOfVisualObj; +SMESHGUI_EXPORT TVisualObjPtr GetVisualObj(int theStudyId, const char* theEntry); - +SMESHGUI_EXPORT + void OnVisuException(); // PAL16631 //---------------------------------------------------------------------------- - QAD_StudyFrame* GetActiveStudyFrame(); - - VTKViewer_ViewFrame* FindVtkViewFrame(QAD_Study* theStudy, - QAD_StudyFrame* theStudyFrame); - - VTKViewer_ViewFrame* GetVtkViewFrame(QAD_StudyFrame* theStudyFrame); - - VTKViewer_ViewFrame* GetCurrentVtkView(); +SMESHGUI_EXPORT + SVTK_ViewWindow* GetViewWindow(const SalomeApp_Module* theModule = NULL, + bool createIfNotFound = false); +SMESHGUI_EXPORT + SVTK_ViewWindow* FindVtkViewWindow(SUIT_ViewManager*, SUIT_ViewWindow*); +SMESHGUI_EXPORT + SVTK_ViewWindow* GetVtkViewWindow(SUIT_ViewWindow*); +SMESHGUI_EXPORT + SVTK_ViewWindow* GetCurrentVtkView(); //---------------------------------------------------------------------------- - SMESH_Actor* FindActorByEntry(QAD_StudyFrame *theStudyFrame, - const char* theEntry); - SMESH_Actor* FindActorByEntry(const char* theEntry); - - SMESH_Actor* FindActorByObject(CORBA::Object_ptr theObject); - +SMESHGUI_EXPORT + void RepaintCurrentView(); +SMESHGUI_EXPORT + void RepaintViewWindow(SVTK_ViewWindow*); +SMESHGUI_EXPORT + void RenderViewWindow(SVTK_ViewWindow*); +SMESHGUI_EXPORT + void FitAll(); //---------------------------------------------------------------------------- - SMESH_Actor* CreateActor(SALOMEDS::Study_ptr theStudy, - const char* theEntry, - int theIsClear = false); +SMESHGUI_EXPORT + SMESH_Actor* FindActorByEntry (SUIT_ViewWindow*, const char* theEntry); +SMESHGUI_EXPORT + SMESH_Actor* FindActorByEntry (const char* theEntry); - void DisplayActor(QAD_StudyFrame *theStudyFrame, - SMESH_Actor* theActor); - void RemoveActor(QAD_StudyFrame *theStudyFrame, - SMESH_Actor* theActor); +SMESHGUI_EXPORT + SMESH_Actor* FindActorByObject (CORBA::Object_ptr theObject); + //---------------------------------------------------------------------------- +SMESHGUI_EXPORT + SMESH_Actor* CreateActor (_PTR(Study), const char*, int = false); +SMESHGUI_EXPORT + void DisplayActor (SUIT_ViewWindow*, SMESH_Actor* theActor); +SMESHGUI_EXPORT + void RemoveActor (SUIT_ViewWindow*, SMESH_Actor* theActor); +SMESHGUI_EXPORT + void RemoveVisuData(int studyID); //---------------------------------------------------------------------------- enum EDisplaing {eDisplayAll, eDisplay, eDisplayOnly, eErase, eEraseAll}; - void UpdateView(QAD_StudyFrame *theStudyFrame, - EDisplaing theAction, - const char* theEntry = ""); - void UpdateView(EDisplaing theAction, - const char* theEntry = ""); - +SMESHGUI_EXPORT + bool UpdateView (SUIT_ViewWindow*, + EDisplaing theAction, + const char* theEntry = "" ); +SMESHGUI_EXPORT + bool UpdateView (EDisplaing theAction, + const char* theEntry = ""); + +SMESHGUI_EXPORT void UpdateView(); - void Update(const Handle(SALOME_InteractiveObject)& theIO, +SMESHGUI_EXPORT + bool Update(const Handle(SALOME_InteractiveObject)& theIO, bool theDisplay); //---------------------------------------------------------------------------- - void FitAll(); - - void RepaintCurrentView(); - - vtkRenderer* GetCurrentRenderer(); - - - //---------------------------------------------------------------------------- +SMESHGUI_EXPORT void SetPointRepresentation(bool theIsVisible); +SMESHGUI_EXPORT void SetPickable(SMESH_Actor* theActor = NULL); - void UpdateSelectionProp(); +SMESHGUI_EXPORT + void UpdateSelectionProp( SMESHGUI* ); //---------------------------------------------------------------------------- - VTKViewer_InteractorStyleSALOME* - GetInteractorStyle(QAD_StudyFrame *theStudyFrame = GetActiveStudyFrame()); - - void SetFilter(const Handle(VTKViewer_Filter)& theFilter, - VTKViewer_InteractorStyleSALOME* theStyle = GetInteractorStyle()); - - Handle(VTKViewer_Filter) - GetFilter(int theId, VTKViewer_InteractorStyleSALOME* theStyle = GetInteractorStyle()); - - bool IsFilterPresent(int theId, - VTKViewer_InteractorStyleSALOME* theStyle = GetInteractorStyle()); - - void RemoveFilter(int theId, - VTKViewer_InteractorStyleSALOME* theStyle = GetInteractorStyle()); - - bool IsValid(SALOME_Actor* theActor, int theCellId, - VTKViewer_InteractorStyleSALOME* theStyle = GetInteractorStyle()); +SMESHGUI_EXPORT + SVTK_Selector* GetSelector (SUIT_ViewWindow* = GetActiveWindow()); + +SMESHGUI_EXPORT + void SetFilter (const Handle(VTKViewer_Filter)& theFilter, + SVTK_Selector* theSelector = GetSelector()); +SMESHGUI_EXPORT + Handle(VTKViewer_Filter) GetFilter (int theId, SVTK_Selector* theSelector = GetSelector()); +SMESHGUI_EXPORT + bool IsFilterPresent (int theId, SVTK_Selector* theSelector = GetSelector()); +SMESHGUI_EXPORT + void RemoveFilter (int theId, SVTK_Selector* theSelector = GetSelector()); + +SMESHGUI_EXPORT + void RemoveFilters (SVTK_Selector* theSelector = GetSelector()); + +SMESHGUI_EXPORT + bool IsValid (SALOME_Actor* theActor, int theCellId, + SVTK_Selector* theSelector = GetSelector()); //---------------------------------------------------------------------------- - int GetNameOfSelectedNodes(SALOME_Selection *theSel, - const Handle(SALOME_InteractiveObject)& theIO, +SMESHGUI_EXPORT + int GetNameOfSelectedNodes(SVTK_Selector* theSelector, + const Handle(SALOME_InteractiveObject)& theIO, QString& theName); - - int GetNameOfSelectedNodes(SALOME_Selection *theSel, - QString& aName); - - int GetNameOfSelectedElements(SALOME_Selection *theSel, - const Handle(SALOME_InteractiveObject)& theIO, +SMESHGUI_EXPORT + int GetNameOfSelectedElements(SVTK_Selector* theSelector, + const Handle(SALOME_InteractiveObject)& theIO, QString& theName); +SMESHGUI_EXPORT + int GetEdgeNodes(SVTK_Selector* theSelector, + const TVisualObjPtr& theVisualObj, + int& theId1, + int& theId2); - int GetNameOfSelectedElements(SALOME_Selection *theSel, - QString& aName); - - int GetSelected(SALOME_Selection* theSel, - TColStd_IndexedMapOfInteger& theMap, - const bool theIsElement = true ); - - int GetEdgeNodes(SALOME_Selection* theSel, int& theId1, int& theId2); - - void SetControlsPrecision( const long theVal ); - + //---------------------------------------------------------------------------- +SMESHGUI_EXPORT + int GetNameOfSelectedNodes (LightApp_SelectionMgr*, + const Handle(SALOME_InteractiveObject)& theIO, + QString& theName); +SMESHGUI_EXPORT + int GetNameOfSelectedNodes (LightApp_SelectionMgr*, + QString& aName); +SMESHGUI_EXPORT + int GetNameOfSelectedElements (LightApp_SelectionMgr*, + const Handle(SALOME_InteractiveObject)& theIO, + QString& theName); +SMESHGUI_EXPORT + int GetNameOfSelectedElements (LightApp_SelectionMgr*, + QString& aName); +SMESHGUI_EXPORT + int GetSelected (LightApp_SelectionMgr*, + TColStd_IndexedMapOfInteger& theMap, + const bool theIsElement = true ); + +SMESHGUI_EXPORT + int GetEdgeNodes (LightApp_SelectionMgr*, int& theId1, int& theId2); + +SMESHGUI_EXPORT + void SetControlsPrecision (const long theVal); }; - #endif - - - - - - - - - - - - - - - - - - - - - - - - - - - -