Eclipse SUMO - Simulation of Urban MObility
GUIGlObject Class Referenceabstract

#include <GUIGlObject.h>

Inheritance diagram for GUIGlObject:
Collaboration diagram for GUIGlObject:

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 double scale, const GUIVisualizationTextSettings &settings, const double angle=0) const
 draw name of item More...
 
 GUIGlObject (GUIGlObjectType type, const std::string &microsimID)
 Constructor. More...
 
virtual void onLeftBtnPress (void *)
 notify object about left click More...
 
virtual void removeActiveAddVisualisation (GUISUMOAbstractView *const, int)
 remove additional user-griggered visualisations More...
 
virtual ~GUIGlObject ()
 Destructor. More...
 

Static Public Attributes

static const GUIGlID INVALID_ID = 0
 
static StringBijection< GUIGlObjectTypeTypeNames
 associates object types with strings More...
 

Protected Member Functions

void buildAdditionalsPopupOptions (GUIMainWindow &app, GUIGLObjectPopupMenu *ret, const std::string &type)
 build basic additional popup options. Used to unify pop-ups menu in netedit and SUMO-GUI More...
 
void buildShapePopupOptions (GUIMainWindow &app, GUIGLObjectPopupMenu *ret, const std::string &type)
 build basic shape popup options. Used to unify pop-ups menu in netedit and SUMO-GUI More...
 

Private Member Functions

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

Private Attributes

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

Static Private Attributes

static StringBijection< GUIGlObjectType >::Entry GUIGlObjectTypeNamesInitializer []
 LinkStates (Currently unused) More...
 

interfaces to be implemented by derived classes

virtual GUIGLObjectPopupMenugetPopUpMenu (GUIMainWindow &app, GUISUMOAbstractView &parent)=0
 Returns an own popup-menu. More...
 
virtual void removedPopupMenu ()
 notify object about popup menu removal More...
 
virtual GUIParameterTableWindowgetParameterWindow (GUIMainWindow &app, GUISUMOAbstractView &parent)=0
 Returns an own parameter window. More...
 
virtual GUIParameterTableWindowgetTypeParameterWindow (GUIMainWindow &app, GUISUMOAbstractView &parent)
 Returns an own type parameter window (optional) More...
 
virtual const std::string & getMicrosimID () const
 Returns the id of the object as known to microsim. More...
 
virtual const std::string getOptionalName () const
 Returns the name of the object (default "") More...
 
virtual void setMicrosimID (const std::string &newID)
 Changes the microsimID of the object. More...
 
GUIGlObjectType getType () const
 Returns the type of the object as coded in GUIGlObjectType. More...
 
virtual Boundary getCenteringBoundary () const =0
 
virtual void drawGL (const GUIVisualizationSettings &s) const =0
 Draws the object. More...
 
virtual double getColorValue (const GUIVisualizationSettings &, int) const
 

Detailed Description

Definition at line 65 of file GUIGlObject.h.

Constructor & Destructor Documentation

◆ GUIGlObject() [1/2]

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]typeThe GUIGlObjectType type
[in]microsimIDunique ID
See also
GUIGlObjectStorage

Definition at line 117 of file GUIGlObject.cpp.

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

◆ ~GUIGlObject()

GUIGlObject::~GUIGlObject ( )
virtual

◆ GUIGlObject() [2/2]

GUIGlObject::GUIGlObject ( const GUIGlObject )
privatedelete

Invalidated copy constructor.

Member Function Documentation

◆ addParameterTable()

void GUIGlObject::addParameterTable ( GUIParameterTableWindow w)

Definition at line 287 of file GUIGlObject.cpp.

References myParamWindows.

Referenced by GUIParameterTableWindow::GUIParameterTableWindow().

◆ buildAdditionalsPopupOptions()

void GUIGlObject::buildAdditionalsPopupOptions ( GUIMainWindow app,
GUIGLObjectPopupMenu ret,
const std::string &  type 
)
protected

build basic additional popup options. Used to unify pop-ups menu in netedit and SUMO-GUI

Definition at line 325 of file GUIGlObject.cpp.

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

◆ buildCenterPopupEntry()

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

◆ buildNameCopyPopupEntry()

◆ buildPopupHeader()

void GUIGlObject::buildPopupHeader ( GUIGLObjectPopupMenu ret,
GUIMainWindow app,
bool  addSeparator = true 
)
protected

◆ buildPositionCopyEntry()

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

◆ buildSelectionPopupEntry()

◆ buildShapePopupOptions()

void GUIGlObject::buildShapePopupOptions ( GUIMainWindow app,
GUIGLObjectPopupMenu ret,
const std::string &  type 
)
protected

build basic shape popup options. Used to unify pop-ups menu in netedit and SUMO-GUI

Definition at line 302 of file GUIGlObject.cpp.

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

Referenced by GUIPointOfInterest::getPopUpMenu(), and GNEPOI::getPopUpMenu().

◆ buildShowManipulatorPopupEntry()

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

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 278 of file GUIGlObject.cpp.

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

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

◆ buildShowParamsPopupEntry()

◆ buildShowTypeParamsPopupEntry()

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

Builds an entry which allows to open the type 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 257 of file GUIGlObject.cpp.

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

Referenced by GUIPerson::getPopUpMenu(), GUIContainer::getPopUpMenu(), and GUIBaseVehicle::getPopUpMenu().

◆ createFullName()

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

create full name

Definition at line 348 of file GUIGlObject.cpp.

References getMicrosimID(), StringBijection< T >::getString(), myGLObjectType, and TypeNames.

Referenced by GUIGlObject(), and setMicrosimID().

◆ drawGL()

◆ drawGLAdditional()

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

Draws additional, user-triggered visualisations.

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

Reimplemented in GUIBaseVehicle, GUIContainer, and GUIPerson.

Definition at line 186 of file GUIGlObject.cpp.

References UNUSED_PARAMETER.

◆ drawName()

◆ getCenteringBoundary()

◆ getColorValue()

virtual double GUIGlObject::getColorValue ( const GUIVisualizationSettings ,
int   
) const
inlinevirtual

◆ getFullName()

◆ getGlID()

GUIGlID GUIGlObject::getGlID ( ) const

Returns the numerical id of the object.

Returns
This object's gl-id

Definition at line 149 of file GUIGlObject.cpp.

References myGlID.

Referenced by GUIMessageWindow::appendMsg(), buildSelectionPopupEntry(), GUIBaseVehicle::drawAction_drawPersonsAndContainers(), GNEEdge::drawEdgeName(), GNEEdge::drawGeometryPoints(), GNEBusStop::drawGL(), GNEContainerStop::drawGL(), GNEChargingStation::drawGL(), GNEParkingArea::drawGL(), GNEVaporizer::drawGL(), GNERouteProbe::drawGL(), GNEDetectorE1::drawGL(), GNEDetectorE3::drawGL(), GNEDetectorEntryExit::drawGL(), GNEInternalLane::drawGL(), GNEParkingSpace::drawGL(), GNEVariableSpeedSign::drawGL(), GNEDetectorE1Instant::drawGL(), GNERerouter::drawGL(), GNEAccess::drawGL(), GUILaneSpeedTrigger::drawGL(), GUIPerson::drawGL(), GUIPolygon::drawGL(), GNECrossing::drawGL(), GUIContainer::drawGL(), GUICalibrator::drawGL(), GNEJunction::drawGL(), GUIPointOfInterest::drawGL(), GUIJunctionWrapper::drawGL(), GNECalibrator::drawGL(), GNEDetectorE2::drawGL(), GUIChargingStation::drawGL(), GNETAZ::drawGL(), GUIContainerStop::drawGL(), GUIBusStop::drawGL(), GNEConnection::drawGL(), GUIParkingArea::drawGL(), GUIEdge::drawGL(), GNELane::drawGL(), GNEStop::drawGL(), GUITriggeredRerouter::GUITriggeredRerouterEdge::drawGL(), GUILane::drawGL(), GNEPerson::drawGL(), GNEVehicle::drawGL(), GUIPerson::drawGLAdditional(), GUIContainer::drawGLAdditional(), GUIBaseVehicle::drawGLAdditional(), GUILane::drawLinkRule(), GUIBaseVehicle::drawOnPos(), GNELane::drawPartialE2DetectorPlan(), GNEEdge::drawPartialPersonPlan(), GNEEdge::drawPartialRoute(), GNEEdge::drawRerouterSymbol(), GNELane::drawVSSSymbol(), GUIMEVehicle::getColorValue(), GUIVehicle::getColorValue(), GUIJunctionWrapper::getColorValue(), GUIEdge::getColorValue(), GUIContainer::getColorValue(), GUIPerson::getColorValue(), GNEPoly::getGlID(), GNEPOI::getGlID(), GUISUMOAbstractView::getGUIGlObjectsAtPosition(), GUIEdge::getIDs(), GUISUMOAbstractView::getObjectAtPosition(), GUISUMOAbstractView::getObjectsAtPosition(), GUIShapeContainer::getPOIIds(), GUIShapeContainer::getPolygonIDs(), GUIPerson::getPopUpMenu(), GUIContainer::getPopUpMenu(), GUIBaseVehicle::getPopUpMenu(), GUIEdge::getScaleValue(), GUITransportableControl::insertPersonIDs(), GUIMEVehicleControl::insertVehicleIDs(), GUIVehicleControl::insertVehicleIDs(), GUILane::isLaneOrEdgeSelected(), GUIGlChildWindow::isSelected(), GUISelectedStorage::isSelected(), GUISUMOViewParent::isSelected(), GUIVehicle::isSelected(), GUIPerson::isSelected(), GUIEdge::isSelected(), GUILane::isSelected(), GUISelectedStorage::loadIDs(), GNEViewNet::mergeJunctions(), GUIViewTraffic::onCmdAddRerouter(), GUIGLObjectPopupMenu::onCmdAddSelected(), GUIGLObjectPopupMenu::onCmdCenter(), GUIViewTraffic::onCmdCloseEdge(), GUIViewTraffic::onCmdCloseLane(), GUIDialog_GLChosenEditor::onCmdDeselect(), GUIApplicationWindow::onCmdEditChosen(), GNESelectorFrame::SelectionOperation::onCmdLoad(), GUIGLObjectPopupMenu::onCmdRemoveSelected(), GUIViewTraffic::onCmdShowReachability(), GUIContainer::GUIContainerPopupMenu::onCmdStartTrack(), GUIPerson::GUIPersonPopupMenu::onCmdStartTrack(), GUIBaseVehicle::GUIBaseVehiclePopupMenu::onCmdStartTrack(), GUIDialog_GLObjChooser::onCmdTrack(), GUIViewTraffic::onGamingClick(), TraCIServerAPI_GUI::processSet(), GUIDialog_GLObjChooser::refreshList(), GLObjectValuePassConnector< std::pair< SUMOTime, MSPhaseDefinition > >::removeObject(), GNENetElement::selectAttributeCarrier(), GNEVehicleType::selectAttributeCarrier(), GNEStop::selectAttributeCarrier(), GNERide::selectAttributeCarrier(), GNEPersonTrip::selectAttributeCarrier(), GNEWalk::selectAttributeCarrier(), GNERoute::selectAttributeCarrier(), GNEPerson::selectAttributeCarrier(), GNEAdditional::selectAttributeCarrier(), GNEVehicle::selectAttributeCarrier(), GUIVehicle::selectBlockingFoes(), GUIPointOfInterest::setColor(), GUIPolygon::setColor(), GUIMessageWindow::setCursorPos(), GNENetElement::unselectAttributeCarrier(), GNEVehicleType::unselectAttributeCarrier(), GNEStop::unselectAttributeCarrier(), GNERide::unselectAttributeCarrier(), GNEPersonTrip::unselectAttributeCarrier(), GNEWalk::unselectAttributeCarrier(), GNERoute::unselectAttributeCarrier(), GNEPerson::unselectAttributeCarrier(), GNEAdditional::unselectAttributeCarrier(), GNEVehicle::unselectAttributeCarrier(), GUIBaseVehicle::~GUIBaseVehicle(), ~GUIGlObject(), and GUIPerson::~GUIPerson().

◆ getMicrosimID()

◆ getOptionalName()

const std::string GUIGlObject::getOptionalName ( ) const
virtual

