Apollo 10.0
自动驾驶开放平台
apollo::routing::NodeSRange类 参考

#include <topo_range.h>

类 apollo::routing::NodeSRange 继承关系图:
apollo::routing::NodeSRange 的协作图:

Public 成员函数

 NodeSRange ()=default
 
 NodeSRange (double s1, double s2)
 
virtual ~NodeSRange ()=default
 
bool operator< (const NodeSRange &other) const
 
bool IsValid () const
 
double StartS () const
 
double EndS () const
 
bool IsEnoughForChangeLane () const
 
double Length () const
 
void SetStartS (double start_s)
 
void SetEndS (double end_s)
 
bool MergeRangeOverlap (const NodeSRange &other)
 

静态 Public 成员函数

static bool IsEnoughForChangeLane (double start_s, double end_s)
 
static bool IsEnoughForChangeLane (double length)
 

详细描述

在文件 topo_range.h22 行定义.

构造及析构函数说明

◆ NodeSRange() [1/2]

apollo::routing::NodeSRange::NodeSRange ( )
default

◆ NodeSRange() [2/2]

apollo::routing::NodeSRange::NodeSRange ( double  s1,
double  s2 
)

在文件 topo_range.cc34 行定义.

34: start_s_(s1), end_s_(s2) {}

◆ ~NodeSRange()

virtual apollo::routing::NodeSRange::~NodeSRange ( )
virtualdefault

成员函数说明

◆ EndS()

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

在文件 topo_range.cc44 行定义.

44{ return end_s_; }

◆ IsEnoughForChangeLane() [1/3]

bool apollo::routing::NodeSRange::IsEnoughForChangeLane ( ) const

在文件 topo_range.cc48 行定义.

48 {
50}
bool IsEnoughForChangeLane() const
Definition topo_range.cc:48

◆ IsEnoughForChangeLane() [2/3]

bool apollo::routing::NodeSRange::IsEnoughForChangeLane ( double  length)
static

在文件 topo_range.cc30 行定义.

30 {
31 return (length > FLAGS_min_length_for_lane_change);
32}

◆ IsEnoughForChangeLane() [3/3]

bool apollo::routing::NodeSRange::IsEnoughForChangeLane ( double  start_s,
double  end_s 
)
static

在文件 topo_range.cc26 行定义.

26 {
27 return IsEnoughForChangeLane(end_s - start_s);
28}

◆ IsValid()

bool apollo::routing::NodeSRange::IsValid ( ) const

在文件 topo_range.cc40 行定义.

40{ return start_s_ <= end_s_; }

◆ Length()

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

在文件 topo_range.cc46 行定义.

46{ return end_s_ - start_s_; }

◆ MergeRangeOverlap()

bool apollo::routing::NodeSRange::MergeRangeOverlap ( const NodeSRange other)

在文件 topo_range.cc56 行定义.

56 {
57 if (!IsValid() || !other.IsValid()) {
58 return false;
59 }
60 if (other.StartS() > EndS() || other.EndS() < StartS()) {
61 return false;
62 }
63 SetEndS(std::max(EndS(), other.EndS()));
64 SetStartS(std::min(StartS(), other.StartS()));
65 return true;
66}
void SetEndS(double end_s)
Definition topo_range.cc:54
void SetStartS(double start_s)
Definition topo_range.cc:52

◆ operator<()

bool apollo::routing::NodeSRange::operator< ( const NodeSRange other) const

在文件 topo_range.cc36 行定义.

36 {
37 return StartS() < other.StartS();
38}

◆ SetEndS()

void apollo::routing::NodeSRange::SetEndS ( double  end_s)

在文件 topo_range.cc54 行定义.

54{ end_s_ = end_s; }

◆ SetStartS()

void apollo::routing::NodeSRange::SetStartS ( double  start_s)

在文件 topo_range.cc52 行定义.

52{ start_s_ = start_s; }

◆ StartS()

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

在文件 topo_range.cc42 行定义.

42{ return start_s_; }

该类的文档由以下文件生成: