itkZeroFluxNeumannBoundaryCondition.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef __itkZeroFluxNeumannBoundaryCondition_h
00018 #define __itkZeroFluxNeumannBoundaryCondition_h
00019 #include "itkNeighborhood.h"
00020 #include "itkImageBoundaryCondition.h"
00021
00022 namespace itk
00023 {
00024
00057 template<class TImage>
00058 class ITK_EXPORT ZeroFluxNeumannBoundaryCondition
00059 : public ImageBoundaryCondition<TImage>
00060 {
00061 public:
00063 typedef ZeroFluxNeumannBoundaryCondition Self;
00064 typedef ImageBoundaryCondition<TImage> Superclass;
00065
00067 typedef typename Superclass::PixelType PixelType;
00068 typedef typename Superclass::PixelPointerType PixelPointerType;
00069 typedef typename Superclass::IndexType IndexType;
00070 typedef typename Superclass::OffsetType OffsetType;
00071 typedef typename Superclass::NeighborhoodType NeighborhoodType;
00072
00073 typedef typename Superclass::NeighborhoodAccessorFunctorType
00074 NeighborhoodAccessorFunctorType;
00075
00077 itkStaticConstMacro(ImageDimension, unsigned int,Superclass::ImageDimension);
00078
00080 ZeroFluxNeumannBoundaryCondition() {}
00081
00084 virtual PixelType operator()(const OffsetType& point_index,
00085 const OffsetType& boundary_offset,
00086 const NeighborhoodType *data) const;
00087
00090 virtual PixelType operator()(
00091 const OffsetType& point_index,
00092 const OffsetType& boundary_offset,
00093 const NeighborhoodType *data,
00094 const NeighborhoodAccessorFunctorType &neighborhoodAccessorFunctor) const;
00095 };
00097
00098 }
00099
00100
00101 #define ITK_TEMPLATE_ZeroFluxNeumannBoundaryCondition(_, EXPORT, x, y) namespace itk { \
00102 _(1(class EXPORT ZeroFluxNeumannBoundaryCondition< ITK_TEMPLATE_1 x >)) \
00103 namespace Templates { typedef ZeroFluxNeumannBoundaryCondition< ITK_TEMPLATE_1 x > \
00104 ZeroFluxNeumannBoundaryCondition##y; } \
00105 }
00106
00107 #if ITK_TEMPLATE_EXPLICIT
00108 # include "Templates/itkZeroFluxNeumannBoundaryCondition+-.h"
00109 #endif
00110
00111 #if ITK_TEMPLATE_TXX
00112 # include "itkZeroFluxNeumannBoundaryCondition.txx"
00113 #endif
00114
00115
00116
00117
00118
00119
00120
00121 #endif
00122