SUMO - Simulation of Urban MObility
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GUIPerson Class Reference

#include <GUIPerson.h>

Inheritance diagram for GUIPerson:
MSPerson GUIGlObject

Data Structures

class  GUIPersonPopupMenu
 

Public Types

typedef std::vector
< MSPersonStage * > 
MSPersonPlan
 the structure holding the plan of a person More...
 
enum  StageType { WALKING = 0, DRIVING = 1, WAITING = 2 }
 

Public Member Functions

void drawName (const Position &pos, const SUMOReal scale, const GUIVisualizationTextSettings &settings, const SUMOReal angle=0) const
 
SUMOReal getAngle (SUMOTime now) const
 
MSPersonStagegetCurrentStage () const
 
StageType getCurrentStageType () const
 
std::string getCurrentStageTypeName () const
 
SUMOTime getDesiredDepart () const
 Returns the desired departure time. More...
 
const MSEdgegetDestination () const
 Returns the current destination. More...
 
const MSEdgegetEdge () const
 Returns the current edge. More...
 
SUMOReal getEdgePos (SUMOTime now) const
 
const MSEdgegetFromEdge () const
 Returns the departure edge. More...
 
const std::string & getID () const
 returns the person id More...
 
const SUMOVehicleParametergetParameter () const
 
Position getPosition (SUMOTime now) const
 overrides the base method and returns myPositionInVehicle while in driving stage More...
 
const MSVehicleTypegetVehicleType () const
 
 GUIPerson (const SUMOVehicleParameter *pars, const MSVehicleType *vtype, MSPerson::MSPersonPlan *plan)
 Constructor. More...
 
bool isWaiting4Vehicle () const
 Whether the person waits for a vehicle. More...
 
bool isWaitingFor (const std::string &line) const
 Whether the person waits for a vehicle of the line specified. More...
 
bool proceed (MSNet *net, SUMOTime time)
 
void routeOutput (OutputDevice &os) const
 Called on writing vehroute output. More...
 
void setDeparted (SUMOTime now)
 logs end of the step More...
 
void setPositionInVehicle (const Position &pos)
 
SUMOTime timeWaiting4Vehicle (SUMOTime now) const
 the time this person spent waiting for a vehicle More...
 
void tripInfoOutput (OutputDevice &os) const
 Called on writing tripinfo output. More...
 
 ~GUIPerson ()
 destructor More...
 
inherited from GUIGlObject
GUIGLObjectPopupMenugetPopUpMenu (GUIMainWindow &app, GUISUMOAbstractView &parent)
 Returns an own popup-menu. More...
 
GUIParameterTableWindowgetParameterWindow (GUIMainWindow &app, GUISUMOAbstractView &parent)
 Returns an own parameter window. More...
 
Boundary getCenteringBoundary () const
 Returns the boundary to which the view shall be centered in order to show the object. More...
 
void drawGL (const GUIVisualizationSettings &s) const
 Draws the object. More...
 
virtual void drawGLAdditional (GUISUMOAbstractView *const parent, const GUIVisualizationSettings &s) const
 Draws additionally triggered visualisations. More...
 
Atomar getter methods
const std::string & getFullName () const
 Returns the full name appearing in the tool tip. More...
 
GUIGlID getGlID () const
 Returns the numerical id of the object. More...
 
interfaces to be implemented by derived classes
const std::string & getMicrosimID () const
 Returns the id of the object as known to microsim. More...
 
void setMicrosimID (const std::string &newID)
 Changes the microsimID of the object (happens in NETEDIT) More...
 
GUIGlObjectType getType () const
 Returns the type of the object as coded in GUIGlObjectType. More...
 
Parameter table window I/O
void addParameterTable (GUIParameterTableWindow *w)
 Lets this object know a parameter window showing the object's values was opened. More...
 
void removeParameterTable (GUIParameterTableWindow *w)
 Lets this object know a parameter window showing the object's values was closed. More...
 

Data Fields

std::map< GUISUMOAbstractView
*, int
myAdditionalVisualizations
 Enabled visualisations, per view. More...
 

Static Public Attributes

static const SUMOReal SIDEWALK_OFFSET
 the offset for computing person positions when walking More...
 
static StringBijection
< GUIGlObjectType
TypeNames
 associates object types with strings More...
 

Protected Member Functions

void setPrefix (const std::string &prefix)
 
