Eclipse SUMO - Simulation of Urban MObility
NLJunctionControlBuilder Class Reference

Builder of microsim-junctions and tls. More...

#include <NLJunctionControlBuilder.h>

Collaboration diagram for NLJunctionControlBuilder:
[legend]

Public Member Functions

void addAssignment (const std::string &id, const std::string &check, const std::string &value)
 Adds an assignment to the currently built traffic lights logic. More...
 
bool addCondition (const std::string &id, const std::string &value)
 Adds a condition to the currently built traffic lights logic. More...
 
void addFunction (const std::string &id, int nArgs)
 adds a switching condition function to the traffic lights logic currently build More...
 
void addLogicItem (int request, const std::string &response, const std::string &foes, bool cont)
 Adds a logic item. More...
 
void addParam (const std::string &key, const std::string &value)
 Adds a parameter. More...
 
void addPhase (MSPhaseDefinition *phase)
 Adds a phase to the currently built traffic lights logic. More...
 
MSJunctionControlbuild () const
 Builds the MSJunctionControl which holds all of the simulations junctions. More...
 
MSTLLogicControlbuildTLLogics ()
 Returns the built tls-logic control. More...
 
void closeFunction ()
 closes a switching condition function to the traffic lights logic currently build More...
 
void closeJunction (const std::string &basePath)
 Closes (ends) the processing of the current junction. More...
 
virtual void closeTrafficLightLogic (const std::string &basePath)
 Ends the building of a traffic lights logic. More...
 
const std::string & getActiveKey () const
 Returns the active key. More...
 
const std::string & getActiveSubKey () const
 Returns the active sub key. More...
 
const MSSimpleTrafficLightLogic::PhasesgetLoadedPhases () const
 return the phases loaded so far (for error reporting and cleanup) More...
 
MSTLLogicControl::TLSLogicVariantsgetTLLogic (const std::string &id) const
 Returns a previously build tls logic. More...
 
MSTLLogicControlgetTLLogicControlToUse () const
 Returns the used tls control. More...
 
void initJunctionLogic (const std::string &id)
 Initialises a junction logic. More...
 
void initTrafficLightLogic (const std::string &id, const std::string &programID, TrafficLightType type, SUMOTime offset)
 Begins the reading of a traffic lights logic. More...
 
void netIsLoaded ()
 
 NLJunctionControlBuilder (MSNet &net, NLDetectorBuilder &db)
 Constructor. More...
 
void openJunction (const std::string &id, const std::string &key, const SumoXMLNodeType type, const Position pos, const PositionVector &shape, const std::vector< MSLane * > &incomingLanes, const std::vector< MSLane * > &internalLanes, const std::string &name)
 Begins the processing of the named junction. More...
 
void postLoadInitialization ()
 initialize junctions after all connections have been loaded More...
 
MSJunctionretrieve (const std::string id)
 try to retrieve junction by id More...
 
virtual ~NLJunctionControlBuilder ()
 Destructor. More...
 

Protected Types

typedef Parameterised::Map StringParameterMap
 Definition of a parameter map (key->value) More...
 

Protected Member Functions

Factory methods, virtual so that other versions of the structures can be built
virtual MSJunctionbuildNoLogicJunction ()
 Builds a junction that does not use a logic. More...
 
virtual MSJunctionbuildLogicJunction (MSJunctionLogic *const logic)
 Builds a junction with a logic. More...
 
virtual MSJunctionbuildInternalJunction ()
 Builds an internal junction. More...
 

Protected Attributes

SUMOTime myAbsDuration
 The absolute duration of a tls-control loop. More...
 
MSActuatedTrafficLightLogic::AssignmentMap myActiveAssignments
 The current assignments for an actuated traffic light. More...
 
MSActuatedTrafficLightLogic::ConditionMap myActiveConditions
 The current switching conditions for an actuated traffic light. More...
 
std::bitset< SUMO_MAX_CONNECTIONSmyActiveConts
 The description about which lanes have an internal follower. More...
 
MSBitsetLogic::Foes myActiveFoes
 The description about which lanes disallow other passing the junction simultaneously. More...
 
MSActuatedTrafficLightLogic::Function myActiveFunction
 The current function for an actuated traffic light. More...
 
MSActuatedTrafficLightLogic::FunctionMap myActiveFunctions
 The current functions for an actuated traffic light. More...
 
