ad_map_access
Public Member Functions | Protected Attributes | List of all members
ad::map::access::Factory Class Reference

Autonomus Driving Map Factory. Contains method to be used to initialize and modify content in the Store. More...

#include <ad/map/access/Factory.hpp>

Inheritance diagram for ad::map::access::Factory:
Inheritance graph
[legend]
Collaboration diagram for ad::map::access::Factory:
Collaboration graph
[legend]

Public Member Functions

 Factory (Store &store)
 Constructor. More...
 
virtual ~Factory ()=default
 Destructor. Releases all resources.
 
bool add (PartitionId part_id, const lane::LaneId &id, lane::LaneType type, lane::LaneDirection direction)
 Adds or modifies new Lane in the Store. More...
 
lane::LaneId add (PartitionId part_id, const point::GeoEdge &left_geo, const point::GeoEdge &right_geo)
 Add new lane to the store. More...
 
lane::LaneId add (PartitionId part_id, const point::ECEFEdge &left_ecef, const point::ECEFEdge &right_ecef, const lane::LaneId &lane_id_0, const lane::LaneId &lane_id_1)
 Add new intersection lane to the store. More...
 
bool addLandmark (PartitionId part_id, const landmark::LandmarkId &id, const landmark::LandmarkType type, const point::ECEFPoint &position, const point::ECEFPoint &orientation, const point::Geometry &bounding_box)
 Adds or modifies new landmark in the Store. More...
 
bool addTrafficLight (PartitionId part_id, const landmark::LandmarkId &id, const landmark::TrafficLightType type, const point::ECEFPoint &position, const point::ECEFPoint &orientation, const point::Geometry &bounding_box)
 Adds or modifies new traffic light landmark in the Store. More...
 
bool addTrafficSign (PartitionId part_id, const landmark::LandmarkId &id, const landmark::TrafficSignType type, const point::ECEFPoint &position, const point::ECEFPoint &orientation, const point::Geometry &bounding_box, const std::string &text)
 Adds or modifies new traffic sign landmark in the Store. More...
 
bool add (const lane::LaneId &id, const lane::ContactLane &contact_lane)
 Adds Contact to Lane to the Lane object. More...
 
bool add (const lane::LaneId &id, const lane::ContactLaneList &contact_lanes)
 Adds Contacts to Lane to the Lane object. More...
 
bool add (const lane::LaneId &id, const restriction::SpeedLimit &para_speed)
 Add parametic speed limit to the Lane object. More...
 
bool add (const lane::LaneId &id, const landmark::LandmarkId &landmark)
 Add visible landmark to the Lane object. More...
 
bool add (const lane::LaneId &id, const restriction::Restriction &restriction, bool andx)
 Add Restriction to the Lane object. More...
 
bool add (const lane::LaneId &id_from, const lane::LaneId &id_to, const lane::ContactLocation location, const lane::ContactTypeList &types, const restriction::Restrictions &restrs)
 Add Contact to Lane to the Lane object. More...
 
bool add (const lane::LaneId &id_from, const lane::LaneId &id_to, const lane::ContactLocation location, const lane::ContactTypeList &types, const restriction::Restrictions &restrs, const landmark::LandmarkId &traffic_light)
 Add Contact to Lane to the Lane object. More...
 
bool set (const lane::LaneId &id, lane::LaneDirection direction)
 Sets the lane attribute. More...
 
bool set (const lane::LaneId &id, lane::LaneType type)
 Sets the lane attribute. More...
 
bool set (const lane::LaneId &id, lane::ComplianceVersion compliance_ver)
 Sets the lane attribute. More...
 
bool set (const lane::LaneId &id, const point::Geometry &edge_left, const point::Geometry &edge_right)
 Sets the Lane Edges. More...
 
bool set (const lane::LaneId &id, const physics::Speed &speed_limit)
 Sets speed limit for the COMPLETE lane. More...
 
