boundary_handler(1)
今天我们来看看源码中的boundary_handler部分,先来看它的include文件夹内部:有三个文件 分别是point_struct.h、intersection.h、graph_extractor.h。 point_struct.h这部分和之前graph_decoder里面的内容是一样的,定义了三维点以及运算方式。
这一部分的代码默认应该是不运行的,除非在far_planner里面的default.yaml配置文件里把is_pub_boundary 这个选项改为true
intersection.h
#ifndef INTERSECTION_H
#define INTERSECTION_H
// A C++ program to check if two given line segments intersect
// See https://www.geeksforgeeks.org/orientation-3-ordered-points/
#include <iostream>
#include <opencv2/core.hpp>
using namespace std;
using namespace cv;
// Given three collinear points p, q, r, the function checks if
// point q lies on line segment 'pr'
namespace POLYOPS {
static bool onSegment(Point2