SLAMflex SE  0.1.0
SLAMflex provides detection and tracking of dominant planes for smartphone devices. This plane can then be used to show AR content relative to the plane orientation. The detection of plane is performed in the field of view of the smartphone camera. In subsequent frames it is tracked. The interface returns the plane position and orientation.
generated.h
Go to the documentation of this file.
1 // Generated for J*C*J^T, C symmetric
2 template <class A1, class A2, class A3> inline void transformCovariance(const FixedMatrix<2,2,A1>& A, const FixedMatrix<2,2,A2>& B, FixedMatrix<2,2,A3>& M)
3 {
4  M = A*B*A.T();
5 }
6 
7 // Generated for J*C*J^T, C symmetric
8 template <int N, class A1, class A2, class A3> inline void transformCovariance(const FixedMatrix<2,N,A1>& A, const FixedMatrix<N,N,A2>& B, FixedMatrix<2,2,A3>& M)
9 {
10  { const Vector<N> ABi = B * A[0];
11  M[0][0] = ABi * A[0];
12  M[0][1] = M[1][0] = ABi * A[1];
13  }
14  M[1][1] = (B * A[1]) * A[1];
15 }
16 
17 // Generated for J*C*J^T, C symmetric
18 template <int N, class A1, class A2, class A3> inline void transformCovariance(const FixedMatrix<3,N,A1>& A, const FixedMatrix<N,N,A2>& B, FixedMatrix<3,3,A3>& M)
19 {
20  { const Vector<N> ABi = B * A[0];
21  M[0][0] = ABi * A[0];
22  M[0][1] = M[1][0] = ABi * A[1];
23  M[0][2] = M[2][0] = ABi * A[2];
24  }
25  { const Vector<N> ABi = B * A[1];
26  M[1][1] = ABi * A[1];
27  M[1][2] = M[2][1] = ABi * A[2];
28  }
29  M[2][2] = (B * A[2]) * A[2];
30 }
31 
32 #if 0
33 // Generated for J*C*J^T, C symmetric
34 template <int N, class A1, class A2, class A3> inline void transformCovariance(const FixedMatrix<6,N,A1>& A, const FixedMatrix<N,N,A2>& B, FixedMatrix<6,6,A3>& M)
35 {
36  { const Vector<N> ABi = B * A[0];
37  M[0][0] = ABi * A[0];
38  M[0][1] = M[1][0] = ABi * A[1];
39  M[0][2] = M[2][0] = ABi * A[2];
40  M[0][3] = M[3][0] = ABi * A[3];
41  M[0][4] = M[4][0] = ABi * A[4];
42  M[0][5] = M[5][0] = ABi * A[5];
43  }
44  { const Vector<N> ABi = B * A[1];
45  M[1][1] = ABi * A[1];
46  M[1][2] = M[2][1] = ABi * A[2];
47  M[1][3] = M[3][1] = ABi * A[3];
48  M[1][4] = M[4][1] = ABi * A[4];
49  M[1][5] = M[5][1] = ABi * A[5];
50  }
51  { const Vector<N> ABi = B * A[2];
52  M[2][2] = ABi * A[2];
53  M[2][3] = M[3][2] = ABi * A[3];
54  M[2][4] = M[4][2] = ABi * A[4];
55  M[2][5] = M[5][2] = ABi * A[5];
56  }
57  { const Vector<N> ABi = B * A[3];
58  M[3][3] = ABi * A[3];
59  M[3][4] = M[4][3] = ABi * A[4];
60  M[3][5] = M[5][3] = ABi * A[5];
61  }
62  { const Vector<N> ABi = B * A[4];
63  M[4][4] = ABi * A[4];
64  M[4][5] = M[5][4] = ABi * A[5];
65  }
66  M[5][5] = (B * A[5]) * A[5];
67 }
68 #endif
void transformCovariance(const FixedMatrix< 2, 2, A1 > &A, const FixedMatrix< 2, 2, A2 > &B, FixedMatrix< 2, 2, A3 > &M)
Definition: generated.h:2