00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
#ifndef __itkInteriorExteriorSpatialFunction_h
00018
#define __itkInteriorExteriorSpatialFunction_h
00019
00020
#include "itkSpatialFunction.h"
00021
00022
namespace itk
00023 {
00024
00047
template <
unsigned int VDimension=3,
typename TInput=Po
int<
double,VDimension> >
00048 class ITK_EXPORT InteriorExteriorSpatialFunction :
public
00049
SpatialFunction<bool, VDimension, TInput >
00050 {
00051
public:
00053 typedef InteriorExteriorSpatialFunction
Self;
00054 typedef SpatialFunction<bool, VDimension,TInput> Superclass;
00055 typedef SmartPointer<Self> Pointer;
00056 typedef SmartPointer<const Self> ConstPointer;
00057
00059
itkTypeMacro(InteriorExteriorSpatialFunction,
SpatialFunction);
00060
00062 typedef typename Superclass::InputType
InputType;
00063
00065 typedef typename Superclass::OutputType
OutputType;
00066
00071
virtual OutputType Evaluate(
const InputType& input )
const = 0;
00072
00073
protected:
00074 InteriorExteriorSpatialFunction();
00075
virtual ~InteriorExteriorSpatialFunction();
00076
void PrintSelf(std::ostream& os,
Indent indent)
const;
00077
00078
private:
00079 InteriorExteriorSpatialFunction(
const Self&);
00080
void operator=(
const Self&);
00081
00082 };
00083
00084 }
00085
00086
#ifndef ITK_MANUAL_INSTANTIATION
00087
#include "itkInteriorExteriorSpatialFunction.txx"
00088
#endif
00089
00090
#endif