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