Subversion Repositories seema-scanner

Rev

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

#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>

#include "SMTypes.h"

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

class SMPointCloudWidget : public QVTKWidget {
    Q_OBJECT
    public:
        explicit SMPointCloudWidget(QWidget *parent = 0);
        ~SMPointCloudWidget();
    public slots:
        void addPointCloud(SMPointCloud pointCloud, int id);
        void updatePointCloud(SMPointCloud pointCloud, int id);
        void removePointCloud(int id);
        void removeAllPointClouds();
        void saveScreenShot();
        void updateCalibrationParameters();
    signals:
        void pointCloudDataChanged();
    private:
        pcl::visualization::PCLVisualizer *visualizer;
        ColorHandlerPtr colorHandler;
        QTime time;
};

#endif // SMPointCloudWidget_H