SUMO - Simulation of Urban MObility
|
#include <GUIGlObject.h>
Public Member Functions | |
virtual void | drawGLAdditional (GUISUMOAbstractView *const parent, const GUIVisualizationSettings &s) const |
Draws additional, user-triggered visualisations. | |
void | drawName (const Position &pos, const SUMOReal scale, const GUIVisualizationTextSettings &settings, const SUMOReal angle=0) const |
GUIGlObject (GUIGlObjectType type, const std::string µsimID) | |
Constructor. | |
GUIGlObject (const std::string &prefix, GUIGlObjectType type, const std::string µsimID) | |
Constructor. | |
virtual | ~GUIGlObject () |
Destructor. | |
Atomar getter methods | |
const std::string & | getFullName () const |
Returns the full name appearing in the tool tip. | |
GUIGlID | getGlID () const |
Returns the numerical id of the object. | |
interfaces to be implemented by derived classes | |
virtual GUIGLObjectPopupMenu * | getPopUpMenu (GUIMainWindow &app, GUISUMOAbstractView &parent)=0 |
Returns an own popup-menu. | |
virtual GUIParameterTableWindow * | getParameterWindow (GUIMainWindow &app, GUISUMOAbstractView &parent)=0 |
Returns an own parameter window. | |
const std::string & | getMicrosimID () const |
Returns the id of the object as known to microsim. | |
void | setMicrosimID (const std::string &newID) |
Changes the microsimID of the object (happens in NETEDIT) | |
GUIGlObjectType | getType () const |
Returns the type of the object as coded in GUIGlObjectType. | |
virtual Boundary | getCenteringBoundary () const =0 |
Returns the boundary to which the view shall be centered in order to show the object. | |
virtual void | drawGL (const GUIVisualizationSettings &s) const =0 |
Draws the object. | |
Parameter table window I/O | |
void | addParameterTable (GUIParameterTableWindow *w) |
Lets this object know a parameter window showing the object's values was opened. | |
void | removeParameterTable (GUIParameterTableWindow *w) |
Lets this object know a parameter window showing the object's values was closed. | |
Static Public Attributes | |
static StringBijection < GUIGlObjectType > | TypeNames |
associates object types with strings | |
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. | |
void | buildCenterPopupEntry (GUIGLObjectPopupMenu *ret, bool addSeparator=true) |
Builds an entry which allows to center to the object. | |
void | buildNameCopyPopupEntry (GUIGLObjectPopupMenu *ret, bool addSeparator=true) |
Builds entries which allow to copy the name / typed name into the clipboard. | |
void | buildSelectionPopupEntry (GUIGLObjectPopupMenu *ret, bool addSeparator=true) |
Builds an entry which allows to (de)select the object. | |
void | buildShowParamsPopupEntry (GUIGLObjectPopupMenu *ret, bool addSeparator=true) |
Builds an entry which allows to open the parameter window. | |
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 | buildShowManipulatorPopupEntry (GUIGLObjectPopupMenu *ret, bool addSeparator=true) |
Builds an entry which allows to open the manipulator window. | |
Private Member Functions | |
std::string | createFullName () const |
GUIGlObject (const GUIGlObject &) | |
Invalidated copy constructor. | |
GUIGlObject & | operator= (const GUIGlObject &) |
Invalidated assignment operator. | |
Private Attributes | |
std::string | myFullName |
GUIGlID | myGlID |
The numerical id of the object. | |
const GUIGlObjectType | myGLObjectType |
The type of the object. | |
std::string | myMicrosimID |
std::set < GUIParameterTableWindow * > | myParamWindows |
Parameter table windows which refer to this object. | |
std::string | myPrefix |
Static Private Attributes | |
static StringBijection < GUIGlObjectType >::Entry | GUIGlObjectTypeNamesInitializer [] |
Definition at line 71 of file GUIGlObject.h.
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 :-)
[in] | fullName | The complete name, including a type-prefix |
Definition at line 84 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.
[in] | fullName | The complete name, including a type-prefix |
Definition at line 93 of file GUIGlObject.cpp.
References createFullName(), GUIGlObjectStorage::gIDStorage, myFullName, myGlID, and GUIGlObjectStorage::registerObject().
GUIGlObject::~GUIGlObject | ( | ) | [virtual] |
Destructor.
Definition at line 103 of file GUIGlObject.cpp.
References getGlID(), GUIGlObjectStorage::gIDStorage, myParamWindows, and GUIGlObjectStorage::remove().
GUIGlObject::GUIGlObject | ( | const GUIGlObject & | ) | [private] |
Invalidated copy constructor.
Lets this object know a parameter window showing the object's values was opened.
[in] | w | The opened parameter window |
Definition at line 191 of file GUIGlObject.cpp.
References myParamWindows.
void GUIGlObject::buildCenterPopupEntry | ( | GUIGLObjectPopupMenu * | ret, |
bool | addSeparator = true |
||
) | [protected] |
Builds an entry which allows to center to the object.
in,filled] | ret The popup menu to add the entry to | |
[in] | addSeparator | Whether a separator shall be added, too |
Definition at line 129 of file GUIGlObject.cpp.
References GUIIconSubSys::getIcon(), ICON_RECENTERVIEW, and MID_CENTER.
Referenced by GUIDetectorWrapper::getPopUpMenu(), GUITrafficLightLogicWrapper::getPopUpMenu(), GUIPolygon::getPopUpMenu(), GUIPointOfInterest::getPopUpMenu(), GUITriggeredRerouter::getPopUpMenu(), GUILaneSpeedTrigger::getPopUpMenu(), GUIJunctionWrapper::getPopUpMenu(), GUILaneWrapper::getPopUpMenu(), GUIVehicle::getPopUpMenu(), GUIBusStop::getPopUpMenu(), GUIEdge::getPopUpMenu(), and GUINet::getPopUpMenu().
void GUIGlObject::buildNameCopyPopupEntry | ( | GUIGLObjectPopupMenu * | ret, |
bool | addSeparator = true |
||
) | [protected] |
Builds entries which allow to copy the name / typed name into the clipboard.
in,filled] | ret The popup menu to add the entry to | |
[in] | addSeparator | Whether a separator shall be added, too |
Definition at line 138 of file GUIGlObject.cpp.
References MID_COPY_NAME, and MID_COPY_TYPED_NAME.
Referenced by GUIDetectorWrapper::getPopUpMenu(), GUITrafficLightLogicWrapper::getPopUpMenu(), GUIPolygon::getPopUpMenu(), GUIPointOfInterest::getPopUpMenu(), GUITriggeredRerouter::getPopUpMenu(), GUILaneSpeedTrigger::getPopUpMenu(), GUIJunctionWrapper::getPopUpMenu(), GUILaneWrapper::getPopUpMenu(), GUIVehicle::getPopUpMenu(), GUIBusStop::getPopUpMenu(), and GUIEdge::getPopUpMenu().
void GUIGlObject::buildPopupHeader | ( | GUIGLObjectPopupMenu * | ret, |
GUIMainWindow & | app, | ||
bool | addSeparator = true |
||
) | [protected] |
Builds the header.
in,filled] | ret The popup menu to add the entry to | |
[in] | addSeparator | Whether a separator shall be added, too |
Definition at line 119 of file GUIGlObject.cpp.
References GUIMainWindow::getBoldFont(), and getFullName().
Referenced by GUIDetectorWrapper::getPopUpMenu(), GUITrafficLightLogicWrapper::getPopUpMenu(), GUIPolygon::getPopUpMenu(), GUIPointOfInterest::getPopUpMenu(), GUITriggeredRerouter::getPopUpMenu(), GUILaneSpeedTrigger::getPopUpMenu(), GUIJunctionWrapper::getPopUpMenu(), GUILaneWrapper::getPopUpMenu(), GUIVehicle::getPopUpMenu(), GUIBusStop::getPopUpMenu(), GUIEdge::getPopUpMenu(), and GUINet::getPopUpMenu().
void GUIGlObject::buildPositionCopyEntry | ( | GUIGLObjectPopupMenu * | ret, |
bool | addSeparator = true |
||
) | [protected] |
Builds an entry which allows to copy the cursor position if geo projection is used, also builds an entry for copying the geo-position.
in,filled] | ret The popup menu to add the entry to | |
[in] | addSeparator | Whether a separator shall be added, too |
Definition at line 170 of file GUIGlObject.cpp.
References GeoConvHelper::getFinal(), MID_COPY_CURSOR_GEOPOSITION, and MID_COPY_CURSOR_POSITION.
Referenced by GUIDetectorWrapper::getPopUpMenu(), GUITrafficLightLogicWrapper::getPopUpMenu(), GUIPolygon::getPopUpMenu(), GUIPointOfInterest::getPopUpMenu(), GUITriggeredRerouter::getPopUpMenu(), GUILaneSpeedTrigger::getPopUpMenu(), GUIJunctionWrapper::getPopUpMenu(), GUILaneWrapper::getPopUpMenu(), GUIVehicle::getPopUpMenu(), GUIBusStop::getPopUpMenu(), GUIEdge::getPopUpMenu(), and GUINet::getPopUpMenu().
void GUIGlObject::buildSelectionPopupEntry | ( | GUIGLObjectPopupMenu * | ret, |
bool | addSeparator = true |
||
) | [protected] |
Builds an entry which allows to (de)select the object.
in,filled] | ret The popup menu to add the entry to | |
[in] | addSeparator | Whether a separator shall be added, too |
Definition at line 148 of file GUIGlObject.cpp.
References getGlID(), GUIIconSubSys::getIcon(), getType(), gSelected, ICON_FLAG_MINUS, ICON_FLAG_PLUS, GUISelectedStorage::isSelected(), MID_ADDSELECT, and MID_REMOVESELECT.
Referenced by GUIDetectorWrapper::getPopUpMenu(), GUITrafficLightLogicWrapper::getPopUpMenu(), GUIPolygon::getPopUpMenu(), GUIPointOfInterest::getPopUpMenu(), GUITriggeredRerouter::getPopUpMenu(), GUILaneSpeedTrigger::getPopUpMenu(), GUIJunctionWrapper::getPopUpMenu(), GUILaneWrapper::getPopUpMenu(), GUIVehicle::getPopUpMenu(), GUIBusStop::getPopUpMenu(), and GUIEdge::getPopUpMenu().
void GUIGlObject::buildShowManipulatorPopupEntry | ( | GUIGLObjectPopupMenu * | ret, |
bool | addSeparator = true |
||
) | [protected] |
Builds an entry which allows to open the manipulator window.
in,filled] | ret The popup menu to add the entry to | |
[in] | addSeparator | Whether a separator shall be added, too |
Definition at line 182 of file GUIGlObject.cpp.
References GUIIconSubSys::getIcon(), ICON_MANIP, and MID_MANIP.
Referenced by GUITriggeredRerouter::getPopUpMenu(), and GUILaneSpeedTrigger::getPopUpMenu().
void GUIGlObject::buildShowParamsPopupEntry | ( | GUIGLObjectPopupMenu * | ret, |
bool | addSeparator = true |
||
) | [protected] |
Builds an entry which allows to open the parameter window.
in,filled] | ret The popup menu to add the entry to | |
[in] | addSeparator | Whether a separator shall be added, too |
Definition at line 161 of file GUIGlObject.cpp.
References GUIIconSubSys::getIcon(), ICON_APP_TABLE, and MID_SHOWPARS.
Referenced by GUIDetectorWrapper::getPopUpMenu(), GUILaneSpeedTrigger::getPopUpMenu(), GUILaneWrapper::getPopUpMenu(), GUIVehicle::getPopUpMenu(), GUIEdge::getPopUpMenu(), and GUINet::getPopUpMenu().
std::string GUIGlObject::createFullName | ( | ) | const [private] |
Definition at line 212 of file GUIGlObject.cpp.
References getMicrosimID(), and myPrefix.
Referenced by GUIGlObject(), setMicrosimID(), and setPrefix().
virtual void GUIGlObject::drawGL | ( | const GUIVisualizationSettings & | s | ) | const [pure virtual] |
Draws the object.
[in] | s | The settings for the current view (may influence drawing) |
Implemented in GUIInductLoop::MyWrapper, GUINet, GUIEdge, GUI_E2_ZS_Collector::MyWrapper, GUIBusStop, GUI_E2_ZS_CollectorOverLanes::MyWrapper, GUIE3Collector::MyWrapper, GUIVehicle, GUIInstantInductLoop::MyWrapper, GUILaneWrapper, GUIJunctionWrapper, GUILaneSpeedTrigger, GUITriggeredRerouter, GUIPointOfInterest, GUIPolygon, and GUITrafficLightLogicWrapper.
virtual void GUIGlObject::drawGLAdditional | ( | GUISUMOAbstractView *const | parent, |
const GUIVisualizationSettings & | s | ||
) | const [inline, virtual] |
Draws additional, user-triggered visualisations.
[in] | parent | The view |
[in] | s | The settings for the current view (may influence drawing) |
Reimplemented in GUIVehicle.
Definition at line 182 of file GUIGlObject.h.
References UNUSED_PARAMETER.
void GUIGlObject::drawName | ( | const Position & | pos, |
const SUMOReal | scale, | ||
const GUIVisualizationTextSettings & | settings, | ||
const SUMOReal | angle = 0 |
||
) | const |
Definition at line 218 of file GUIGlObject.cpp.
References GUIVisualizationTextSettings::color, GLHelper::drawText(), getMicrosimID(), GLO_MAX, GUIVisualizationTextSettings::show, and GUIVisualizationTextSettings::size.
Referenced by GUIPointOfInterest::drawGL(), GUILaneSpeedTrigger::drawGL(), GUIJunctionWrapper::drawGL(), GUIVehicle::drawGL(), GUIBusStop::drawGL(), and GUIEdge::drawGL().
virtual Boundary GUIGlObject::getCenteringBoundary | ( | ) | const [pure virtual] |
Returns the boundary to which the view shall be centered in order to show the object.
Implemented in GUIInductLoop::MyWrapper, GUINet, GUIEdge, GUI_E2_ZS_Collector::MyWrapper, GUIBusStop, GUI_E2_ZS_CollectorOverLanes::MyWrapper, GUIE3Collector::MyWrapper, GUIVehicle, GUIInstantInductLoop::MyWrapper, GUILaneWrapper, GUIJunctionWrapper, GUILaneSpeedTrigger, GUITriggeredRerouter, GUIPointOfInterest, GUIPolygon, and GUITrafficLightLogicWrapper.
Referenced by SUMORTree::addAdditionalGLObject(), GUISUMOAbstractView::centerTo(), GUI_E2_ZS_CollectorOverLanes::MyWrapper::MyWrapper(), and SUMORTree::removeAdditionalGLObject().
const std::string& GUIGlObject::getFullName | ( | ) | const [inline] |
Returns the full name appearing in the tool tip.
Definition at line 107 of file GUIGlObject.h.
References myFullName.
Referenced by buildPopupHeader(), GUIGlObject_AbstractAdd::GUIGlObject_AbstractAdd(), GUIGLObjectPopupMenu::onCmdCopyTypedName(), GUIParam_PopupMenuInterface::onCmdOpenTracker(), GUITriggeredRerouter::openManipulator(), GUILaneSpeedTrigger::openManipulator(), GUIDialog_GLChosenEditor::rebuildList(), GUISelectedStorage::save(), and GUISUMOAbstractView::showToolTipFor().
GUIGlID GUIGlObject::getGlID | ( | ) | const [inline] |
Returns the numerical id of the object.
Definition at line 115 of file GUIGlObject.h.
References myGlID.
Referenced by buildSelectionPopupEntry(), GUINet::createTLWrapper(), GUIPolygon::drawGL(), GUIPointOfInterest::drawGL(), GUITriggeredRerouter::drawGL(), GUILaneSpeedTrigger::drawGL(), GUIJunctionWrapper::drawGL(), GUILaneWrapper::drawGL(), GUIVehicle::drawGL(), GUIBusStop::drawGL(), GUIEdge::drawGL(), GUIVehicle::drawGLAdditional(), GUILaneWrapper::getColorValue(), GUIEdge::getIDs(), GUISUMOAbstractView::getObjectAtPosition(), GUIVehicle::getPopUpMenu(), GUIDialog_GLObjChooser::GUIDialog_GLObjChooser(), GUIGlChildWindow::isSelected(), GUISUMOViewParent::isSelected(), GUISelectedStorage::loadIDs(), GUIGLObjectPopupMenu::onCmdAddSelected(), GUIGLObjectPopupMenu::onCmdCenter(), GUIGLObjectPopupMenu::onCmdRemoveSelected(), GUIVehicle::GUIVehiclePopupMenu::onCmdStartTrack(), GUISUMOAbstractView::removeAdditionalGLVisualisation(), GLObjectValuePassConnector< std::pair< SUMOTime, MSPhaseDefinition > >::removeObject(), GUILaneWrapper::ROWdrawAction_drawLinkRules(), and ~GUIGlObject().
const std::string& GUIGlObject::getMicrosimID | ( | ) | const [inline] |
Returns the id of the object as known to microsim.
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] |
Returns an own parameter window.
[in] | app | The application needed to build the parameter window |
[in] | parent | The parent window needed to build the parameter window |
Implemented in GUIInductLoop::MyWrapper, GUINet, GUIEdge, GUI_E2_ZS_Collector::MyWrapper, GUIBusStop, GUI_E2_ZS_CollectorOverLanes::MyWrapper, GUIE3Collector::MyWrapper, GUIVehicle, GUIInstantInductLoop::MyWrapper, GUILaneWrapper, GUIJunctionWrapper, GUILaneSpeedTrigger, GUITriggeredRerouter, GUIPointOfInterest, GUIPolygon, and GUITrafficLightLogicWrapper.
Referenced by GUIGLObjectPopupMenu::onCmdShowPars().
virtual GUIGLObjectPopupMenu* GUIGlObject::getPopUpMenu | ( | GUIMainWindow & | app, |
GUISUMOAbstractView & | parent | ||
) | [pure virtual] |
Returns an own popup-menu.
[in] | app | The application needed to build the popup-menu |
[in] | parent | The parent window needed to build the popup-menu |
Implemented in GUINet, GUIEdge, GUIBusStop, GUIVehicle, GUILaneWrapper, GUIJunctionWrapper, GUILaneSpeedTrigger, GUITriggeredRerouter, GUIPointOfInterest, GUIPolygon, GUITrafficLightLogicWrapper, and GUIDetectorWrapper.
Referenced by GUISUMOAbstractView::openObjectDialog().
GUIGlObjectType GUIGlObject::getType | ( | ) | const [inline] |
Returns the type of the object as coded in GUIGlObjectType.
Definition at line 159 of file GUIGlObject.h.
References myGLObjectType.
Referenced by buildSelectionPopupEntry(), GUITriggeredRerouter::drawGL(), GUILaneSpeedTrigger::drawGL(), GUIJunctionWrapper::drawGL(), GUILaneWrapper::drawGL(), GUIVehicle::drawGL(), GUIBusStop::drawGL(), GUIVehicle::drawGLAdditional(), GUILaneWrapper::getColorValue(), GUISUMOAbstractView::getObjectAtPosition(), GUIGlChildWindow::isSelected(), GUISUMOViewParent::isSelected(), GUISelectedStorage::loadIDs(), and GUISelectedStorage::toggleSelection().
GUIGlObject& GUIGlObject::operator= | ( | const GUIGlObject & | ) | [private] |
Invalidated assignment operator.
Lets this object know a parameter window showing the object's values was closed.
[in] | w | The closed parameter window |
Definition at line 197 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 112 of file GUIGlObject.cpp.
References createFullName(), myFullName, and myMicrosimID.
void GUIGlObject::setPrefix | ( | const std::string & | prefix | ) | [protected] |
Definition at line 206 of file GUIGlObject.cpp.
References createFullName(), myFullName, and myPrefix.
StringBijection< GUIGlObjectType >::Entry GUIGlObject::GUIGlObjectTypeNamesInitializer [static, private] |
{ {"network", GLO_NETWORK}, {"edge", GLO_EDGE}, {"lane", GLO_LANE}, {"junction", GLO_JUNCTION}, {"tlLogic", GLO_TLLOGIC}, {"detector", GLO_DETECTOR}, {"trigger", GLO_TRIGGER}, {"shape", GLO_SHAPE}, {"vehicle", GLO_VEHICLE}, {"additional", GLO_ADDITIONAL}, {"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] |
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.