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; } }
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; }
SpatialInertia DynamicsComputations::getLinkInertia(const std::string& linkName) const { int linkIndex = getLinkIndex(linkName); if( linkIndex < 0 ) { return SpatialInertia(); } else { return this->getLinkInertia(linkIndex); } }
Link* Robot::getLink(const std::string &name) { int i = getLinkIndex(name); return i >= 0 ? links_[i] : NULL; }
bool Model::isLinkNameUsed(const std::string linkName) { return (LINK_INVALID_INDEX != getLinkIndex(linkName)); }