本文整理汇总了C++中AbstractNode::setConnection方法的典型用法代码示例。如果您正苦于以下问题:C++ AbstractNode::setConnection方法的具体用法?C++ AbstractNode::setConnection怎么用?C++ AbstractNode::setConnection使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AbstractNode
的用法示例。
在下文中一共展示了AbstractNode::setConnection方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
/**
* \brief Tries to connect the two trees and returns the connection node.
* \param[in] currentNode The current node.
* \param[in] neighbors The list of neighbors of the current node.
* \param[in] otherList The list of already expanded nodes in the other tree.
* \return The neighbor node that connects both trees, or NULL if the trees cannot be connected.
*/
AbstractNode * RRT::tryToConnect(GridNode* const currentNode, const std::vector<AbstractNode*>& neighbors,
const std::vector<AbstractNode*>& otherList) const {
AbstractNode* connectionNode = NULL;
/* TODO: Check if one of the neighbors is already contained in the "otherList"
* (list of already expanded nodes in the other tree). If so, return that neighbor
* as the connection node and establish the connection with neighbor->setConnection(closestNode).
/* Available methods and fields:
* - node->setConnection(AbstractNode * connection): sets the other predecessor node of the
* current node (must be from the other list) (i.e. set connection between the two lists).
*/
std::vector<AbstractNode*>::const_iterator it;
for(it = neighbors.begin(); it!=neighbors.end();it++)
{
if (std::find(otherList.begin(), otherList.end(), *it) != otherList.end())
{
connectionNode = *it;
connectionNode->setConnection(currentNode);
}
}
return connectionNode;
}