00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef __itkWarpMeshFilter_h
00018 #define __itkWarpMeshFilter_h
00019
00020 #include "itkMeshToMeshFilter.h"
00021
00022 namespace itk
00023 {
00024
00040 template <class TInputMesh, class TOutputMesh, class TDeformationField>
00041 class ITK_EXPORT WarpMeshFilter :
00042 public MeshToMeshFilter<TInputMesh,TOutputMesh>
00043 {
00044 public:
00046 typedef WarpMeshFilter Self;
00047 typedef MeshToMeshFilter<TInputMesh,TOutputMesh> Superclass;
00048 typedef SmartPointer<Self> Pointer;
00049 typedef SmartPointer<const Self> ConstPointer;
00050
00051 typedef TInputMesh InputMeshType;
00052 typedef TOutputMesh OutputMeshType;
00053 typedef typename InputMeshType::Pointer InputMeshPointer;
00054 typedef typename OutputMeshType::Pointer OutputMeshPointer;
00055
00057 typedef typename TInputMesh::CoordRepType CoordRepType;
00058
00060 typedef TDeformationField DeformationFieldType;
00061 typedef typename DeformationFieldType::ConstPointer DeformationFieldPointer;
00062 typedef typename DeformationFieldType::PixelType DisplacementType;
00063
00065 itkNewMacro(Self);
00066
00068 itkTypeMacro(WarpMeshFilter,MeshToMeshFilter);
00069
00071 void SetDeformationField( const DeformationFieldType * field );
00072
00074 const DeformationFieldType * GetDeformationField(void) const;
00075
00076
00077 protected:
00078 WarpMeshFilter();
00079 ~WarpMeshFilter() {};
00080 void PrintSelf(std::ostream& os, Indent indent) const;
00081
00083 virtual void GenerateData( void );
00084
00085 private:
00086 WarpMeshFilter(const WarpMeshFilter&);
00087 void operator=(const WarpMeshFilter&);
00088
00089 };
00090
00091 }
00092
00093 #ifndef ITK_MANUAL_INSTANTIATION
00094 #include "itkWarpMeshFilter.txx"
00095 #endif
00096
00097 #endif