sensorfw
coordinatealignfilter.h
Go to the documentation of this file.
1
27
#ifndef COORDINATEALIGNFILTER_H
28
#define COORDINATEALIGNFILTER_H
29
30
#include "
datatypes/orientationdata.h
"
31
#include "filter.h"
32
36
class
TMatrix
{
37
private
:
38
static
const
int
DIM = 3;
39
40
public
:
41
TMatrix
() {
42
setMatrix
((
const
double
[DIM][DIM]){{1,0,0},{0,1,0},{0,0,1}});
43
}
44
TMatrix
(
const
TMatrix
& other) {
45
setMatrix
(other.
data_
);
46
}
47
TMatrix
(
double
m[][DIM]) {
48
setMatrix
(m);
49
}
50
TMatrix
&
operator=
(
const
TMatrix
&other) {
51
setMatrix
(other.
data_
);
52
return
*
this
;
53
}
54
55
double
get
(
int
i,
int
j)
const
{
56
if
(i >= DIM || j >= DIM || i < 0 || j < 0) {
57
qWarning(
"Index out of bounds"
);
58
return
0;
59
}
60
return
data_
[i][j];
61
};
62
63
void
setMatrix
(
const
double
m[DIM][DIM]) {
64
memcpy(
data_
, m,
sizeof
(
double
[DIM][DIM]));
65
}
66
67
double
data_
[DIM][DIM];
68
};
69
Q_DECLARE_METATYPE
(
TMatrix
);
70
79
class
CoordinateAlignFilter
:
public
QObject,
public
Filter<TimedXyzData, CoordinateAlignFilter, TimedXyzData>
80
{
81
Q_OBJECT;
82
Q_PROPERTY(
TMatrix
transMatrix
READ
matrix
WRITE
setMatrix
);
83
public
:
84
89
static
FilterBase*
factoryMethod
() {
90
return
new
CoordinateAlignFilter
;
91
}
92
93
const
TMatrix
&
matrix
()
const
{
return
matrix_; }
94
95
void
setMatrix
(
const
TMatrix
&
matrix
) { matrix_ =
matrix
; }
96
97
protected
:
101
CoordinateAlignFilter
();
102
103
private
:
104
void
filter(
unsigned
,
const
TimedXyzData
*);
105
106
TMatrix
matrix_;
107
};
108
109
#endif
// COORDINATEALIGNFILTER_H
CoordinateAlignFilter
Coordinate alignment filter.
Definition
coordinatealignfilter.h:80
CoordinateAlignFilter::transMatrix
TMatrix transMatrix
Definition
coordinatealignfilter.h:82
CoordinateAlignFilter::matrix
const TMatrix & matrix() const
Definition
coordinatealignfilter.h:93
CoordinateAlignFilter::factoryMethod
static FilterBase * factoryMethod()
Factory method.
Definition
coordinatealignfilter.h:89
CoordinateAlignFilter::setMatrix
void setMatrix(const TMatrix &matrix)
Definition
coordinatealignfilter.h:95
CoordinateAlignFilter::CoordinateAlignFilter
CoordinateAlignFilter()
Constructor.
TMatrix
TMatrix holds a transformation matrix.
Definition
coordinatealignfilter.h:36
TMatrix::get
double get(int i, int j) const
Definition
coordinatealignfilter.h:55
TMatrix::TMatrix
TMatrix(const TMatrix &other)
Definition
coordinatealignfilter.h:44
TMatrix::TMatrix
TMatrix()
Definition
coordinatealignfilter.h:41
TMatrix::data_
double data_[DIM][DIM]
Definition
coordinatealignfilter.h:67
TMatrix::setMatrix
void setMatrix(const double m[DIM][DIM])
Definition
coordinatealignfilter.h:63
TMatrix::operator=
TMatrix & operator=(const TMatrix &other)
Definition
coordinatealignfilter.h:50
TMatrix::TMatrix
TMatrix(double m[][DIM])
Definition
coordinatealignfilter.h:47
TimedXyzData
Class for vector type measurement data (timestamp, x, y, z).
Definition
genericdata.h:53
Q_DECLARE_METATYPE
Q_DECLARE_METATYPE(TMatrix)
orientationdata.h
Datatypes for different filters.
filters
coordinatealignfilter
coordinatealignfilter.h
Generated by
1.12.0