]> Creatis software - FrontAlgorithms.git/blob - appli/CTBronchi/Filter.hxx
...
[FrontAlgorithms.git] / appli / CTBronchi / Filter.hxx
1 // =========================================================================
2 // @author Leonardo Florez Valencia (florez-l@javeriana.edu.co)
3 // =========================================================================
4 #ifndef __CTBronchi__Filter__hxx__
5 #define __CTBronchi__Filter__hxx__
6
7 #include <chrono>
8
9 // -------------------------------------------------------------------------
10 template< class _TFilter >
11 CTBronchi::Filter< _TFilter >::
12 Filter( )
13 {
14   this->m_Filter = TFilter::New( );
15 }
16
17 // -------------------------------------------------------------------------
18 template< class _TFilter >
19 CTBronchi::Filter< _TFilter >::
20 ~Filter( )
21 {
22 }
23
24 // -------------------------------------------------------------------------
25 template< class _TFilter >
26 bool CTBronchi::Filter< _TFilter >::
27 IsNotNull( ) const
28 {
29   return( this->m_Filter.IsNotNull( ) );
30 }
31
32 // -------------------------------------------------------------------------
33 template< class _TFilter >
34 bool CTBronchi::Filter< _TFilter >::
35 IsNull( ) const
36 {
37   return( this->m_Filter.IsNotNull( ) );
38 }
39
40 // -------------------------------------------------------------------------
41 template< class _TFilter >
42 typename CTBronchi::Filter< _TFilter >::
43 TFilter* CTBronchi::Filter< _TFilter >::
44 Get( )
45 {
46   return( this->m_Filter );
47 }
48
49 // -------------------------------------------------------------------------
50 template< class _TFilter >
51 const typename CTBronchi::Filter< _TFilter >::
52 TFilter* CTBronchi::Filter< _TFilter >::
53 Get( ) const
54 {
55   return( this->m_Filter );
56 }
57
58 // -------------------------------------------------------------------------
59 template< class _TFilter >
60 double CTBronchi::Filter< _TFilter >::
61 Update( )
62 {
63   if( this->IsNotNull( ) )
64   {
65     std::chrono::time_point< std::chrono::high_resolution_clock > s, e;
66     std::chrono::duration< double > t;
67     s = std::chrono::high_resolution_clock::now( );
68     this->m_Filter->Update( );
69     e = std::chrono::high_resolution_clock::now( );
70     t = e - s;
71     return( t.count( ) );
72   }
73   else
74     return( -1 );
75 }
76
77 #endif // __CTBronchi__Filter__hxx__
78
79 // eof - $RCSfile$