std::string myActiveID
 The id of the currently chosen junction. More...
 
LaneVector myActiveIncomingLanes
 The list of the incoming lanes of the currently chosen junction. More...
 
LaneVector myActiveInternalLanes
 The list of the internal lanes of the currently chosen junction. More...
 
std::string myActiveKey
 The key of the currently chosen junction. More...
 
MSBitsetLogic::Logic myActiveLogic
 The right-of-way-logic of the currently chosen bitset-logic. More...
 
std::string myActiveName
 the name of the current junction More...
 
MSSimpleTrafficLightLogic::Phases myActivePhases
 The current phase definitions for a simple traffic light. More...
 
std::string myActiveProgram
 
std::vector< MSTrafficLightLogic * > myAdditionalLogics
 
StringParameterMap myAdditionalParameter
 Parameter map (key->value) More...
 
bool myCurrentHasError
 Information whether the current logic had an error. More...
 
NLDetectorBuildermyDetectorBuilder
 The detector builder to use. More...
 
MSJunctionControlmyJunctions
 The junctions controls. More...
 
MSTLLogicControlmyLogicControl
 The tls control to use (0 if net's tls control shall be used) More...
 
std::map< MSTrafficLightLogic *, StringParameterMapmyLogicParams
 
TrafficLightType myLogicType
 The current logic type. More...
 
MSNetmyNet
 The net to use. More...
 
std::vector< MSTrafficLightLogic * > myNetworkLogics
 The container for information which junctions shall be initialised using which values. More...
 
SUMOTime myOffset
 The switch offset within the tls. More...
 
Position myPosition
 The position of the junction. More...
 
std::vector< MSTrafficLightLogic * > myRailSignals
 
int myRequestItemNumber
 Counter for the inserted items. More...
 
int myRequestSize
 The size of the request. More...
 
PositionVector myShape
 The shape of the current junction. More...
 
SumoXMLNodeType myType
 The type of the currently chosen junction. More...
 

Private Types

typedef std::vector< MSLane * > LaneVector
 Definition of a lane vector. More...
 

Private Member Functions

 NLJunctionControlBuilder (const NLJunctionControlBuilder &s)
 invalidated copy operator More...
 
NLJunctionControlBuilderoperator= (const NLJunctionControlBuilder &s)
 invalidated assignment operator More...
 

Private Attributes

bool myNetIsLoaded
 whether the network has been loaded More...
 

Static Private Attributes

static const int NO_REQUEST_SIZE = -1
 

Detailed Description

Builder of microsim-junctions and tls.

NLJunctionControlBuilder is a factory for MSJunction, MSJunctionLogic, WAUT, and MSTRafficLightLogic-instances.

Todo:

Refactor this class - it's too large

Resort method by one of the topics.

Definition at line 60 of file NLJunctionControlBuilder.h.

Member Typedef Documentation

◆ LaneVector

typedef std::vector<MSLane*> NLJunctionControlBuilder::LaneVector
private

Definition of a lane vector.

Definition at line 63 of file NLJunctionControlBuilder.h.

◆ StringParameterMap

Definition of a parameter map (key->value)

Definition at line 370 of file NLJunctionControlBuilder.h.

Constructor & Destructor Documentation

◆ NLJunctionControlBuilder() [1/2]

NLJunctionControlBuilder::NLJunctionControlBuilder ( MSNet net,
NLDetectorBuilder db 
)

Constructor.

Stores default values for extended tls reading them from the given options. Builds a MSTLLogicControl instance for myLogicControl.

Parameters
[in]netThe network to fill
[in]dbThe detector builder to use

Definition at line 69 of file NLJunctionControlBuilder.cpp.

References myLogicControl.

◆ ~NLJunctionControlBuilder()

NLJunctionControlBuilder::~NLJunctionControlBuilder ( )
virtual

Destructor.

Deletes previously allocated "myLogicControl" and "myJunctions" if they were not previously returned (this may happen if an error occurred).

Definition at line 79 of file NLJunctionControlBuilder.cpp.

References myJunctions, and myLogicControl.

◆ NLJunctionControlBuilder() [2/2]

NLJunctionControlBuilder::NLJunctionControlBuilder ( const NLJunctionControlBuilder s)
private

invalidated copy operator

Member Function Documentation

◆ addAssignment()

void NLJunctionControlBuilder::addAssignment ( const std::string &  id,
const std::string &  check,
const std::string &  value 
)

Adds an assignment to the currently built traffic lights logic.

Parameters
[in]idthe condition id
[in]checkthe check condition that guards the assignment
[in]valuethe assigned expression

Definition at line 447 of file NLJunctionControlBuilder.cpp.

References MSActuatedTrafficLightLogic::Function::assignments, MSActuatedTrafficLightLogic::Function::id, myActiveAssignments, and myActiveFunction.

Referenced by NLHandler::addAssignment().

Here is the caller graph for this function:

◆ addCondition()

bool NLJunctionControlBuilder::addCondition ( const std::string &  id,
const std::string &  value 
)

Adds a condition to the currently built traffic lights logic.

Parameters
[in]idthe condition id
[in]valuethe condition expression

Definition at line 436 of file NLJunctionControlBuilder.cpp.

References myActiveConditions.

Referenced by NLHandler::addCondition().

Here is the caller graph for this function:

◆ addFunction()

void NLJunctionControlBuilder::addFunction ( const std::string &  id,
int  nArgs 
)

adds a switching condition function to the traffic lights logic currently build

Parameters
[in]idthe function id
[in]nArgsthe number of arguments

Definition at line 457 of file NLJunctionControlBuilder.cpp.

References MSActuatedTrafficLightLogic::Function::id, myActiveFunction, and MSActuatedTrafficLightLogic::Function::nArgs.

Referenced by NLHandler::addFunction().

Here is the caller graph for this function:

◆ addLogicItem()

void NLJunctionControlBuilder::addLogicItem ( int  request,
const std::string &  response,
const std::string &  foes,
bool  cont 
)

Adds a logic item.

Adds a logic item to the current processed logic. Throws an InvalidArgument if the current request size (myRequestSize) is 0 or lower.

Parameters
[in]requestThe request (~link) index
[in]responseThe response (list of higher priorised links)
[in]foesList of foes to the request
[in]contWhether the request is followed by an internal end
Todo:
Recheck "cont"; is the description correct?

Definition at line 368 of file NLJunctionControlBuilder.cpp.

References myActiveConts, myActiveFoes, myActiveKey, myActiveLogic, myCurrentHasError, myRequestItemNumber, myRequestSize, NO_REQUEST_SIZE, SUMO_MAX_CONNECTIONS, and toString().

Referenced by NLHandler::addRequest().

Here is the caller graph for this function:

◆ addParam()

void NLJunctionControlBuilder::addParam ( const std::string &  key,
const std::string &  value 
)

Adds a parameter.

Parameters
[in]keyThe key of the parameter
[in]valueThe value of the parameter
Todo:

Where are these parameter used? Describe!

Can a parameter be overwritten?

Definition at line 487 of file NLJunctionControlBuilder.cpp.

References myAdditionalParameter.

Referenced by NLHandler::addParam().

Here is the caller graph for this function:

◆ addPhase()

void NLJunctionControlBuilder::addPhase ( MSPhaseDefinition phase)

Adds a phase to the currently built traffic lights logic.

Parameters
[in]phaseThe new phase

Definition at line 427 of file NLJunctionControlBuilder.cpp.

References MSPhaseDefinition::duration, myAbsDuration, and myActivePhases.

Referenced by NLHandler::addPhase().

Here is the caller graph for this function:

◆ build()

MSJunctionControl * NLJunctionControlBuilder::build ( ) const

Builds the MSJunctionControl which holds all of the simulations junctions.

Returns the previously built junction control ("myJunctions"). "myJunctions" is set to 0, so that it will not be destroyed by the destructor.

Returns
The built junction control

Definition at line 170 of file NLJunctionControlBuilder.cpp.

References myJunctions.

Referenced by NLBuilder::buildNet().

Here is the caller graph for this function:

◆ buildInternalJunction()

MSJunction * NLJunctionControlBuilder::buildInternalJunction ( )
protectedvirtual

Builds an internal junction.

Builds a MSInternalJunction

Returns
The built junction

Definition at line 192 of file NLJunctionControlBuilder.cpp.

References myActiveID, myActiveIncomingLanes, myActiveInternalLanes, myPosition, myShape, and myType.

Referenced by closeJunction().

Here is the caller graph for this function:

◆ buildLogicJunction()

MSJunction * NLJunctionControlBuilder::buildLogicJunction ( MSJunctionLogic *const  logic)
protectedvirtual

Builds a junction with a logic.

Builds a MSRightOfWayJunction. Throws an exception if the logic was not built.

Returns
The built junction
Exceptions
InvalidArgumentIf the logic of the junction was not built before

Definition at line 185 of file NLJunctionControlBuilder.cpp.

References myActiveID, myActiveIncomingLanes, myActiveInternalLanes, myActiveName, myPosition, myShape, and myType.

Referenced by closeJunction().

Here is the caller graph for this function:

◆ buildNoLogicJunction()

MSJunction * NLJunctionControlBuilder::buildNoLogicJunction ( )
protectedvirtual

Builds a junction that does not use a logic.

Builds a MSNoLogicJunction

Returns
The built junction

Definition at line 178 of file NLJunctionControlBuilder.cpp.

References myActiveID, myActiveIncomingLanes, myActiveInternalLanes, myActiveName, myPosition, myShape, and myType.

Referenced by closeJunction().

Here is the caller graph for this function:

◆ buildTLLogics()

MSTLLogicControl * NLJunctionControlBuilder::buildTLLogics ( )

Returns the built tls-logic control.

Returns the junction control ("myLogicControl") built using MSTLLogicControl::closeNetworkReading. "myLogicControl" is set to 0, so that it will not be destroyed by the destructor.

Returns
The built tls-logic control
Exceptions
ProcessErrorIf the traffic lights were not correct
See also
MSTLLogicControl::closeNetworkReading

Definition at line 472 of file NLJunctionControlBuilder.cpp.

References MSTLLogicControl::closeNetworkReading(), myDetectorBuilder, myLogicControl, myNetIsLoaded, myRailSignals, and TL.

Referenced by NLBuilder::buildNet().

Here is the caller graph for this function:

◆ closeFunction()

void NLJunctionControlBuilder::closeFunction ( )

closes a switching condition function to the traffic lights logic currently build

Definition at line 464 of file NLJunctionControlBuilder.cpp.

References MSActuatedTrafficLightLogic::Function::assignments, MSActuatedTrafficLightLogic::Function::id, myActiveFunction, and myActiveFunctions.

Referenced by NLHandler::closeFunction().

Here is the caller graph for this function:

◆ closeJunction()

void NLJunctionControlBuilder::closeJunction ( const std::string &  basePath)

Closes (ends) the processing of the current junction.

This method throws an InvalidArgument when a junction with the same id as the current was already added or if the junction type stored in "myType" is invalid. It throws a ProcessError if the container to store the junction in was not built before.

Exceptions
InvalidArgumentIf the current id is already used or the junction type was invalid
ProcessErrorIf the container to store the junction in was not built before
Todo:

Throwing ProcessError would get unneeded if the container would be built by default (see prepare)

The type of the junctions shoould probably be checked when supprted (in openJunction)

Definition at line 107 of file NLJunctionControlBuilder.cpp.

References NamedObjectCont< T >::add(), ALLWAY_STOP, buildInternalJunction(), buildLogicJunction(), buildNoLogicJunction(), closeTrafficLightLogic(), DEAD_END, DEAD_END_DEPRECATED, DISTRICT, MSGlobals::gUsingInternalLanes, INTERNAL, LEFT_BEFORE_RIGHT, myActiveConts, myActiveFoes, myActiveID, myActiveKey, myActiveLogic, myActiveProgram, myAdditionalParameter, myCurrentHasError, myJunctions, myLogicType, myOffset, myRequestItemNumber, myRequestSize, myType, NO_REQUEST_SIZE, NOJUNCTION, PRIORITY, PRIORITY_STOP, RAIL_CROSSING, RAIL_SIGNAL, RIGHT_BEFORE_LEFT, TL, TRAFFIC_LIGHT, TRAFFIC_LIGHT_NOJUNCTION, TRAFFIC_LIGHT_RIGHT_ON_RED, Parameterised::updateParameters(), WRITE_WARNINGF, and ZIPPER.

Referenced by NLHandler::myEndElement().

Here is the caller graph for this function:

◆ closeTrafficLightLogic()

void NLJunctionControlBuilder::closeTrafficLightLogic ( const std::string &  basePath)
virtual

Ends the building of a traffic lights logic.

Builds the correct type of a MSTrafficLightLogic using the stored information. Tries to add it to the used tls control. Throws an InvalidArgument if this is not possible (another tls logic with the same name exists).

Exceptions
InvalidArgumentIf another tls logic with the same name as the currently built was loaded before

Definition at line 206 of file NLJunctionControlBuilder.cpp.

References ACTUATED, MSTrafficLightLogic::changeStepAndDuration(), DELAYBASED, DELTA_T, MSTLLogicControl::get(), MSNet::getCurrentTimeStep(), MSTrafficLightLogic::getDefaultCycleTime(), MSTrafficLightLogic::getLogicType(), MSTrafficLightLogic::getPhases(), getTLLogicControlToUse(), HILVL_DETERMINISTIC, INVALID, myAbsDuration, myActiveAssignments, myActiveConditions, myActiveFunctions, myActiveKey, myActivePhases, myActiveProgram, myAdditionalLogics, myAdditionalParameter, myLogicParams, myLogicType, myNet, myNetIsLoaded, myNetworkLogics, myOffset, myRailSignals, NEMA, OFF, RAIL_CROSSING, RAIL_SIGNAL, SOTL_MARCHING, SOTL_PHASE, SOTL_PLATOON, SOTL_REQUEST, SOTL_WAVE, STATIC, SWARM_BASED, TL, TLF, toString(), Parameterised::updateParameters(), and WRITE_ERRORF.

Referenced by closeJunction(), and NLHandler::myEndElement().

Here is the caller graph for this function:

◆ getActiveKey()

const std::string & NLJunctionControlBuilder::getActiveKey ( ) const

Returns the active key.

Returns
The active key

Definition at line 503 of file NLJunctionControlBuilder.cpp.

References myActiveKey.

Referenced by NLHandler::addCondition(), and NLHandler::addPhase().

Here is the caller graph for this function:

◆ getActiveSubKey()

const std::string & NLJunctionControlBuilder::getActiveSubKey ( ) const

Returns the active sub key.

Returns
The active sub key

Definition at line 509 of file NLJunctionControlBuilder.cpp.

References myActiveProgram.

Referenced by NLHandler::addPhase().

Here is the caller graph for this function:

◆ getLoadedPhases()

const MSSimpleTrafficLightLogic::Phases& NLJunctionControlBuilder::getLoadedPhases ( ) const
inline

return the phases loaded so far (for error reporting and cleanup)

Definition at line 258 of file NLJunctionControlBuilder.h.

References myActivePhases.

Referenced by NLHandler::addPhase(), and NLHandler::myEndElement().

Here is the caller graph for this function:

◆ getTLLogic()

MSTLLogicControl::TLSLogicVariants & NLJunctionControlBuilder::getTLLogic ( const std::string &  id) const

Returns a previously build tls logic.

Parameters
[in]idThe ID of the tls logic to return
Returns
The named logic
Exceptions
InvalidArgumentIf the named tls logic was not built before

Definition at line 200 of file NLJunctionControlBuilder.cpp.

References MSTLLogicControl::get(), and getTLLogicControlToUse().

Referenced by NLHandler::addConnection(), and NLHandler::addE2Detector().

Here is the caller graph for this function:

◆ getTLLogicControlToUse()

MSTLLogicControl & NLJunctionControlBuilder::getTLLogicControlToUse ( ) const

Returns the used tls control.

This may be either the internal one ("myLogicControl"), or, if the network has been already loaded and we are loading additional tls programs, the net's logic control.

Returns
The tls control to use

Definition at line 494 of file NLJunctionControlBuilder.cpp.

References MSNet::getTLSControl(), myLogicControl, and myNet.

Referenced by NLHandler::addWAUTJunction(), NLHandler::addWAUTSwitch(), closeTrafficLightLogic(), NLHandler::closeWAUT(), getTLLogic(), NLHandler::initTrafficLightLogic(), and NLHandler::openWAUT().

Here is the caller graph for this function:

◆ initJunctionLogic()

void NLJunctionControlBuilder::initJunctionLogic ( const std::string &  id)

Initialises a junction logic.

Parameters
[in]idThe id of the row-logic

Definition at line 355 of file NLJunctionControlBuilder.cpp.

References myActiveConts, myActiveFoes, myActiveKey, myActiveLogic, myActiveProgram, myCurrentHasError, myRequestItemNumber, myRequestSize, and NO_REQUEST_SIZE.

Referenced by NLHandler::initJunctionLogic().

Here is the caller graph for this function:

◆ initTrafficLightLogic()

void NLJunctionControlBuilder::initTrafficLightLogic ( const std::string &  id,
const std::string &  programID,
TrafficLightType  type,
SUMOTime  offset 
)

Begins the reading of a traffic lights logic.

Parameters
[in]idThe id of the tls
[in]programIDThe id of the currently loaded program
[in]typeThe type of the tls
[in]offsetThe offset to start with
Todo:

Why is the type not verified?

Recheck, describe usage of detectorOffset (where does the information come from?)

Definition at line 410 of file NLJunctionControlBuilder.cpp.

References myAbsDuration, myActiveAssignments, myActiveConditions, myActiveFunctions, myActiveKey, myActivePhases, myActiveProgram, myAdditionalParameter, myLogicType, myOffset, myRequestSize, and NO_REQUEST_SIZE.

Referenced by NLHandler::initTrafficLightLogic().

Here is the caller graph for this function:

◆ netIsLoaded()

void NLJunctionControlBuilder::netIsLoaded ( )
inline

Definition at line 262 of file NLJunctionControlBuilder.h.

References myNetIsLoaded.

◆ openJunction()

void NLJunctionControlBuilder::openJunction ( const std::string &  id,
const std::string &  key,
const SumoXMLNodeType  type,
const Position  pos,
const PositionVector shape,
const std::vector< MSLane * > &  incomingLanes,
const std::vector< MSLane * > &  internalLanes,
const std::string &  name 
)

Begins the processing of the named junction.

Parameters
[in]idThe ID of the junction
[in]keyunused?!
[in]typeThe type of the junction
[in]xx-position of the junction
[in]yy-position of the junction
[in]shapeThe shape of the junction
[in]incomingLanesList of lanes which end at this intersection
[in]internalLanesList of internal lanes across this intersection
Exceptions
InvalidArgumentIf the junction type is not known
Todo:
Check why "key" is given

Definition at line 86 of file NLJunctionControlBuilder.cpp.

References myActiveID, myActiveIncomingLanes, myActiveInternalLanes, myActiveKey, myActiveName, myAdditionalParameter, myPosition, myShape, myType, and Position::set().

Referenced by NLHandler::openJunction().

Here is the caller graph for this function:

◆ operator=()

NLJunctionControlBuilder& NLJunctionControlBuilder::operator= ( const NLJunctionControlBuilder s)
private

invalidated assignment operator

◆ postLoadInitialization()

void NLJunctionControlBuilder::postLoadInitialization ( )

initialize junctions after all connections have been loaded

Definition at line 515 of file NLJunctionControlBuilder.cpp.

References myAdditionalLogics, myDetectorBuilder, myLogicParams, and myNetworkLogics.

Referenced by NLBuilder::build().

Here is the caller graph for this function:

◆ retrieve()

MSJunction * NLJunctionControlBuilder::retrieve ( const std::string  id)

try to retrieve junction by id

Definition at line 530 of file NLJunctionControlBuilder.cpp.

References NamedObjectCont< T >::get(), and myJunctions.

Referenced by NLHandler::myEndElement().

Here is the caller graph for this function:

Field Documentation

◆ myAbsDuration

SUMOTime NLJunctionControlBuilder::myAbsDuration
protected

The absolute duration of a tls-control loop.

Definition at line 361 of file NLJunctionControlBuilder.h.

Referenced by addPhase(), closeTrafficLightLogic(), and initTrafficLightLogic().

◆ myActiveAssignments

MSActuatedTrafficLightLogic::AssignmentMap NLJunctionControlBuilder::myActiveAssignments
protected

The current assignments for an actuated traffic light.

Definition at line 325 of file NLJunctionControlBuilder.h.

Referenced by addAssignment(), closeTrafficLightLogic(), and initTrafficLightLogic().

◆ myActiveConditions

MSActuatedTrafficLightLogic::ConditionMap NLJunctionControlBuilder::myActiveConditions
protected

The current switching conditions for an actuated traffic light.

Definition at line 322 of file NLJunctionControlBuilder.h.

Referenced by addCondition(), closeTrafficLightLogic(), and initTrafficLightLogic().

◆ myActiveConts

std::bitset<SUMO_MAX_CONNECTIONS> NLJunctionControlBuilder::myActiveConts
protected

The description about which lanes have an internal follower.

Definition at line 316 of file NLJunctionControlBuilder.h.

Referenced by addLogicItem(), closeJunction(), and initJunctionLogic().

◆ myActiveFoes

MSBitsetLogic::Foes NLJunctionControlBuilder::myActiveFoes
protected

The description about which lanes disallow other passing the junction simultaneously.

Definition at line 313 of file NLJunctionControlBuilder.h.

Referenced by addLogicItem(), closeJunction(), and initJunctionLogic().

◆ myActiveFunction

MSActuatedTrafficLightLogic::Function NLJunctionControlBuilder::myActiveFunction
protected

The current function for an actuated traffic light.

Definition at line 331 of file NLJunctionControlBuilder.h.

Referenced by addAssignment(), addFunction(), and closeFunction().

◆ myActiveFunctions

MSActuatedTrafficLightLogic::FunctionMap NLJunctionControlBuilder::myActiveFunctions
protected

The current functions for an actuated traffic light.

Definition at line 328 of file NLJunctionControlBuilder.h.

Referenced by closeFunction(), closeTrafficLightLogic(), and initTrafficLightLogic().

◆ myActiveID

std::string NLJunctionControlBuilder::myActiveID
protected

The id of the currently chosen junction.

Definition at line 349 of file NLJunctionControlBuilder.h.

Referenced by buildInternalJunction(), buildLogicJunction(), buildNoLogicJunction(), closeJunction(), and openJunction().

◆ myActiveIncomingLanes

LaneVector NLJunctionControlBuilder::myActiveIncomingLanes
protected

The list of the incoming lanes of the currently chosen junction.

Definition at line 343 of file NLJunctionControlBuilder.h.

Referenced by buildInternalJunction(), buildLogicJunction(), buildNoLogicJunction(), and openJunction().

◆ myActiveInternalLanes

LaneVector NLJunctionControlBuilder::myActiveInternalLanes
protected

The list of the internal lanes of the currently chosen junction.

Definition at line 346 of file NLJunctionControlBuilder.h.

Referenced by buildInternalJunction(), buildLogicJunction(), buildNoLogicJunction(), and openJunction().

◆ myActiveKey

std::string NLJunctionControlBuilder::myActiveKey
protected

The key of the currently chosen junction.

Definition at line 352 of file NLJunctionControlBuilder.h.

Referenced by addLogicItem(), closeJunction(), closeTrafficLightLogic(), getActiveKey(), initJunctionLogic(), initTrafficLightLogic(), and openJunction().

◆ myActiveLogic

MSBitsetLogic::Logic NLJunctionControlBuilder::myActiveLogic
protected

The right-of-way-logic of the currently chosen bitset-logic.

Definition at line 310 of file NLJunctionControlBuilder.h.

Referenced by addLogicItem(), closeJunction(), and initJunctionLogic().

◆ myActiveName

std::string NLJunctionControlBuilder::myActiveName
protected

the name of the current junction

Definition at line 367 of file NLJunctionControlBuilder.h.

Referenced by buildLogicJunction(), buildNoLogicJunction(), and openJunction().

◆ myActivePhases

MSSimpleTrafficLightLogic::Phases NLJunctionControlBuilder::myActivePhases
protected

The current phase definitions for a simple traffic light.

Definition at line 319 of file NLJunctionControlBuilder.h.

Referenced by addPhase(), closeTrafficLightLogic(), getLoadedPhases(), and initTrafficLightLogic().

◆ myActiveProgram

std::string NLJunctionControlBuilder::myActiveProgram
protected

◆ myAdditionalLogics

std::vector<MSTrafficLightLogic*> NLJunctionControlBuilder::myAdditionalLogics
protected

Definition at line 374 of file NLJunctionControlBuilder.h.

Referenced by closeTrafficLightLogic(), and postLoadInitialization().

◆ myAdditionalParameter

StringParameterMap NLJunctionControlBuilder::myAdditionalParameter
protected

Parameter map (key->value)

Definition at line 382 of file NLJunctionControlBuilder.h.

Referenced by addParam(), closeJunction(), closeTrafficLightLogic(), initTrafficLightLogic(), and openJunction().

◆ myCurrentHasError

bool NLJunctionControlBuilder::myCurrentHasError
protected

Information whether the current logic had an error.

Definition at line 385 of file NLJunctionControlBuilder.h.

Referenced by addLogicItem(), closeJunction(), and initJunctionLogic().

◆ myDetectorBuilder

NLDetectorBuilder& NLJunctionControlBuilder::myDetectorBuilder
protected

The detector builder to use.

Definition at line 301 of file NLJunctionControlBuilder.h.

Referenced by buildTLLogics(), and postLoadInitialization().

◆ myJunctions

MSJunctionControl* NLJunctionControlBuilder::myJunctions
mutableprotected

The junctions controls.

Definition at line 340 of file NLJunctionControlBuilder.h.

Referenced by build(), closeJunction(), retrieve(), and ~NLJunctionControlBuilder().

◆ myLogicControl

MSTLLogicControl* NLJunctionControlBuilder::myLogicControl
mutableprotected

The tls control to use (0 if net's tls control shall be used)

Definition at line 379 of file NLJunctionControlBuilder.h.

Referenced by buildTLLogics(), getTLLogicControlToUse(), NLJunctionControlBuilder(), and ~NLJunctionControlBuilder().

◆ myLogicParams

std::map<MSTrafficLightLogic*, StringParameterMap> NLJunctionControlBuilder::myLogicParams
protected

Definition at line 376 of file NLJunctionControlBuilder.h.

Referenced by closeTrafficLightLogic(), and postLoadInitialization().

◆ myLogicType

TrafficLightType NLJunctionControlBuilder::myLogicType
protected

The current logic type.

Definition at line 307 of file NLJunctionControlBuilder.h.

Referenced by closeJunction(), closeTrafficLightLogic(), and initTrafficLightLogic().

◆ myNet

MSNet& NLJunctionControlBuilder::myNet
protected

The net to use.

Definition at line 298 of file NLJunctionControlBuilder.h.

Referenced by closeTrafficLightLogic(), and getTLLogicControlToUse().

◆ myNetIsLoaded

bool NLJunctionControlBuilder::myNetIsLoaded
private

whether the network has been loaded

Definition at line 397 of file NLJunctionControlBuilder.h.

Referenced by buildTLLogics(), closeTrafficLightLogic(), and netIsLoaded().

◆ myNetworkLogics

std::vector<MSTrafficLightLogic*> NLJunctionControlBuilder::myNetworkLogics
protected

The container for information which junctions shall be initialised using which values.

Definition at line 373 of file NLJunctionControlBuilder.h.

Referenced by closeTrafficLightLogic(), and postLoadInitialization().

◆ myOffset

SUMOTime NLJunctionControlBuilder::myOffset
protected

The switch offset within the tls.

Definition at line 304 of file NLJunctionControlBuilder.h.

Referenced by closeJunction(), closeTrafficLightLogic(), and initTrafficLightLogic().

◆ myPosition

Position NLJunctionControlBuilder::myPosition
protected

The position of the junction.

Definition at line 358 of file NLJunctionControlBuilder.h.

Referenced by buildInternalJunction(), buildLogicJunction(), buildNoLogicJunction(), and openJunction().

◆ myRailSignals

std::vector<MSTrafficLightLogic*> NLJunctionControlBuilder::myRailSignals
protected

Definition at line 375 of file NLJunctionControlBuilder.h.

Referenced by buildTLLogics(), and closeTrafficLightLogic().

◆ myRequestItemNumber

int NLJunctionControlBuilder::myRequestItemNumber
protected

Counter for the inserted items.

Definition at line 337 of file NLJunctionControlBuilder.h.

Referenced by addLogicItem(), closeJunction(), and initJunctionLogic().

◆ myRequestSize

int NLJunctionControlBuilder::myRequestSize
protected

The size of the request.

Definition at line 334 of file NLJunctionControlBuilder.h.

Referenced by addLogicItem(), closeJunction(), initJunctionLogic(), and initTrafficLightLogic().

◆ myShape

PositionVector NLJunctionControlBuilder::myShape
protected

The shape of the current junction.

Definition at line 364 of file NLJunctionControlBuilder.h.

Referenced by buildInternalJunction(), buildLogicJunction(), buildNoLogicJunction(), and openJunction().

◆ myType

SumoXMLNodeType NLJunctionControlBuilder::myType
protected

The type of the currently chosen junction.

Definition at line 355 of file NLJunctionControlBuilder.h.

Referenced by buildInternalJunction(), buildLogicJunction(), buildNoLogicJunction(), closeJunction(), and openJunction().

◆ NO_REQUEST_SIZE

const int NLJunctionControlBuilder::NO_REQUEST_SIZE = -1
staticprivate

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