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. More... | |
void | drawName (const Position &pos, const SUMOReal scale, const GUIVisualizationTextSettings &settings, const SUMOReal angle=0) const |
GUIGlObject (GUIGlObjectType type, const std::string µsimID) | |
Constructor. More... | |
GUIGlObject (const std::string &prefix, GUIGlObjectType type, const std::string µsimID) | |
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 GUIGLObjectPopupMenu * | getPopUpMenu (GUIMainWindow &app, GUISUMOAbstractView &parent)=0 |
Returns an own popup-menu. More... | |
virtual GUIParameterTableWindow * | getParameterWindow (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 < 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... | |
Private Member Functions | |
std::string | createFullName () const |
GUIGlObject (const GUIGlObject &) | |
Invalidated copy constructor. More... | |
GUIGlObject & | operator= (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 [] |
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 80 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 89 of file GUIGlObject.cpp.
References createFullName(), GUIGlObjectStorage::gIDStorage, myFullName, myGlID, and GUIGlObjectStorage::registerObject().
|
virtual |
Destructor.
Definition at line 99 of file GUIGlObject.cpp.
References getGlID(), GUIGlObjectStorage::gIDStorage, myParamWindows, and GUIGlObjectStorage::remove().
|
private |
Invalidated copy constructor.
void GUIGlObject::addParameterTable | ( | GUIParameterTableWindow * | w | ) |
Lets this object know a parameter window showing the object's values was opened.
[in] | w | The opened parameter window |
Definition at line 187 of file GUIGlObject.cpp.
References myParamWindows.
|
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 125 of file GUIGlObject.cpp.
References GUIIconSubSys::getIcon(), ICON_RECENTERVIEW, and MID_CENTER.
Referenced by GUIDetectorWrapper::getPopUpMenu(), GUITrafficLightLogicWrapper::getPopUpMenu(), GUIPolygon::getPopUpMenu(), GUIPerson::getPopUpMenu(), GUILaneSpeedTrigger::getPopUpMenu(), GUICalibrator::getPopUpMenu(), GUIPointOfInterest::getPopUpMenu(), GUITriggeredRerouter::getPopUpMenu(), GUIJunctionWrapper::getPopUpMenu(), GUIVehicle::getPopUpMenu(), GUIBusStop::getPopUpMenu(), GUIEdge::getPopUpMenu(), GUINet::getPopUpMenu(), and GUILane::getPopUpMenu().
|
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 134 of file GUIGlObject.cpp.
References MID_COPY_NAME, and MID_COPY_TYPED_NAME.
Referenced by GUIDetectorWrapper::getPopUpMenu(), GUITrafficLightLogicWrapper::getPopUpMenu(), GUIPolygon::getPopUpMenu(), GUIPerson::getPopUpMenu(), GUILaneSpeedTrigger::getPopUpMenu(), GUICalibrator::getPopUpMenu(), GUIPointOfInterest::getPopUpMenu(), GUITriggeredRerouter::getPopUpMenu(), GUIJunctionWrapper::getPopUpMenu(), GUIVehicle::getPopUpMenu(), GUIBusStop::getPopUpMenu(), GUIEdge::getPopUpMenu(), and GUILane::getPopUpMenu().
|
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 115 of file GUIGlObject.cpp.
References GUIMainWindow::getBoldFont(), and getFullName().
Referenced by GUIDetectorWrapper::getPopUpMenu(), GUITrafficLightLogicWrapper::getPopUpMenu(), GUIPolygon::getPopUpMenu(), GUIPerson::getPopUpMenu(), GUILaneSpeedTrigger::getPopUpMenu(), GUICalibrator::getPopUpMenu(), GUIPointOfInterest::getPopUpMenu(), GUITriggeredRerouter::getPopUpMenu(), GUIJunctionWrapper::getPopUpMenu(), GUIVehicle::getPopUpMenu(), GUIBusStop::getPopUpMenu(), GUIEdge::getPopUpMenu(), GUINet::getPopUpMenu(), and GUILane::getPopUpMenu().
|
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 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(), GUIPerson::getPopUpMenu(), GUILaneSpeedTrigger::getPopUpMenu(), GUICalibrator::getPopUpMenu(), GUIPointOfInterest::getPopUpMenu(), GUITriggeredRerouter::getPopUpMenu(), GUIJunctionWrapper::getPopUpMenu(), GUIVehicle::getPopUpMenu(), GUIBusStop::getPopUpMenu(), GUIEdge::getPopUpMenu(), GUINet::getPopUpMenu(), and GUILane::getPopUpMenu().
|
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 144 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(), GUIPerson::getPopUpMenu(), GUILaneSpeedTrigger::getPopUpMenu(), GUICalibrator::getPopUpMenu(), GUIPointOfInterest::getPopUpMenu(), GUITriggeredRerouter::getPopUpMenu(), GUIJunctionWrapper::getPopUpMenu(), GUIVehicle::getPopUpMenu(), GUIBusStop::getPopUpMenu(), GUIEdge::getPopUpMenu(), and GUILane::getPopUpMenu().
|
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 178 of file GUIGlObject.cpp.
References GUIIconSubSys::getIcon(), ICON_MANIP, and MID_MANIP.
Referenced by GUILaneSpeedTrigger::getPopUpMenu(), and GUITriggeredRerouter::getPopUpMenu().
|
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 157 of file GUIGlObject.cpp.
References GUIIconSubSys::getIcon(), ICON_APP_TABLE, and MID_SHOWPARS.
Referenced by GUIDetectorWrapper::getPopUpMenu(), GUIPerson::getPopUpMenu(), GUILaneSpeedTrigger::getPopUpMenu(), GUICalibrator::getPopUpMenu(), GUIVehicle::getPopUpMenu(), GUIBusStop::getPopUpMenu(), GUIEdge::getPopUpMenu(), GUINet::getPopUpMenu(), and GUILane::getPopUpMenu().
|
private |
Definition at line 208 of file GUIGlObject.cpp.
References getMicrosimID(), and myPrefix.
Referenced by GUIGlObject(), setMicrosimID(), and setPrefix().
|
pure virtual |
Draws the object.
[in] | s | The settings for the current view (may influence drawing) |
Implemented in GUILane, GUIInductLoop::MyWrapper, GUITriggeredRerouter::GUITriggeredRerouterEdge, GUINet, GUIEdge, GUI_E2_ZS_Collector::MyWrapper, GUIBusStop, GUIE3Collector::MyWrapper, GUI_E2_ZS_CollectorOverLanes::MyWrapper, GUIVehicle, GUIJunctionWrapper, GUITriggeredRerouter, GUIPointOfInterest, GUICalibrator, GUIInstantInductLoop::MyWrapper, GUILaneSpeedTrigger, GUIPerson, GUIPolygon, and GUITrafficLightLogicWrapper.
|
inlinevirtual |
Draws additional, user-triggered visualisations.
[in] | parent | The view |
[in] | s | The settings for the current view (may influence drawing) |
Reimplemented in GUIVehicle, and GUIPerson.
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 214 of file GUIGlObject.cpp.
References GUIVisualizationTextSettings::color, GLHelper::drawText(), getMicrosimID(), GLO_MAX, GUIVisualizationTextSettings::show, and GUIVisualizationTextSettings::size.
Referenced by GUIPerson::drawGL(), GUIPolygon::drawGL(), GUILaneSpeedTrigger::drawGL(), GUICalibrator::drawGL(), GUIPointOfInterest::drawGL(), GUIJunctionWrapper::drawGL(), GUIVehicle::drawGL(), GUIBusStop::drawGL(), and GUIEdge::drawGL().
|
pure virtual |
Returns the boundary to which the view shall be centered in order to show the object.
Implemented in GUILane, GUIInductLoop::MyWrapper, GUITriggeredRerouter::GUITriggeredRerouterEdge, GUINet, GUIEdge, GUI_E2_ZS_Collector::MyWrapper, GUIBusStop, GUIE3Collector::MyWrapper, GUI_E2_ZS_CollectorOverLanes::MyWrapper, GUIVehicle, GUIJunctionWrapper, GUITriggeredRerouter, GUIPointOfInterest, GUICalibrator, GUIInstantInductLoop::MyWrapper, GUILaneSpeedTrigger, GUIPerson, GUIPolygon, and GUITrafficLightLogicWrapper.
Referenced by SUMORTree::addAdditionalGLObject(), GUISUMOAbstractView::centerTo(), GUI_E2_ZS_CollectorOverLanes::MyWrapper::MyWrapper(), and SUMORTree::removeAdditionalGLObject().
|
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(), GUILaneSpeedTrigger::openManipulator(), GUICalibrator::openManipulator(), GUITriggeredRerouter::openManipulator(), GUIDialog_GLChosenEditor::rebuildList(), GUIGlObject_AbstractAdd::remove(), GUISelectedStorage::save(), and GUISUMOAbstractView::showToolTipFor().
|
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(), GUIPerson::drawGL(), GUILaneSpeedTrigger::drawGL(), GUICalibrator::drawGL(), GUIPointOfInterest::drawGL(), GUIJunctionWrapper::drawGL(), GUIVehicle::drawGL(), GUIBusStop::drawGL(), GUIEdge::drawGL(), GUITriggeredRerouter::GUITriggeredRerouterEdge::drawGL(), GUILane::drawGL(), GUIPerson::drawGLAdditional(), GUIVehicle::drawGLAdditional(), GUILane::drawLinkRule(), GUIPerson::getColorValue(), GUILane::getColorValue(), GUIVehicle::getColorValue(), GUIEdge::getIDs(), GUISUMOAbstractView::getObjectAtPosition(), GUISUMOAbstractView::getObjectsAtPosition(), GUIVehicle::getPopUpMenu(), 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< int, MSPhaseDefinition > >::removeObject(), GUIVehicle::selectBlockingFoes(), and ~GUIGlObject().
|
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().
|
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 GUILane, GUIInductLoop::MyWrapper, GUITriggeredRerouter::GUITriggeredRerouterEdge, GUINet, GUIEdge, GUI_E2_ZS_Collector::MyWrapper, GUIBusStop, GUIE3Collector::MyWrapper, GUIVehicle, GUI_E2_ZS_CollectorOverLanes::MyWrapper, GUIJunctionWrapper, GUITriggeredRerouter, GUIPointOfInterest, GUICalibrator, GUIInstantInductLoop::MyWrapper, GUILaneSpeedTrigger, GUIPerson, GUIPolygon, and GUITrafficLightLogicWrapper.
Referenced by GUIGLObjectPopupMenu::onCmdShowPars().
|
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 GUILane, GUITriggeredRerouter::GUITriggeredRerouterEdge, GUINet, GUIEdge, GUIBusStop, GUIVehicle, GUIJunctionWrapper, GUITriggeredRerouter, GUIPointOfInterest, GUICalibrator, GUILaneSpeedTrigger, GUIPerson, GUIPolygon, GUITrafficLightLogicWrapper, and GUIDetectorWrapper.
Referenced by GUISUMOAbstractView::openObjectDialog().
|
inline |
Returns the type of the object as coded in GUIGlObjectType.
Definition at line 159 of file GUIGlObject.h.
References myGLObjectType.
Referenced by buildSelectionPopupEntry(), GUIVehicle::drawAction_drawRailCarriages(), GUIPerson::drawGL(), GUILaneSpeedTrigger::drawGL(), GUICalibrator::drawGL(), GUIJunctionWrapper::drawGL(), GUIVehicle::drawGL(), GUIBusStop::drawGL(), GUITriggeredRerouter::GUITriggeredRerouterEdge::drawGL(), GUILane::drawGL(), GUIVehicle::drawGLAdditional(), GUILane::getColorValue(), GUISUMOAbstractView::getObjectAtPosition(), GUISUMOAbstractView::getObjectsAtPosition(), GUIGlChildWindow::isSelected(), GUISUMOViewParent::isSelected(), GUISelectedStorage::loadIDs(), LayeredRTree::selectLayer(), and GUISelectedStorage::toggleSelection().
|
private |
Invalidated assignment operator.
void GUIGlObject::removeParameterTable | ( | GUIParameterTableWindow * | w | ) |
Lets this object know a parameter window showing the object's values was closed.
[in] | w | The closed parameter window |
Definition at line 193 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 108 of file GUIGlObject.cpp.
References createFullName(), myFullName, and myMicrosimID.
|
protected |
Definition at line 202 of file GUIGlObject.cpp.
References createFullName(), myFullName, and myPrefix.
|
staticprivate |
Definition at line 300 of file GUIGlObject.h.
|
private |
Definition at line 287 of file GUIGlObject.h.
Referenced by getFullName(), GUIGlObject(), setMicrosimID(), and setPrefix().
|
private |
The numerical id of the object.
Definition at line 278 of file GUIGlObject.h.
Referenced by getGlID(), and GUIGlObject().
|
private |
|
private |
Definition at line 283 of file GUIGlObject.h.
Referenced by getMicrosimID(), and setMicrosimID().
|
private |
Parameter table windows which refer to this object.
Definition at line 290 of file GUIGlObject.h.
Referenced by addParameterTable(), removeParameterTable(), and ~GUIGlObject().
|
private |
Definition at line 285 of file GUIGlObject.h.
Referenced by createFullName(), and setPrefix().
|
static |
associates object types with strings
Definition at line 99 of file GUIGlObject.h.