73 #ifdef CHECK_MEMORY_LEAKS 75 #endif // CHECK_MEMORY_LEAKS 97 GUINet& net, FXGLVisual* glVis,
116 for (std::vector<std::string>::const_iterator i = names.begin(); i != names.end(); ++i) {
126 "\tLocate Junction\tLocate a junction within the network.",
128 ICON_ABOVE_TEXT | FRAME_THICK | FRAME_RAISED);
131 "\tLocate Street\tLocate a street within the network.",
133 ICON_ABOVE_TEXT | FRAME_THICK | FRAME_RAISED);
137 "\tLocate Vehicle\tLocate a vehicle within the network.",
139 ICON_ABOVE_TEXT | FRAME_THICK | FRAME_RAISED);
144 "\tLocate Vehicle\tLocate a person within the network.",
146 ICON_ABOVE_TEXT | FRAME_THICK | FRAME_RAISED);
151 "\tLocate TLS\tLocate a tls within the network.",
153 ICON_ABOVE_TEXT | FRAME_THICK | FRAME_RAISED);
156 "\tLocate Additional\tLocate an additional structure within the network.",
158 ICON_ABOVE_TEXT | FRAME_THICK | FRAME_RAISED);
161 "\tLocate PoI\tLocate a PoI within the network.",
163 ICON_ABOVE_TEXT | FRAME_THICK | FRAME_RAISED);
166 "\tLocate Polygon\tLocate a Polygon within the network.",
168 ICON_ABOVE_TEXT | FRAME_THICK | FRAME_RAISED);
193 glMatrixMode(GL_MODELVIEW);
195 glDisable(GL_TEXTURE_2D);
196 glDisable(GL_ALPHA_TEST);
198 glEnable(GL_DEPTH_TEST);
209 glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
210 const float minB[2] = { (float)bound.
xmin(), (float)bound.
ymin() };
211 const float maxB[2] = { (float)bound.
xmax(), (float)bound.
ymax() };
213 glEnable(GL_POLYGON_OFFSET_FILL);
214 glEnable(GL_POLYGON_OFFSET_LINE);
218 glTranslated(0, 0, -.01);
224 glTranslated(0, 0, .01);
261 const std::vector<MSTrafficLightLogic*>& logics = tlsControl.
getAllLogics();
263 SUMOReal minDist = std::numeric_limits<SUMOReal>::infinity();
264 for (std::vector<MSTrafficLightLogic*>::const_iterator i = logics.begin(); i != logics.end(); ++i) {
270 if (lanes.size() > 0) {
271 const Position& endPos = lanes[0]->getShape().back();
281 const std::vector<MSTrafficLightLogic*> logics = vars.
getAllLogics();
282 if (logics.size() > 1) {
284 for (
int i = 0; i < (int)logics.size() - 1; ++i) {
285 if (minTll->
getProgramID() == logics[i]->getProgramID()) {
290 if (l == logics[0]) {
313 return dynamic_cast<GUILane*
>(o);
360 if (myCurrentVideo == 0) {
374 if (myCurrentVideo != 0) {
375 delete myCurrentVideo;
386 if (myCurrentVideo != 0) {
388 if (error !=
"" && error !=
"video") {
void paintGLGrid()
paints a grid
virtual void buildViewToolBars(GUIGlChildWindow &)
builds the view toolbars
GUICompleteSchemeStorage gSchemeStorage
MSEdge & getEdge() const
Returns the lane's edge.
long onCmdCloseLane(FXObject *, FXSelector, void *)
interaction with the simulation
virtual SUMOReal getDelay() const
Returns the delay (should be overwritten by subclasses if applicable)
const SUMOReal SUMO_const_laneWidth
Storage for all programs of a single tls.
bool setColorScheme(const std::string &name)
set color scheme
void unlock()
release exclusive access to the simulation state
SUMORTree * myGrid
The visualization speed-up.
void switchTo(const std::string &id, const std::string &programID)
Switches the named (id) tls to the named (programID) program.
SUMOReal distanceTo(const Position &p2) const
returns the euclidean distance in 3 dimension
const std::vector< std::string > & getNames() const
Returns a list of stored settings names.
void closeTraffic(bool rebuildAllowed=true)
close this lane for traffic
bool gaming
whether the application is in gaming mode or not
void changeStepAndDuration(MSTLLogicControl &tlcontrol, SUMOTime simStep, int step, SUMOTime stepDuration)
Changes the current phase and her duration.
GUIMainWindow * myApp
The application.
void writeFrame(uint8_t *buffer)
SUMOReal ymin() const
Returns minimum y-coordinate.
bool isActive(const MSTrafficLightLogic *tl) const
Returns whether the given tls program is the currently active for his tls.
static MSNet * getInstance()
Returns the pointer to the unique instance of MSNet (singleton).
void lock()
grant exclusive access to the simulation state
SUMOReal ymax() const
Returns maximum y-coordinate.
const std::string & getID() const
Returns the id.
GUIDialog_ViewSettings * myVisualizationChanger
Visualization changer.
#define UNUSED_PARAMETER(x)
A class that stores a 2D geometrical boundary.
SUMOReal xmin() const
Returns minimum x-coordinate.
#define WRITE_WARNING(msg)
A fixed traffic light logic.
SUMOReal scale
information about a lane's width (temporary, used for a single view)
const LaneVector & getLanesAt(int i) const
Returns the list of lanes that are controlled by the signals at the given position.
std::map< const GUIGlObject *, int > myAdditionallyDrawn
List of objects for which GUIGlObject::drawGLAdditional is called.
Representation of a lane in the micro simulation (gui-version)
A class that stores and controls tls and switching of their programs.
Locate addtional structure - button.
A road/street connecting two junctions (gui-version)
SUMOTime duration
The duration of the phase.
std::vector< MSTrafficLightLogic * > getAllLogics() const
std::string name
The name of this setting.
void setCurrentScheme(const std::string &)
Sets the named scheme as the current.
const std::string & getProgramID() const
Returns this tl-logic's id.
static GUINet * getGUIInstance()
Returns the pointer to the unique instance of GUINet (singleton).
A point in 2D or 3D with translation and scaling methods.
long onCmdAddRerouter(FXObject *, FXSelector, void *)
MSTLLogicControl & getTLSControl()
Returns the tls logics control.
long onCmdCloseEdge(FXObject *, FXSelector, void *)
FXComboBox & getColoringSchemesCombo()
static GUIGlObjectStorage gIDStorage
A single static instance of this class.
GUIVisualizationSettings & get(const std::string &name)
Returns the named scheme.
bool isGaming() const
return whether the gui is in gaming mode
SUMOTime getCurrentTimeStep() const
Returns the current simulation step.
void onGamingClick(Position pos)
handle mouse click in gaming mode
void startTrack(int id)
Starts vehicle tracking.
Locate junction - button.
virtual void checkSnapshots()
Checks whether it is time for a snapshot.
FXDEFMAP(GUIViewTraffic) GUIViewTrafficMap[]
bool myUseToolTips
use tool tips
std::string makeSnapshot(const std::string &destFile)
Takes a snapshots and writes it into the given file.
void checkSnapshots()
Checks whether it is time for a snapshot.
SUMOTime getCurrentTimeStep() const
get the current simulation time
A single child window which contains a view of the simulation area.
void endSnapshot()
Ends a video snapshot.
FXbool makeCurrent()
A reimplementation due to some internal reasons.
std::vector< MSLane * > LaneVector
Definition of the list of links that participate in this tl-light.
GUIVisualizationSettings * myVisualizationSettings
visualization settings
A MSNet extended by some values for usage within the gui.
void saveFrame(const std::string &destFile, FXColor *buf)
Adds a frame to a video snapshot which will be initialized if neccessary.
SUMOReal xmax() const
Returns maximum x-coordinate.
virtual ~GUIViewTraffic()
destructor
int doPaintGL(int mode, const Boundary &bound)
paint GL
bool contains(const std::string &name) const
Returns the information whether a setting with the given name is stored.
Locate polygons - button.
static const GUIGlID INVALID_ID
SUMOReal m2p(SUMOReal meter) const
meter-to-pixels conversion method
std::string getCurrentScheme() const
Returns the name of the currently chosen scheme.
bool showGrid
Information whether a grid shall be shown.
void drawDecals()
Draws the stored decals.
GUIGlID getGlID() const
Returns the numerical id of the object.
The parent class for traffic light logics.
void unblockObject(GUIGlID id)
Marks an object as unblocked.
TLSLogicVariants & get(const std::string &id) const
Returns the variants of a named tls.
GUIGlID getObjectUnderCursor()
returns the id of the object under the cursor using GL_SELECT
GUIGlID getTrackedID() const
Returns the id of the tracked vehicle (-1 if none)
GUIGlObject * getObjectBlocking(GUIGlID id)
Returns the object from the container locking it.
virtual int Search(const float a_min[2], const float a_max[2], const GUIVisualizationSettings &c) const
Find all within search rectangle.
std::vector< MSTrafficLightLogic * > getAllLogics() const
Returns a vector which contains all logics.
static FXIcon * getIcon(GUIIcon which)
returns a icon previously defined in the enum GUIIcon
const MSPhaseDefinition & getPhase(int givenstep) const
Returns the definition of the phase from the given position within the plan.
void stopTrack()
Stops vehicle tracking.
GUILane * getLaneUnderCursor()
FXPopup * getLocatorPopup()