helper methods for building popup-menus
void buildPopupHeader (GUIGLObjectPopupMenu *ret, GUIMainWindow &app, bool addSeparator=true)
 Builds the header. More...
 
void buildCenterPopupEntry (GUIGLObjectPopupMenu *ret, bool addSeparator=true)
 Builds an entry which allows to center to the object. More...
 
void buildNameCopyPopupEntry (GUIGLObjectPopupMenu *ret, bool addSeparator=true)
 Builds entries which allow to copy the name / typed name into the clipboard. More...
 
void buildSelectionPopupEntry (GUIGLObjectPopupMenu *ret, bool addSeparator=true)
 Builds an entry which allows to (de)select the object. More...
 
void buildShowParamsPopupEntry (GUIGLObjectPopupMenu *ret, bool addSeparator=true)
 Builds an entry which allows to open the parameter window. More...
 
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. More...
 
void buildShowManipulatorPopupEntry (GUIGLObjectPopupMenu *ret, bool addSeparator=true)
 Builds an entry which allows to open the manipulator window. More...
 

Protected Attributes

const SUMOVehicleParametermyParameter
 the plan of the person More...
 
MSPersonPlanmyPlan
 the plan of the person More...
 
MSPersonPlan::iterator myStep
 the iterator over the route More...
 
const MSVehicleTypemyVType
 This Persons's type. (mainly used for drawing related information. More...
 
bool myWriteEvents
 Whether events shall be written. More...
 

Private Member Functions

SUMOReal getColorValue (size_t activeScheme) const
 gets the color value according to the current scheme index More...
 
void setColor (const GUIVisualizationSettings &s) const
 sets the color according to the currente settings More...
 
bool setFunctionalColor (size_t activeScheme) const
 sets the color according to the current scheme index and some vehicle function More...
 
drawing helper methods
void drawAction_drawAsTriangle (const GUIVisualizationSettings &s) const
 
void drawAction_drawAsPoly (const GUIVisualizationSettings &s) const
 
void drawAction_drawAsImage (const GUIVisualizationSettings &s) const
 

Private Attributes

bool myAmVisualizedAsStopped
 whether the person is visualized as stopped More...
 
MFXMutex myLock
 The mutex used to avoid concurrent updates of the vehicle buffer. More...
 
Position myPositionInVehicle
 The position of a person while riding a vehicle. More...
 

Detailed Description

Definition at line 61 of file GUIPerson.h.

Member Typedef Documentation

typedef std::vector<MSPersonStage*> MSPerson::MSPersonPlan
inherited

the structure holding the plan of a person

Definition at line 475 of file MSPerson.h.

Member Enumeration Documentation

enum MSPerson::StageType
inherited
Enumerator
WALKING 
DRIVING 
WAITING 

Definition at line 68 of file MSPerson.h.

Constructor & Destructor Documentation

GUIPerson::GUIPerson ( const SUMOVehicleParameter pars,
const MSVehicleType vtype,
MSPerson::MSPersonPlan plan 
)

Constructor.

Definition at line 107 of file GUIPerson.cpp.

GUIPerson::~GUIPerson ( )

destructor

Definition at line 114 of file GUIPerson.cpp.

Member Function Documentation

void GUIGlObject::addParameterTable ( GUIParameterTableWindow w)
inherited

Lets this object know a parameter window showing the object's values was opened.

Parameters
[in]wThe opened parameter window

Definition at line 187 of file GUIGlObject.cpp.

References GUIGlObject::myParamWindows.

void GUIGlObject::buildCenterPopupEntry ( GUIGLObjectPopupMenu ret,
bool  addSeparator = true 
)
protectedinherited
void GUIGlObject::buildNameCopyPopupEntry ( GUIGLObjectPopupMenu ret,
bool  addSeparator = true 
)
protectedinherited
void GUIGlObject::buildPositionCopyEntry ( GUIGLObjectPopupMenu ret,
bool  addSeparator = true 
)
protectedinherited

Builds an entry which allows to copy the cursor position if geo projection is used, also builds an entry for copying the geo-position.

Parameters
in,filled]ret The popup menu to add the entry to
[in]addSeparatorWhether a separator shall be added, too

Definition at line 166 of file GUIGlObject.cpp.

References GeoConvHelper::getFinal(), MID_COPY_CURSOR_GEOPOSITION, and MID_COPY_CURSOR_POSITION.

