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=Point<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