VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkImplicitFunctionToImageStencil.h 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00028 #ifndef __vtkImplicitFunctionToImageStencil_h 00029 #define __vtkImplicitFunctionToImageStencil_h 00030 00031 00032 #include "vtkImageStencilSource.h" 00033 00034 class vtkImplicitFunction; 00035 class vtkImageData; 00036 00037 class VTK_IMAGING_EXPORT vtkImplicitFunctionToImageStencil : public vtkImageStencilSource 00038 { 00039 public: 00040 static vtkImplicitFunctionToImageStencil *New(); 00041 vtkTypeMacro(vtkImplicitFunctionToImageStencil, vtkImageStencilSource); 00042 void PrintSelf(ostream& os, vtkIndent indent); 00043 00045 00046 virtual void SetInput(vtkImplicitFunction*); 00047 vtkGetObjectMacro(Input, vtkImplicitFunction); 00049 00051 00056 virtual void SetInformationInput(vtkImageData*); 00057 vtkGetObjectMacro(InformationInput, vtkImageData); 00059 00061 00064 vtkSetVector3Macro(OutputOrigin, double); 00065 vtkGetVector3Macro(OutputOrigin, double); 00067 00069 00072 vtkSetVector3Macro(OutputSpacing, double); 00073 vtkGetVector3Macro(OutputSpacing, double); 00075 00077 00081 vtkSetVector6Macro(OutputWholeExtent, int); 00082 vtkGetVector6Macro(OutputWholeExtent, int); 00084 00086 00087 vtkSetMacro(Threshold, double); 00088 vtkGetMacro(Threshold, double); 00090 00091 protected: 00092 vtkImplicitFunctionToImageStencil(); 00093 ~vtkImplicitFunctionToImageStencil(); 00094 00095 virtual int RequestData(vtkInformation *, vtkInformationVector **, 00096 vtkInformationVector *); 00097 virtual int RequestInformation(vtkInformation *, vtkInformationVector **, 00098 vtkInformationVector *); 00099 00100 vtkImplicitFunction *Input; 00101 double Threshold; 00102 00104 vtkImageData *InformationInput; 00105 00107 00108 int OutputWholeExtent[6]; 00109 double OutputOrigin[3]; 00110 double OutputSpacing[3]; 00112 00113 private: 00114 vtkImplicitFunctionToImageStencil(const vtkImplicitFunctionToImageStencil&); // Not implemented. 00115 void operator=(const vtkImplicitFunctionToImageStencil&); // Not implemented. 00116 }; 00117 00118 #endif 00119