00001 /*========================================================================= 00002 00003 Program: Medical Imaging & Interaction Toolkit 00004 Language: C++ 00005 Date: $Date: 2009-07-14 19:11:20 +0200 (Tue, 14 Jul 2009) $ 00006 Version: $Revision: 18127 $ 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 __vtkMaskedProgrammableGlyphFilter_h 00019 #define __vtkMaskedProgrammableGlyphFilter_h 00020 00021 #include "MitkDiffusionImagingExports.h" 00022 00023 #include "vtkProgrammableGlyphFilter.h" 00024 #include "mitkGeometry3D.h" 00025 00026 class vtkMaskPoints; 00035 class MitkDiffusionImaging_EXPORT vtkMaskedProgrammableGlyphFilter : public vtkProgrammableGlyphFilter 00036 { 00037 public: 00038 vtkTypeRevisionMacro(vtkMaskedProgrammableGlyphFilter,vtkProgrammableGlyphFilter); 00039 void PrintSelf(ostream& os, vtkIndent indent); 00040 00044 static vtkMaskedProgrammableGlyphFilter *New(); 00045 00049 vtkSetMacro(MaximumNumberOfPoints, int); 00050 vtkGetMacro(MaximumNumberOfPoints, int); 00051 00055 virtual void SetInput(vtkDataSet *input); 00056 00060 vtkSetMacro(UseMaskPoints, int); 00061 vtkGetMacro(UseMaskPoints, int); 00062 00066 void SetRandomMode(int mode); 00067 int GetRandomMode(); 00068 00070 // * If you want to use an arbitrary scalars array, then set its name here. 00071 // * By default this in NULL and the filter will use the active scalar array. 00072 // */ 00073 //vtkGetStringMacro(InputScalarsSelection); 00074 //void SelectInputScalars(const char *fieldName) 00075 // {this->SetInputScalarsSelection(fieldName);} 00076 00078 // * If you want to use an arbitrary vectors array, then set its name here. 00079 // * By default this in NULL and the filter will use the active vector array. 00080 // */ 00081 //vtkGetStringMacro(InputVectorsSelection); 00082 //void SelectInputVectors(const char *fieldName) 00083 // {this->SetInputVectorsSelection(fieldName);} 00084 00086 // * If you want to use an arbitrary normals array, then set its name here. 00087 // * By default this in NULL and the filter will use the active normal array. 00088 // */ 00089 //vtkGetStringMacro(InputNormalsSelection); 00090 //void SelectInputNormals(const char *fieldName) 00091 // {this->SetInputNormalsSelection(fieldName);} 00092 00093 void SetGeometry(mitk::Geometry3D::Pointer geo) 00094 { this->m_Geometry = geo; } 00095 mitk::Geometry3D::Pointer GetGeometry() 00096 { return this->m_Geometry; } 00097 00098 protected: 00099 vtkMaskedProgrammableGlyphFilter(); 00100 ~vtkMaskedProgrammableGlyphFilter(); 00101 00102 virtual void Execute(); 00103 virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *); 00104 00105 vtkMaskPoints *MaskPoints; 00106 int MaximumNumberOfPoints; 00107 int UseMaskPoints; 00108 00109 mitk::Geometry3D::Pointer m_Geometry; 00110 00111 private: 00112 vtkMaskedProgrammableGlyphFilter(const vtkMaskedProgrammableGlyphFilter&); // Not implemented. 00113 void operator=(const vtkMaskedProgrammableGlyphFilter&); // Not implemented. 00114 }; 00115 00116 #endif