00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef __itkVTKImageExport_h
00018 #define __itkVTKImageExport_h
00019
00020 #include "itkVTKImageExportBase.h"
00021
00022 namespace itk
00023 {
00024
00051 template <class TInputImage>
00052 class ITK_EXPORT VTKImageExport: public VTKImageExportBase
00053 {
00054 public:
00056 typedef VTKImageExport Self;
00057 typedef VTKImageExportBase Superclass;
00058 typedef SmartPointer<Self> Pointer;
00059 typedef SmartPointer<const Self> ConstPointer;
00060
00062 itkTypeMacro(VTKImageExport,VTKImageExportBase);
00063
00065 itkNewMacro(Self);
00066
00068 typedef TInputImage InputImageType;
00069
00071 void SetInput(const InputImageType*);
00072
00073 protected:
00074 VTKImageExport();
00075 ~VTKImageExport() {}
00076 void PrintSelf(std::ostream& os, Indent indent) const;
00077
00078 typedef typename InputImageType::Pointer InputImagePointer;
00079 typedef typename InputImageType::RegionType InputRegionType;
00080 typedef typename InputRegionType::SizeType InputSizeType;
00081 typedef typename InputRegionType::IndexType InputIndexType;
00082 itkStaticConstMacro(InputImageDimension, unsigned int,
00083 InputImageType::ImageDimension );
00084
00085 InputImageType * GetInput(void);
00086
00087 int* WholeExtentCallback();
00088 double* SpacingCallback();
00089 double* OriginCallback();
00090 float* FloatSpacingCallback();
00091 float* FloatOriginCallback();
00092 const char* ScalarTypeCallback();
00093 int NumberOfComponentsCallback();
00094 void PropagateUpdateExtentCallback(int*);
00095 int* DataExtentCallback();
00096 void* BufferPointerCallback();
00097
00098 private:
00099 VTKImageExport(const Self&);
00100 void operator=(const Self&);
00101
00102 std::string m_ScalarTypeName;
00103 int m_WholeExtent[6];
00104 int m_DataExtent[6];
00105 double m_DataSpacing[3];
00106 double m_DataOrigin[3];
00107 float m_FloatDataSpacing[3];
00108 float m_FloatDataOrigin[3];
00109 };
00110
00111 }
00112
00113 #ifndef ITK_MANUAL_INSTANTIATION
00114 #include "itkVTKImageExport.txx"
00115 #endif
00116
00117 #endif