算法1 Polygon Extraction(3)
上回讲到得到contour_gtaph ,这里面是一组所有障碍物的点,点与点之前通过属性front和back来确定是否是同一个polygon
this->AnalysisSurfAngleAndConvexity(ContourGraph::contour_graph_);
接着我们来看这个 这个是来判断SurfAngle和多边形的顶点凹凸性的 这里好懵我看的。我们来具体看一下函数。
void ContourGraph::AnalysisSurfAngleAndConvexity(const CTNodeStack& contour_graph) {
for (const auto& ctnode_ptr : contour_graph) {
//是pillar类型的 咱就不看了~
if (ctnode_ptr->free_direct == NodeFreeDirect::PILLAR || ctnode_ptr->poly_ptr->is_pillar) {
ctnode_ptr->surf_dirs = {Point3D(0,0,-1), Point3D(0,0,-1)};
ctnode_ptr->poly_ptr->is_pillar = true;
ctnode_ptr->free_direct = NodeFreeDirect::PILLAR;
}
//不是pillar类型