50 static std::vector<std::vector<libsumo::TraCILink> >
getControlledLinks(
const std::string& tlsID);
51 static std::string
getProgram(
const std::string& tlsID);
52 static int getPhase(
const std::string& tlsID);
53 static std::string
getPhaseName(
const std::string& tlsID);
58 static std::vector<std::string>
getBlockingVehicles(
const std::string& tlsID,
int linkIndex);
59 static std::vector<std::string>
getRivalVehicles(
const std::string& tlsID,
int linkIndex);
60 static std::vector<std::string>
getPriorityVehicles(
const std::string& tlsID,
int linkIndex);
61 static std::vector<libsumo::TraCISignalConstraint>
getConstraints(
const std::string& tlsID,
const std::string& tripId =
"");
62 static std::vector<libsumo::TraCISignalConstraint>
getConstraintsByFoe(
const std::string& foeSignal,
const std::string& foeId =
"");
69 static void setPhase(
const std::string& tlsID,
const int index);
70 static void setPhaseName(
const std::string& tlsID,
const std::string& name);
71 static void setProgram(
const std::string& tlsID,
const std::string& programID);
72 static void setPhaseDuration(
const std::string& tlsID,
const double phaseDuration);
75 static void addConstraint(
const std::string& tlsID,
const std::string& tripId,
const std::string& foeSignal,
const std::string& foeId,
const int type = 0,
const int limit = 0);
76 static std::vector<libsumo::TraCISignalConstraint>
swapConstraints(
const std::string& tlsID,
const std::string& tripId,
const std::string& foeSignal,
const std::string& foeId);
77 static void removeConstraints(
const std::string& tlsID,
const std::string& tripId,
const std::string& foeSignal,
const std::string& foeId);
88 static void setNemaSplits(
const std::string& tlsID,
const std::vector<double>& splits);
89 static void setNemaMaxGreens(
const std::string& tlsID,
const std::vector<double>& maxGreens);
91 static void setNemaOffset(
const std::string& tlsID,
double offset);
95 static std::shared_ptr<VariableWrapper>
makeWrapper();
102 static std::vector<libsumo::TraCISignalConstraint>
findConstraintsDeadLocks(
const std::string& foeId,
const std::string& tripId,
const std::string& foeSignal,
const std::string& tlsID);
108 static void swapParameters(TraCISignalConstraint& c,
const std::string& key1,
const std::string& key2);
109 static std::vector<std::pair<std::string, std::string> >
getSwapParams(
int constraintType);
#define LIBSUMO_ID_PARAMETER_API
#define LIBSUMO_SUBSCRIPTION_API
static double getSpentDuration(const std::string &tlsID)
static std::string getProgram(const std::string &tlsID)
static std::vector< std::pair< std::string, std::string > > getSwapParams(int constraintType)
static std::vector< std::string > getRivalVehicles(const std::string &tlsID, int linkIndex)
static std::vector< libsumo::TraCILogic > getCompleteRedYellowGreenDefinition(const std::string &tlsID)
static void setProgramLogic(const std::string &tlsID, const libsumo::TraCILogic &logic)
static ContextSubscriptionResults myContextSubscriptionResults
static void setProgram(const std::string &tlsID, const std::string &programID)
static bool handleVariable(const std::string &objID, const int variable, VariableWrapper *wrapper, tcpip::Storage *paramData)
static void setCompleteRedYellowGreenDefinition(const std::string &tlsID, const libsumo::TraCILogic &logic)
static int getPhase(const std::string &tlsID)
static double getPhaseDuration(const std::string &tlsID)
static void setPhaseName(const std::string &tlsID, const std::string &name)
static SUMOVehicle * getVehicleByTripId(const std::string tripOrVehID)
static void addConstraint(const std::string &tlsID, const std::string &tripId, const std::string &foeSignal, const std::string &foeId, const int type=0, const int limit=0)
static int getServedPersonCount(const std::string &tlsID, int index)
static std::shared_ptr< VariableWrapper > makeWrapper()
static libsumo::TraCISignalConstraint buildConstraint(const std::string &tlsID, const std::string &tripId, MSRailSignalConstraint *constraint)
static std::vector< std::string > getControlledJunctions(const std::string &tlsID)
static std::vector< std::vector< libsumo::TraCILink > > getControlledLinks(const std::string &tlsID)
static std::vector< libsumo::TraCISignalConstraint > getConstraintsByFoe(const std::string &foeSignal, const std::string &foeId="")
static std::vector< std::string > getControlledLanes(const std::string &tlsID)
static std::string getPhaseName(const std::string &tlsID)
static void swapParameters(MSRailSignalConstraint *c)
static SubscriptionResults mySubscriptionResults
static void setNemaMaxGreens(const std::string &tlsID, const std::vector< double > &maxGreens)
static void setPhase(const std::string &tlsID, const int index)
static std::vector< std::string > getBlockingVehicles(const std::string &tlsID, int linkIndex)
static std::vector< std::string > getFutureTripIds(const std::string vehID)
TrafficLight()=delete
invalidated standard constructor
static void removeConstraints(const std::string &tlsID, const std::string &tripId, const std::string &foeSignal, const std::string &foeId)
static std::vector< libsumo::TraCISignalConstraint > getConstraints(const std::string &tlsID, const std::string &tripId="")
static std::vector< libsumo::TraCISignalConstraint > swapConstraints(const std::string &tlsID, const std::string &tripId, const std::string &foeSignal, const std::string &foeId)
static std::string getRedYellowGreenState(const std::string &tlsID)
static void setPhaseDuration(const std::string &tlsID, const double phaseDuration)
static void setNemaCycleLength(const std::string &tlsID, double cycleLength)
static void setNemaOffset(const std::string &tlsID, double offset)
static std::vector< libsumo::TraCILogic > getAllProgramLogics(const std::string &tlsID)
static void setNemaSplits(const std::string &tlsID, const std::vector< double > &splits)
LIBSUMO_ID_PARAMETER_API static LIBSUMO_SUBSCRIPTION_API void setRedYellowGreenState(const std::string &tlsID, const std::string &state)
static std::vector< std::string > getPriorityVehicles(const std::string &tlsID, int linkIndex)
static void updateConstraints(const std::string &vehID, std::string tripId="")
static double getNextSwitch(const std::string &tlsID)
static std::vector< libsumo::TraCISignalConstraint > findConstraintsDeadLocks(const std::string &foeId, const std::string &tripId, const std::string &foeSignal, const std::string &tlsID)
perform swapConstraints to resolve deadlocks and return the new constraints
A base class for constraints.
Representation of a vehicle.
std::map< std::string, libsumo::SubscriptionResults > ContextSubscriptionResults
std::map< std::string, libsumo::TraCIResults > SubscriptionResults
{object->{variable->value}}