source: pacpussensors/trunk/StdDbtPlayerComponents/DbtPlyCPTComponent.h@ 109

Last change on this file since 109 was 109, checked in by nguyenhu, 9 years ago

I/O for DbtPlyVtgManager, add classes to compile, fixed DbtPlyCPT by adding type Pose3D from previous version

File size: 2.9 KB
Line 
1/*********************************************************************
2// created: 20011/07/06 - 16:51
3// filename: DbtPlyCPTComponent.h
4//
5// author: Sergio Rodriguez
6// Copyright Heudiasyc UMR UTC/CNRS 6599
7//
8// version: $Id: $
9//
10// purpose:
11*********************************************************************/
12
13#ifndef DBTPLYCPTCOMPONENT_H
14#define DBTPLYCPTCOMPONENT_H
15
16#include "DbitePlayer/DbtPlyFileManager.h"
17#include "../NMEA0183/include/nmea0183.h"
18
19//#include <boost/scoped_ptr.hpp>
20//#include <QScopedPointer>
21
22// Export macro for CPT DLL for Windows only
23#ifdef WIN32
24# ifdef CPT_EXPORTS
25 // make DLL
26# define CPT_API __declspec(dllexport)
27# else
28 // use DLL
29# define CPT_API __declspec(dllimport)
30# endif
31#else
32 // On other platforms, simply ignore this
33# define CPT_API
34#endif
35
36#define UNKNOWN_NMEA_FRAME -1
37
38struct CPT_API Stream8Position
39{
40 int32_t dataPos;
41 int32_t length;
42};
43
44
45#include "../Gps/structure_gps.h"
46//#include "structure/genericStructures.h"
47#include "Pacpus/kernel/road_time.h"
48#include <QVector3D>
49#include <QMatrix4x4>
50namespace pacpus {
51class PacpusTimeStampedData {
52 public:
53 road_time_t time;
54 road_timerange_t timerange;
55 unsigned int sequenceNumber;
56 };
57class Pose3D : public PacpusTimeStampedData {
58public:
59 QVector3D position;
60 QVector3D angle;
61 //QMatrix3x3 poscov;
62 //QMatrix3x3 angconv;
63 QMatrix4x4 transform;
64 };
65}
66//#include "../PoseViewer/PoseViewer.h"
67
68namespace pacpus {
69
70//class PoseViewer;
71class ShMem;
72
73//struct Pose;
74
75class CPT_API DbtPlyCPTComponent
76 : public DbtPlyFileManager
77{
78 Q_OBJECT
79
80public:
81 DbtPlyCPTComponent(QString name);
82 ~DbtPlyCPTComponent();
83
84protected:
85 void processData(road_time_t t, road_timerange_t tr , void * buf);
86 void displayUI();
87
88 ComponentBase::COMPONENT_CONFIGURATION configureComponent(XmlComponentConfig config);
89 void startActivity();
90 void stopActivity();
91
92 virtual void addInputs();
93 virtual void addOutputs();
94
95//Q_SIGNALS:
96 //void newPoseAvailable(Pose pose);
97
98private:
99 //boost::scoped_ptr<PoseViewer> mPoseViewer;
100 //QScopedPointer<PoseViewer> mPoseViewer;
101
102 //ShMems
103 ShMem * mShMem;
104 //ShMem data variables
105 char * allFramesBuffer;
106
107 QString mDataFilename;
108
109 //NMEA to do
110 NMEA0183 nmea0183_;
111
112 trame_gga_dbl ggaFrame_;
113 trame_gsa gsaFrame_;
114 trame_gst gstFrame_;
115 trame_gsv gsvFrame_;
116 trame_hdt hdtFrame_;
117 trame_rmc rmcFrame_;
118 trame_rot rotFrame_;
119 trame_vtg vtgFrame_;
120 trame_zda zdaFrame_;
121
122 //SPAN done
123 TimestampedBestgpsposaFrame bestgpsposaFrame_;
124 TimestampedInspvaaFrame inspvaFrame_;
125 TimestampedInscovFrame inscovFrame_;
126 TimestampedRawimusaFrame rawimuFrame_;
127
128 Pose3D genericEnuPose_;
129};
130
131} // namespace pacpus
132
133#endif // DBTPLYCPTCOMPONENT_H
Note: See TracBrowser for help on using the repository browser.