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_VECTOR_IMAGE_VTK_MAPPER_3D__H 00019 #define _MITK_VECTOR_IMAGE_VTK_MAPPER_3D__H 00020 00021 #include "MitkDiffusionImagingExports.h" 00022 00023 #include "mitkVtkMapper3D.h" 00024 #include "mitkImage.h" 00025 00026 class vtkMaskedGlyph3D; 00027 class vtkActor; 00028 class vtkPolyDataMapper; 00029 class vtkMaskPoints; 00030 00031 00032 namespace mitk 00033 { 00034 00035 class MitkDiffusionImaging_EXPORT VectorImageVtkGlyphMapper3D : public VtkMapper3D 00036 { 00037 public: 00038 mitkClassMacro( VectorImageVtkGlyphMapper3D, VtkMapper3D ); 00039 00040 itkNewMacro( Self ); 00041 00042 enum GlyphType {LineGlyph, ArrowGlyph}; 00043 00044 itkSetMacro(MaximumNumberOfPoints, unsigned int); 00045 itkGetMacro(MaximumNumberOfPoints, unsigned int); 00046 00047 itkSetMacro(UseMaskPoints, bool); 00048 itkGetMacro(UseMaskPoints, bool); 00049 itkBooleanMacro(UseMaskPoints); 00050 00051 itkSetMacro(RandomMode, bool); 00052 itkGetMacro(RandomMode, bool); 00053 itkBooleanMacro(RandomMode); 00054 00055 virtual vtkProp* GetVtkProp(mitk::BaseRenderer* renderer); 00056 00057 protected: 00061 VectorImageVtkGlyphMapper3D(); 00062 00066 virtual ~VectorImageVtkGlyphMapper3D(); 00067 00071 virtual void GenerateData(); 00072 00076 virtual void GenerateData( mitk::BaseRenderer* renderer ); 00077 00082 Image* GetInput(); 00083 00084 vtkMaskedGlyph3D* m_Glyph3DGenerator; 00085 vtkActor* m_Glyph3DActor; 00086 vtkPolyDataMapper* m_Glyph3DMapper; 00087 00088 GlyphType m_GlyphType; 00089 unsigned int m_MaximumNumberOfPoints; 00090 bool m_UseMaskPoints; 00091 bool m_RandomMode; 00092 00093 }; 00094 00095 00096 } //end of namespace mitk 00097 00098 #endif 00099 00100 00101