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

#include <parkingspotset.h>

Collaboration diagram for adore::env::BorderBased::ParkingSpotSet:
Collaboration graph

Classes

struct  itpair
 
struct  my_equal
 

Public Member Functions

 ParkingSpotSet ()
 
virtual ~ParkingSpotSet ()
 
bool insertParkingSpot (ParkingSpot parkingSpot)
 
bool eraseParkingSpot (ParkingSpot parkingSpot)
 
bool eraseParkingSpot (adore::env::BorderBased::Coordinate coordinate)
 
void clear ()
 
ItPairCoordinate2heading getAllParkingSpots ()
 
ItPairCoordinate2heading getParkingSpotsInRegion (double x0, double x1, double y0, double y1)
 
ItPairCoordinate2heading getParkingSpotsOutsideRegion (double x0, double x1, double y0, double y1)
 
void removeParkingSpotsOutsideRegion (double x0, double x1, double y0, double y1)
 
bool hasParkingSpot (ParkingSpot parkingSpot)
 
std::vector< ParkingSpotitPair2ParkingSpotVector (ItPairCoordinate2heading itPair)
 

Protected Member Functions

bool hasParkingSpot (adore::env::BorderBased::Coordinate::boost_point bp)
 
bool eraseParkingSpot (adore::env::BorderBased::Coordinate::boost_point bp)
 

Protected Attributes

Coordinate2heading_RT m_coordinate2heading
 
double m_guard
 

Private Types

typedef std::pair< adore::env::BorderBased::Coordinate::boost_point, double > idxCoordinate2heading
 
typedef boost::geometry::index::rtree< idxCoordinate2heading, boost::geometry::index::quadratic< 16 >, boost::geometry::index::indexable< idxCoordinate2heading >, my_equal< idxCoordinate2heading, env::BorderBased::Coordinate::boost_point > > Coordinate2heading_RT
 
typedef itpair< Coordinate2heading_RT::const_query_iterator, Coordinate2heading_RT::const_query_iterator > ItPairCoordinate2heading
 

Detailed Description

parking spot set that maps from adore::env::BorderBased::Coordinate to (double) heading with rTree from BOOST

Member Typedef Documentation

◆ Coordinate2heading_RT

typedef boost::geometry::index::rtree< idxCoordinate2heading, boost::geometry::index::quadratic<16>, boost::geometry::index::indexable<idxCoordinate2heading>, my_equal<idxCoordinate2heading,env::BorderBased::Coordinate::boost_point> > adore::env::BorderBased::ParkingSpotSet::Coordinate2heading_RT
private

◆ idxCoordinate2heading

◆ ItPairCoordinate2heading

typedef itpair<Coordinate2heading_RT::const_query_iterator,Coordinate2heading_RT::const_query_iterator> adore::env::BorderBased::ParkingSpotSet::ItPairCoordinate2heading
private

Constructor & Destructor Documentation

◆ ParkingSpotSet()

adore::env::BorderBased::ParkingSpotSet::ParkingSpotSet ( )
inline

Constructor

◆ ~ParkingSpotSet()

virtual adore::env::BorderBased::ParkingSpotSet::~ParkingSpotSet ( )
inlinevirtual

Destructor clear ParkingSpotSet

Here is the call graph for this function:

Member Function Documentation

◆ clear()

void adore::env::BorderBased::ParkingSpotSet::clear ( )
inline

clear clears ParkingSpotSet

Here is the caller graph for this function:

◆ eraseParkingSpot() [1/3]

bool adore::env::BorderBased::ParkingSpotSet::eraseParkingSpot ( adore::env::BorderBased::Coordinate  coordinate)
inline
Here is the call graph for this function:

◆ eraseParkingSpot() [2/3]

bool adore::env::BorderBased::ParkingSpotSet::eraseParkingSpot ( adore::env::BorderBased::Coordinate::boost_point  bp)
inlineprotected

erase(boostPoint bp) DO NOT USE WHILE ITERATING WITH ITERATORS OVER RTree! no check for existance

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

◆ eraseParkingSpot() [3/3]

bool adore::env::BorderBased::ParkingSpotSet::eraseParkingSpot ( ParkingSpot  parkingSpot)
inline

erase DO NOT USE WHILE ITERATING WITH ITERATORS OVER RTree! erases specifed parkingSpot from ParkingSpotSet returns false if ParkingSpot does not exist

Here is the call graph for this function:

◆ getAllParkingSpots()

ItPairCoordinate2heading adore::env::BorderBased::ParkingSpotSet::getAllParkingSpots ( )
inline

getAllParkingSpots get begin() and end() iterators for all TCDs in ParkingSpotSet

Here is the caller graph for this function:

◆ getParkingSpotsInRegion()

ItPairCoordinate2heading adore::env::BorderBased::ParkingSpotSet::getParkingSpotsInRegion ( double  x0,
double  x1,
double  y0,
double  y1 
)
inline

getParkingSpotsInRegion get begin() and end() iterators for all ParkingSpots in defined region

Here is the caller graph for this function:

◆ getParkingSpotsOutsideRegion()

ItPairCoordinate2heading adore::env::BorderBased::ParkingSpotSet::getParkingSpotsOutsideRegion ( double  x0,
double  x1,
double  y0,
double  y1 
)
inline

getTCDsOutsideRegion get begin() and end() iterators for all TCDs outsite of defined region

Here is the caller graph for this function:

◆ hasParkingSpot() [1/2]

bool adore::env::BorderBased::ParkingSpotSet::hasParkingSpot ( adore::env::BorderBased::Coordinate::boost_point  bp)
inlineprotected
Here is the caller graph for this function:

◆ hasParkingSpot() [2/2]

bool adore::env::BorderBased::ParkingSpotSet::hasParkingSpot ( ParkingSpot  parkingSpot)
inline

hasParkingSpot returns true if ParkingSpot is in ParkingSpotSet

Here is the call graph for this function:

◆ insertParkingSpot()

bool adore::env::BorderBased::ParkingSpotSet::insertParkingSpot ( ParkingSpot  parkingSpot)
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ itPair2ParkingSpotVector()

std::vector<ParkingSpot> adore::env::BorderBased::ParkingSpotSet::itPair2ParkingSpotVector ( ItPairCoordinate2heading  itPair)
inline

itPair2ParkingSpotVector re-organizes itPairCoordinate2heading to a ParkingSpot object vector

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

◆ removeParkingSpotsOutsideRegion()

void adore::env::BorderBased::ParkingSpotSet::removeParkingSpotsOutsideRegion ( double  x0,
double  x1,
double  y0,
double  y1 
)
inline

removing TCDs in given region without

Here is the call graph for this function:

Member Data Documentation

◆ m_coordinate2heading

Coordinate2heading_RT adore::env::BorderBased::ParkingSpotSet::m_coordinate2heading
protected

◆ m_guard

double adore::env::BorderBased::ParkingSpotSet::m_guard
protected

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