X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSVTK%2FSVTK_View.h;h=3859802d51fc2f1c2cbbbdb8ad72ce9cd05d6b08;hb=refs%2Fheads%2Fngr%2Fpython3_dev_pv5.4;hp=7f3bf8a64fc857a9d06bed315854efb76eff45a1;hpb=1c889394b028b786898a995d38c07c8f3d564837;p=modules%2Fgui.git diff --git a/src/SVTK/SVTK_View.h b/src/SVTK/SVTK_View.h index 7f3bf8a64..3859802d5 100644 --- a/src/SVTK/SVTK_View.h +++ b/src/SVTK/SVTK_View.h @@ -1,24 +1,25 @@ -// Copyright (C) 2007-2008 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2016 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) 2003-2007 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 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, 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 -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. +// 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 +// 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 +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // + #ifndef SVTK_VIEW_H #define SVTK_VIEW_H @@ -27,12 +28,15 @@ #endif #include "SVTK.h" -#include "SALOME_InteractiveObject.hxx" + +#include +#include #include class vtkActorCollection; class vtkRenderer; +class vtkProperty; class SVTK_ViewWindow; class SVTK_Renderer; @@ -125,8 +129,8 @@ public: //! To highlight a VTK presentation with the same #SALOME_InteractiveObject void highlight(const Handle(SALOME_InteractiveObject)& IObject, - bool highlight, - bool immediatly = true); + bool highlight, + bool immediatly = true); //! To unhighlight all VTK presentations void @@ -146,7 +150,7 @@ public: void rename(const Handle(SALOME_InteractiveObject)& IObject, - const QString& newName); + const QString& newName); //---------------------------------------------------------------------------- // Displaymode management @@ -161,7 +165,7 @@ public: //! Switch representation wireframe/shading void SetDisplayMode(const Handle(SALOME_InteractiveObject)& IObject, - int theMode); + int theMode); //! Change all actors to wireframe void @@ -171,6 +175,10 @@ public: void ChangeRepresentationToSurface(); + //! Change all actors to surface with edges + void + ChangeRepresentationToSurfaceWithEdges(); + //! Change to wireframe a list of vtkactor void ChangeRepresentationToWireframe(vtkActorCollection* theListofActors); @@ -179,10 +187,14 @@ public: void ChangeRepresentationToSurface(vtkActorCollection* theListofActors); + //! Change to surface with edges a list of vtkactor + void + ChangeRepresentationToSurfaceWithEdges(vtkActorCollection* theListofActors); + //! Change transparency void SetTransparency(const Handle(SALOME_InteractiveObject)& theIObject, - float trans); + float trans); //! Get current transparency float @@ -191,12 +203,25 @@ public: //! Change color void SetColor(const Handle(SALOME_InteractiveObject)& theIObject, - const QColor& theColor); + const QColor& theColor); //! Get current color QColor GetColor(const Handle(SALOME_InteractiveObject)& theIObject); + //! Change material + void + SetMaterial(const Handle(SALOME_InteractiveObject)& theIObject, + vtkProperty* thePropF, vtkProperty* thePropB); + + //! Get current front material + vtkProperty* + GetFrontMaterial(const Handle(SALOME_InteractiveObject)& theIObject); + + //! Get current back material + vtkProperty* + GetBackMaterial(const Handle(SALOME_InteractiveObject)& theIObject); + //---------------------------------------------------------------------------- // Erase Display functions //! To erase all existing VTK presentations @@ -214,15 +239,15 @@ public: //! To erase VTK presentation with defined #SALOME_InteractiveObject void Erase(const Handle(SALOME_InteractiveObject)& IObject, - bool immediatly = true); + bool immediatly = true); void Remove(const Handle(SALOME_InteractiveObject)& IObject, - bool immediatly = true); + bool immediatly = true); //! To display VTK presentation with defined #SALOME_InteractiveObject void Display(const Handle(SALOME_InteractiveObject)& IObject, - bool immediatly = true); + bool immediatly = true); //! To display VTK presentation with defined #SALOME_InteractiveObject and erase all anothers void @@ -231,38 +256,42 @@ public: //! To display the VTK presentation void Display(SALOME_Actor* SActor, - bool immediatly = true); + bool immediatly = true); //! To erase the VTK presentation void Erase(SALOME_Actor* SActor, - bool immediatly = true); + bool immediatly = true); //! To remove the VTK presentation void Remove(SALOME_Actor* SActor, - bool updateViewer = true); + bool updateViewer = true); + + //! Collect objects visible in viewer + void + GetVisible( SALOME_ListIO& theList ); //---------------------------------------------------------------------------- //! Redirect the request to #SVTK_Renderer::SetPreselectionProp void SetSelectionProp(const double& theRed = 1, - const double& theGreen = 1, - const double& theBlue = 0, - const int& theWidth = 5); + const double& theGreen = 1, + const double& theBlue = 0, + const int& theWidth = 5); //! Redirect the request to #SVTK_Renderer::SetPreselectionProp void SetPreselectionProp(const double& theRed = 0, - const double& theGreen = 1, - const double& theBlue = 1, - const int& theWidth = 5); + const double& theGreen = 1, + const double& theBlue = 1, + const int& theWidth = 5); //! Redirect the request to #SVTK_Renderer::SetPreselectionProp void SetSelectionTolerance(const double& theTolNodes = 0.025, - const double& theTolCell = 0.001, - const double& theTolObjects = 0.025); + const double& theTolCell = 0.001, + const double& theTolObjects = 0.025); protected: int myDisplayMode;