bool set (const lane::LaneId &id, const restriction::Restrictions &restrictions)
 Set Restrictions to the Lane object. More...
 
bool set (const lane::LaneId &id, const landmark::LandmarkIdList &landmarks)
 Set visible landmarks to the Lane object. More...
 
bool set (const TrafficType &traffic_type)
 Set traffic type of the map. More...
 
bool deleteLane (lane::LaneId id)
 Method to be called to delete Lane from the Store. More...
 
bool deleteContacts (lane::LaneId from_id, lane::LaneId to_id)
 Delete all contacts from one lane to another. More...
 
bool deleteLandmark (landmark::LandmarkId id)
 Method to be called to delete landmark from the Store. More...
 
bool autoConnect (lane::LaneId from_lane_id, lane::LaneId to_lane_id)
 Creates missing topological contacts from one lane to another. More...
 

Protected Attributes

StoremStore
 Store on which this Factory operates.
 

Detailed Description

Autonomus Driving Map Factory. Contains method to be used to initialize and modify content in the Store.

Constructor & Destructor Documentation

◆ Factory()

ad::map::access::Factory::Factory ( Store store)
inlineexplicit

Constructor.

Parameters
[in]storeStore on which this Factory will operate.

Member Function Documentation

◆ add() [1/10]

bool ad::map::access::Factory::add ( const lane::LaneId id,
const landmark::LandmarkId landmark 
)

Add visible landmark to the Lane object.

Parameters
[in]idLane Identifier.
[in]landmarkto be added.
Returns
true if sucessful (lane exists).

◆ add() [2/10]

bool ad::map::access::Factory::add ( const lane::LaneId id,
const lane::ContactLane contact_lane 
)

Adds Contact to Lane to the Lane object.

Parameters
[in]idLane Identifier.
[in]contact_laneContact lane to be added.
Returns
true if sucessful (lane exists).

◆ add() [3/10]

bool ad::map::access::Factory::add ( const lane::LaneId id,
const lane::ContactLaneList contact_lanes 
)

Adds Contacts to Lane to the Lane object.

Parameters
[in]idLane Identifier.
[in]contact_lanesContacts to lanes to be added.
Returns
true if sucessful (lane exists).

◆ add() [4/10]

bool ad::map::access::Factory::add ( const lane::LaneId id,
const restriction::Restriction restriction,
bool  andx 
)

Add Restriction to the Lane object.

Parameters
[in]idLane Identifier.
[in]restrictionRestriction to add set.
[in]andxAdd restriction to and_ collection.
Returns
true if sucessful (lane exists).

◆ add() [5/10]

bool ad::map::access::Factory::add ( const lane::LaneId id,
const restriction::SpeedLimit para_speed 
)

Add parametic speed limit to the Lane object.

Parameters
[in]idLane Identifier.
[in]para_speedParametric speed limit restriction.
Returns
true if sucessful (lane exists).

◆ add() [6/10]

bool ad::map::access::Factory::add ( const lane::LaneId id_from,
const lane::LaneId id_to,
const lane::ContactLocation  location,
const lane::ContactTypeList types,
const restriction::Restrictions restrs 
)

Add Contact to Lane to the Lane object.

Parameters
[in]id_fromFrom-Lane Identifier.
[in]id_toIdentifier of object to which connection is leading.
[in]locationLocation of the contact.
[in]typesTypes of the contact.
[in]restrsLegal restrictions for the contact.
Returns
true if sucessful (lane exists).

◆ add() [7/10]

bool ad::map::access::Factory::add ( const lane::LaneId id_from,
const lane::LaneId id_to,
const lane::ContactLocation  location,
const lane::ContactTypeList types,
const restriction::Restrictions restrs,
const landmark::LandmarkId traffic_light 
)

Add Contact to Lane to the Lane object.

Parameters
[in]id_fromFrom-Lane Identifier.
[in]id_toIdentifier of object to which connection is leading.
[in]locationLocation of the contact.
[in]typesTypes of the contact.
[in]restrsLegal restrictions for the contact.
[in]traffic_lightIdentifier of the traffic light for this Contact (may be invalid).
Returns
true if sucessful (lane exists).

◆ add() [8/10]

bool ad::map::access::Factory::add ( PartitionId  part_id,
const lane::LaneId id,
lane::LaneType  type,
lane::LaneDirection  direction 
)

Adds or modifies new Lane in the Store.

Parameters
[in]part_idPartition to which this lane belongs.
[in]idIdentifier of this lane.
[in]typeType of the lane.
[in]directionDirection of traffic flow of this lane.
Returns
true if new Lane is added, false if existing Lane is modified.

◆ add() [9/10]

lane::LaneId ad::map::access::Factory::add ( PartitionId  part_id,
const point::ECEFEdge left_ecef,
const point::ECEFEdge right_ecef,
const lane::LaneId lane_id_0,
const lane::LaneId lane_id_1 
)

Add new intersection lane to the store.

Parameters
[in]part_idPartition to which this lane belongs.
[in]left_ecefLeft edge geometry.
[in]right_ecefRight edge geometry.
[in]lane_id_0First connecting lane.
[in]lane_id_1Second connecting lane.
Returns
New lane identifier. It will be invalid if not successful.
Note
Lane Type will be set to INTERSECTION and Lane Direction to POSITIVE. SUCCESSOR/PREDECESSOR contacts will be added to involved lanes.

◆ add() [10/10]

lane::LaneId ad::map::access::Factory::add ( PartitionId  part_id,
const point::GeoEdge left_geo,
const point::GeoEdge right_geo 
)

Add new lane to the store.

Parameters
[in]part_idPartition to which this lane belongs.
[in]left_geoLeft edge geometry.
[in]right_geoRight edge geometry.
Returns
New lane identifier. It will be invalid if not successful.
Note
Lane Type will be set to NORMAL and Lane Direction to POSITIVE.

◆ addLandmark()

bool ad::map::access::Factory::addLandmark ( PartitionId  part_id,
const landmark::LandmarkId id,
const landmark::LandmarkType  type,
const point::ECEFPoint position,
const point::ECEFPoint orientation,
const point::Geometry bounding_box 
)

Adds or modifies new landmark in the Store.

Parameters
[in]part_idPartition to which this landmark belongs.
[in]idIdentifier of this landmark.
[in]typeType of the landmark.
[in]positionPosition of the landmark.
[in]orientationOrientation of the landmark.
[in]bounding_boxBounding box of the landmark.
Returns
true if new Landmark is added, false if existing Landmark is modified.

◆ addTrafficLight()

bool ad::map::access::Factory::addTrafficLight ( PartitionId  part_id,
const landmark::LandmarkId id,
const landmark::TrafficLightType  type,
const point::ECEFPoint position,
const point::ECEFPoint orientation,
const point::Geometry bounding_box 
)

Adds or modifies new traffic light landmark in the Store.

Parameters
[in]part_idPartition to which this landmark belongs.
[in]idIdentifier of this landmark.
[in]typeType of the traffic light landmark.
[in]positionPosition of the landmark.
[in]orientationOrientation of the landmark.
[in]bounding_boxBounding box of the landmark.
Returns
true if new Landmark is added, false if existing Landmark is modified.

◆ addTrafficSign()

bool ad::map::access::Factory::addTrafficSign ( PartitionId  part_id,
const landmark::LandmarkId id,
const landmark::TrafficSignType  type,
const point::ECEFPoint position,
const point::ECEFPoint orientation,
const point::Geometry bounding_box,
const std::string &  text 
)

Adds or modifies new traffic sign landmark in the Store.

