00001 // Copyright (C) 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE 00002 // 00003 // This library is free software; you can redistribute it and/or 00004 // modify it under the terms of the GNU Lesser General Public 00005 // License as published by the Free Software Foundation; either 00006 // version 2.1 of the License. 00007 // 00008 // This library is distributed in the hope that it will be useful, 00009 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00010 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00011 // Lesser General Public License for more details. 00012 // 00013 // You should have received a copy of the GNU Lesser General Public 00014 // License along with this library; if not, write to the Free Software 00015 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00016 // 00017 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com 00018 // 00019 00020 #ifndef VTKViewer_DATASETMAPPER_H 00021 #define VTKViewer_DATASETMAPPER_H 00022 00023 #include "VTKViewer.h" 00024 #include "VTKViewer_MarkerDef.h" 00025 00026 #include <vtkDataSetMapper.h> 00027 00028 class VTKVIEWER_EXPORT VTKViewer_DataSetMapper : public vtkDataSetMapper 00029 { 00030 public: 00031 static VTKViewer_DataSetMapper *New(); 00032 vtkTypeRevisionMacro(VTKViewer_DataSetMapper,vtkDataSetMapper); 00033 00035 void SetMarkerEnabled( bool ); 00036 00038 void SetMarkerStd( VTK::MarkerType, VTK::MarkerScale ); 00039 00041 void SetMarkerTexture( int, VTK::MarkerTexture ); 00042 00044 VTK::MarkerType GetMarkerType(); 00045 00047 VTK::MarkerScale GetMarkerScale(); 00048 00050 int GetMarkerTexture(); 00051 00053 void Render(vtkRenderer *ren, vtkActor *act); 00054 00055 protected: 00056 VTKViewer_DataSetMapper(); 00057 ~VTKViewer_DataSetMapper(); 00058 00059 private: 00060 VTKViewer_DataSetMapper(const VTKViewer_DataSetMapper&); // Not implemented. 00061 void operator=(const VTKViewer_DataSetMapper&); // Not implemented. 00062 00063 private: 00064 bool MarkerEnabled; 00065 VTK::MarkerType MarkerType; 00066 VTK::MarkerScale MarkerScale; 00067 int MarkerId; 00068 VTK::MarkerTexture MarkerTexture; 00069 }; 00070 00071 #endif