sensorfw
magneticfield.h
Go to the documentation of this file.
1
28#ifndef MAGNETICFIELDDATA_H
29#define MAGNETICFIELDDATA_H
30
31#include <QDBusArgument>
33
37class MagneticField : public QObject
38{
39public:
40 Q_OBJECT;
41
42public:
43
47 MagneticField() : QObject() {}
48
54 MagneticField(const CalibratedMagneticFieldData& calibratedData) : QObject() {
55 data_.timestamp_ = calibratedData.timestamp_;
56 data_.level_ = calibratedData.level_;
57 data_.x_ = calibratedData.x_;
58 data_.y_ = calibratedData.y_;
59 data_.z_ = calibratedData.z_;
60 data_.rx_ = calibratedData.rx_;
61 data_.ry_ = calibratedData.ry_;
62 data_.rz_ = calibratedData.rz_;
63 }
64
70 MagneticField(const MagneticField& data) : QObject() {
71 data_.timestamp_ = data.data_.timestamp_;
72 data_.level_ = data.data_.level_;
73 data_.x_ = data.data_.x_;
74 data_.y_ = data.data_.y_;
75 data_.z_ = data.data_.z_;
76 data_.rx_ = data.data_.rx_;
77 data_.ry_ = data.data_.ry_;
78 data_.rz_ = data.data_.rz_;
79 }
80
86 const CalibratedMagneticFieldData& data() const { return data_; }
87
94 {
95 data_.timestamp_ = origin.data_.timestamp_;
96 data_.level_ = origin.data_.level_;
97 data_.x_ = origin.data_.x_;
98 data_.y_ = origin.data_.y_;
99 data_.z_ = origin.data_.z_;
100 data_.rx_ = origin.data_.rx_;
101 data_.ry_ = origin.data_.ry_;
102 data_.rz_ = origin.data_.rz_;
103
104 return *this;
105 }
106
113 bool operator==(const MagneticField& right) const
114 {
115 CalibratedMagneticFieldData rdata = right.data();
116 return (data_.x_ == rdata.x_ &&
117 data_.y_ == rdata.y_ &&
118 data_.z_ == rdata.z_ &&
119 data_.rx_ == rdata.rx_ &&
120 data_.ry_ == rdata.ry_ &&
121 data_.rz_ == rdata.rz_ &&
122 data_.level_ == rdata.level_ &&
123 data_.timestamp_ == rdata.timestamp_);
124 }
125
130 int x() const { return data_.x_; }
131
136 int y() const { return data_.y_; }
137
142 int z() const { return data_.z_; }
143
148 int rx() const { return data_.rx_; }
149
154 int ry() const { return data_.ry_; }
155
160 int rz() const { return data_.rz_; }
161
166 int level() const { return data_.level_; }
167
172 const quint64& timestamp() const { return data_.timestamp_; }
173
174private:
177 friend const QDBusArgument &operator>>(const QDBusArgument &argument, MagneticField& data);
178};
179
181
182
189inline QDBusArgument &operator<<(QDBusArgument &argument, const MagneticField &data)
190{
191 argument.beginStructure();
192 argument << data.data().timestamp_ << data.data().level_;
193 argument << data.data().x_ << data.data().y_ << data.data().z_;
194 argument << data.data().rx_ << data.data().ry_ << data.data().rz_;
195 argument.endStructure();
196 return argument;
197}
198
206inline const QDBusArgument &operator>>(const QDBusArgument &argument, MagneticField &data)
207{
208 argument.beginStructure();
209 argument >> data.data_.timestamp_ >> data.data_.level_;
210 argument >> data.data_.x_ >> data.data_.y_ >> data.data_.z_;
211 argument >> data.data_.rx_ >> data.data_.ry_ >> data.data_.rz_;
212 argument.endStructure();
213 return argument;
214}
215
216#endif // MAGNETICFIELDDATA_H
Datatype for calibrated magnetometer measurements.
int rz_
raw Z coordinate value
int y_
Y coordinate value.
int x_
X coordinate value.
int rx_
raw X coordinate value
int ry_
raw Y coordinate value
int level_
Magnetometer calibration level.
int z_
Z coordinate value.
QObject facade for CalibratedMagneticFieldData.
int rz() const
Returns the raw value for Z.
int z() const
Returns the value for Z.
int level() const
Returns the magnetometer calibration level.
MagneticField(const MagneticField &data)
Copy constructor.
int y() const
Returns the value for Y.
friend const QDBusArgument & operator>>(const QDBusArgument &argument, MagneticField &data)
Unmarshall MagneticField data from the D-Bus argument.
bool operator==(const MagneticField &right) const
Comparison operator.
MagneticField(const CalibratedMagneticFieldData &calibratedData)
Constructor.
int x() const
Returns the value for X.
MagneticField()
Default constructor.
int rx() const
Returns the raw value for X.
const CalibratedMagneticFieldData & data() const
Accessor for contained CalibratedMagneticFieldData.
int ry() const
Returns the raw value for Y.
const quint64 & timestamp() const
Returns the timestamp of sample as monotonic time (microsec).
MagneticField & operator=(const MagneticField &origin)
Assignment operator.
quint64 timestamp_
monotonic time (microsec)
Definition genericdata.h:46
Q_DECLARE_METATYPE(TMatrix)
const QDBusArgument & operator>>(const QDBusArgument &argument, MagneticField &data)
Unmarshall MagneticField data from the D-Bus argument.
Datatypes for different filters.