Exemplo n.º 1
0
 LinkMap::const_iterator UndirectedTreeLink::getAdjacentLink(int adjacent_index) const
 {
     assert( adjacent_index >= 0 && adjacent_index < (int)adjacent_joint.size());
     if( adjacent_joint[adjacent_index]->parent->getLinkIndex() == getLinkIndex() ) {
         assert( adjacent_joint[adjacent_index]->child == adjacent_link[adjacent_index] );
         return adjacent_joint[adjacent_index]->child;
     } else {
         assert( adjacent_joint[adjacent_index]->child->getLinkIndex() == getLinkIndex() );
         assert( adjacent_joint[adjacent_index]->parent == adjacent_link[adjacent_index] );
         return adjacent_joint[adjacent_index]->parent;
     }
 }
Exemplo n.º 2
0
bool Structure::Graph::removeLink( QString nid1, QString nid2 )
{
	// link index
	int idx = getLinkIndex(nid1, nid2);
	if (idx == -1) return false;

	// deallocate
	delete links[idx];
	links.remove(idx);
	return true;
}
Exemplo n.º 3
0
SpatialInertia DynamicsComputations::getLinkInertia(const std::string& linkName) const
{
    int linkIndex = getLinkIndex(linkName);
    if( linkIndex < 0 )
    {
        return SpatialInertia();
    }
    else
    {
        return this->getLinkInertia(linkIndex);
    }
}
Exemplo n.º 4
0
Link* Robot::getLink(const std::string &name)
{
  int i = getLinkIndex(name);
  return i >= 0 ? links_[i] : NULL;
}
Exemplo n.º 5
0
bool Model::isLinkNameUsed(const std::string linkName)
{
    return (LINK_INVALID_INDEX != getLinkIndex(linkName));
}