00001 /*========================================================================= 00002 00003 Program: Medical Imaging & Interaction Toolkit 00004 Language: C++ 00005 Date: $Date$ 00006 Version: $Revision$ 00007 00008 Copyright (c) German Cancer Research Center, Division of Medical and 00009 Biological Informatics. All rights reserved. 00010 See MITKCopyright.txt or https://www.mitk.org/copyright.html for details. 00011 00012 This software is distributed WITHOUT ANY WARRANTY; without even 00013 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00014 PURPOSE. See the above copyright notices for more information. 00015 00016 =========================================================================*/ 00017 00018 #ifndef MITK_CONTOUR_VTK_MAPPER_3D_H 00019 #define MITK_CONTOUR_VTK_MAPPER_3D_H 00020 00021 #include "MitkExtExports.h" 00022 #include "mitkVtkMapper3D.h" 00023 00024 #include <vtkPolyData.h> 00025 #include <vtkSmartPointer.h> 00026 00027 class vtkPolyDataMapper; 00028 class vtkAppendPolyData; 00029 class vtkActor; 00030 class vtkTubeFilter; 00031 00032 namespace mitk { 00033 00034 class BaseRenderer; 00035 class Contour; 00036 00041 class MitkExt_EXPORT ContourVtkMapper3D : public VtkMapper3D 00042 { 00043 public: 00044 mitkClassMacro(ContourVtkMapper3D, VtkMapper3D); 00045 00046 itkNewMacro(Self); 00047 00048 virtual const mitk::Contour* GetInput(); 00049 00050 virtual vtkProp* GetVtkProp(mitk::BaseRenderer* renderer); 00051 00052 protected: 00053 ContourVtkMapper3D(); 00054 virtual ~ContourVtkMapper3D(); 00055 00056 virtual void GenerateData(mitk::BaseRenderer* renderer); 00057 00058 vtkSmartPointer<vtkPolyDataMapper> m_VtkPolyDataMapper; 00059 vtkSmartPointer<vtkTubeFilter> m_TubeFilter; 00060 00061 vtkSmartPointer<vtkAppendPolyData> m_VtkPointList; 00062 vtkSmartPointer<vtkPolyData> m_Contour; 00063 vtkSmartPointer<vtkActor> m_Actor; 00064 }; 00065 00066 } // namespace mitk 00067 00068 #endif // MITK_CONTOUR_VTK_MAPPER_3D_H 00069