]> Creatis software - FrontAlgorithms.git/blob - lib/fpa/Base/Functors/TautologyFunction.h
82498d08429d52304bdce2785743a633a48c1da6
[FrontAlgorithms.git] / lib / fpa / Base / Functors / TautologyFunction.h
1 #ifndef __FPA__BASE__FUNCTORS__TAUTOLOGYFUNCTION__H__
2 #define __FPA__BASE__FUNCTORS__TAUTOLOGYFUNCTION__H__
3
4 #include <itkFunctionBase.h>
5
6 namespace fpa
7 {
8   namespace Base
9   {
10     namespace Functors
11     {
12       /**
13        */
14       template< class S, class V >
15       class TautologyFunction
16         : public itk::FunctionBase< V, bool >
17       {
18       public:
19         typedef TautologyFunction               Self;
20         typedef itk::FunctionBase< V, bool >    Superclass;
21         typedef itk::SmartPointer< Self >       Pointer;
22         typedef itk::SmartPointer< const Self > ConstPointer;
23
24         typedef S TSpace;
25         typedef V TVertex;
26
27       public:
28         itkNewMacro( Self );
29         itkTypeMacro( TautologyFunction, itkFunctionBase );
30
31         itkGetConstObjectMacro( Space, TSpace );
32         itkSetConstObjectMacro( Space, TSpace );
33
34       public:
35         virtual bool Evaluate( const TVertex& input ) const ITK_OVERRIDE
36           { return( true ); }
37
38       protected:
39         TautologyFunction( )
40           : Superclass( )
41           { }
42         virtual ~TautologyFunction( )
43           { }
44
45       private:
46         // Purposely not implemented
47         TautologyFunction( const Self& );
48         void operator=( const Self& );
49
50       protected:
51         typename TSpace::ConstPointer m_Space;
52       };
53
54     } // ecapseman
55
56   } // ecapseman
57
58 } // ecapseman
59
60 #endif // __FPA__BASE__FUNCTORS__TAUTOLOGYFUNCTION__H__
61
62 // eof - $RCSfile$