56 #ifdef CHECK_MEMORY_LEAKS
58 #endif // CHECK_MEMORY_LEAKS
105 myChosenTarget(myChosenValue, NULL, MID_OPTION),
108 mySpeedTarget(mySpeed),
110 myChosenTarget.setTarget(
this);
111 FXVerticalFrame* f1 =
112 new FXVerticalFrame(
this, LAYOUT_FILL_X | LAYOUT_FILL_Y, 0, 0, 0, 0, 0, 0, 0, 0);
114 FXGroupBox* gp =
new FXGroupBox(f1,
"Change Speed",
115 GROUPBOX_TITLE_LEFT | FRAME_RIDGE,
116 0, 0, 0, 0, 4, 4, 1, 1, 2, 0);
119 FXHorizontalFrame* gf1 =
120 new FXHorizontalFrame(gp, LAYOUT_TOP | LAYOUT_LEFT, 0, 0, 0, 0, 10, 10, 5, 5);
121 new FXRadioButton(gf1,
"Default", &myChosenTarget, FXDataTarget::ID_OPTION + 0,
122 ICON_BEFORE_TEXT | LAYOUT_SIDE_TOP,
123 0, 0, 0, 0, 2, 2, 0, 0);
127 FXHorizontalFrame* gf0 =
128 new FXHorizontalFrame(gp, LAYOUT_TOP | LAYOUT_LEFT, 0, 0, 0, 0, 10, 10, 5, 5);
129 new FXRadioButton(gf0,
"Loaded", &myChosenTarget, FXDataTarget::ID_OPTION + 1,
130 ICON_BEFORE_TEXT | LAYOUT_SIDE_TOP,
131 0, 0, 0, 0, 2, 2, 0, 0);
135 FXHorizontalFrame* gf2 =
136 new FXHorizontalFrame(gp, LAYOUT_TOP | LAYOUT_LEFT, 0, 0, 0, 0, 10, 10, 5, 5);
137 new FXRadioButton(gf2,
"Predefined: ", &myChosenTarget, FXDataTarget::ID_OPTION + 2,
138 ICON_BEFORE_TEXT | LAYOUT_SIDE_TOP | LAYOUT_CENTER_Y,
139 0, 0, 0, 0, 2, 2, 0, 0);
141 new FXComboBox(gf2, 10,
this, MID_PRE_DEF,
142 ICON_BEFORE_TEXT | LAYOUT_SIDE_TOP | LAYOUT_CENTER_Y | COMBOBOX_STATIC);
143 myPredefinedValues->appendItem(
"20 km/h");
144 myPredefinedValues->appendItem(
"40 km/h");
145 myPredefinedValues->appendItem(
"60 km/h");
146 myPredefinedValues->appendItem(
"80 km/h");
147 myPredefinedValues->appendItem(
"100 km/h");
148 myPredefinedValues->appendItem(
"120 km/h");
149 myPredefinedValues->appendItem(
"140 km/h");
150 myPredefinedValues->appendItem(
"160 km/h");
151 myPredefinedValues->appendItem(
"180 km/h");
152 myPredefinedValues->appendItem(
"200 km/h");
153 myPredefinedValues->setNumVisible(5);
157 FXHorizontalFrame* gf12 =
158 new FXHorizontalFrame(gp, LAYOUT_TOP | LAYOUT_LEFT, 0, 0, 0, 0, 10, 10, 5, 5);
159 new FXRadioButton(gf12,
"Free Entry: ", &myChosenTarget, FXDataTarget::ID_OPTION + 3,
160 ICON_BEFORE_TEXT | LAYOUT_SIDE_TOP | LAYOUT_CENTER_Y,
161 0, 0, 0, 0, 2, 2, 0, 0);
164 LAYOUT_TOP | FRAME_SUNKEN | FRAME_THICK);
165 myUserDefinedSpeed->setFormatString(
"%.0f km/h");
166 myUserDefinedSpeed->setIncrements(1, 10, 10);
167 myUserDefinedSpeed->setRange(0, 300);
168 myUserDefinedSpeed->setValue(0);
171 new FXButton(f1,
"Close", NULL,
this,
MID_CLOSE,
172 BUTTON_INITIAL | BUTTON_DEFAULT | FRAME_RAISED | FRAME_THICK | LAYOUT_TOP | LAYOUT_LEFT | LAYOUT_CENTER_X, 0, 0, 0, 0, 30, 30, 4, 4);
199 myChosenValue != 3 ? FXSEL(SEL_COMMAND, ID_DISABLE) : FXSEL(SEL_COMMAND, ID_ENABLE),
201 myParent->updateChildren();
218 myChosenValue != 2 ? FXSEL(SEL_COMMAND, ID_DISABLE) : FXSEL(SEL_COMMAND, ID_ENABLE),
220 myParent->updateChildren();
273 *myApplication, *myParent);
283 const std::string& aXMLFilename,
284 const std::string& outputFilename,
287 MSCalibrator(id, edge, pos, aXMLFilename, outputFilename, freq, edge->getLength(), probe),
290 const std::vector<MSLane*>& destLanes = edge->
getLanes();
293 for (std::vector<MSLane*>::const_iterator i = destLanes.begin(); i != destLanes.end(); ++i) {
339 const std::string nextStart =
343 ret->
mkItem(
"inactive until",
false, nextStart);
354 std::string flow =
"-";
355 std::string speed =
"-";
369 glTranslated(pos.
x(), pos.
y(),
getType());
370 glRotated(rot, 0, 0, 1);
372 glScaled(exaggeration, exaggeration, 1);
373 glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
375 glBegin(GL_TRIANGLES);
376 glColor3d(1, .8f, 0);
378 glVertex2d(0 - 1.4, 0);
379 glVertex2d(0 - 1.4, 6);
380 glVertex2d(0 + 1.4, 6);
381 glVertex2d(0 + 1.4, 0);
382 glVertex2d(0 - 1.4, 0);
383 glVertex2d(0 + 1.4, 6);
387 if (s.
scale * exaggeration >= 1.) {
388 glTranslated(0, 0, .1);
393 glRotated(180, 0, 1, 0);
394 glTranslated(-w / 2., 2, 0);
396 glTranslated(w / 2., -2, 0);
402 glTranslated(-w / 2., 4, 0);
404 glTranslated(w / 2., -4, 0);
409 glTranslated(-w / 2., 5, 0);
411 glTranslated(-w / 2., -5, 0);
SUMOReal getExaggeration(const GUIVisualizationSettings &s, SUMOReal factor=20) const
return the drawing size including exaggeration and constantSize values
int pfDrawString(const char *c)
Changes the speed allowed on a set of lanes (gui version)
GUIVisualizationTextSettings addName
void buildNameCopyPopupEntry(GUIGLObjectPopupMenu *ret, bool addSeparator=true)
Builds entries which allow to copy the name / typed name into the clipboard.
const std::vector< MSLane * > & getLanes() const
Returns this edge's lanes.
const std::string & getFullName() const
GUIManipulator * openManipulator(GUIMainWindow &app, GUISUMOAbstractView &parent)
Writes routes of vehicles passing a certain edge.
Stores the information about how to visualize structures.
std::string time2string(SUMOTime t)
GUICalibrator(const std::string &id, MSEdge *edge, SUMOReal pos, const std::string &aXMLFilename, const std::string &outputFilename, const SUMOTime freq, const MSRouteProbe *probe)
Constructor.
void pfSetPosition(SUMOReal x, SUMOReal y)
void buildCenterPopupEntry(GUIGLObjectPopupMenu *ret, bool addSeparator=true)
Builds an entry which allows to center to the object.
void buildShowParamsPopupEntry(GUIGLObjectPopupMenu *ret, bool addSeparator=true)
Builds an entry which allows to open the parameter window.
long onCmdChangeOption(FXObject *, FXSelector, void *)
SUMOReal x() const
Returns the x-position.
void buildPositionCopyEntry(GUIGLObjectPopupMenu *ret, bool addSeparator=true)
Builds an entry which allows to copy the cursor position if geo projection is used, also builds an entry for copying the geo-position.
long onUpdPreDef(FXObject *, FXSelector, void *)
GUIGlID getGlID() const
Returns the numerical id of the object.
A class that stores a 2D geometrical boundary.
FXDEFMAP(GUICalibrator::GUIManip_Calibrator) GUIManip_CalibratorMap[]
SUMOReal scale
information about a lane's width (temporary, used for a single view)
GUIParameterTableWindow * getParameterWindow(GUIMainWindow &app, GUISUMOAbstractView &parent)
Returns an own parameter window.
A road/street connecting two junctions.
GUICalibratorPopupMenuMap[]
GUIVisualizationSizeSettings addSize
GUIGlObjectType getType() const
Returns the type of the object as coded in GUIGlObjectType.
virtual ~GUIManip_Calibrator()
Destructor.
std::vector< AspiredState >::const_iterator myCurrentStateInterval
Iterator pointing to the current interval.
Boundary myBoundary
The boundary of this rerouter.
A point in 2D or 3D with translation and scaling methods.
void drawGL(const GUIVisualizationSettings &s) const
Draws the object.
long onCmdPreDef(FXObject *, FXSelector, void *)
Position positionAtOffset(SUMOReal pos, SUMOReal lateralOffset=0) const
Returns the position at the given length.
Boundary getCenteringBoundary() const
Returns the boundary to which the view shall be centered in order to show the object.
Open the object's manipulator.
RotCont myFGRotations
The rotations in full-geometry mode.
std::vector< AspiredState > myIntervals
List of adaptation intervals.
void drawName(const Position &pos, const SUMOReal scale, const GUIVisualizationTextSettings &settings, const SUMOReal angle=0) const
draw name of item
std::string toString(const T &t, std::streamsize accuracy=OUTPUT_ACCURACY)
long onCmdClose(FXObject *, FXSelector, void *)
SUMOReal rotationDegreeAtOffset(SUMOReal pos) const
Returns the rotation at the given length.
Boundary & grow(SUMOReal by)
extends the boundary by the given amount
void add(SUMOReal x, SUMOReal y, SUMOReal z=0)
Makes the boundary include the given coordinate.
void pfSetScale(SUMOReal s)
bool myShowAsKMH
The information whether the speed shall be shown in m/s or km/h.
PosCont myFGPositions
The positions in full-geometry mode.
SUMOReal y() const
Returns the y-position.
void buildSelectionPopupEntry(GUIGLObjectPopupMenu *ret, bool addSeparator=true)
Builds an entry which allows to (de)select the object.
SUMOReal pfdkGetStringWidth(const char *c)
virtual int passed() const
Calibrates the flow on a segment to a specified one.
long onCmdUserDef(FXObject *, FXSelector, void *)
long onUpdUserDef(FXObject *, FXSelector, void *)
int totalWished() const
number of vehicles expected to pass this interval
void mkItem(const char *name, bool dynamic, ValueSource< unsigned > *src)
Adds a row which obtains its value from an unsigned-ValueSource.
void closeBuilding()
Closes the building of the table.
A window containing a gl-object's parameter.
SUMOReal myDefaultSpeed
The default (maximum) speed on the segment.
void buildPopupHeader(GUIGLObjectPopupMenu *ret, GUIMainWindow &app, bool addSeparator=true)
Builds the header.
GUIGLObjectPopupMenu * getPopUpMenu(GUIMainWindow &app, GUISUMOAbstractView &parent)
Returns an own popup-menu.