36 #include <eigen3/Eigen/Dense> 44 Segment(
const uint32_t &_id,
const std::vector<Eigen::Vector2d> &_points,
const std::vector<uint32_t> &_successors,
const std::vector<uint32_t> &_predecessors,
const float &_width);
49 const std::vector<Eigen::Vector2d> &
getPoints()
const;
53 const Eigen::Vector2d &
getStart()
const;
54 const Eigen::Vector2d &
getEnd()
const;
69 const std::vector<std::reference_wrapper<Vertex>> &getPlanningSuccessors()
const;
70 const std::vector<std::reference_wrapper<Vertex>> &getPlanningPredecessors()
const;
72 void initNeighbours(std::vector<std::unique_ptr<Vertex>> &_sortedVertices,
const uint32_t _minSegmentWidth = 0);
74 const Segment &getSegment()
const;
75 void updateVertex(
const Vertex &_v);
77 int32_t potential = 0;
78 int32_t collision = 0;
80 bool crossingPredecessor =
false;
81 bool crossingSuccessor =
false;
82 bool isWaitSegment =
false;
103 const Segment &getSegment()
const;
105 int32_t potential = 0;
106 int32_t collision = 0;
107 bool overlapPredecessor =
false;
108 bool overlapSuccessor =
false;
std::vector< uint32_t > predecessors_
uint32_t getSegmentId() const
Segment(const uint32_t &_id, const std::vector< Eigen::Vector2d > &_points, const std::vector< uint32_t > &_successors, const std::vector< uint32_t > &_predecessors, const float &_width)
std::vector< Eigen::Vector2d > points_
std::vector< std::reference_wrapper< Vertex > > successors_
std::vector< std::reference_wrapper< Vertex > > predecessors_
std::vector< uint32_t > successors_
const Eigen::Vector2d & getEnd() const
const std::vector< Eigen::Vector2d > & getPoints() const
const std::vector< uint32_t > & getSuccessors() const
const Eigen::Vector2d & getStart() const
const std::vector< uint32_t > & getPredecessors() const