Parameters
[in]part_idPartition to which this landmark belongs.
[in]idIdentifier of this landmark.
[in]typeType of the traffic sign landmark.
[in]positionPosition of the landmark.
[in]orientationOrientation of the landmark.
[in]bounding_boxBounding box of the landmark.
[in]textText of the traffic sign landmark.
Returns
true if new Landmark is added, false if existing Landmark is modified.

◆ autoConnect()

bool ad::map::access::Factory::autoConnect ( lane::LaneId  from_lane_id,
lane::LaneId  to_lane_id 
)

Creates missing topological contacts from one lane to another.

Parameters
[in]from_lane_idFirst lane identifer.
[in]to_lane_idSecond lane identifier.
Returns
True if connection is added.
Note
Method is limited to SUCCESSOR/PREDECESSOR relationship!

◆ deleteContacts()

bool ad::map::access::Factory::deleteContacts ( lane::LaneId  from_id,
lane::LaneId  to_id 
)

Delete all contacts from one lane to another.

Parameters
[in]from_idLane identifier.
[in]to_idTo-lane identifier.
Returns
true if contacts were successfuly deleted.

◆ deleteLandmark()

bool ad::map::access::Factory::deleteLandmark ( landmark::LandmarkId  id)

Method to be called to delete landmark from the Store.

Parameters
[in]idLandmark identifier.
Returns
true if landmark was successfuly deleted.

◆ deleteLane()

bool ad::map::access::Factory::deleteLane ( lane::LaneId  id)

Method to be called to delete Lane from the Store.

Parameters
[in]idLane identifier.
Returns
true if lane was successfuly deleted.

◆ set() [1/8]

bool ad::map::access::Factory::set ( const lane::LaneId id,
const landmark::LandmarkIdList landmarks 
)

Set visible landmarks to the Lane object.

Parameters
[in]idLane Identifier.
[in]landmarksto set.
Returns
true if sucessful (lane exists).

◆ set() [2/8]

bool ad::map::access::Factory::set ( const lane::LaneId id,
const physics::Speed &  speed_limit 
)

Sets speed limit for the COMPLETE lane.

Parameters
[in]idLane identifier.
[in]speed_limitSpeed limit for the COMPLETE lane.
Returns
true if successful.

◆ set() [3/8]

bool ad::map::access::Factory::set ( const lane::LaneId id,
const point::Geometry edge_left,
const point::Geometry edge_right 
)

Sets the Lane Edges.

Parameters
[in]idLane identifier.
[in]edge_leftLeft lane geometry.
[in]edge_rightRight lane point::Geometry.
Returns
true if successful (lane exists).

◆ set() [4/8]

bool ad::map::access::Factory::set ( const lane::LaneId id,
const restriction::Restrictions restrictions 
)

Set Restrictions to the Lane object.

Parameters
[in]idLane Identifier.
[in]restrictionsRestrictions to set.
Returns
true if sucessful (lane exists).

◆ set() [5/8]

bool ad::map::access::Factory::set ( const lane::LaneId id,
lane::ComplianceVersion  compliance_ver 
)

Sets the lane attribute.

Parameters
[in]idIdentifier of this lane.
[in]compliance_verData version compliance of this lane.
Returns
true if successful (lane exists).

◆ set() [6/8]

bool ad::map::access::Factory::set ( const lane::LaneId id,
lane::LaneDirection  direction 
)

Sets the lane attribute.

Parameters
[in]idIdentifier of this lane.
[in]directionDirection of traffic flow of this lane.
Returns
true if successful (lane exists).

◆ set() [7/8]

bool ad::map::access::Factory::set ( const lane::LaneId id,
lane::LaneType  type 
)

Sets the lane attribute.

Parameters
[in]idIdentifier of this lane.
[in]typeType of the lane.
Returns
true if successful (lane exists).

◆ set() [8/8]

bool ad::map::access::Factory::set ( const TrafficType traffic_type)

Set traffic type of the map.

Parameters
[in]traffic_typethe type of traffic within the map.
Returns
true if sucessful.

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