Referenced by GUIDetectorWrapper::getPopUpMenu(), GUITrafficLightLogicWrapper::getPopUpMenu(), GUIPolygon::getPopUpMenu(), getPopUpMenu(), GUILaneSpeedTrigger::getPopUpMenu(), GUICalibrator::getPopUpMenu(), GUIPointOfInterest::getPopUpMenu(), GUITriggeredRerouter::getPopUpMenu(), GUIJunctionWrapper::getPopUpMenu(), GUIBusStop::getPopUpMenu(), GUIVehicle::getPopUpMenu(), GUIEdge::getPopUpMenu(), GUINet::getPopUpMenu(), and GUILane::getPopUpMenu().

void GUIGlObject::buildShowManipulatorPopupEntry ( GUIGLObjectPopupMenu ret,
bool  addSeparator = true 
)
protectedinherited

Builds an entry which allows to open the manipulator window.

Parameters
in,filled]ret The popup menu to add the entry to
[in]addSeparatorWhether a separator shall be added, too

Definition at line 178 of file GUIGlObject.cpp.

References GUIIconSubSys::getIcon(), ICON_MANIP, and MID_MANIP.

Referenced by GUILaneSpeedTrigger::getPopUpMenu(), and GUITriggeredRerouter::getPopUpMenu().

void GUIGlObject::buildShowParamsPopupEntry ( GUIGLObjectPopupMenu ret,
bool  addSeparator = true 
)
protectedinherited

Builds an entry which allows to open the parameter window.

Parameters
in,filled]ret The popup menu to add the entry to
[in]addSeparatorWhether a separator shall be added, too

Definition at line 157 of file GUIGlObject.cpp.

References GUIIconSubSys::getIcon(), ICON_APP_TABLE, and MID_SHOWPARS.

Referenced by GUIDetectorWrapper::getPopUpMenu(), getPopUpMenu(), GUILaneSpeedTrigger::getPopUpMenu(), GUICalibrator::getPopUpMenu(), GUIBusStop::getPopUpMenu(), GUIVehicle::getPopUpMenu(), GUIEdge::getPopUpMenu(), GUINet::getPopUpMenu(), and GUILane::getPopUpMenu().

void GUIPerson::drawAction_drawAsTriangle ( const GUIVisualizationSettings s) const
private

Definition at line 317 of file GUIPerson.cpp.

Referenced by drawGL().

void GUIPerson::drawGLAdditional ( GUISUMOAbstractView *const  parent,
const GUIVisualizationSettings s 
) const
virtual

Draws additionally triggered visualisations.

Parameters
[in]parentThe view
[in]sThe settings for the current view (may influence drawing)

Reimplemented from GUIGlObject.

Definition at line 191 of file GUIPerson.cpp.

References GUIGlObject::getGlID().

SUMOReal MSPerson::getAngle ( SUMOTime  now) const
inlineinherited

Definition at line 538 of file MSPerson.h.

Referenced by drawAction_drawAsImage(), and drawAction_drawAsPoly().

Boundary GUIPerson::getCenteringBoundary ( ) const
virtual

Returns the boundary to which the view shall be centered in order to show the object.

Returns
The boundary the object is within
See Also
GUIGlObject::getCenteringBoundary

Implements GUIGlObject.

Definition at line 150 of file GUIPerson.cpp.

References Boundary::add(), MSNet::getInstance(), getPosition(), and Boundary::grow().

SUMOReal GUIPerson::getColorValue ( size_t  activeScheme) const
private

gets the color value according to the current scheme index

Definition at line 292 of file GUIPerson.cpp.

References MSPerson::getCurrentStageType(), MSNet::getInstance(), MSPerson::isWaiting4Vehicle(), STEPS2TIME, SUMOReal, and MSPerson::timeWaiting4Vehicle().

Referenced by setColor().

MSPersonStage* MSPerson::getCurrentStage ( ) const
inlineinherited

Definition at line 552 of file MSPerson.h.

References MSPerson::myStep.

StageType MSPerson::getCurrentStageType ( ) const
inlineinherited

Definition at line 543 of file MSPerson.h.

Referenced by getColorValue(), and getPosition().

std::string MSPerson::getCurrentStageTypeName ( ) const
inlineinherited

Definition at line 548 of file MSPerson.h.

Referenced by getParameterWindow().

SUMOTime MSPerson::getDesiredDepart ( ) const
inherited

