Subversion Repositories seema-scanner

Rev

Rev 47 | Rev 71 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 47 Rev 67
Line 1... Line 1...
1
#include "SMScanner.h"
1
#include "SMScanner.h"
2
#include "ui_SMScanner.h"
2
#include "ui_SMScanner.h"
3
 
3
 
4
#include <QMetaObject>
4
#include <QMetaObject>
5
#include <QFileDialog>
5
#include <QFileDialog>
-
 
6
#include <QMessageBox>
6
 
7
 
7
#include <pcl/io/pcd_io.h>
8
#include <pcl/io/pcd_io.h>
8
#include <pcl/io/ascii_io.h>
9
#include <pcl/io/ascii_io.h>
9
#include <pcl/io/ply_io.h>
10
#include <pcl/io/ply_io.h>
10
#include <pcl/io/png_io.h>
11
#include <pcl/io/png_io.h>
11
#include <pcl/io/vtk_io.h>
12
#include <pcl/io/vtk_io.h>
12
#include <vtkPolyDataWriter.h>
13
#include <vtkPolyDataWriter.h>
13
#include <pcl/conversions.h>
14
#include <pcl/conversions.h>
14
 
15
 
15
SMScanner::SMScanner(QWidget *parent) :QMainWindow(parent), ui(new Ui::SMScanner),
16
SMScanner::SMScanner(QWidget *parent) :QMainWindow(parent), ui(new Ui::SMScanner),
16
                                        calibrationReviewMode(false), captureReviewMode(false){
17
                                        calibrationReviewMode(false), captureReviewMode(false), lastCaptureId(-1){
17
 
18
 
18
    // Register metatypes
19
    // Register metatypes
19
    qRegisterMetaType<cv::Mat>("cv::Mat");
20
    qRegisterMetaType<cv::Mat>("cv::Mat");
20
    qRegisterMetaType< std::vector<cv::Mat> >("std::vector<cv::Mat>");
21
    qRegisterMetaType< std::vector<cv::Mat> >("std::vector<cv::Mat>");
21
    qRegisterMetaType< std::vector<float> >("std::vector<float>");
22
    qRegisterMetaType< std::vector<float> >("std::vector<float>");
Line 311... Line 312...
311
    ui->calibrationRotationDial->setValue(ui->captureRotationDial->value());
312
    ui->calibrationRotationDial->setValue(ui->captureRotationDial->value());
312
}
313
}
313
 
314
 
314
void SMScanner::onReceiveFrameSequence(SMFrameSequence frameSequence){
315
void SMScanner::onReceiveFrameSequence(SMFrameSequence frameSequence){
315
 
316
 
316
    int id = captureData.size();
317
    int id = lastCaptureId + 1;
-
 
318
    lastCaptureId += 1;
-
 
319
 
317
    frameSequence.id = id;
320
    frameSequence.id = id;
318
 
321
 
319
    captureData.push_back(frameSequence);
322
    captureData.push_back(frameSequence);
320
 
323
 
321
    // Add identifier to list
324
    // Add identifier to list
322
    QTreeWidgetItem* item = new QTreeWidgetItem(ui->captureTreeWidget);
325
    QTreeWidgetItem* item = new QTreeWidgetItem(ui->captureTreeWidget);
323
    item->setText(0, QString("Frame Sequence %1 -- %2 deg").arg(id).arg(frameSequence.rotationAngle));
326
    item->setText(0, QString("Frame Sequence %1 -- %2 deg").arg(id).arg(frameSequence.rotationAngle));
324
    item->setFlags(item->flags() | Qt::ItemIsUserCheckable);
327
    item->setFlags(item->flags() | Qt::ItemIsUserCheckable);
325
    item->setData(0, Qt::UserRole, QPoint(id, -1));
328
    item->setData(0, Qt::UserRole, QPoint(captureData.size()-1, -1));
326
    item->setCheckState(0, Qt::Checked);
329
    item->setCheckState(0, Qt::Checked);
327
    //ui->captureTreeWidget->addItem(item);
330
    //ui->captureTreeWidget->addItem(item);
328
 
331
 
329
    for(int i=0; i<frameSequence.frames0.size(); i++){
332
    for(int i=0; i<frameSequence.frames0.size(); i++){
330
        QTreeWidgetItem* subItem = new QTreeWidgetItem(item);
333
        QTreeWidgetItem* subItem = new QTreeWidgetItem(item);
Line 512... Line 515...
512
    }
515
    }
513
 
516
 
514
    SMCalibrationParameters calibration = settings.value("calibration/parameters").value<SMCalibrationParameters>();
517
    SMCalibrationParameters calibration = settings.value("calibration/parameters").value<SMCalibrationParameters>();
515
    calibration.exportToXML(fileName);
518
    calibration.exportToXML(fileName);
516
}
519
}
-
 
520
 
-
 
521
void SMScanner::on_actionClear_Sequences_triggered(){
-
 
522
 
-
 
523
    int res = QMessageBox::question(this, "Clear Captured Sequences", "Clear all captured data?", QMessageBox::Ok, QMessageBox::Cancel);
-
 
524
 
-
 
525
    if(res == QMessageBox::Ok){
-
 
526
        captureData.clear();
-
 
527
        ui->captureTreeWidget->clear();
-
 
528
    }
-
 
529
}