ADORe
ADORe is a modular open source software library and toolkit for decision making, planning, control and simulation of automated vehicles
adore::env::MapBorderManagement Class Reference

Automatically manage local map and necessary updates based on vehicle position and last state of object. More...

#include <map_border_management.h>

Collaboration diagram for adore::env::MapBorderManagement:
Collaboration graph

Public Member Functions

 MapBorderManagement ()
 Construct a new Map Border Management object. More...
 
env::BorderBased::itCoordinate2Border getSuccessors (env::BorderBased::Border *b)
 Get successors of a given border from global set. More...
 
env::BorderBased::BorderSubSet getBordersAtPoint (double x, double y)
 Get borders at given point. More...
 
void init (adore::env::BorderBased::BorderSet *baseSet)
 initialization routine with base map More...
 
adore::env::BorderBased::BordergetBorder (adore::env::BorderBased::BorderID &bId)
 Direct access to border in global map for auxiliary uses like plotting. More...
 
void clearLocalMap ()
 clear local map More...
 
void reset ()
 undo all changes to global map and clears local map More...
 
adore::env::BorderBased::BorderSetgetGlobalMap ()
 
void deleteBordersInRegion (double x0, double x1, double y0, double y1)
 removes borders in region from global and local map More...
 
void addBordersInRegion (double x0, double x1, double y0, double y1)
 add formerly deleted borders in a given region into global map from base map More...
 
void run (double x, double y, double r, std::vector< adore::env::BorderBased::Border * > &newBorders, std::vector< adore::env::BorderBased::BorderID > &outdatedBorders, std::vector< adore::env::BorderBased::BorderID > &updatedBorders, int MAX_SEND_NUMBER=40)
 
void run (double x, double y, double r, std::vector< adore::env::BorderBased::Border * > &newBorders, std::vector< adore::env::BorderBased::BorderID > &outdatedBorders, int MAX_SEND_NUMBER=40)
 reduced run method, receive new visible borders and now outdated borders More...
 
void changeBorderType (adore::env::BorderBased::BorderType::TYPE t, double x, double y)
 change border type of border at exactly the given position More...
 
void changeBorderType (adore::env::BorderBased::BorderID id, adore::env::BorderBased::BorderType::TYPE t)
 change border type of border identified by id More...
 
void changeBorderType (adore::env::BorderBased::BorderType::TYPE t, double x0, double x1, double y0, double y1)
 change border type of borders in region to given type More...
 
void changeBorderType (BorderTypeChangeProfile btcp)
 change border type based on BorderTypeChangeProfile struct More...
 

Private Member Functions

void initGlobalSet ()
 initialization of global set More...
 
void initBaseSet (adore::env::BorderBased::BorderSet *baseSet)
 initialization of internal sets More...
 
void do_run (double x, double y, double r, std::vector< adore::env::BorderBased::Border * > &newBorders, std::vector< adore::env::BorderBased::BorderID > &outdatedBorders, std::vector< adore::env::BorderBased::BorderID > &updatedBorders, int MAX_SEND_NUMBER=40)
 

Private Attributes

adore::env::BorderBased::BorderSet m_baseSet
 
adore::env::BorderBased::BorderSet m_globalSet
 
adore::env::BorderBased::BorderSet m_localSet
 
std::queue< adore::env::BorderBased::BorderIDm_updateQueue
 

Detailed Description

Automatically manage local map and necessary updates based on vehicle position and last state of object.

Constructor & Destructor Documentation

◆ MapBorderManagement()

adore::env::MapBorderManagement::MapBorderManagement ( )
inline

Construct a new Map Border Management object.

Member Function Documentation

◆ addBordersInRegion()

void adore::env::MapBorderManagement::addBordersInRegion ( double  x0,
double  x1,
double  y0,
double  y1 
)
inline

add formerly deleted borders in a given region into global map from base map

Parameters
x0
x1
y0
y1
Here is the call graph for this function:

◆ changeBorderType() [1/4]

void adore::env::MapBorderManagement::changeBorderType ( adore::env::BorderBased::BorderID  id,
adore::env::BorderBased::BorderType::TYPE  t 
)
inline

change border type of border identified by id

Parameters
id
t
Here is the call graph for this function:

◆ changeBorderType() [2/4]

void adore::env::MapBorderManagement::changeBorderType ( adore::env::BorderBased::BorderType::TYPE  t,
double  x,
double  y 
)
inline

change border type of border at exactly the given position

Parameters
t
x
y
Here is the call graph for this function:
Here is the caller graph for this function:

◆ changeBorderType() [3/4]

