91 myVehiclesAdditionalVisualizations(additionalVisualizations) {
164 if (i->first->getTrackedID() ==
getGlID()) {
165 i->first->stopTrack();
167 while (i->first->removeAdditionalGLVisualisation(
this));
191 new FXMenuSeparator(ret);
197 new FXMenuSeparator(ret);
234 ret->
mkItem(
"Type Information:",
false,
"");
269 glRotated(90, 0, 0, 1);
274 glScaled(upscale, upscale, 1);
289 #ifdef GUIPerson_DEBUG_DRAW_WALKINGAREA_PATHS 302 if (stripingState != 0) {
318 glTranslated(0, 0,
getType() - .1);
332 for (ConstMSEdgeVector::const_iterator it = edges.begin(); it != edges.end(); ++it) {
356 switch (activeScheme) {
388 const double hue = (long)
this % 360;
389 const double sat = (((long)
this / 360) % 67) / 100.0 + 0.33;
401 switch (activeScheme) {
459 glBegin(GL_TRIANGLES);
466 glTranslated(0, 0, .045);
467 glBegin(GL_TRIANGLES);
469 glVertex2d(0.5, -0.25);
470 glVertex2d(0.5, 0.25);
472 glTranslated(0, 0, -.045);
482 glTranslated(0, 0, .045);
484 glScaled(1, 0.5, 1.);
487 glBegin(GL_TRIANGLES);
488 glVertex2d(0.0, -0.2);
489 glVertex2d(0.0, 0.2);
490 glVertex2d(-0.6, 0.0);
492 glTranslated(0, 0, -.045);
494 glScaled(0.9, 2.0, 1);
495 glTranslated(0, 0, .04);
498 glTranslated(0, 0, -.04);
static void drawTexturedBox(int which, double size)
Draws a named texture as a box with the given size.
virtual void drawGLAdditional(GUISUMOAbstractView *const parent, const GUIVisualizationSettings &s) const
Draws additionally triggered visualisations.
std::map< GUISUMOAbstractView *, int > myAdditionalVisualizations
Enabled visualisations, per view.
double scale
information about a lane's width (temporary, used for a single view)
bool hasActiveAddVisualisation(GUISUMOAbstractView *const parent, int which) const
Returns whether the named feature is enabled in the given view.
RGBColor changedBrightness(int change, int toChange=3) const
Returns a new color with altered brightness.
static void drawBoxLines(const PositionVector &geom, const std::vector< double > &rots, const std::vector< double > &lengths, double width, int cornerDetail=0, double offset=0)
Draws thick lines.
void buildNameCopyPopupEntry(GUIGLObjectPopupMenu *ret, bool addSeparator=true)
Builds entries which allow to copy the name / typed name into the clipboard.
show persons's current route
const MSEdge * getEdge() const
Returns the current edge.
GUIVisualizationTextSettings personName
const MSEdge & getDestination() const
Returns the current destination.
static RGBColor fromHSV(double h, double s, double v)
Converts the given hsv-triplet to rgb.
WalkingAreaPath * myWalkingAreaPath
the current walkingAreaPath or 0
virtual double getEdgePos() const
Return the position on the edge.
Position getPosition() const
return the Network coordinate of the person
Stores the information about how to visualize structures.
double y() const
Returns the y-position.
void drawAction_drawAsImage(const GUIVisualizationSettings &s) const
double x() const
Returns the x-position.
std::string getImgFile() const
Get this vehicle type's raster model file name.
Hide persons's path on walkingarea.
void buildCenterPopupEntry(GUIGLObjectPopupMenu *ret, bool addSeparator=true)
Builds an entry which allows to center to the object.
bool isSelected(GUIGlObjectType type, GUIGlID id)
Returns the information whether the object with the given type and id is selected.
bool addAdditionalGLVisualisation(const GUIGlObject *const which)
Adds an object to call its additional visualisation method.
std::vector< const MSEdge * > ConstMSEdgeVector
void buildShowParamsPopupEntry(GUIGLObjectPopupMenu *ret, bool addSeparator=true)
Builds an entry which allows to open the parameter window.
virtual double getSpeed() const
the current speed of the transportable
const SUMOVehicleParameter & getParameter() const
virtual void stopTrack()
stop track
const std::vector< double > & getShapeRotations() const
static void drawFilledCircle(double width, int steps=8)
Draws a filled circle around (0,0)
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.
void buildShowTypeParamsPopupEntry(GUIGLObjectPopupMenu *ret, bool addSeparator=true)
Builds an entry which allows to open the type parameter window.
Start to track a vehicle.
A class that stores a 2D geometrical boundary.
bool removeAdditionalGLVisualisation(const GUIGlObject *const which)
Removes an object from the list of objects that show additional things.
The car-following model and parameter.
GUIParameterTableWindow * getParameterWindow(GUIMainWindow &app, GUISUMOAbstractView &parent)
Returns an own parameter window.
PedestrianState * getPedestrianState() const
Representation of a lane in the micro simulation (gui-version)
double getEdgePos() const
return the offset from the start of the current edge
MFXMutex myLock
The mutex used to avoid concurrent updates of the vehicle buffer.
const MSEdge * getFromEdge() const
Returns the departure edge.
void drawAction_drawWalkingareaPath(const GUIVisualizationSettings &s) const
GUIGLObjectPopupMenu * getPopUpMenu(GUIMainWindow &app, GUISUMOAbstractView &parent)
Returns an own popup-menu.
Show persons's path on walkingarea.
std::vector< MSTransportable::Stage * > MSTransportablePlan
the structure holding the plan of a transportable
static double naviDegree(const double angle)
MSTransportable::Stage * getCurrentStage() const
Return the current stage.
virtual GUIGlID getTrackedID() const
get tracked id
virtual void startTrack(int)
star track
GUIGlObjectType getType() const
Returns the type of the object as coded in GUIGlObjectType.
void drawAction_drawAsPoly(const GUIVisualizationSettings &s) const
std::string toString(const T &t, std::streamsize accuracy=gPrecision)
static void setColor(const RGBColor &c)
Sets the gl-color to this value.
double getWaitingSeconds() const
the time this person spent waiting in seconds
Hide vehicle's current route.
A point in 2D or 3D with translation and scaling methods.
double getNaviDegree() const
return the current angle of the person
const MSVehicleType * myVType
This transportable's type. (mainly used for drawing related information Note sure if it is really nec...
virtual double getAngle() const
return the current angle of the transportable
bool setFunctionalColor(int activeScheme) const
sets the color according to the current scheme index and some vehicle function
GUIParameterTableWindow * getTypeParameterWindow(GUIMainWindow &app, GUISUMOAbstractView &parent)
Returns an own type parameter window.
static int getTextureID(const std::string &filename, const bool mirrorX=false)
return texture id for the given filename (initialize on first use)
bool isWaiting4Vehicle() const
Whether the transportable waits for a vehicle.
double getMaxSpeed() const
Get vehicle's maximum speed [m/s].
void drawName(const Position &pos, const double scale, const GUIVisualizationTextSettings &settings, const double angle=0) const
draw name of item
GUIColorer personColorer
The person colorer.
const std::string & getID() const
returns the id of the transportable
const PositionVector & getShape() const
double getSpeed() const
the current speed of the person
Boundary & grow(double by)
extends the boundary by the given amount
double getMinGap() const
Get the free space in front of vehicles of this class.
double getColorValue(int activeScheme) const
gets the color value according to the current scheme index
const T getColor(const double value) const
show the current walkingarea path
const int VEHPARS_COLOR_SET
const ConstMSEdgeVector & getRoute() const
FXDEFMAP(GUIPerson::GUIPersonPopupMenu) GUIPersonPopupMenuMap[]
const SUMOVTypeParameter & getParameter() const
GUIPerson(const SUMOVehicleParameter *pars, const MSVehicleType *vtype, MSTransportable::MSTransportablePlan *plan)
Constructor.
void drawGL(const GUIVisualizationSettings &s) const
Draws the object.
void removeActiveAddVisualisation(GUISUMOAbstractView *const parent, int which)
Adds the named visualisation feature to the given view.
Show vehicle's current route.
void unlock()
release mutex lock
double getWidth() const
Get the width which vehicles of this class shall have when being drawn.
double getHeight() const
Get the height which vehicles of this class shall have when being drawn.
std::string getCurrentStageDescription() const
Returns the current stage description as a string.
Structure representing possible vehicle parameter.
virtual Position getPosition() const
Return the Network coordinate of the transportable.
A mutex encapsulator which locks/unlocks the given mutex on construction/destruction, respectively.
void setColor(const GUIVisualizationSettings &s) const
sets the color according to the currente settings
const std::map< std::string, std::string > & getMap() const
Returns the inner key/value map.
void addActiveAddVisualisation(GUISUMOAbstractView *const parent, int which)
Adds the named visualisation feature to the given view.
const std::vector< double > & getShapeLengths() const
const std::string & getID() const
Returns the name of the vehicle type.
Container for pedestrian state and individual position update function.
void buildSelectionPopupEntry(GUIGLObjectPopupMenu *ret, bool addSeparator=true)
Builds an entry which allows to (de)select the object.
GUIVisualizationSizeSettings personSize
int personQuality
The quality of person drawing.
double getLength() const
Get vehicle's length [m].
Boundary getCenteringBoundary() const
Returns the boundary to which the view shall be centered in order to show the object.
GUIGlID getGlID() const
Returns the numerical id of the object.
double getExaggeration(const GUIVisualizationSettings &s, double factor=20) const
return the drawing size including exaggeration and constantSize values
const MSVehicleType & getVehicleType() const
virtual double getWaitingSeconds() const
the time this transportable spent waiting in seconds
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.
GUISelectedStorage gSelected
A global holder of selected objects.
void closeBuilding()
Closes the building of the table.
Position myPositionInVehicle
The position of a person while riding a vehicle.
A window containing a gl-object's parameter.
const int VTYPEPARS_COLOR_SET
void buildPopupHeader(GUIGLObjectPopupMenu *ret, GUIMainWindow &app, bool addSeparator=true)
Builds the header.
void drawAction_drawAsTriangle(const GUIVisualizationSettings &s) const
StageType getCurrentStageType() const
the current stage type of the transportable
static RGBColor getColor()
gets the gl-color