Subversion Repositories seema-scanner

Rev

Rev 248 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 248 Rev 250
1
#ifndef SMPointCloudWidget_H
1
#ifndef SMPointCloudWidget_H
2
#define SMPointCloudWidget_H
2
#define SMPointCloudWidget_H
3
 
3
 
4
#include <QTime>
4
#include <QTime>
5
 
5
 
6
//#ifndef Q_MOC_RUN
6
//#ifndef Q_MOC_RUN
7
    #include <QVTKOpenGLWidget.h>
7
    #include <QVTKOpenGLWidget.h>
8
    #include <pcl/visualization/pcl_visualizer.h>
8
    #include <pcl/visualization/pcl_visualizer.h>
9
    #include <Eigen/Eigen>
9
    #include <Eigen/Eigen>
10
//#endif
10
//#endif
11
 
11
 
12
#include <opencv2/opencv.hpp>
12
#include <opencv2/opencv.hpp>
13
 
13
 
14
#include "SMTypes.h"
14
#include "SMTypes.h"
15
 
15
 
16
typedef pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr PointCloudPtr;
16
typedef pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr PointCloudPtr;
17
typedef pcl::PointCloud<pcl::PointXYZRGBNormal>::ConstPtr PointCloudConstPtr;
17
typedef pcl::PointCloud<pcl::PointXYZRGBNormal>::ConstPtr PointCloudConstPtr;
18
typedef pcl::visualization::PointCloudColorHandler<pcl::PointXYZRGBNormal>* ColorHandlerPtr;
18
typedef pcl::visualization::PointCloudColorHandler<pcl::PointXYZRGBNormal>* ColorHandlerPtr;
19
typedef const pcl::visualization::PointCloudColorHandler<pcl::PointXYZRGBNormal>* ColorHandlerConstPtr;
19
typedef const pcl::visualization::PointCloudColorHandler<pcl::PointXYZRGBNormal>* ColorHandlerConstPtr;
20
 
20
 
21
class SMPointCloudWidget : public QVTKOpenGLWidget {
21
class SMPointCloudWidget : public QVTKOpenGLWidget {
22
    Q_OBJECT
22
    Q_OBJECT
23
    public:
23
    public:
24
        explicit SMPointCloudWidget(QWidget *parent = 0);
24
        explicit SMPointCloudWidget(QWidget *parent = 0);
25
        ~SMPointCloudWidget();
25
        ~SMPointCloudWidget();
26
    public slots:
26
    public slots:
27
        void addPointCloud(SMPointCloud pointCloud, int id);
27
        void addPointCloud(SMPointCloud pointCloud, int id);
28
        void updatePointCloud(SMPointCloud pointCloud, int id);
28
        void updatePointCloud(SMPointCloud pointCloud, int id);
29
        void removePointCloud(int id);
29
        void removePointCloud(int id);
30
        void removeAllPointClouds();
30
        void removeAllPointClouds();
31
        void saveScreenShot();
31
        void saveScreenShot();
32
        void updateCalibrationParameters();
32
        void updateCalibrationParameters();
33
    signals:
33
    signals:
34
        void pointCloudDataChanged();
34
        void pointCloudDataChanged();
35
    private:
35
    private:
36
        pcl::visualization::PCLVisualizer *visualizer;
36
        pcl::visualization::PCLVisualizer *visualizer;
37
        ColorHandlerPtr colorHandler;
37
        ColorHandlerPtr colorHandler;
38
        QTime time;
38
        QTime time;
-
 
39
        void update();
39
};
40
};
40
 
41
 
41
#endif // SMPointCloudWidget_H
42
#endif // SMPointCloudWidget_H
42
 
43