DGtal  0.6.devel
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
LinearAlgebra.h
1 
17 #pragma once
18 
31 #if defined(LinearAlgebra_RECURSES)
32 #error Recursive header files inclusion detected in LinearAlgebra.h
33 #else // defined(LinearAlgebra_RECURSES)
34 
35 #define LinearAlgebra_RECURSES
36 
37 #if !defined LinearAlgebra_h
38 
39 #define LinearAlgebra_h
40 
42 // Inclusions
43 #include <iostream>
44 #include "DGtal/base/Common.h"
45 #include "DGtal/kernel/CSpace.h"
46 #include "DGtal/base/ConceptUtils.h"
47 #include <boost/type_traits.hpp>
49 
50 namespace DGtal
51 {
52 
54  // template class LinearAlgebra
60  template <typename Space>
62  {
63  // ----------------------- Standard services ------------------------------
64 
66 
67  typedef typename Space::Integer Integer;
68  typedef typename Space::Point Point;
69  typedef typename Space::Vector Vector;
70  static const typename Space::Dimension dimension = Space::dimension;
71 
72  static Integer determinant(const Point &a, const Point &b);
73 
74  // ----------------------- Standard services ------------------------------
75 
81  static void selfDisplay(std::ostream &out);
82 
86  static bool isValid();
87 
88 
89  }; // end of class LinearAlgebra
90 
91 } // namespace DGtal
92 
93 
95 // Includes inline functions.
96 #include "DGtal/kernel/LinearAlgebra.ih"
97 
98 // //
100 
101 #endif // !defined LinearAlgebra_h
102 
103 #undef LinearAlgebra_RECURSES
104 #endif // else defined(LinearAlgebra_RECURSES)