Ejemplo n.º 1
0
///Connect Signals and Slots for the ui control
void ui_connections(QObject* ui, GraphManager* graph_mgr, OpenNIListener* listener)
{
  Qt::ConnectionType ctype = Qt::AutoConnection;
  if (ParameterServer::instance()->get<bool>("concurrent_io")) 
    ctype = Qt::DirectConnection;
  QObject::connect(ui, SIGNAL(reset()), graph_mgr, SLOT(reset()), ctype);
  QObject::connect(ui, SIGNAL(optimizeGraph()), graph_mgr, SLOT(optimizeGraph()), ctype);
  QObject::connect(ui, SIGNAL(togglePause()), listener, SLOT(togglePause()), ctype);
  QObject::connect(ui, SIGNAL(toggleBagRecording()), listener, SLOT(toggleBagRecording()), ctype);
  QObject::connect(ui, SIGNAL(getOneFrame()), listener, SLOT(getOneFrame()), ctype);
  QObject::connect(ui, SIGNAL(deleteLastFrame()), graph_mgr, SLOT(deleteLastFrame()), ctype);
  QObject::connect(ui, SIGNAL(sendAllClouds()), graph_mgr, SLOT(sendAllClouds()), ctype);
  QObject::connect(ui, SIGNAL(saveAllClouds(QString)), graph_mgr, SLOT(saveAllClouds(QString)), ctype);
  QObject::connect(ui, SIGNAL(saveOctomapSig(QString)), graph_mgr, SLOT(saveOctomap(QString)), ctype);
  QObject::connect(ui, SIGNAL(saveAllFeatures(QString)), graph_mgr, SLOT(saveAllFeatures(QString)), ctype);
  QObject::connect(ui, SIGNAL(saveIndividualClouds(QString)), graph_mgr, SLOT(saveIndividualClouds(QString)), ctype);
  QObject::connect(ui, SIGNAL(saveTrajectory(QString)), graph_mgr, SLOT(saveTrajectory(QString)), ctype);
  QObject::connect(ui, SIGNAL(toggleMapping(bool)), graph_mgr, SLOT(toggleMapping(bool)), ctype);
  QObject::connect(ui, SIGNAL(saveG2OGraph(QString)), graph_mgr, SLOT(saveG2OGraph(QString)), ctype);
}
Ejemplo n.º 2
0
void Graphical_UI::saveIndividual() {
    QString tmpfilename(filename);
    tmpfilename.remove(".pcd", Qt::CaseInsensitive);
    tmpfilename.remove(".ply", Qt::CaseInsensitive);

    tmpfilename = QFileDialog::getSaveFileName(this, "Save point cloud to one file per node", tmpfilename, tr("PCD (*.pcd)"));
    tmpfilename.remove(".pcd", Qt::CaseInsensitive);
    Q_EMIT saveIndividualClouds(tmpfilename);
    QString message = tr("Saving Model Node-Wise");
    statusBar()->showMessage(message);
    //infoLabel->setText(message);
}
Ejemplo n.º 3
0
bool RosUi::services_s(rgbd_slam::rgbdslam_ros_ui_s::Request  &req,
                       rgbd_slam::rgbdslam_ros_ui_s::Response &res )
{
    ROS_INFO_STREAM("Got Service Request. Command: " << req.command << ". Value: " << req.value );
    QString filename = QString::fromStdString(req.value);
    if     (req.command == "save_octomap"   ){ Q_EMIT saveOctomapSig(filename); }
    else if(req.command == "save_cloud"     ){ Q_EMIT saveAllClouds(filename); }
    else if(req.command == "save_g2o_graph" ){ Q_EMIT saveG2OGraph(filename); }
    else if(req.command == "save_trajectory"){ Q_EMIT saveTrajectory(filename); }
    else if(req.command == "save_features"  ){ Q_EMIT saveAllFeatures(filename); }
    else if(req.command == "save_individual"){ Q_EMIT saveIndividualClouds(filename); }
    else{
        ROS_ERROR("Invalid service call command: %s", req.command.c_str());
        ROS_INFO("Valid commands are: {\n - save_octomap\n -  save_cloud\n -  save_g2o_graph\n -  save_trajectory\n -  save_features\n -  save_individual\n}");
        return false;
    }
    return true;
}