上回我们说到MatchContourWithNavGraph 函数中的这个片段,并讲解了其中的NearestNavNodeForCTNode(ctnode_ptr, near_nodes) 函数
for (const auto& ctnode_ptr : ContourGraph::contour_graph_) { // distance match
ctnode_ptr->is_global_match = false;
ctnode_ptr->nav_node_id = 0;
if (ctnode_ptr->free_direct != NodeFreeDirect::UNKNOW) {
// ctnode_ptr是本来就有的 从contour_graph_来的 算是global?
const NavNodePtr matched_node = this->NearestNavNodeForCTNode(ctnode_ptr, near_nodes);
//! NearestNavNodeForCTNode 从near_nodes里返回一个 nearest_node 或 NULL 属于navnode
//? 正常来说 每个ctnode应该都会得到一个nearerst_node(matched_node)
if (matched_node != NULL &a