MatchContourWithNavGraph(3)
this->EnclosePolygonsCheck(); //可能有些ctnode的is_contour_necessary属性变成了true
// 这说明我的contour_graph是一个local层级的 才会从这里面 get new vertices
new_convex_vertices.clear();
//! 把contour_graph_里符合要求的 ctnode_ptr push 进 new_convex_vertices
for (const auto& ctnode_ptr : ContourGraph::contour_graph_) { // Get new vertices
// ctnode不是global_match 且 free_direct 不是UNKNOWN
if (!ctnode_ptr->is_global_match && ctnode_ptr->free_direct != NodeFreeDirect::UNKNOW) {
if (ctnode_ptr->free_direct != NodeFreeDirect::PILLAR) { // check wall contour
// 因为dir里的点对都是归一化过的,所以点积直接就可以得到夹角的cos值
const float dot_value = ctnode_ptr->surf_dirs.first * ctnode_ptr->surf_dirs.second;
if (dot_value < ALIGN_ANGLE_COS) continue; // wall