Beispiel #1
0
void URDFProperty::addLinkProperty(boost::shared_ptr<urdf::Link> link)
{
    QTreeWidgetItem *item = new QTreeWidgetItem(link_root_);
    item->setText(0, QString::fromStdString(link->name));
    root_->addChild(item);

    LinkPropertyPtr tree_link(new LinkProperty(link));
    QObject::connect(tree_link.get(), SIGNAL(linkNameChanged(LinkProperty *, const QVariant &)),
                     this, SLOT(on_propertyWidget_linkNameChanged(LinkProperty*,QVariant)));
    ltree_to_link_property_[item] = tree_link;
    link_property_to_ltree_[tree_link.get()] = item;

    link_names_.append(QString::fromStdString(link->name));
}
Beispiel #2
0
tree_t *tree_load(tree_t *tree, char *filename)
{
  int filename_len = strlen(filename);
  char filename_buf[filename_len+strlen(TREE_DEF_SUFFIX)+1];
  char *basename, *suffix;

  /* Clear file information */
  if ( tree->loc.filename != NULL )
    free(tree->loc.filename);
  tree->loc.filename = NULL;
  tree->loc.lineno = 0;

  /* Clear error list */
  tree_error_clear(tree);

  /* Initial load state */
  tree->current = NULL;

  /* Determine file type */
  strcpy(filename_buf, filename);
  filename = filename_buf;

  basename = strrchr(filename, G_DIR_SEPARATOR);
  if ( basename == NULL )
    basename = filename;

  suffix = strrchr(basename, '.');
  if ( suffix == NULL ) {
    suffix = filename + filename_len;
    strcpy(suffix, TREE_DEF_SUFFIX);
  }

  /* Load tree file */
  if ( tree_scan_root(tree, filename) )
    return NULL;

  tree->loc.filename = strdup(filename);

  /* Check tree health */
  if ( tree->errcount > 0 )
    return tree;

  /* Link whole tree */
  tree_link(tree);
  if ( tree->errcount > 0 )
    return tree;

  /* Setup parent sequence links */
  tree_object_link_seq(tree->head->object, NULL, NULL);

  /* Check for dead execution nodes */
  tree_simu(tree);

  /* Load initial breakpoint and force_skip states from init file */
  tree_init_load(tree);

  tree->current = tree->head;
  tree->t0 = time(NULL);

  return tree;
}