Returns the name of the object (default "")

Reimplemented in GNEEdge, GUIBaseVehicle, GUIEdge, GUIParkingArea, GUIBusStop, GUIContainerStop, GUIChargingStation, and GUIJunctionWrapper.

Definition at line 168 of file GUIGlObject.cpp.

Referenced by GUIDialog_GLObjChooser::getObjectName().

◆ getParameterWindow()

◆ getParentName()

◆ getPopUpMenu()

◆ getType()

GUIGlObjectType GUIGlObject::getType ( ) const

Returns the type of the object as coded in GUIGlObjectType.

See also
GUIGlObjectType

Definition at line 180 of file GUIGlObject.cpp.

References myGLObjectType.

Referenced by buildSelectionPopupEntry(), GUIVehicle::drawAction_drawCarriageClass(), GUIVehicle::drawAction_drawLinkItems(), GUIBaseVehicle::drawAction_drawPersonsAndContainers(), GUIPerson::drawAction_drawWalkingareaPath(), GNECalibrator::drawCalibratorSymbol(), GNEContainerStop::drawGL(), GNEBusStop::drawGL(), GNEChargingStation::drawGL(), GNEParkingArea::drawGL(), GNEVaporizer::drawGL(), GNERouteProbe::drawGL(), GNEDetectorE1::drawGL(), GNEDetectorE3::drawGL(), GNEDetectorEntryExit::drawGL(), GNEParkingSpace::drawGL(), GNEVariableSpeedSign::drawGL(), GNEDetectorE1Instant::drawGL(), GNEAccess::drawGL(), GNERerouter::drawGL(), GUILaneSpeedTrigger::drawGL(), GUIPerson::drawGL(), GNECrossing::drawGL(), GUIContainer::drawGL(), GUICalibrator::drawGL(), GNEJunction::drawGL(), GUIJunctionWrapper::drawGL(), GNEDetectorE2::drawGL(), GUIChargingStation::drawGL(), GUIContainerStop::drawGL(), GUIBusStop::drawGL(), GNEConnection::drawGL(), GUIParkingArea::drawGL(), GNELane::drawGL(), GNEStop::drawGL(), GNEPoly::drawGL(), GNEPOI::drawGL(), GUITriggeredRerouter::GUITriggeredRerouterEdge::drawGL(), GUILane::drawGL(), GNEPerson::drawGL(), GNEVehicle::drawGL(), GUIPerson::drawGLAdditional(), GUIBaseVehicle::drawGLAdditional(), GUIBaseVehicle::drawOnPos(), GNELane::drawPartialE2DetectorPlan(), GNEEdge::drawPartialPersonPlan(), GNEEdge::drawPartialRoute(), GNEEdge::drawPartialTripFromTo(), GNEEdge::drawRerouterSymbol(), GNEJunction::drawTLSIcon(), GNELane::drawVSSSymbol(), GNEViewNet::getAttributeCarriersInBoundary(), GUIJunctionWrapper::getColorValue(), GUIEdge::getColorValue(), GNEViewNet::getConnectionAtPopupPosition(), GNEViewNet::getCrossingAtPopupPosition(), GNEViewNet::getEdgeAtPopupPosition(), GNEViewNet::getJunctionAtPopupPosition(), GNEViewNet::getLaneAtPopupPosition(), GUISUMOAbstractView::getObjectAtPosition(), GUISUMOAbstractView::getObjectsAtPosition(), GUIEdge::getScaleValue(), GUIGlChildWindow::isSelected(), GUISelectedStorage::isSelected(), GUISUMOViewParent::isSelected(), GUISelectedStorage::loadIDs(), GNEViewNet::mergeJunctions(), GUIGLObjectPopupMenu::onCmdCopyEdgeName(), GNESelectorFrame::SelectionOperation::onCmdLoad(), GNESelectorFrame::SelectionOperation::onCmdSave(), GUISUMOViewParent::onCmdSpeedFactor(), GUIDialog_GLObjChooser::onCmdTrack(), GUISUMOAbstractView::onLeftBtnPress(), GUISUMOViewParent::onUpdSpeedFactor(), GNENetElement::selectAttributeCarrier(), GNERide::selectAttributeCarrier(), GNEPersonTrip::selectAttributeCarrier(), GNEWalk::selectAttributeCarrier(), GNERoute::selectAttributeCarrier(), GNEPerson::selectAttributeCarrier(), GNEVehicle::selectAttributeCarrier(), LayeredRTree::selectLayer(), GNEJunction::setAttribute(), GUISUMOAbstractView::showToolTipFor(), GUISelectedStorage::toggleSelection(), GNENetElement::unselectAttributeCarrier(), GNERide::unselectAttributeCarrier(), GNEPersonTrip::unselectAttributeCarrier(), GNEWalk::unselectAttributeCarrier(), GNERoute::unselectAttributeCarrier(), GNEPerson::unselectAttributeCarrier(), and GNEVehicle::unselectAttributeCarrier().

