51 double position,
const std::string& vTypes)
90 std::vector<MSInductLoop::VehicleData>
131 ret->
mkItem(
"passed vehicles [#]",
true,
133 ret->
mkItem(
"speed [m/s]",
true,
135 ret->
mkItem(
"occupancy [%]",
true,
137 ret->
mkItem(
"vehicle length [m]",
true,
139 ret->
mkItem(
"empty time [s]",
true,
150 double width = (double) 2.0 * s.
scale;
159 glScaled(exaggeration, exaggeration, 1);
161 glVertex2d(0 - 1.0, 2);
162 glVertex2d(-1.0, -2);
166 glTranslated(0, 0, .01);
168 glVertex2d(0, 2 - .1);
169 glVertex2d(0, -2 + .1);
173 if (width * exaggeration > 1) {
175 glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
177 glVertex2f(0 - 1.0, 2);
178 glVertex2f(-1.0, -2);
182 glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
186 if (width * exaggeration > 1) {
187 glRotated(90, 0, 0, -1);
const double myPosition
Detector's position on lane [m].
void drawName(const Position &pos, const double scale, const GUIVisualizationTextSettings &settings, const double angle=0) const
draw name of item
double scale
information about a lane's width (temporary, used for a single view)
Boundary myBoundary
The detector's boundary.
void closeBuilding(const Parameterised *p=0)
Closes the building of the table.
A MSInductLoop-visualiser.
void reset()
Resets all generated values to allow computation of next interval.
GUIVisualizationTextSettings addName
double x() const
Returns the x-position.
MyWrapper(GUIInductLoop &detector, double pos)
Constructor.
Stores the information about how to visualize structures.
virtual void leaveDetectorByLaneChange(SUMOVehicle &veh, double lastPos)
Removes a vehicle from the detector's map myVehiclesOnDet.
virtual void reset()
Resets all generated values to allow computation of next interval.
virtual void leaveDetectorByMove(SUMOVehicle &veh, double leaveTimestep)
Processes a vehicle that leaves the detector.
std::vector< VehicleData > collectVehiclesOnDet(SUMOTime t, bool leaveTime=false) const
Returns vehicle data for vehicles that have been on the detector starting at the given time...
const Position geometryPositionAtOffset(double offset, double lateralOffset=0) const
int getCurrentPassedNumber() const
Returns the number of vehicles that have passed the detector.
Position myFGPosition
The position in full-geometry mode.
GUIInductLoop & myDetector
The wrapped detector.
virtual std::vector< VehicleData > collectVehiclesOnDet(SUMOTime t, bool leaveTime=false) const
Returns vehicle data for vehicles that have been on the detector starting at the given time...
GUIParameterTableWindow * getParameterWindow(GUIMainWindow &app, GUISUMOAbstractView &parent)
Returns an own parameter window.
GUIGlID getGlID() const
Returns the numerical id of the object.
double getCurrentLength() const
Returns the length of the vehicle on the detector.
A class that stores a 2D geometrical boundary.
const MSLane * getLane() const
Returns the lane the reminder works on.
double getCurrentOccupancy() const
Returns the current occupancy.
MFXMutex myLock
Mutex preventing parallel read/write access to internal MSInductLoop state.
const std::string & getID() const
Returns the id.
GUIVisualizationSizeSettings addSize
GUIGlObjectType getType() const
Returns the type of the object as coded in GUIGlObjectType.
GUIInductLoop(const std::string &id, MSLane *const lane, double position, const std::string &vTypes)
Constructor.
double getCurrentSpeed() const
Returns the speed of the vehicle on the detector.
The gui-version of the MSInductLoop.
double myPosition
The position on the lane.
double getExaggeration(const GUIVisualizationSettings &s, double factor=20) const
return the drawing size including exaggeration and constantSize values
Representation of a vehicle.
virtual GUIDetectorWrapper * buildDetectorGUIRepresentation()
Returns this detector's visualisation-wrapper.
double getTimeSinceLastDetection() const
Returns the time since the last vehicle left the detector.
virtual void enterDetectorByMove(SUMOVehicle &veh, double entryTimestep)
Introduces a vehicle to the detector's map myVehiclesOnDet.
double rotationDegreeAtOffset(double pos) const
Returns the rotation at the given length.
double y() const
Returns the y-position.
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.
Boundary & grow(double by)
extends the boundary by the given amount
void enterDetectorByMove(SUMOVehicle &veh, double entryTimestep)
Introduces a vehicle to the detector's map myVehiclesOnDet.
A mutex encapsulator which locks/unlocks the given mutex on construction/destruction, respectively.
~GUIInductLoop()
Destructor.
const PositionVector & getShape() const
Returns this lane's shape.
void leaveDetectorByLaneChange(SUMOVehicle &veh, double lastPos)
Removes a vehicle from the detector's map myVehiclesOnDet.
GUIInductLoop & getLoop()
Returns the detector itself.
void leaveDetectorByMove(SUMOVehicle &veh, double leaveTimestep)
Processes a vehicle that leaves the detector.
double myFGRotation
The rotation in full-geometry mode.
void add(double x, double y, double z=0)
Makes the boundary include the given coordinate.
void mkItem(const char *name, bool dynamic, ValueSource< unsigned > *src)
Adds a row which obtains its value from an unsigned-ValueSource.
Representation of a lane in the micro simulation.
A window containing a gl-object's parameter.
An unextended detector measuring at a fixed position on a fixed lane.