94 myChosenTarget(myChosenValue,
nullptr, MID_OPTION),
97 mySpeedTarget(mySpeed),
99 myChosenTarget.setTarget(
this);
100 FXVerticalFrame* f1 =
101 new FXVerticalFrame(
this, LAYOUT_FILL_X | LAYOUT_FILL_Y, 0, 0, 0, 0, 0, 0, 0, 0);
103 FXGroupBox* gp =
new FXGroupBox(f1,
"Change Speed",
104 GROUPBOX_TITLE_LEFT | FRAME_RIDGE,
105 0, 0, 0, 0, 4, 4, 1, 1, 2, 0);
108 FXHorizontalFrame* gf1 =
109 new FXHorizontalFrame(gp, LAYOUT_TOP | LAYOUT_LEFT, 0, 0, 0, 0, 10, 10, 5, 5);
110 new FXRadioButton(gf1,
"Default", &myChosenTarget, FXDataTarget::ID_OPTION + 0,
111 ICON_BEFORE_TEXT | LAYOUT_SIDE_TOP,
112 0, 0, 0, 0, 2, 2, 0, 0);
116 FXHorizontalFrame* gf0 =
117 new FXHorizontalFrame(gp, LAYOUT_TOP | LAYOUT_LEFT, 0, 0, 0, 0, 10, 10, 5, 5);
118 new FXRadioButton(gf0,
"Loaded", &myChosenTarget, FXDataTarget::ID_OPTION + 1,
119 ICON_BEFORE_TEXT | LAYOUT_SIDE_TOP,
120 0, 0, 0, 0, 2, 2, 0, 0);
124 FXHorizontalFrame* gf2 =
125 new FXHorizontalFrame(gp, LAYOUT_TOP | LAYOUT_LEFT, 0, 0, 0, 0, 10, 10, 5, 5);
126 new FXRadioButton(gf2,
"Predefined: ", &myChosenTarget, FXDataTarget::ID_OPTION + 2,
127 ICON_BEFORE_TEXT | LAYOUT_SIDE_TOP | LAYOUT_CENTER_Y,
128 0, 0, 0, 0, 2, 2, 0, 0);
130 new FXComboBox(gf2, 10,
this, MID_PRE_DEF,
131 ICON_BEFORE_TEXT | LAYOUT_SIDE_TOP | LAYOUT_CENTER_Y | COMBOBOX_STATIC);
132 myPredefinedValues->appendItem(
"20 km/h");
133 myPredefinedValues->appendItem(
"40 km/h");
134 myPredefinedValues->appendItem(
"60 km/h");
135 myPredefinedValues->appendItem(
"80 km/h");
136 myPredefinedValues->appendItem(
"100 km/h");
137 myPredefinedValues->appendItem(
"120 km/h");
138 myPredefinedValues->appendItem(
"140 km/h");
139 myPredefinedValues->appendItem(
"160 km/h");
140 myPredefinedValues->appendItem(
"180 km/h");
141 myPredefinedValues->appendItem(
"200 km/h");
142 myPredefinedValues->setNumVisible(5);
146 FXHorizontalFrame* gf12 =
147 new FXHorizontalFrame(gp, LAYOUT_TOP | LAYOUT_LEFT, 0, 0, 0, 0, 10, 10, 5, 5);
148 new FXRadioButton(gf12,
"Free Entry: ", &myChosenTarget, FXDataTarget::ID_OPTION + 3,
149 ICON_BEFORE_TEXT | LAYOUT_SIDE_TOP | LAYOUT_CENTER_Y,
150 0, 0, 0, 0, 2, 2, 0, 0);
152 new FXRealSpinner(gf12, 10,
this, MID_USER_DEF,
153 LAYOUT_TOP | FRAME_SUNKEN | FRAME_THICK);
156 myUserDefinedSpeed->setIncrement(10);
157 myUserDefinedSpeed->setRange(0, 300);
158 myUserDefinedSpeed->setValue(0);
161 new FXButton(f1,
"Close",
nullptr,
this,
MID_CLOSE,
162 BUTTON_INITIAL | BUTTON_DEFAULT | FRAME_RAISED | FRAME_THICK | LAYOUT_TOP | LAYOUT_LEFT | LAYOUT_CENTER_X, 0, 0, 0, 0, 30, 30, 4, 4);
189 myChosenValue != 3 ? FXSEL(SEL_COMMAND, ID_DISABLE) : FXSEL(SEL_COMMAND, ID_ENABLE),
208 myChosenValue != 2 ? FXSEL(SEL_COMMAND, ID_DISABLE) : FXSEL(SEL_COMMAND, ID_ENABLE),
275 const std::string& aXMLFilename,
276 const std::string& outputFilename,
279 MSCalibrator(id, edge, lane, pos, aXMLFilename, outputFilename, freq, edge->getLength(), probe),
282 const std::vector<MSLane*>& destLanes = edge->
getLanes();
283 for (std::vector<MSLane*>::const_iterator i = destLanes.begin(); i != destLanes.end(); ++i) {
284 if (lane ==
nullptr || (*i) == lane) {
333 const std::string nextStart =
337 ret->
mkItem(
"inactive until",
false, nextStart);
348 std::string flow =
"-";
349 std::string speed =
"-";
363 glTranslated(pos.
x(), pos.
y(),
getType());
364 glRotated(rot, 0, 0, 1);
366 glScaled(exaggeration, exaggeration, 1);
367 glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
369 glBegin(GL_TRIANGLES);
370 glColor3d(1, .8f, 0);
372 glVertex2d(0 - 1.4, 0);
373 glVertex2d(0 - 1.4, 6);
374 glVertex2d(0 + 1.4, 6);
375 glVertex2d(0 + 1.4, 0);
376 glVertex2d(0 - 1.4, 0);
377 glVertex2d(0 + 1.4, 6);
381 if (s.
scale * exaggeration >= 1.) {
382 glTranslated(0, 0, .1);
double rotationDegreeAtOffset(double pos) const
Returns the rotation at the given length.
double scale
information about a lane's width (temporary, used for a single view)
void closeBuilding(const Parameterised *p=0)
Closes the building of the table.
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.
Open the object's manipulator.
GUIManipulator * openManipulator(GUIMainWindow &app, GUISUMOAbstractView &parent)
virtual int passed() const
Writes routes of vehicles passing a certain edge.
Stores the information about how to visualize structures.
double y() const
Returns the y-position.
void mkItem(const char *name, bool dynamic, ValueSource< T > *src)
Adds a row which obtains its value from a ValueSource.
std::string time2string(SUMOTime t)
double x() const
Returns the x-position.
void buildCenterPopupEntry(GUIGLObjectPopupMenu *ret, bool addSeparator=true)
Builds an entry which allows to center to the object.
static void drawText(const std::string &text, const Position &pos, const double layer, const double size, const RGBColor &col=RGBColor::BLACK, const double angle=0, int align=0, double width=-1)
const std::vector< MSLane * > & getLanes() const
Returns this edge's lanes.
static const RGBColor BLACK
void buildShowParamsPopupEntry(GUIGLObjectPopupMenu *ret, bool addSeparator=true)
Builds an entry which allows to open the parameter window.
long onCmdChangeOption(FXObject *, FXSelector, void *)
double currentSpeed() const
measured speed in the current interval
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 *)
A class that stores a 2D geometrical boundary.
FXDEFMAP(GUICalibrator::GUIManip_Calibrator) GUIManip_CalibratorMap[]
GUIParameterTableWindow * getParameterWindow(GUIMainWindow &app, GUISUMOAbstractView &parent)
Returns an own parameter window.
void drawGL(const GUIVisualizationSettings &s) const
Draws the object.
Boundary getCenteringBoundary() const
Returns the boundary to which the view shall be centered in order to show the object.
int totalWished() const
number of vehicles expected to pass this interval
A road/street connecting two junctions.
GUICalibratorPopupMenuMap[]
GUIVisualizationSizeSettings addSize
virtual ~GUIManip_Calibrator()
Destructor.
GUIGlObjectType getType() const
Returns the type of the object as coded in GUIGlObjectType.
std::string toString(const T &t, std::streamsize accuracy=gPrecision)
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.
long onCmdPreDef(FXObject *, FXSelector, void *)
double myDefaultSpeed
The default (maximum) speed on the segment.
void drawName(const Position &pos, const double scale, const GUIVisualizationTextSettings &settings, const double angle=0) const
draw name of item
RotCont myFGRotations
The rotations in full-geometry mode.
Boundary & grow(double by)
extends the boundary by the given amount
std::vector< AspiredState > myIntervals
List of adaptation intervals.
long onCmdClose(FXObject *, FXSelector, void *)
bool myShowAsKMH
The information whether the speed shall be shown in m/s or km/h.
PosCont myFGPositions
The positions in full-geometry mode.
GUICalibrator(const std::string &id, MSEdge *edge, MSLane *lane, double pos, const std::string &aXMLFilename, const std::string &outputFilename, const SUMOTime freq, const MSRouteProbe *probe)
Constructor.
void buildSelectionPopupEntry(GUIGLObjectPopupMenu *ret, bool addSeparator=true)
Builds an entry which allows to (de)select the object.
GUIGlID getGlID() const
Returns the numerical id of the object.
Calibrates the flow on a segment to a specified one.
long onCmdUserDef(FXObject *, FXSelector, void *)
long onUpdUserDef(FXObject *, FXSelector, void *)
const std::string & getFullName() const
void add(double x, double y, double z=0)
Makes the boundary include the given coordinate.
double getExaggeration(const GUIVisualizationSettings &s, const GUIGlObject *o, double factor=20) const
return the drawing size including exaggeration and constantSize values
Position positionAtOffset(double pos, double lateralOffset=0) const
Returns the position at the given length.
Representation of a lane in the micro simulation.
A window containing a gl-object's parameter.
double currentFlow() const
flow in the current interval in veh/h
void buildPopupHeader(GUIGLObjectPopupMenu *ret, GUIMainWindow &app, bool addSeparator=true)
Builds the header.
GUIGLObjectPopupMenu * getPopUpMenu(GUIMainWindow &app, GUISUMOAbstractView &parent)
Returns an own popup-menu.