-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathSLPointCloudWidget.h
48 lines (41 loc) · 1.32 KB
/
SLPointCloudWidget.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
/*
*
SLStudio - Platform for Real-Time Structured Light
(c) 2013 -- 2014 Jakob Wilm, DTU, Kgs.Lyngby, Denmark
*
*/
#ifndef SLPOINTCLOUDWIDGET_H
#define SLPOINTCLOUDWIDGET_H
#include <QTime>
#ifndef Q_MOC_RUN
#include <QVTKWidget.h>
#include <pcl/visualization/pcl_visualizer.h>
#include <pcl/surface/organized_fast_mesh.h>
#include <Eigen/Eigen>
#endif
#include <opencv2/opencv.hpp>
typedef pcl::PointCloud<pcl::PointXYZRGB>::Ptr PointCloudPtr;
typedef pcl::PointCloud<pcl::PointXYZRGB>::ConstPtr PointCloudConstPtr;
class SLPointCloudWidget : public QVTKWidget {
Q_OBJECT
public:
explicit SLPointCloudWidget(QWidget *parent = 0);
~SLPointCloudWidget();
protected:
void keyPressEvent(QKeyEvent *event);
public slots:
void updatePointCloud(PointCloudConstPtr _pointCloudPCL);
void savePointCloud();
void saveScreenShot();
void updateCalibration();
signals:
void newPointCloudDisplayed();
private:
pcl::visualization::PCLVisualizer *visualizer;
PointCloudConstPtr pointCloudPCL;
pcl::visualization::PointCloudColorHandler<pcl::PointXYZRGB>* colorHandler;
bool surfaceReconstruction;
pcl::OrganizedFastMesh<pcl::PointXYZRGB> *reconstructor;
QTime time;
};
#endif // SLPOINTCLOUDWIDGET_H