]> Creatis software - FrontAlgorithms.git/blob - lib/fpa/Base/Functors/InvertCost.h
7ff9366ffb820645b5a71eaafbd52ffd10a55b46
[FrontAlgorithms.git] / lib / fpa / Base / Functors / InvertCost.h
1 #ifndef __FPA__BASE__FUNCTORS__INVERTCOST__H__
2 #define __FPA__BASE__FUNCTORS__INVERTCOST__H__
3
4 #include <fpa/Config.h>
5 #include <itkFunctionBase.h>
6
7 namespace fpa
8 {
9   namespace Base
10   {
11     namespace Functors
12     {
13       /**
14        */
15       template< class _TResult >
16       class InvertCost
17         : public itk::FunctionBase< _TResult, _TResult >
18       {
19       public:
20         typedef InvertCost                              Self;
21         typedef itk::FunctionBase< _TResult, _TResult > Superclass;
22         typedef itk::SmartPointer< Self >               Pointer;
23         typedef itk::SmartPointer< const Self >         ConstPointer;
24
25         // Template arguments
26         typedef _TResult TResult;
27
28       public:
29         itkNewMacro( Self );
30         itkTypeMacro( InvertCost, Algorithm );
31
32       public:
33         virtual _TResult Evaluate( const _TResult& x ) const fpa_OVERRIDE;
34
35       protected:
36         // Methods to extend itk-based architecture
37         InvertCost( );
38         virtual ~InvertCost( );
39
40       private:
41         // Purposely not implemented
42         InvertCost( const Self& other );
43         Self& operator=( const Self& other );
44       };
45
46     } // ecapseman
47
48   } // ecapseman
49
50 } // ecapseman
51
52 #ifndef ITK_MANUAL_INSTANTIATION
53 #  include <fpa/Base/Functors/InvertCost.hxx>
54 #endif // ITK_MANUAL_INSTANTIATION
55
56 #endif // __FPA__BASE__FUNCTORS__INVERTCOST__H__
57
58 // eof - $RCSfile$