Apollo  6.0
Open source self driving car software
Public Member Functions | Static Public Member Functions | List of all members
apollo::routing::TopoNode Class Reference

#include <topo_node.h>

Collaboration diagram for apollo::routing::TopoNode:
Collaboration graph

Public Member Functions

 TopoNode (const Node &node)
 
 TopoNode (const TopoNode *topo_node, const NodeSRange &range)
 
 ~TopoNode ()
 
const NodePbNode () const
 
double Length () const
 
double Cost () const
 
bool IsVirtual () const
 
const std::string & LaneId () const
 
const std::string & RoadId () const
 
const hdmap::Curve & CentralCurve () const
 
const common::PointENU & AnchorPoint () const
 
const std::vector< NodeSRange > & LeftOutRange () const
 
const std::vector< NodeSRange > & RightOutRange () const
 
const std::unordered_set< const TopoEdge * > & InFromAllEdge () const
 
const std::unordered_set< const TopoEdge * > & InFromLeftEdge () const
 
const std::unordered_set< const TopoEdge * > & InFromRightEdge () const
 
const std::unordered_set< const TopoEdge * > & InFromLeftOrRightEdge () const
 
const std::unordered_set< const TopoEdge * > & InFromPreEdge () const
 
const std::unordered_set< const TopoEdge * > & OutToAllEdge () const
 
const std::unordered_set< const TopoEdge * > & OutToLeftEdge () const
 
const std::unordered_set< const TopoEdge * > & OutToRightEdge () const
 
const std::unordered_set< const TopoEdge * > & OutToLeftOrRightEdge () const
 
const std::unordered_set< const TopoEdge * > & OutToSucEdge () const
 
const TopoEdgeGetInEdgeFrom (const TopoNode *from_node) const
 
const TopoEdgeGetOutEdgeTo (const TopoNode *to_node) const
 
const TopoNodeOriginNode () const
 
double StartS () const
 
double EndS () const
 
bool IsSubNode () const
 
bool IsInFromPreEdgeValid () const
 
bool IsOutToSucEdgeValid () const
 
bool IsOverlapEnough (const TopoNode *sub_node, const TopoEdge *edge_for_type) const
 
void AddInEdge (const TopoEdge *edge)
 
void AddOutEdge (const TopoEdge *edge)
 

Static Public Member Functions

static bool IsOutRangeEnough (const std::vector< NodeSRange > &range_vec, double start_s, double end_s)
 

Constructor & Destructor Documentation

◆ TopoNode() [1/2]

apollo::routing::TopoNode::TopoNode ( const Node node)
explicit

◆ TopoNode() [2/2]

apollo::routing::TopoNode::TopoNode ( const TopoNode topo_node,
const NodeSRange range 
)

◆ ~TopoNode()

apollo::routing::TopoNode::~TopoNode ( )

Member Function Documentation

◆ AddInEdge()

void apollo::routing::TopoNode::AddInEdge ( const TopoEdge edge)

◆ AddOutEdge()

void apollo::routing::TopoNode::AddOutEdge ( const TopoEdge edge)

◆ AnchorPoint()

const common::PointENU& apollo::routing::TopoNode::AnchorPoint ( ) const

◆ CentralCurve()

const hdmap::Curve& apollo::routing::TopoNode::CentralCurve ( ) const

◆ Cost()

double apollo::routing::TopoNode::Cost ( ) const

◆ EndS()

double apollo::routing::TopoNode::EndS ( ) const

◆ GetInEdgeFrom()

const TopoEdge* apollo::routing::TopoNode::GetInEdgeFrom ( const TopoNode from_node) const

◆ GetOutEdgeTo()

const TopoEdge* apollo::routing::TopoNode::GetOutEdgeTo ( const TopoNode to_node) const

◆ InFromAllEdge()

const std::unordered_set<const TopoEdge*>& apollo::routing::TopoNode::InFromAllEdge ( ) const

◆ InFromLeftEdge()

const std::unordered_set<const TopoEdge*>& apollo::routing::TopoNode::InFromLeftEdge ( ) const

◆ InFromLeftOrRightEdge()

const std::unordered_set<const TopoEdge*>& apollo::routing::TopoNode::InFromLeftOrRightEdge ( ) const

◆ InFromPreEdge()

const std::unordered_set<const TopoEdge*>& apollo::routing::TopoNode::InFromPreEdge ( ) const

◆ InFromRightEdge()

const std::unordered_set<const TopoEdge*>& apollo::routing::TopoNode::InFromRightEdge ( ) const

◆ IsInFromPreEdgeValid()

bool apollo::routing::TopoNode::IsInFromPreEdgeValid ( ) const

◆ IsOutRangeEnough()

static bool apollo::routing::TopoNode::IsOutRangeEnough ( const std::vector< NodeSRange > &  range_vec,
double  start_s,
double  end_s 
)
static

◆ IsOutToSucEdgeValid()

bool apollo::routing::TopoNode::IsOutToSucEdgeValid ( ) const

◆ IsOverlapEnough()

bool apollo::routing::TopoNode::IsOverlapEnough ( const TopoNode sub_node,
const TopoEdge edge_for_type 
) const

◆ IsSubNode()

bool apollo::routing::TopoNode::IsSubNode ( ) const

◆ IsVirtual()

bool apollo::routing::TopoNode::IsVirtual ( ) const

◆ LaneId()

const std::string& apollo::routing::TopoNode::LaneId ( ) const

◆ LeftOutRange()

const std::vector<NodeSRange>& apollo::routing::TopoNode::LeftOutRange ( ) const

◆ Length()

double apollo::routing::TopoNode::Length ( ) const

◆ OriginNode()

const TopoNode* apollo::routing::TopoNode::OriginNode ( ) const

◆ OutToAllEdge()

const std::unordered_set<const TopoEdge*>& apollo::routing::TopoNode::OutToAllEdge ( ) const

◆ OutToLeftEdge()

const std::unordered_set<const TopoEdge*>& apollo::routing::TopoNode::OutToLeftEdge ( ) const

◆ OutToLeftOrRightEdge()

const std::unordered_set<const TopoEdge*>& apollo::routing::TopoNode::OutToLeftOrRightEdge ( ) const

◆ OutToRightEdge()

const std::unordered_set<const TopoEdge*>& apollo::routing::TopoNode::OutToRightEdge ( ) const

◆ OutToSucEdge()

const std::unordered_set<const TopoEdge*>& apollo::routing::TopoNode::OutToSucEdge ( ) const

◆ PbNode()

const Node& apollo::routing::TopoNode::PbNode ( ) const

◆ RightOutRange()

const std::vector<NodeSRange>& apollo::routing::TopoNode::RightOutRange ( ) const

◆ RoadId()

const std::string& apollo::routing::TopoNode::RoadId ( ) const

◆ StartS()

double apollo::routing::TopoNode::StartS ( ) const

The documentation for this class was generated from the following file: