Пример #1
0
bool RobotTestBackend::OnButtonToggle(const string& button,int checked)
{
  if(button=="draw_expanded") {
    SetDrawExpanded(checked);
    SendRefresh();
    return true;
  }
  else if(button=="output_ros") {
    if(checked) {
      //initialize ROS if not initialized
      if(ros_status == 0) {
        if(ROSInit()) {
          ros_status = 1;
          bool res = ROSPublishTransforms(*world);
          if(!res) printf("Error publishing transforms?\n");
        }
        else ros_status = -1;
      }
    }
    if(!GenericBackendBase::OnButtonToggle(button,checked)) {
      cout<<"RobotTestBackend: Unknown button: "<<button<<endl;
      return false;
    }
  }
  else if(!GenericBackendBase::OnButtonToggle(button,checked)) {
    cout<<"RobotTestBackend: Unknown button: "<<button<<endl;
    return false;
  }
  return true;
}
Пример #2
0
bool ResourceGUIBackend::OnCommand(const string& cmd,const string& args)
{
  if(cmd == "set_resource") {
    resources->Select(args);
    return true;      
  }
  else if(cmd == "get_resource") {
    stringstream ss;
    ss<<resources->selected->Identifier();
    SendCommand("current_resource",ss.str());
    return true;
  }
  else if(cmd == "set_resource_name") {
    if(resources->selected) resources->selected->resource->name = args;
    printf("Updating name to %s\n",args.c_str());
  }
  else if(cmd == "delete_resource") {
    resources->DeleteSelected();
  }
  else if(cmd == "add_resource") {
    string type,name;
    stringstream ss(args);
    if(!SafeInputString(ss,type)) {
      cout<<"Error reading resource type from args \""<<args<<"\""<<endl;
      return true;
    }
    if(!SafeInputString(ss,name)) {
      cout<<"Error reading resource name from args \""<<args<<"\""<<endl;
      return true;
    }
    last_added = Add(name,type);
  }
  else if(cmd == "load_resource") {
    if(LoadNew(args)) {
      SendCommand("new_resource",last_added->Identifier());
    }
  }
  else if(cmd == "save_resource") {
    SaveCur(args);
  }
  else if(cmd == "load_resource_dir") {
    if(LoadAll(args)) {
      SendCommand("refresh_resources","");
    }
  }
  else if(cmd == "save_resource_dir") {
    SaveAll(args);
  }
  else if(cmd == "convert") {
    ResourcePtr r=CurrentResource();
    ResourcePtr res = CastResource(r,args.c_str());
    if(!res) {
      fprintf(stderr,"Conversion failed\n");
      return true;
    }
    Add(res);     
    SetLastActive();
  }
  else if(cmd == "extract") {
    ResourcePtr r=CurrentResource();
    if(!r) return true;
    vector<ResourcePtr> res = ExtractResources(r,args.c_str());
    for(size_t i=0;i<res.size();i++){
      Add(res[i]);     
    }
    if(!res.empty())
      SetLastActive();
  }
  else if(cmd == "set_path_time") {
    stringstream ss(args);
    double time;
    ss>>time;
    SetPathTime(time);
    SendRefresh();
  }