]> Creatis software - FrontAlgorithms.git/blob - lib/fpa/Base/Functors/Dijkstra/Function.h
...
[FrontAlgorithms.git] / lib / fpa / Base / Functors / Dijkstra / Function.h
1 // =========================================================================
2 // @author Leonardo Florez Valencia
3 // @email florez-l@javeriana.edu.co
4 // =========================================================================
5
6 #ifndef __fpa__Base__Functors__Dijkstra__Function__h__
7 #define __fpa__Base__Functors__Dijkstra__Function__h__
8
9 #include <itkObject.h>
10
11 namespace fpa
12 {
13   namespace Base
14   {
15     namespace Functors
16     {
17       namespace Dijkstra
18       {
19         /**
20          */
21         template< class _TVertex, class _TOutputValue >
22         class Function
23           : public itk::Object
24         {
25         public:
26           typedef Function                        Self;
27           typedef itk::Object                     Superclass;
28           typedef itk::SmartPointer< Self >       Pointer;
29           typedef itk::SmartPointer< const Self > ConstPointer;
30
31         public:
32           itkTypeMacro( fpa::Base::Functors::Dijkstra::Function, itk::Object );
33
34         public:
35           virtual _TOutputValue Evaluate(
36             const _TVertex& v, const _TVertex& p
37             ) const = 0;
38
39         protected:
40           Function( )
41             : Superclass( )
42             {
43             }
44           virtual ~Function( )
45             {
46             }
47
48         private:
49           // Purposely not implemented
50           Function( const Self& other );
51           Self& operator=( const Self& other );
52         };
53
54       } // ecapseman
55
56     } // ecapseman
57
58   } // ecapseman
59
60 } // ecapseman
61
62 #endif // __fpa__Base__Functors__Dijkstra__Function__h__
63
64 // eof - $RCSfile$