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);
212 minB[0] = bound.
xmin();
213 minB[1] = bound.
ymin();
214 maxB[0] = bound.
xmax();
215 maxB[1] = bound.
ymax();
217 glEnable(GL_POLYGON_OFFSET_FILL);
218 glEnable(GL_POLYGON_OFFSET_LINE);
222 glTranslated(0, 0, -.01);
228 glTranslated(0, 0, .01);
265 const std::vector<MSTrafficLightLogic*>& logics = tlsControl.
getAllLogics();
267 SUMOReal minDist = std::numeric_limits<SUMOReal>::infinity();
268 for (std::vector<MSTrafficLightLogic*>::const_iterator i = logics.begin(); i != logics.end(); ++i) {
274 if (lanes.size() > 0) {
275 const Position& endPos = lanes[0]->getShape().back();
285 const std::vector<MSTrafficLightLogic*> logics = vars.
getAllLogics();
286 if (logics.size() > 1) {
288 for (
unsigned int i = 0; i < logics.size() - 1; ++i) {
289 if (minTll->
getProgramID() == logics[i]->getProgramID()) {
294 if (l == logics[0]) {
317 return dynamic_cast<GUILane*
>(o);
364 if (myCurrentVideo == 0) {
378 if (myCurrentVideo != 0) {
379 delete myCurrentVideo;
390 if (myCurrentVideo != 0) {
392 if (error !=
"" && error !=
"video") {
void paintGLGrid()
paints a grid
void changeStepAndDuration(MSTLLogicControl &tlcontrol, SUMOTime simStep, unsigned int step, SUMOTime stepDuration)
Changes the current phase and her duration.
bool isActive(const MSTrafficLightLogic *tl) const
Returns whether the given tls program is the currently active for his tls.
virtual void buildViewToolBars(GUIGlChildWindow &)
builds the view toolbars
MSEdge & getEdge() const
Returns the lane's edge.
GUICompleteSchemeStorage gSchemeStorage
long onCmdCloseLane(FXObject *, FXSelector, void *)
interaction with the simulation
const SUMOReal SUMO_const_laneWidth
Storage for all programs of a single tls.
virtual SUMOReal getDelay() const
Returns the delay (should be overwritten by subclasses if applicable)
bool setColorScheme(const std::string &name)
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.
void closeTraffic(bool rebuildAllowed=true)
close this lane for traffic
bool gaming
whether the application is in gaming mode or not
SUMOTime getCurrentTimeStep() const
get the current simulation time
SUMOReal ymin() const
Returns minimum y-coordinate.
GUIMainWindow * myApp
The application.
SUMOReal xmin() const
Returns minimum x-coordinate.
void writeFrame(uint8_t *buffer)
static MSNet * getInstance()
Returns the pointer to the unique instance of MSNet (singleton).
void lock()
grant exclusive access to the simulation state
const MSPhaseDefinition & getPhase(int givenstep) const
Returns the definition of the phase from the given position within the plan.
SUMOReal distanceTo(const Position &p2) const
returns the euclidean distance in 3 dimension
GUIDialog_ViewSettings * myVisualizationChanger
SUMOTime getCurrentTimeStep() const
Returns the current simulation step.
bool isGaming() const
return whether the gui is in gaming mode
GUIGlID getGlID() const
Returns the numerical id of the object.
#define UNUSED_PARAMETER(x)
SUMOReal xmax() const
Returns maximum x-coordinate.
A class that stores a 2D geometrical boundary.
#define WRITE_WARNING(msg)
A fixed traffic light logic.
SUMOReal scale
information about a lane's width (temporary, used for a single view)
Representation of a lane in the micro simulation (gui-version)
A class that stores and controls tls and switching of their programs.
std::vector< MSTrafficLightLogic * > getAllLogics() const
Locate addtional structure - button.
A road/street connecting two junctions (gui-version)
const std::string & getID() const
Returns the id.
SUMOTime duration
The duration of the phase.
const std::vector< std::string > & getNames() const
Returns a list of stored settings names.
int getTrackedID() const
Returns the id of the tracked vehicle (-1 if none)
std::string name
The name of this setting.
std::map< GUIGlObject *, int > myAdditionallyDrawn
List of objects for which GUIGlObject::drawGLAdditional is called.
void setCurrentScheme(const std::string &)
Sets the named scheme as the current.
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()
const LaneVector & getLanesAt(unsigned int i) const
Returns the list of lanes that are controlled by the signals at the given position.
bool contains(const std::string &name) const
Returns the information whether a setting with the given name is stored.
static GUIGlObjectStorage gIDStorage
A single static instance of this class.
GUIVisualizationSettings & get(const std::string &name)
Returns the named scheme.
void onGamingClick(Position pos)
handle mouse click in gaming mode
void startTrack(int id)
Starts vehicle tracking.
Locate junction - button.
std::string getCurrentScheme() const
Returns the name of the currently chosen scheme.
virtual void checkSnapshots()
Checks whether it is time for a snapshot.
FXDEFMAP(GUIViewTraffic) GUIViewTrafficMap[]
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.
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
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.
virtual ~GUIViewTraffic()
destructor
int doPaintGL(int mode, const Boundary &bound)
SUMOReal m2p(SUMOReal meter) const
meter-to-pixels conversion method
Locate polygons - button.
TLSLogicVariants & get(const std::string &id) const
Returns the variants of a named tls.
bool showGrid
Information whether a grid shall be shown.
void drawDecals()
Draws the stored decals.
virtual int Search(const float a_min[2], const float a_max[2], const GUIVisualizationSettings &c) const
Find all within search rectangle.
The parent class for traffic light logics.
const std::string & getProgramID() const
Returns this tl-logic's id.
SUMOReal ymax() const
Returns maximum y-coordinate.
void unblockObject(GUIGlID id)
Marks an object as unblocked.
std::vector< MSTrafficLightLogic * > getAllLogics() const
Returns a vector which contains all logics.
GUIGlID getObjectUnderCursor()
returns the id of the object under the cursor using GL_SELECT
GUIGlObject * getObjectBlocking(GUIGlID id)
Returns the object from the container locking it.
static FXIcon * getIcon(GUIIcon which)
void stopTrack()
Stops vehicle tracking.
GUILane * getLaneUnderCursor()
FXPopup * getLocatorPopup()