X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSVTK%2FSVTK_Actor.h;h=cc7d1d6c1de7c677421aa9a9a07dd6a181974fe5;hb=40124ca47b16338c9b1ceeb4a8016ce3f9ebb7e3;hp=7a9b4a641f03b0a0a73415ab2806193f03e1f60b;hpb=2e750f9ded92337bc3c44e9d7388180974cc4a43;p=modules%2Fgui.git diff --git a/src/SVTK/SVTK_Actor.h b/src/SVTK/SVTK_Actor.h index 7a9b4a641..cc7d1d6c1 100644 --- a/src/SVTK/SVTK_Actor.h +++ b/src/SVTK/SVTK_Actor.h @@ -1,21 +1,24 @@ -// 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 +// 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 +// +// 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 +// #ifndef SVTK_ACTOR_H #define SVTK_ACTOR_H @@ -28,41 +31,73 @@ class vtkDataSetMapper; class vtkUnstructuredGrid; #include "SVTK.h" -#include "SALOME_Actor.h" +#include "SVTK_DeviceActor.h" -class SVTK_EXPORT SVTK_Actor : public SALOME_Actor +#include + +class SALOME_Actor; + +#ifdef WIN32 +#pragma warning ( disable:4251 ) +#endif + +//! This class used for internal SVTK package purpose (highlight and prehighlight) +class SVTK_EXPORT SVTK_Actor : public SVTK_DeviceActor { public: - virtual ~SVTK_Actor(); - static SVTK_Actor* New(); - vtkTypeMacro(SVTK_Actor,SALOME_Actor); + vtkTypeMacro(SVTK_Actor,SVTK_DeviceActor); - void SetShrinkFactor(float value); - virtual void SetShrink(); - virtual void UnShrink(); + //! Initialiaze the instance completely + virtual void + Initialize(); - void MapCells(SALOME_Actor* theMapActor, - const TColStd_IndexedMapOfInteger& theMapIndex); + //! Allows to set an external source + void + SetSource(vtkUnstructuredGrid* theUnstructuredGrid); - void MapPoints(SALOME_Actor* theMapActor, - const TColStd_IndexedMapOfInteger& theMapIndex); + //! Get its internal data set + vtkUnstructuredGrid* + GetSource(); - void MapEdge(SALOME_Actor* theMapActor, - const TColStd_IndexedMapOfInteger& theMapIndex); + virtual void + AddToRender(vtkRenderer* theRenderer); + + virtual void + RemoveFromRender(vtkRenderer* theRenderer); - protected: - vtkUnstructuredGrid* myUnstructuredGrid; - vtkDataSetMapper* myMapper; - vtkRenderer* myRenderer; + //! Allow to recostruct selected cells from source SALOME_Actor and map of subindexes + virtual void + MapCells(SALOME_Actor* theMapActor, + const TColStd_IndexedMapOfInteger& theMapIndex); - vtkShrinkFilter* myShrinkFilter; - bool myIsShrinkable; - bool myIsShrunk; + //! Allow to recostruct selected points from source SALOME_Actor and map of subindexes + virtual void + MapPoints(SALOME_Actor* theMapActor, + const TColStd_IndexedMapOfInteger& theMapIndex); + + //! Allow to recostruct selected edges from source SALOME_Actor and map of subindexes + virtual void + MapEdge(SALOME_Actor* theMapActor, + const TColStd_IndexedMapOfInteger& theMapIndex); + + const TColStd_IndexedMapOfInteger& + GetMapIndex() const; + + protected: + TColStd_IndexedMapOfInteger myMapIndex; + + vtkSmartPointer myUnstructuredGrid; SVTK_Actor(); + virtual + ~SVTK_Actor(); }; +#ifdef WIN32 +#pragma warning ( default:4251 ) +#endif + #endif