Subversion Repositories seema-scanner

Rev

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

Rev 45 Rev 46
Line 43... Line 43...
43
    //time.start();
43
    //time.start();
44
}
44
}
45
 
45
 
46
void SMPointCloudWidget::addPointCloud(SMPointCloud pointCloud, int id){
46
void SMPointCloudWidget::addPointCloud(SMPointCloud pointCloud, int id){
47
 
47
 
48
    //std::string stringId = QString::number(id).toStdString();
48
    std::string stringId = QString::number(id).toStdString();
49
    std::string stringId = QString("id%1").arg(id).toStdString();
49
//    std::string stringId = QString("id%1").arg(id).toStdString();
50
 
50
 
51
    // Note: using the color handler makes a copy of the rgb fields
51
    // Note: using the color handler makes a copy of the rgb fields
52
    colorHandler->setInputCloud(pointCloud.pointCloud);
52
    colorHandler->setInputCloud(pointCloud.pointCloud);
53
 
53
 
54
    visualizer->addPointCloud(pointCloud.pointCloud, *colorHandler, stringId);
54
    visualizer->addPointCloud(pointCloud.pointCloud, *colorHandler, stringId);
Line 59... Line 59...
59
    cv::Mat(pointCloud.R).copyTo(TransformCV.colRange(0, 3));
59
    cv::Mat(pointCloud.R).copyTo(TransformCV.colRange(0, 3));
60
    cv::Mat(pointCloud.T).copyTo(TransformCV.col(3));
60
    cv::Mat(pointCloud.T).copyTo(TransformCV.col(3));
61
    Eigen::Affine3f Transform;
61
    Eigen::Affine3f Transform;
62
    cv::cv2eigen(TransformCV, Transform.matrix());
62
    cv::cv2eigen(TransformCV, Transform.matrix());
63
 
63
 
64
    visualizer->updatePointCloudPose(stringId, Transform.inverse());
64
    //visualizer->updatePointCloudPose(stringId, Transform.inverse());
65
 
65
 
66
    this->update();
66
    this->update();
67
    emit pointCloudDataChanged();
67
    emit pointCloudDataChanged();
68
 
68
 
69
}
69
}
70
 
70
 
71
void SMPointCloudWidget::updatePointCloud(SMPointCloud pointCloud, int id){
71
void SMPointCloudWidget::updatePointCloud(SMPointCloud pointCloud, int id){
72
 
72
 
73
    //std::string stringId = QString::number(id).toStdString();
73
    std::string stringId = QString::number(id).toStdString();
74
    std::string stringId = QString("id%1").arg(id).toStdString();
74
//    std::string stringId = QString("id%1").arg(id).toStdString();
75
 
75
 
76
    // Note: using the color handler makes a copy of the rgb fields
76
    // Note: using the color handler makes a copy of the rgb fields
77
    colorHandler->setInputCloud(pointCloud.pointCloud);
77
    colorHandler->setInputCloud(pointCloud.pointCloud);
78
 
78
 
79
    if(!visualizer->updatePointCloud(pointCloud.pointCloud, *colorHandler, stringId)){
79
    if(!visualizer->updatePointCloud(pointCloud.pointCloud, *colorHandler, stringId)){
Line 86... Line 86...
86
 
86
 
87
}
87
}
88
 
88
 
89
void SMPointCloudWidget::removePointCloud(int id){
89
void SMPointCloudWidget::removePointCloud(int id){
90
 
90
 
91
    //std::string stringId = QString::number(id).toStdString();
91
    std::string stringId = QString::number(id).toStdString();
92
    std::string stringId = QString("id%1").arg(id).toStdString();
92
//    std::string stringId = QString("id%1").arg(id).toStdString();
93
 
93
 
94
    visualizer->removePointCloud(stringId);
94
    visualizer->removePointCloud(stringId);
95
 
95
 
96
    this->update();
96
    this->update();
97
    emit pointCloudDataChanged();
97
    emit pointCloudDataChanged();