◆ getTypeParameterWindow()

GUIParameterTableWindow * GUIGlObject::getTypeParameterWindow ( GUIMainWindow app,
GUISUMOAbstractView parent 
)
virtual

Returns an own type parameter window (optional)

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

Reimplemented in GUIBaseVehicle, GUIMEVehicle, GUIVehicle, GUIContainer, and GUIPerson.

Definition at line 155 of file GUIGlObject.cpp.

References UNUSED_PARAMETER.

Referenced by GUIGLObjectPopupMenu::onCmdShowTypePars().

◆ onLeftBtnPress()

virtual void GUIGlObject::onLeftBtnPress ( void *  )
inlinevirtual

notify object about left click

Reimplemented in GUITriggeredRerouter::GUITriggeredRerouterEdge.

Definition at line 165 of file GUIGlObject.h.

Referenced by GUISUMOAbstractView::onLeftBtnPress().

◆ operator=()

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

Invalidated assignment operator.

◆ removeActiveAddVisualisation()

virtual void GUIGlObject::removeActiveAddVisualisation ( GUISUMOAbstractView * const  ,
int   
)
inlinevirtual

remove additional user-griggered visualisations

Reimplemented in GUIPerson, and GUIBaseVehicle.

Definition at line 162 of file GUIGlObject.h.

◆ removedPopupMenu()

virtual void GUIGlObject::removedPopupMenu ( )
inlinevirtual

notify object about popup menu removal

Reimplemented in GUIBaseVehicle.

Definition at line 111 of file GUIGlObject.h.

Referenced by GUIGLObjectPopupMenu::~GUIGLObjectPopupMenu().

◆ removeParameterTable()

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 293 of file GUIGlObject.cpp.

References myParamWindows.

Referenced by GUIParameterTableWindow::~GUIParameterTableWindow().

◆ setMicrosimID()

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

Field Documentation

◆ GUIGlObjectTypeNamesInitializer

StringBijection< GUIGlObjectType >::Entry GUIGlObject::GUIGlObjectTypeNamesInitializer
staticprivate

LinkStates (Currently unused)

vector for TypeNames Initializer

Definition at line 277 of file GUIGlObject.h.

◆ INVALID_ID

◆ myFullName

std::string GUIGlObject::myFullName
private

full name of GL Object

Definition at line 260 of file GUIGlObject.h.

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

◆ myGlID

GUIGlID GUIGlObject::myGlID
private

The numerical id of the object.

Definition at line 251 of file GUIGlObject.h.

Referenced by getGlID(), and GUIGlObject().

◆ myGLObjectType

const GUIGlObjectType GUIGlObject::myGLObjectType
private

The type of the object.

Definition at line 254 of file GUIGlObject.h.

Referenced by createFullName(), getType(), and GUIGlObject().

◆ myMicrosimID

std::string GUIGlObject::myMicrosimID
private

ID of GL object.

Definition at line 257 of file GUIGlObject.h.

Referenced by getMicrosimID(), and setMicrosimID().

◆ myParamWindows

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

Parameter table windows which refer to this object.

Definition at line 263 of file GUIGlObject.h.

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

◆ TypeNames

StringBijection< GUIGlObjectType > GUIGlObject::TypeNames
static

associates object types with strings

Definition at line 68 of file GUIGlObject.h.

Referenced by createFullName(), and GNESelectorFrame::SelectionOperation::onCmdSave().


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