Subversion Repositories seema-scanner

Rev

Rev 25 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

/*
 *
 SLStudio - Platform for Real-Time  Structured Light
 (c) 2013 -- 2014 Jakob Wilm, DTU, Kgs.Lyngby, Denmark
 *
*/

#ifndef SMPointCloudWidget_H
#define SMPointCloudWidget_H

#include <QTime>

#ifndef Q_MOC_RUN
    #include <QVTKWidget.h>
    #include <pcl/visualization/pcl_visualizer.h>
    #include <Eigen/Eigen>
#endif

#include <opencv2/opencv.hpp>

typedef pcl::PointCloud<pcl::PointXYZRGB>::Ptr PointCloudPtr;
typedef pcl::PointCloud<pcl::PointXYZRGB>::ConstPtr PointCloudConstPtr;
typedef pcl::visualization::PointCloudColorHandler<pcl::PointXYZRGB>* ColorHandlerPtr;
typedef const pcl::visualization::PointCloudColorHandler<pcl::PointXYZRGB>* ColorHandlerConstPtr;

class SMPointCloudWidget : public QVTKWidget {
    Q_OBJECT
    public:
        explicit SMPointCloudWidget(QWidget *parent = 0);
        ~SMPointCloudWidget();
    public slots:
        void updatePointCloud(PointCloudConstPtr _pointCloudPCL);
        void savePointCloud();
        void saveScreenShot();
    signals:
        void newPointCloudDisplayed();
    private:
        pcl::visualization::PCLVisualizer *visualizer;
        PointCloudConstPtr pointCloudPCL;
        ColorHandlerPtr colorHandler;
        QTime time;
};

#endif // SMPointCloudWidget_H