Returns the desired departure time.

Definition at line 558 of file MSPerson.cpp.

References SUMOVehicleParameter::depart, and MSPerson::myParameter.

Referenced by MSPersonControl::erase(), and MSPerson::routeOutput().

const MSEdge& MSPerson::getDestination ( ) const
inlineinherited
SUMOReal MSPerson::getEdgePos ( SUMOTime  now) const
inlineinherited

Definition at line 528 of file MSPerson.h.

const MSEdge* MSPerson::getFromEdge ( ) const
inlineinherited

Returns the departure edge.

Definition at line 524 of file MSPerson.h.

Referenced by getParameterWindow(), and MSPerson::MSPersonStage_Driving::routeOutput().

const std::string& GUIGlObject::getMicrosimID ( ) const
inlineinherited

Returns the id of the object as known to microsim.

Returns
The id of the object

Definition at line 146 of file GUIGlObject.h.

References GUIGlObject::myMicrosimID.

Referenced by GUIGlObject::createFullName(), GUIGlObject::drawName(), GUIDialog_GLObjChooser::GUIDialog_GLObjChooser(), and GUIGLObjectPopupMenu::onCmdCopyName().

const SUMOVehicleParameter& MSPerson::getParameter ( ) const
inlineinherited

Definition at line 586 of file MSPerson.h.

References MSPerson::myParameter.

Referenced by setFunctionalColor().

GUIParameterTableWindow * GUIPerson::getParameterWindow ( GUIMainWindow app,
GUISUMOAbstractView parent 
)
virtual

Returns an own parameter window.

Parameters
[in]appThe application needed to build the parameter window
[in]parentThe parent window needed to build the parameter window
Returns
The built parameter window
See Also
GUIGlObject::getParameterWindow

Implements GUIGlObject.

Definition at line 134 of file GUIPerson.cpp.

References GUIParameterTableWindow::closeBuilding(), MSPerson::getCurrentStageTypeName(), MSPerson::getDestination(), MSPerson::getFromEdge(), MSPerson::getID(), and GUIParameterTableWindow::mkItem().

GUIGLObjectPopupMenu * GUIPerson::getPopUpMenu ( GUIMainWindow app,
GUISUMOAbstractView parent 
)
virtual

Returns an own popup-menu.

Parameters
[in]appThe application needed to build the popup-menu
[in]parentThe parent window needed to build the popup-menu
Returns
The built popup-menu
See Also
GUIGlObject::getPopUpMenu

Implements GUIGlObject.

Definition at line 119 of file GUIPerson.cpp.

References GUIGlObject::buildCenterPopupEntry(), GUIGlObject::buildNameCopyPopupEntry(), GUIGlObject::buildPopupHeader(), GUIGlObject::buildPositionCopyEntry(), GUIGlObject::buildSelectionPopupEntry(), GUIGlObject::buildShowParamsPopupEntry(), and myAdditionalVisualizations.

Position GUIPerson::getPosition ( SUMOTime  now) const
virtual

overrides the base method and returns myPositionInVehicle while in driving stage

Reimplemented from MSPerson.

Definition at line 308 of file GUIPerson.cpp.

References MSPerson::DRIVING, MSPerson::getCurrentStageType(), MSPerson::getPosition(), MSPerson::isWaiting4Vehicle(), and myPositionInVehicle.

Referenced by drawGL(), and getCenteringBoundary().

const MSVehicleType& MSPerson::getVehicleType ( ) const
inlineinherited

Definition at line 591 of file MSPerson.h.

References MSPerson::myVType.

Referenced by drawAction_drawAsImage(), and setFunctionalColor().

bool MSPerson::isWaiting4Vehicle ( ) const
inlineinherited
bool MSPerson::isWaitingFor ( const std::string &  line) const
inlineinherited

Whether the person waits for a vehicle of the line specified.

Definition at line 571 of file MSPerson.h.

void GUIGlObject::removeParameterTable ( GUIParameterTableWindow w)
inherited

Lets this object know a parameter window showing the object's values was closed.

Parameters
[in]wThe closed parameter window

Definition at line 193 of file GUIGlObject.cpp.

References GUIGlObject::myParamWindows.

Referenced by GUIParameterTableWindow::~GUIParameterTableWindow().

void MSPerson::routeOutput ( OutputDevice os) const
inherited

Called on writing vehroute output.

