Drake Designer
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Macros Pages
ddPointCloudLCM.h
Go to the documentation of this file.
1 #ifndef __ddPointCloudLCM_h
2 #define __ddPointCloudLCM_h
3 
4 #include <QObject>
5 
6 #include "ddLCMThread.h"
7 #include "ddLCMSubscriber.h"
8 #include "ddAppConfigure.h"
9 
10 #include <string>
11 #include <sstream>
12 
13 #include <vtkSmartPointer.h>
14 #include <vtkPolyData.h>
15 #include <vtkPointData.h>
16 #include <vtkUnsignedIntArray.h>
17 #include <vtkFloatArray.h>
18 
19 #include <lcm/lcm-cpp.hpp>
20 #include <lcmtypes/bot_core/pointcloud2_t.hpp>
21 #include <lcmtypes/bot_core/pointcloud_t.hpp>
22 
23 #include <bot_param/param_client.h>
24 #include <bot_param/param_util.h>
25 
26 class DD_APP_EXPORT ddPointCloudLCM : public QObject
27 {
28  Q_OBJECT
29 
30 public:
31 
32  ddPointCloudLCM(QObject* parent=NULL);
33 
34  void init(ddLCMThread* lcmThread, const QString& botConfigFile);
35  qint64 getPointCloudFromPointCloud(vtkPolyData* polyDataRender);
36 
37  QStringList getLidarNames() const;
38  QString getLidarFriendlyName(const QString& lidarName);
39  int getLidarFrequency(const QString& lidarName);
40  bool displayLidar(const QString& lidarName);
41  QList<int> getLidarIntensity(const QString& lidarName);
42  QString getLidarChannelName(const QString& lidarName);
43  QString getLidarCoordinateFrame(const QString& lidarName);
44 
45 protected slots:
46 
47  void onPointCloudFrame(const QByteArray& data, const QString& channel);
48  void onPointCloud2Frame(const QByteArray& data, const QString& channel);
49 
50 
51 protected:
52 
53  BotParam* mBotParam;
54 
56 
57  vtkSmartPointer<vtkPolyData> mPolyData;
58  int64_t mUtime;
60 
61 };
62 
63 #endif
vtkSmartPointer< vtkPolyData > mPolyData
ddLCMThread * mLCM
BotParam * mBotParam
#define DD_APP_EXPORT