vnl_double_2x3.h
Go to the documentation of this file.
1 // This is core/vnl/vnl_double_2x3.h
2 #ifndef vnl_double_2x3_h_
3 #define vnl_double_2x3_h_
4 //:
5 // \file
6 // \brief 2x3 matrix of double
7 // \author Andrew W. Fitzgibbon, Oxford RRG
8 // \date 23 Dec 96
9 //
10 // \verbatim
11 // Modifications
12 // Peter Vanroose, 25 June 1999: no need to use #pragma instantiate anymore
13 // Peter Vanroose, 21 Oct 1999: vnl_matrix_fixed<double,2,3> already instantiated
14 // \endverbatim
15 //
16 //-----------------------------------------------------------------------------
17 
18 #include <vnl/vnl_matrix_fixed.h>
19 #include <vnl/vnl_double_3.h>
20 #include "vnl/vnl_export.h"
21 
22 class VNL_EXPORT vnl_double_2x3 : public vnl_matrix_fixed<double, 2, 3>
23 {
24  private:
26  public:
27 
28  vnl_double_2x3() = default;
29  vnl_double_2x3(const vnl_double_3& row1, const vnl_double_3& row2)
30  {
31  vnl_double_2x3& M = *this;
32  M(0,0) = row1[0]; M(0,1) = row1[1]; M(0,2) = row1[2];
33  M(1,0) = row2[0]; M(1,1) = row2[1]; M(1,2) = row2[2];
34  }
35 
36  vnl_double_2x3(double r00, double r01, double r02,
37  double r10, double r11, double r12)
38  {
39  vnl_double_2x3& M = *this;
40  M(0,0) = r00; M(0,1) = r01; M(0,2) = r02;
41  M(1,0) = r10; M(1,1) = r11; M(1,2) = r12;
42  }
43 
44  vnl_double_2x3(Base const& M) : Base(M) { }
45 };
46 
47 #endif // vnl_double_2x3_h_
Fixed size, stack-stored, space-efficient matrix.
Definition: vnl_fwd.h:23
fixed size matrix
vnl_double_2x3(const vnl_double_3 &row1, const vnl_double_3 &row2)
Contains class vnl_double_3 and function vnl_cross_3d()