void adore::env::MapBorderManagement::changeBorderType ( adore::env::BorderBased::BorderType::TYPE  t,
double  x0,
double  x1,
double  y0,
double  y1 
)
inline

change border type of borders in region to given type

Parameters
t
x0
x1
y0
y1
Here is the call graph for this function:

◆ changeBorderType() [4/4]

void adore::env::MapBorderManagement::changeBorderType ( BorderTypeChangeProfile  btcp)
inline

change border type based on BorderTypeChangeProfile struct

Here is the call graph for this function:

◆ clearLocalMap()

void adore::env::MapBorderManagement::clearLocalMap ( )
inline

clear local map

Here is the call graph for this function:
Here is the caller graph for this function:

◆ deleteBordersInRegion()

void adore::env::MapBorderManagement::deleteBordersInRegion ( double  x0,
double  x1,
double  y0,
double  y1 
)
inline

removes borders in region from global and local map

Parameters
x0
x1
y0
y1
Here is the call graph for this function:

◆ do_run()

void adore::env::MapBorderManagement::do_run ( double  x,
double  y,
double  r,
std::vector< adore::env::BorderBased::Border * > &  newBorders,
std::vector< adore::env::BorderBased::BorderID > &  outdatedBorders,
std::vector< adore::env::BorderBased::BorderID > &  updatedBorders,
int  MAX_SEND_NUMBER = 40 
)
inlineprivate
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getBorder()

adore::env::BorderBased::Border* adore::env::MapBorderManagement::getBorder ( adore::env::BorderBased::BorderID bId)
inline

Direct access to border in global map for auxiliary uses like plotting.

Parameters
bId
Returns
adore::env::BorderBased::Border*
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getBordersAtPoint()

env::BorderBased::BorderSubSet adore::env::MapBorderManagement::getBordersAtPoint ( double  x,
double  y 
)
inline

Get borders at given point.

Parameters
x
y
Returns
env::BorderBased::BorderSubSet
Here is the call graph for this function:

◆ getGlobalMap()

adore::env::BorderBased::BorderSet* adore::env::MapBorderManagement::getGlobalMap ( )
inline
Here is the caller graph for this function:

◆ getSuccessors()

env::BorderBased::itCoordinate2Border adore::env::MapBorderManagement::getSuccessors ( env::BorderBased::Border b)
inline

Get successors of a given border from global set.

Parameters
b
Returns
env::BorderBased::itCoordinate2Border
Here is the call graph for this function:

◆ init()

void adore::env::MapBorderManagement::init ( adore::env::BorderBased::BorderSet baseSet)
inline

initialization routine with base map

Parameters
baseSet
Here is the call graph for this function:
Here is the caller graph for this function:

◆ initBaseSet()

void adore::env::MapBorderManagement::initBaseSet ( adore::env::BorderBased::BorderSet baseSet)
inlineprivate

initialization of internal sets

Parameters
baseSet
Here is the call graph for this function:
Here is the caller graph for this function:

◆ initGlobalSet()

void adore::env::MapBorderManagement::initGlobalSet ( )
inlineprivate

initialization of global set

Here is the call graph for this function:
Here is the caller graph for this function:

◆ reset()

void adore::env::MapBorderManagement::reset ( )
inline

undo all changes to global map and clears local map

Here is the call graph for this function:
Here is the caller graph for this function:

◆ run() [1/2]

void adore::env::MapBorderManagement::run ( double  x,
double  y,
double  r,
std::vector< adore::env::BorderBased::Border * > &  newBorders,
std::vector< adore::env::BorderBased::BorderID > &  outdatedBorders,
int  MAX_SEND_NUMBER = 40 
)
inline

reduced run method, receive new visible borders and now outdated borders

Parameters
x
y
r
newBorders
outdatedBorders
MAX_SEND_NUMBER
Here is the call graph for this function:

◆ run() [2/2]

void adore::env::MapBorderManagement::run ( double  x,
double  y,
double  r,
std::vector< adore::env::BorderBased::Border * > &  newBorders,
std::vector< adore::env::BorderBased::BorderID > &  outdatedBorders,
std::vector< adore::env::BorderBased::BorderID > &  updatedBorders,
int  MAX_SEND_NUMBER = 40 
)
inline
Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ m_baseSet

adore::env::BorderBased::BorderSet adore::env::MapBorderManagement::m_baseSet
private

◆ m_globalSet

adore::env::BorderBased::BorderSet adore::env::MapBorderManagement::m_globalSet
private

◆ m_localSet

adore::env::BorderBased::BorderSet adore::env::MapBorderManagement::m_localSet
private

◆ m_updateQueue

std::queue<adore::env::BorderBased::BorderID> adore::env::MapBorderManagement::m_updateQueue
private

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