source: pacpusframework/branches/0.2.x/include/Pacpus/structures/genericStructures.h@ 362

Last change on this file since 362 was 362, checked in by DHERBOMEZ Gérald, 9 years ago

add data structures

File size: 1.3 KB
Line 
1#ifndef GENERIC_STRUCTURES_H
2#define GENERIC_STRUCTURES_H
3
4#include <Pacpus/PacpusTools/pacpusStruct.h>
5#include <QVariant>
6#include <QVector>
7#include <QMatrix4x4>
8#include <QImage>
9
10namespace pacpus {
11
12class Pose3D : public PacpusTimeStampedData {
13public:
14 QVector3D position;
15 QVector3D angle;
16 //QMatrix3x3 poscov;
17 //QMatrix3x3 angconv;
18 QMatrix4x4 transform;
19};
20
21class PacpusImage : public PacpusTimeStampedData {
22public:
23 QImage image;
24};
25
26} // end namespace pacpus
27
28Q_DECLARE_METATYPE(pacpus::PacpusImage)
29inline QDataStream & operator << (QDataStream & out, const pacpus::PacpusImage & Valeur){
30 out << (quint64)Valeur.time << Valeur.timerange << Valeur.image;
31 return out;
32}
33
34inline QDataStream & operator >> (QDataStream & in, pacpus::PacpusImage & Valeur){
35 in >> (quint64&)Valeur.time >> Valeur.timerange >> Valeur.image;
36 return in;
37}
38
39Q_DECLARE_METATYPE(pacpus::Pose3D)
40inline QDataStream & operator << (QDataStream & out, const pacpus::Pose3D & Valeur){
41 out << (quint64)Valeur.time << Valeur.timerange << Valeur.position << Valeur.angle << Valeur.transform;
42 return out;
43}
44
45inline QDataStream & operator >> (QDataStream & in, pacpus::Pose3D & Valeur){
46 in >> (quint64&)Valeur.time >> Valeur.timerange >> Valeur.position >> Valeur.angle >> Valeur.transform;
47 return in;
48}
49
50#endif // GENERIC_STRUCTURES_H
Note: See TracBrowser for help on using the repository browser.