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
00074 itkStaticConstMacro(ImageDimension, unsigned int,Superclass::ImageDimension);
00075
00077 ZeroFluxNeumannBoundaryCondition() {}
00078
00081 virtual PixelType operator()(const OffsetType& point_index,
00082 const OffsetType& boundary_offset,
00083 const NeighborhoodType *data) const;
00084 };
00085
00086 }
00087
00088 #ifndef ITK_MANUAL_INSTANTIATION
00089 #include "itkZeroFluxNeumannBoundaryCondition.txx"
00090 #endif
00091
00092 #endif