Parameters
[in]osThe stream to write the information into
Exceptions
IOErrornot yet implemented

Definition at line 578 of file MSPerson.cpp.

References MSPerson::getDesiredDepart(), MSPerson::MSPersonStage_Waiting::getUntil(), MSPerson::myPlan, and MSPerson::WAITING.

Referenced by MSPersonControl::erase().

void GUIPerson::setColor ( const GUIVisualizationSettings s) const
private
void MSPerson::setDeparted ( SUMOTime  now)
inherited

logs end of the step

Definition at line 564 of file MSPerson.cpp.

bool GUIPerson::setFunctionalColor ( size_t  activeScheme) const
private

sets the color according to the current scheme index and some vehicle function

Definition at line 258 of file GUIPerson.cpp.

References MSPerson::getParameter(), MSPerson::getVehicleType(), GLHelper::setColor(), VEHPARS_COLOR_SET, and VTYPEPARS_COLOR_SET.

Referenced by setColor().

void GUIGlObject::setMicrosimID ( const std::string &  newID)
inherited

Changes the microsimID of the object (happens in NETEDIT)

Definition at line 108 of file GUIGlObject.cpp.

References GUIGlObject::createFullName(), GUIGlObject::myFullName, and GUIGlObject::myMicrosimID.

void GUIPerson::setPositionInVehicle ( const Position pos)
inline

Definition at line 120 of file GUIPerson.h.

References myPositionInVehicle.

Referenced by GUIVehicle::drawGL().

void GUIGlObject::setPrefix ( const std::string &  prefix)
protectedinherited
SUMOTime MSPerson::timeWaiting4Vehicle ( SUMOTime  now) const
inlineinherited

the time this person spent waiting for a vehicle

Definition at line 582 of file MSPerson.h.

Referenced by getColorValue().

void MSPerson::tripInfoOutput ( OutputDevice os) const
inherited

Called on writing tripinfo output.

Parameters
[in]osThe stream to write the information into
Exceptions
IOErrornot yet implemented

Definition at line 570 of file MSPerson.cpp.

References MSPerson::myPlan.

Referenced by MSPersonControl::erase().

Field Documentation

std::map<GUISUMOAbstractView*, int> GUIPerson::myAdditionalVisualizations

Enabled visualisations, per view.

Definition at line 165 of file GUIPerson.h.

Referenced by getPopUpMenu().

bool GUIPerson::myAmVisualizedAsStopped
private

whether the person is visualized as stopped

Definition at line 187 of file GUIPerson.h.

MFXMutex GUIPerson::myLock
mutableprivate

The mutex used to avoid concurrent updates of the vehicle buffer.

Definition at line 172 of file GUIPerson.h.

const SUMOVehicleParameter* MSPerson::myParameter
protectedinherited

the plan of the person

Definition at line 479 of file MSPerson.h.

Referenced by MSPerson::getDesiredDepart(), MSPerson::getID(), MSPerson::getParameter(), and MSPerson::~MSPerson().

MSPersonPlan* MSPerson::myPlan
protectedinherited

the plan of the person

Definition at line 485 of file MSPerson.h.

Referenced by MSPerson::MSPerson(), MSPerson::proceed(), MSPerson::routeOutput(), MSPerson::tripInfoOutput(), and MSPerson::~MSPerson().

Position GUIPerson::myPositionInVehicle
private

The position of a person while riding a vehicle.

Definition at line 175 of file GUIPerson.h.

Referenced by getPosition(), and setPositionInVehicle().

MSPersonPlan::iterator MSPerson::myStep
protectedinherited

the iterator over the route

Definition at line 488 of file MSPerson.h.

Referenced by MSPerson::getCurrentStage(), MSPerson::MSPerson(), and MSPerson::proceed().

const MSVehicleType* MSPerson::myVType
protectedinherited

This Persons's type. (mainly used for drawing related information.

Definition at line 482 of file MSPerson.h.

Referenced by MSPerson::getVehicleType().

bool MSPerson::myWriteEvents
protectedinherited

Whether events shall be written.

Definition at line 491 of file MSPerson.h.

const SUMOReal MSPerson::SIDEWALK_OFFSET
staticinherited
StringBijection< GUIGlObjectType > GUIGlObject::TypeNames
staticinherited

associates object types with strings

Definition at line 99 of file GUIGlObject.h.


The documentation for this class was generated from the following files: