SUMO - Simulation of Urban MObility
GUIGlObject Class Referenceabstract

#include <GUIGlObject.h>

Inheritance diagram for GUIGlObject:
GUIContainer GUIEdge GUIGlObject_AbstractAdd GUIJunctionWrapper GUILane GUINet GUIPerson GUITrafficLightLogicWrapper GUITriggeredRerouter::GUITriggeredRerouterEdge GUIVehicle

Public Member Functions

virtual void drawGLAdditional (GUISUMOAbstractView *const parent, const GUIVisualizationSettings &s) const
 Draws additional, user-triggered visualisations. More...
 
void drawName (const Position &pos, const SUMOReal scale, const GUIVisualizationTextSettings &settings, const SUMOReal angle=0) const
 
 GUIGlObject (GUIGlObjectType type, const std::string &microsimID)
 Constructor. More...
 
 GUIGlObject (const std::string &prefix, GUIGlObjectType type, const std::string &microsimID)
 Constructor. More...
 
virtual ~GUIGlObject ()
 Destructor. 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
virtual GUIGLObjectPopupMenugetPopUpMenu (GUIMainWindow &app, GUISUMOAbstractView &parent)=0
 Returns an own popup-menu. More...
 
virtual GUIParameterTableWindowgetParameterWindow (GUIMainWindow &app, GUISUMOAbstractView &parent)=0
 Returns an own parameter window. More...
 
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...
 
virtual Boundary getCenteringBoundary () const =0
 Returns the boundary to which the view shall be centered in order to show the object. More...
 
virtual void drawGL (const GUIVisualizationSettings &s) const =0
 Draws the object. 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...
 

Static Public Attributes

static StringBijection< GUIGlObjectTypeTypeNames
 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...
 

Private Member Functions

std::string createFullName () const
 
 GUIGlObject (const GUIGlObject &)
 Invalidated copy constructor. More...
 
GUIGlObjectoperator= (const GUIGlObject &)
 Invalidated assignment operator. More...
 

Private Attributes

std::string myFullName
 
GUIGlID myGlID
 The numerical id of the object. More...
 
const GUIGlObjectType myGLObjectType
 The type of the object. More...
 
std::string myMicrosimID
 
std::set< GUIParameterTableWindow * > myParamWindows
 Parameter table windows which refer to this object. More...
 
std::string myPrefix
 

Static Private Attributes

static StringBijection< GUIGlObjectType >::Entry GUIGlObjectTypeNamesInitializer []
 

Detailed Description

Definition at line 71 of file GUIGlObject.h.

Constructor & Destructor Documentation

GUIGlObject::GUIGlObject ( GUIGlObjectType  type,
const std::string &  microsimID 
)

Constructor.

This is the standard constructor that assures that the object is known and its id is unique. Use it always :-)

Parameters
[in]fullNameThe complete name, including a type-prefix
See also
GUIGlObjectStorage

Definition at line 81 of file GUIGlObject.cpp.

References createFullName(), GUIGlObjectStorage::gIDStorage, myFullName, myGlID, and GUIGlObjectStorage::registerObject().

GUIGlObject::GUIGlObject ( const std::string &  prefix,
GUIGlObjectType  type,
const std::string &  microsimID 
)

Constructor.

This constructor should be used only for compound objects, that share visualization. Use it only if you know what you are doing.

Parameters
[in]fullNameThe complete name, including a type-prefix
See also
GUIGlObjectStorage

Definition at line 90 of file GUIGlObject.cpp.

References createFullName(), GUIGlObjectStorage::gIDStorage, myFullName, myGlID, and GUIGlObjectStorage::registerObject().

GUIGlObject::~GUIGlObject ( )
virtual

Destructor.

Definition at line 100 of file GUIGlObject.cpp.

References getGlID(), GUIGlObjectStorage::gIDStorage, myParamWindows, and GUIGlObjectStorage::remove().

GUIGlObject::GUIGlObject ( const GUIGlObject )
private

Invalidated copy constructor.

Member Function Documentation

void GUIGlObject::addParameterTable ( GUIParameterTableWindow w)

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

Parameters
[in]wThe opened parameter window

Definition at line 188 of file GUIGlObject.cpp.

References myParamWindows.

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

Builds an entry which allows to open the manipulator window.

Parameters

Definition at line 179 of file GUIGlObject.cpp.

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

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

std::string GUIGlObject::createFullName ( ) const
private

Definition at line 209 of file GUIGlObject.cpp.

References getMicrosimID(), and myPrefix.

Referenced by GUIGlObject(), setMicrosimID(), and setPrefix().

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

Draws additional, user-triggered visualisations.

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

Reimplemented in GUIVehicle, GUIPerson, and GUIContainer.

Definition at line 182 of file GUIGlObject.h.

References UNUSED_PARAMETER.

GUIGlID GUIGlObject::getGlID ( ) const
inline

Returns the numerical id of the object.

Returns
This object's gl-id

Definition at line 115 of file GUIGlObject.h.

References myGlID.

Referenced by buildSelectionPopupEntry(), GUINet::createTLWrapper(), GUIContainer::drawGL(), GUIPerson::drawGL(), GUIPolygon::drawGL(), GUILaneSpeedTrigger::drawGL(), GUICalibrator::drawGL(), GUIPointOfInterest::drawGL(), GUIJunctionWrapper::drawGL(), GUIVehicle::drawGL(), GUIContainerStop::drawGL(), GUIBusStop::drawGL(), GUIEdge::drawGL(), GUITriggeredRerouter::GUITriggeredRerouterEdge::drawGL(), GUILane::drawGL(), GUIContainer::drawGLAdditional(), GUIPerson::drawGLAdditional(), GUIVehicle::drawGLAdditional(), GUILane::drawLinkRule(), GUIJunctionWrapper::getColorValue(), GUIContainer::getColorValue(), GUIPerson::getColorValue(), GUILane::getColorValue(), GUIVehicle::getColorValue(), GUIEdge::getIDs(), GUISUMOAbstractView::getObjectAtPosition(), GUISUMOAbstractView::getObjectsAtPosition(), GUIVehicle::getPopUpMenu(), GUILane::getScaleValue(), GUIDialog_GLObjChooser::GUIDialog_GLObjChooser(), GUIGlChildWindow::isSelected(), GUISUMOViewParent::isSelected(), GUISelectedStorage::loadIDs(), GUIGLObjectPopupMenu::onCmdAddSelected(), GUIGLObjectPopupMenu::onCmdCenter(), GUIApplicationWindow::onCmdEditChosen(), GUIGLObjectPopupMenu::onCmdRemoveSelected(), GUIVehicle::GUIVehiclePopupMenu::onCmdStartTrack(), GUISUMOAbstractView::removeAdditionalGLVisualisation(), GLObjectValuePassConnector< std::pair< SUMOTime, MSPhaseDefinition > >::removeObject(), GUIVehicle::selectBlockingFoes(), and ~GUIGlObject().

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

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 myMicrosimID.

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

virtual GUIParameterTableWindow* GUIGlObject::getParameterWindow ( GUIMainWindow app,
GUISUMOAbstractView parent 
)
pure virtual
virtual GUIGLObjectPopupMenu* GUIGlObject::getPopUpMenu ( GUIMainWindow app,
GUISUMOAbstractView parent 
)
pure 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

Implemented in GUILane, GUITriggeredRerouter::GUITriggeredRerouterEdge, GUINet, GUIEdge, GUIBusStop, GUIContainerStop, GUIVehicle, GUITriggeredRerouter, GUIJunctionWrapper, GUIPointOfInterest, GUICalibrator, GUILaneSpeedTrigger, GUIPerson, GUIPolygon, GUIContainer, GUITrafficLightLogicWrapper, and GUIDetectorWrapper.

Referenced by GUISUMOAbstractView::openObjectDialog().

GUIGlObject& GUIGlObject::operator= ( const GUIGlObject )
private

Invalidated assignment operator.

void GUIGlObject::removeParameterTable ( GUIParameterTableWindow w)

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

Parameters
[in]wThe closed parameter window

Definition at line 194 of file GUIGlObject.cpp.

References myParamWindows.

Referenced by GUIParameterTableWindow::~GUIParameterTableWindow().

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

Changes the microsimID of the object (happens in NETEDIT)

Definition at line 109 of file GUIGlObject.cpp.

References createFullName(), myFullName, and myMicrosimID.

void GUIGlObject::setPrefix ( const std::string &  prefix)
protected

Definition at line 203 of file GUIGlObject.cpp.

References createFullName(), myFullName, and myPrefix.

Field Documentation

StringBijection< GUIGlObjectType >::Entry GUIGlObject::GUIGlObjectTypeNamesInitializer
staticprivate
Initial value:
= {
{"network", GLO_NETWORK},
{"edge", GLO_EDGE},
{"lane", GLO_LANE},
{"junction", GLO_JUNCTION},
{"tlLogic", GLO_TLLOGIC},
{"detector", GLO_DETECTOR},
{"trigger", GLO_TRIGGER},
{"additional", GLO_ADDITIONAL},
{"polygon", GLO_POLYGON},
{"poi", GLO_POI},
{"vehicle", GLO_VEHICLE},
{"person", GLO_PERSON},
{"container", GLO_CONTAINER},
{"undefined", GLO_MAX}
}

Definition at line 300 of file GUIGlObject.h.

std::string GUIGlObject::myFullName
private

Definition at line 287 of file GUIGlObject.h.

Referenced by getFullName(), GUIGlObject(), setMicrosimID(), and setPrefix().

GUIGlID GUIGlObject::myGlID
private

The numerical id of the object.

Definition at line 278 of file GUIGlObject.h.

Referenced by getGlID(), and GUIGlObject().

const GUIGlObjectType GUIGlObject::myGLObjectType
private

The type of the object.

Definition at line 281 of file GUIGlObject.h.

Referenced by getType().

std::string GUIGlObject::myMicrosimID
private

Definition at line 283 of file GUIGlObject.h.

Referenced by getMicrosimID(), and setMicrosimID().

std::set<GUIParameterTableWindow*> GUIGlObject::myParamWindows
private

Parameter table windows which refer to this object.

Definition at line 290 of file GUIGlObject.h.

Referenced by addParameterTable(), removeParameterTable(), and ~GUIGlObject().

std::string GUIGlObject::myPrefix
private

Definition at line 285 of file GUIGlObject.h.

Referenced by createFullName(), and setPrefix().

StringBijection< GUIGlObjectType > GUIGlObject::TypeNames
static

associates object types with strings

Definition at line 99 of file GUIGlObject.h.


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