![]() |
Eclipse SUMO - Simulation of Urban MObility
|
An special type of Attribute carrier that owns hierarchical elements. More...
#include <GNEHierarchicalChildElements.h>
Data Structures | |
| class | ChildConnections |
| class to pack all variables and functions relative to connections between hierarchical element and their children More... | |
Public Member Functions | |
| template<typename T > | |
| void | addChildElement (T *element) |
| add child More... | |
| template<> | |
| void | addChildElement (GNEEdge *edge) |
| template<> | |
| void | addChildElement (GNELane *lane) |
| template<> | |
| void | addChildElement (GNEAdditional *additional) |
| template<> | |
| void | addChildElement (GNEShape *shape) |
| template<> | |
| void | addChildElement (GNETAZElement *TAZElement) |
| template<> | |
| void | addChildElement (GNEDemandElement *demandElement) |
| template<> | |
| void | addChildElement (GNEGenericData *genericDataElement) |
| bool | checkChildAdditionalsOverlapping () const |
| check if children are overlapped (Used by Rerouters) More... | |
| bool | checkChildDemandElementsOverlapping () const |
| check if childs demand elements are overlapped More... | |
| void | drawChildConnections (const GUIVisualizationSettings &s, const GUIGlObjectType GLTypeParent, const double exaggeration) const |
| Draw connections between parent and children. More... | |
| void | drawChildDottedConnections (const GUIVisualizationSettings &s, const double exaggeration) const |
| Draw dotted connections between parent and children. More... | |
| const std::vector< GNEAdditional * > & | getChildAdditionals () const |
| return child additionals More... | |
| const std::vector< GNEDemandElement * > & | getChildDemandElements () const |
| return child demand elements More... | |
| const std::vector< GNEDemandElement * > & | getChildDemandElementsByType (SumoXMLTag tag) const |
| return child demand elements by type More... | |
| const std::vector< GNEEdge * > & | getChildEdges () const |
| get child edges More... | |
| const std::vector< GNEGenericData * > & | getChildGenericDatas () const |
| return child generic data elements More... | |
| const std::vector< GNELane * > & | getChildLanes () const |
| get child lanes More... | |
| const Position & | getChildPosition (const GNELane *lane) |
| get child position calculated in ChildConnections More... | |
| double | getChildRotation (const GNELane *lane) |
| get child rotation calculated in ChildConnections More... | |
| const std::vector< GNEShape * > & | getChildShapes () const |
| get child shapes More... | |
| const std::vector< GNETAZElement * > & | getChildTAZElements () const |
| get child TAZElements More... | |
| GNEDemandElement * | getNextChildDemandElement (const GNEDemandElement *demandElement) const |
| get next child demand element to the given demand element More... | |
| GNEDemandElement * | getPreviousChildDemandElement (const GNEDemandElement *demandElement) const |
| get previous child demand element to the given demand element More... | |
| GNEHierarchicalChildElements (const GNEAttributeCarrier *AC, const std::vector< GNEJunction *> &childJunctions, const std::vector< GNEEdge *> &childEdges, const std::vector< GNELane *> &childLanes, const std::vector< GNEAdditional *> &childAdditionals, const std::vector< GNEShape *> &childShapes, const std::vector< GNETAZElement *> &childTAZElements, const std::vector< GNEDemandElement *> &childDemandElements, const std::vector< GNEGenericData *> &childGenericDataElements) | |
| Parameter Constructor. More... | |
| template<typename T > | |
| void | removeChildElement (T *element) |
| remove child More... | |
| template<> | |
| void | removeChildElement (GNEEdge *edge) |
| template<> | |
| void | removeChildElement (GNELane *lane) |
| template<> | |
| void | removeChildElement (GNEAdditional *additional) |
| template<> | |
| void | removeChildElement (GNEShape *shape) |
| template<> | |
| void | removeChildElement (GNETAZElement *TAZElement) |
| template<> | |
| void | removeChildElement (GNEDemandElement *demandElement) |
| template<> | |
| void | removeChildElement (GNEGenericData *genericDataElement) |
| void | sortChildAdditionals () |
| sort child additionals (used by Rerouters, VSS, TAZs...) More... | |
| void | sortChildDemandElements () |
| sort child demand elements More... | |
| void | updateChildConnections () |
| update child connections More... | |
| virtual void | updateParentAdditional () |
| update parent after add or remove a child (can be reimplemented, for example used for statistics) More... | |
| virtual void | updateParentDemandElement () |
| update parent after add or remove a child (can be reimplemented, for example used for statistics) More... | |
| ~GNEHierarchicalChildElements () | |
| Destructor. More... | |
Functions related with geometry of element | |
update pre-computed geometry information | |
| virtual void | updateGeometry ()=0 |
| virtual Position | getPositionInView () const =0 |
| Returns position of hierarchical element in view. More... | |
Protected Member Functions | |
| void | changeChildEdges (GNEAdditional *elementChild, const std::string &newEdgeIDs) |
| change child edges of an additional More... | |
| void | changeChildLanes (GNEAdditional *elementChild, const std::string &newEdgeIDs) |
| change child edges of an additional More... | |
Protected Attributes | |
| ChildConnections | myChildConnections |
| variable ChildConnections More... | |
Private Member Functions | |
| GNEHierarchicalChildElements (const GNEHierarchicalChildElements &)=delete | |
| Invalidated copy constructor. More... | |
| GNEHierarchicalChildElements & | operator= (const GNEHierarchicalChildElements &)=delete |
| Invalidated assignment operator. More... | |
Private Attributes | |
| const GNEAttributeCarrier * | myAC |
| pointer to AC (needed to avoid diamond problem) More... | |
| std::vector< GNEAdditional * > | myChildAdditionals |
| vector with the child additionas More... | |
| std::vector< GNEDemandElement * > | myChildDemandElements |
| vector with the demand elements children More... | |
| std::vector< GNEEdge * > | myChildEdges |
| vector with the child edges More... | |
| std::vector< GNEGenericData * > | myChildGenericDataElements |
| vector with the generic data elements children More... | |
| std::vector< GNEJunction * > | myChildJunctions |
| vector with the child junctions More... | |
| std::vector< GNELane * > | myChildLanes |
| vector with the child lanes More... | |
| std::vector< GNEShape * > | myChildShapes |
| vector with the child lanes More... | |
| std::vector< GNETAZElement * > | myChildTAZElements |
| vector with the child TAZ Elements More... | |
| std::map< SumoXMLTag, std::vector< GNEDemandElement *> > | myDemandElementsByType |
| vector with the demand elements children sorted by type and filtered (to avoid duplicated More... | |
Friends | |
| class | GNEChange_Children |
| declare GNEChange_Children as friend class More... | |
An special type of Attribute carrier that owns hierarchical elements.
Definition at line 45 of file GNEHierarchicalChildElements.h.
| GNEHierarchicalChildElements::GNEHierarchicalChildElements | ( | const GNEAttributeCarrier * | AC, |
| const std::vector< GNEJunction *> & | childJunctions, | ||
| const std::vector< GNEEdge *> & | childEdges, | ||
| const std::vector< GNELane *> & | childLanes, | ||
| const std::vector< GNEAdditional *> & | childAdditionals, | ||
| const std::vector< GNEShape *> & | childShapes, | ||
| const std::vector< GNETAZElement *> & | childTAZElements, | ||
| const std::vector< GNEDemandElement *> & | childDemandElements, | ||
| const std::vector< GNEGenericData *> & | childGenericDataElements | ||
| ) |
Parameter Constructor.
| [in] | AC | Attribute carrier |
| [in] | childJunctions | vector of child junctions |
| [in] | childEdges | vector of child edges |
| [in] | childLanes | vector of child lanes |
| [in] | childAdditionals | vector of child additional |
| [in] | childShapes | vector of child shapes |
| [in] | childTAZElements | vector of child TAZs |
| [in] | childDemandElements | vector of child demand elements |
| [in] | childGenericDataElements | vector of child generic data elements |
Definition at line 40 of file GNEHierarchicalChildElements.cpp.
References GNEAttributeCarrier::allowedTagsByCategory(), and myDemandElementsByType.
| GNEHierarchicalChildElements::~GNEHierarchicalChildElements | ( | ) |
Destructor.
Definition at line 67 of file GNEHierarchicalChildElements.cpp.
|
privatedelete |
Invalidated copy constructor.
| void GNEHierarchicalChildElements::addChildElement | ( | T * | element | ) |
add child
Referenced by GNENetHelper::AttributeCarriers::addPOI(), GNEAdditionalHandler::buildAccess(), GNEAdditionalHandler::buildBusStop(), GNEAdditionalHandler::buildCalibrator(), GNEAdditionalHandler::buildCalibratorFlow(), GNEAdditionalHandler::buildChargingStation(), GNEAdditionalHandler::buildClosingLaneReroute(), GNEAdditionalHandler::buildClosingReroute(), GNEAdditionalHandler::buildContainerStop(), GNEAdditionalHandler::buildDetectorE1(), GNEAdditionalHandler::buildDetectorE1Instant(), GNEAdditionalHandler::buildDetectorEntry(), GNEAdditionalHandler::buildDetectorExit(), GNEDataHandler::buildEdgeData(), GNEDataHandler::buildEdgeRelationData(), GNEAdditionalHandler::builDestProbReroute(), GNERouteHandler::buildFlow(), GNERouteHandler::buildFlowEmbeddedRoute(), GNERouteHandler::buildFlowOverRoute(), GNEAdditionalHandler::buildMultiLaneDetectorE2(), GNEAdditionalHandler::buildParkingArea(), GNEAdditionalHandler::buildParkingSpace(), GNERouteHandler::buildPerson(), GNERouteHandler::buildPersonFlow(), GNERouteHandler::buildPersonStop(), GNERouteHandler::buildPersonTrip(), GNEAdditionalHandler::buildRerouterInterval(), GNERouteHandler::buildRide(), GNEAdditionalHandler::buildRouteProbe(), GNEAdditionalHandler::buildRouteProbReroute(), GNEAdditionalHandler::buildSingleLaneDetectorE2(), GNERouteHandler::buildStop(), GNEAdditionalHandler::buildTAZ(), GNEDataHandler::buildTAZRelationData(), GNERouteHandler::buildTrip(), GNEAdditionalHandler::buildVaporizer(), GNEAdditionalHandler::buildVariableSpeedSignStep(), GNERouteHandler::buildVehicleEmbeddedRoute(), GNERouteHandler::buildVehicleOverRoute(), GNERouteHandler::buildWalk(), GNEAdditionalHandler::builParkingAreaReroute(), and GNERouteHandler::closeRoute().
| void GNEHierarchicalChildElements::addChildElement | ( | GNEEdge * | edge | ) |
Definition at line 117 of file GNEHierarchicalChildElements.cpp.
References GNEAttributeCarrier::getID(), GNEAttributeCarrier::getTagStr(), myAC, and myChildEdges.
| void GNEHierarchicalChildElements::addChildElement | ( | GNELane * | lane | ) |
Definition at line 128 of file GNEHierarchicalChildElements.cpp.
References GNEAttributeCarrier::getID(), GNEAttributeCarrier::getTagStr(), myAC, myChildConnections, myChildLanes, and GNEHierarchicalChildElements::ChildConnections::update().
| void GNEHierarchicalChildElements::addChildElement | ( | GNEAdditional * | additional | ) |
Definition at line 141 of file GNEHierarchicalChildElements.cpp.
References GNETagProperties::canAutomaticSortChildren(), GNEAttributeCarrier::getID(), GNEAttributeCarrier::getTagProperty(), GNEAttributeCarrier::getTagStr(), myAC, myChildAdditionals, sortChildAdditionals(), and updateParentAdditional().
| void GNEHierarchicalChildElements::addChildElement | ( | GNEShape * | shape | ) |
Definition at line 159 of file GNEHierarchicalChildElements.cpp.
References GNEAttributeCarrier::getID(), GNEAttributeCarrier::getTagStr(), myAC, myChildConnections, myChildShapes, and GNEHierarchicalChildElements::ChildConnections::update().
| void GNEHierarchicalChildElements::addChildElement | ( | GNETAZElement * | TAZElement | ) |
Definition at line 174 of file GNEHierarchicalChildElements.cpp.
References GNEAttributeCarrier::getID(), GNEAttributeCarrier::getTagStr(), myAC, myChildConnections, myChildTAZElements, and GNEHierarchicalChildElements::ChildConnections::update().
| void GNEHierarchicalChildElements::addChildElement | ( | GNEDemandElement * | demandElement | ) |
Definition at line 189 of file GNEHierarchicalChildElements.cpp.
References GNETagProperties::canAutomaticSortChildren(), GNEAttributeCarrier::getID(), GNETagProperties::getTag(), GNEAttributeCarrier::getTagProperty(), GNEAttributeCarrier::getTagStr(), myAC, myChildDemandElements, myDemandElementsByType, and sortChildDemandElements().
| void GNEHierarchicalChildElements::addChildElement | ( | GNEGenericData * | genericDataElement | ) |
Definition at line 206 of file GNEHierarchicalChildElements.cpp.
References GNEAttributeCarrier::getID(), GNEAttributeCarrier::getTagStr(), myAC, and myChildGenericDataElements.
|
protected |
change child edges of an additional
Definition at line 549 of file GNEHierarchicalChildElements.cpp.
References GNEAttributeCarrier::getNet(), myChildConnections, myChildEdges, and GNEHierarchicalChildElements::ChildConnections::update().
Referenced by GNERerouter::setAttribute().
|
protected |
change child edges of an additional
Definition at line 566 of file GNEHierarchicalChildElements.cpp.
References GNEAttributeCarrier::getNet(), myChildConnections, myChildLanes, and GNEHierarchicalChildElements::ChildConnections::update().
Referenced by GNEVariableSpeedSign::setAttribute().
| bool GNEHierarchicalChildElements::checkChildAdditionalsOverlapping | ( | ) | const |
check if children are overlapped (Used by Rerouters)
Definition at line 449 of file GNEHierarchicalChildElements.cpp.
References GNEAdditional::getAttributeDouble(), myChildAdditionals, SUMO_ATTR_BEGIN, SUMO_ATTR_END, and SUMO_ATTR_TIME.
Referenced by GNERerouterDialog::onCmdAccept().
| bool GNEHierarchicalChildElements::checkChildDemandElementsOverlapping | ( | ) | const |
check if childs demand elements are overlapped
Definition at line 502 of file GNEHierarchicalChildElements.cpp.
| void GNEHierarchicalChildElements::drawChildConnections | ( | const GUIVisualizationSettings & | s, |
| const GUIGlObjectType | GLTypeParent, | ||
| const double | exaggeration | ||
| ) | const |
Draw connections between parent and children.
Definition at line 99 of file GNEHierarchicalChildElements.cpp.
References GNEHierarchicalChildElements::ChildConnections::drawConnection(), GUIVisualizationSettings::drawForRectangleSelection, and myChildConnections.
Referenced by GNEDetectorE3::drawGL(), GNEVariableSpeedSign::drawGL(), GNERerouter::drawGL(), GNEEdge::drawRerouterSymbol(), and GNELane::drawVSSSymbol().
| void GNEHierarchicalChildElements::drawChildDottedConnections | ( | const GUIVisualizationSettings & | s, |
| const double | exaggeration | ||
| ) | const |
Draw dotted connections between parent and children.
Definition at line 108 of file GNEHierarchicalChildElements.cpp.
References GNEHierarchicalChildElements::ChildConnections::drawDottedConnection(), GUIVisualizationSettings::drawForRectangleSelection, and myChildConnections.
Referenced by GNEDetectorE3::drawGL(), GNEVariableSpeedSign::drawGL(), and GNERerouter::drawGL().
| const std::vector< GNEAdditional * > & GNEHierarchicalChildElements::getChildAdditionals | ( | ) | const |
return child additionals
Definition at line 341 of file GNEHierarchicalChildElements.cpp.
References myChildAdditionals.
Referenced by GNEAdditionalHandler::accessCanBeCreated(), GNEEdge::addConnection(), GNENetHelper::PathCalculator::busStopConnected(), GNEDetectorE3::checkChildAdditionalRestriction(), GNEAdditionalHandler::checkOverlappingRerouterIntervals(), GNENet::deleteAdditional(), GNENet::deleteEdge(), GNENet::deleteLane(), GNELane::drawChildren(), GNEBusStop::drawConnectionAccess(), GNEEdge::drawGL(), GNEEdge::endEdgeGeometryMoving(), GNELane::endGeometryMoving(), GNEAdditional::generateAdditionalChildID(), GNETAZ::getAttribute(), GNEEdge::getRouteProbeRelativePosition(), GNEVariableSpeedSignStep::GNEVariableSpeedSignStep(), GNEAdditionalHandler::myEndElement(), GNECalibratorDialog::onCmdClickedFlow(), GNERerouterDialog::onCmdClickedInterval(), GNECalibratorDialog::onCmdClickedRoute(), GNEVariableSpeedSignDialog::onCmdClickedStep(), GNECalibratorDialog::onCmdClickedVehicleType(), GNEVariableSpeedSignDialog::onCmdEditStep(), GNEEdge::removeConnection(), GNENet::replaceIncomingEdge(), GNEEdge::retrieveGNEConnection(), GNEBusStop::setAttribute(), GNEParkingArea::setAttribute(), GNEDetectorE3::setAttribute(), GNERerouterInterval::setAttribute(), GNEVariableSpeedSign::setAttribute(), GNERerouter::setAttribute(), GNEFrameModuls::AttributeCarrierHierarchy::showAttributeCarrierChildren(), GNENet::splitEdge(), GNEEdge::startEdgeGeometryMoving(), GNELane::startGeometryMoving(), GNEDeleteFrame::SubordinatedElements::SubordinatedElements(), GNECalibratorDialog::updateFlowTable(), GNEEdge::updateGeometry(), GNELane::updateGeometry(), GNERerouterDialog::updateIntervalTable(), GNETAZ::updateParentAdditional(), GNETAZFrame::TAZCommonStatistics::updateStatistics(), GNEVariableSpeedSignDialog::updateTableSteps(), and GNEAdditional::writeAdditional().
| const std::vector< GNEDemandElement * > & GNEHierarchicalChildElements::getChildDemandElements | ( | ) | const |
return child demand elements
Definition at line 359 of file GNEHierarchicalChildElements.cpp.
References myChildDemandElements.
Referenced by GNENet::deleteAdditional(), GNENet::deleteDemandElement(), GNENet::deleteEdge(), GNENet::deleteGenericData(), GNENet::deleteLane(), GNENet::deleteTAZElement(), GNELane::drawChildren(), GNEBusStop::drawGL(), GNEChargingStation::drawGL(), GNEContainerStop::drawGL(), GNEParkingArea::drawGL(), GNEPersonStop::drawGL(), GNEStop::drawGL(), GNEEdge::drawGL(), GNEPerson::drawGL(), GNEJunction::drawJunctionChildren(), GNEDemandElement::drawPersonPlanPartialLane(), GNEEdge::endEdgeGeometryMoving(), GNELane::endGeometryMoving(), GNEAdditional::endGeometryMoving(), GNEPerson::getCenteringBoundary(), GNEVehicle::getDemandElementProblem(), GNEDemandElement::getFirstAllowedVehicleLane(), GNEFrameModuls::DemandElementSelector::getPersonPlanPreviousEdge(), GNEPerson::getPositionInView(), GNEEdge::getVehiclesOverEdgeMap(), GNEVehicle::isDemandElementValid(), GNEPersonTypeFrame::PersonTypeEditor::onCmdDeletePersonType(), GNEVehicleTypeFrame::VehicleTypeEditor::onCmdDeleteVehicleType(), GNEConnectorFrame::ConnectionModifications::onCmdSaveModifications(), GNEDeleteFrame::removeAttributeCarrier(), GNENet::replaceIncomingEdge(), GNEVehicle::setAttribute(), GNEFrameModuls::AttributeCarrierHierarchy::showAttributeCarrierChildren(), GNEViewNetHelper::DemandViewOptions::showNonInspectedDemandElements(), GNENet::splitEdge(), GNEEdge::startEdgeGeometryMoving(), GNELane::startGeometryMoving(), GNEAdditional::startGeometryMoving(), GNEDeleteFrame::SubordinatedElements::SubordinatedElements(), GNERouteHandler::transformToFlow(), GNERouteHandler::transformToRouteFlow(), GNERouteHandler::transformToTrip(), GNERouteHandler::transformToVehicle(), GNENetHelper::AttributeCarriers::updateDemandElementID(), GNEBusStop::updateGeometry(), GNEEdge::updateGeometry(), GNEVehicleType::updateGeometry(), GNELane::updateGeometry(), GNEPersonTrip::updateGeometry(), GNERide::updateGeometry(), GNERoute::updateGeometry(), GNEWalk::updateGeometry(), GNEPerson::updateGeometry(), GNEVehicle::updateGeometry(), GNEDemandElement::updatePartialGeometry(), GNERoute::writeDemandElement(), GNEPerson::writeDemandElement(), and GNEVehicle::writeDemandElement().
| const std::vector< GNEDemandElement * > & GNEHierarchicalChildElements::getChildDemandElementsByType | ( | SumoXMLTag | tag | ) | const |
return child demand elements by type
Definition at line 490 of file GNEHierarchicalChildElements.cpp.
References myDemandElementsByType.
Referenced by GNEFrameModuls::AttributeCarrierHierarchy::showAttributeCarrierChildren().
| const std::vector< GNEEdge * > & GNEHierarchicalChildElements::getChildEdges | ( | ) | const |
get child edges
Definition at line 329 of file GNEHierarchicalChildElements.cpp.
References myChildEdges.
Referenced by GNERerouter::getAttribute(), and GNEFrameModuls::AttributeCarrierHierarchy::showAttributeCarrierChildren().
| const std::vector< GNEGenericData * > & GNEHierarchicalChildElements::getChildGenericDatas | ( | ) | const |
return child generic data elements
Definition at line 365 of file GNEHierarchicalChildElements.cpp.
References myChildGenericDataElements.
Referenced by GNENet::deleteAdditional(), GNENet::deleteDemandElement(), GNENet::deleteEdge(), GNENet::deleteGenericData(), GNENet::deleteLane(), GNENet::deleteTAZElement(), GNETAZ::drawGL(), GNENet::replaceIncomingEdge(), GNEFrameModuls::AttributeCarrierHierarchy::showAttributeCarrierChildren(), GNEDeleteFrame::SubordinatedElements::SubordinatedElements(), GNEEdge::updateGeometry(), and GNELane::updateGeometry().
| const std::vector< GNELane * > & GNEHierarchicalChildElements::getChildLanes | ( | ) | const |
get child lanes
Definition at line 335 of file GNEHierarchicalChildElements.cpp.
References myChildLanes.
Referenced by GNEVariableSpeedSign::getAttribute(), and GNEFrameModuls::AttributeCarrierHierarchy::showAttributeCarrierChildren().
get child position calculated in ChildConnections
Definition at line 71 of file GNEHierarchicalChildElements.cpp.
References myChildConnections, and GNEHierarchicalChildElements::ChildConnections::symbolsPositionAndRotation.
Referenced by GNEEdge::drawRerouterSymbol(), and GNELane::drawVSSSymbol().
| double GNEHierarchicalChildElements::getChildRotation | ( | const GNELane * | lane | ) |
get child rotation calculated in ChildConnections
Definition at line 82 of file GNEHierarchicalChildElements.cpp.
References myChildConnections, and GNEHierarchicalChildElements::ChildConnections::symbolsPositionAndRotation.
Referenced by GNEEdge::drawRerouterSymbol(), and GNELane::drawVSSSymbol().
| const std::vector< GNEShape * > & GNEHierarchicalChildElements::getChildShapes | ( | ) | const |
get child shapes
Definition at line 347 of file GNEHierarchicalChildElements.cpp.
References myChildShapes.
Referenced by GNENet::deleteEdge(), GNENet::deleteLane(), GNELane::drawChildren(), GNENet::replaceIncomingEdge(), GNEFrameModuls::AttributeCarrierHierarchy::showAttributeCarrierChildren(), GNEDeleteFrame::SubordinatedElements::SubordinatedElements(), and GNELane::updateGeometry().
| const std::vector< GNETAZElement * > & GNEHierarchicalChildElements::getChildTAZElements | ( | ) | const |
get child TAZElements
Definition at line 353 of file GNEHierarchicalChildElements.cpp.
References myChildTAZElements.
Referenced by GNEAdditionalHandler::buildTAZSink(), GNEAdditionalHandler::buildTAZSource(), GNENet::deleteTAZElement(), GNETAZElement::generateChildID(), GNETAZFrame::TAZCurrent::refreshTAZEdges(), GNEFrameModuls::AttributeCarrierHierarchy::showAttributeCarrierChildren(), and GNETAZ::writeTAZElement().
| GNEDemandElement * GNEHierarchicalChildElements::getNextChildDemandElement | ( | const GNEDemandElement * | demandElement | ) | const |
get next child demand element to the given demand element
Definition at line 523 of file GNEHierarchicalChildElements.cpp.
References myChildDemandElements.
|
pure virtual |
Returns position of hierarchical element in view.
Implemented in GNEDemandElement, GNEVehicle, GNEAdditional, GNEPerson, GNETAZElement, GNEWalk, GNERoute, GNEPersonTrip, GNERide, GNEPOI, GNEPoly, GNEGenericData, GNEShape, GNEDetector, GNENetworkElement, GNELane, GNEPersonStop, GNEStop, GNECalibrator, GNEStoppingPlace, GNEVehicleType, GNEEdge, GNEAccess, GNERerouter, GNEJunction, GNETAZSourceSink, GNEVariableSpeedSign, GNERerouterInterval, GNEParkingSpace, GNECalibratorFlow, GNEVariableSpeedSignStep, GNEDetectorE3, GNEParkingAreaReroute, GNEClosingLaneReroute, GNEDestProbReroute, GNERouteProbReroute, GNEClosingReroute, GNERouteProbe, GNETAZ, GNEVaporizer, GNEEdgeRelData, GNETAZRelData, GNECrossing, GNEEdgeData, and GNEConnection.
Referenced by GNEHierarchicalChildElements::ChildConnections::update().
| GNEDemandElement * GNEHierarchicalChildElements::getPreviousChildDemandElement | ( | const GNEDemandElement * | demandElement | ) | const |
get previous child demand element to the given demand element
Definition at line 508 of file GNEHierarchicalChildElements.cpp.
References myChildDemandElements.
Referenced by GNEPersonTrip::writeDemandElement(), GNERide::writeDemandElement(), and GNEWalk::writeDemandElement().
|
privatedelete |
Invalidated assignment operator.
| void GNEHierarchicalChildElements::removeChildElement | ( | T * | element | ) |
remove child
| void GNEHierarchicalChildElements::removeChildElement | ( | GNEEdge * | edge | ) |
Definition at line 218 of file GNEHierarchicalChildElements.cpp.
References GNEAttributeCarrier::getID(), GNEAttributeCarrier::getTagStr(), myAC, myChildConnections, myChildEdges, and GNEHierarchicalChildElements::ChildConnections::update().
| void GNEHierarchicalChildElements::removeChildElement | ( | GNELane * | lane | ) |
Definition at line 233 of file GNEHierarchicalChildElements.cpp.
References GNEAttributeCarrier::getID(), GNEAttributeCarrier::getTagStr(), myAC, myChildConnections, myChildLanes, and GNEHierarchicalChildElements::ChildConnections::update().
| void GNEHierarchicalChildElements::removeChildElement | ( | GNEAdditional * | additional | ) |
Definition at line 246 of file GNEHierarchicalChildElements.cpp.
References GNETagProperties::canAutomaticSortChildren(), GNEAttributeCarrier::getID(), GNEAdditional::getID(), GNEAttributeCarrier::getTagProperty(), GNEAttributeCarrier::getTagStr(), myAC, myChildAdditionals, sortChildAdditionals(), and updateParentAdditional().
| void GNEHierarchicalChildElements::removeChildElement | ( | GNEShape * | shape | ) |
Definition at line 264 of file GNEHierarchicalChildElements.cpp.
References GNEAttributeCarrier::getID(), GNEAttributeCarrier::getTagStr(), myAC, myChildConnections, myChildShapes, and GNEHierarchicalChildElements::ChildConnections::update().
| void GNEHierarchicalChildElements::removeChildElement | ( | GNETAZElement * | TAZElement | ) |
Definition at line 279 of file GNEHierarchicalChildElements.cpp.
References GNEAttributeCarrier::getID(), GNEAttributeCarrier::getTagStr(), myAC, myChildConnections, myChildTAZElements, and GNEHierarchicalChildElements::ChildConnections::update().
| void GNEHierarchicalChildElements::removeChildElement | ( | GNEDemandElement * | demandElement | ) |
Definition at line 294 of file GNEHierarchicalChildElements.cpp.
References GNETagProperties::canAutomaticSortChildren(), GNEAttributeCarrier::getID(), GNEDemandElement::getID(), GNETagProperties::getTag(), GNEAttributeCarrier::getTagProperty(), GNEAttributeCarrier::getTagStr(), myAC, myChildDemandElements, myDemandElementsByType, and sortChildDemandElements().
| void GNEHierarchicalChildElements::removeChildElement | ( | GNEGenericData * | genericDataElement | ) |
Definition at line 316 of file GNEHierarchicalChildElements.cpp.
References GNEAttributeCarrier::getID(), GNEGenericData::getID(), GNEAttributeCarrier::getTagStr(), myAC, and myChildGenericDataElements.
| void GNEHierarchicalChildElements::sortChildAdditionals | ( | ) |
sort child additionals (used by Rerouters, VSS, TAZs...)
Definition at line 371 of file GNEHierarchicalChildElements.cpp.
References GNEAdditional::getAttributeDouble(), GNETagProperties::getTag(), GNEAttributeCarrier::getTagProperty(), myAC, myChildAdditionals, SUMO_ATTR_BEGIN, SUMO_ATTR_END, SUMO_ATTR_TIME, SUMO_TAG_DET_ENTRY, SUMO_TAG_DET_EXIT, SUMO_TAG_E3DETECTOR, SUMO_TAG_TAZ, SUMO_TAG_TAZSINK, and SUMO_TAG_TAZSOURCE.
Referenced by addChildElement(), GNEVariableSpeedSignDialog::onCmdAccept(), GNERerouterIntervalDialog::onCmdChangeBeginEnd(), GNERerouterDialog::onCmdSortIntervals(), GNEVariableSpeedSignDialog::onCmdSortSteps(), and removeChildElement().
| void GNEHierarchicalChildElements::sortChildDemandElements | ( | ) |
sort child demand elements
Definition at line 496 of file GNEHierarchicalChildElements.cpp.
Referenced by addChildElement(), and removeChildElement().
| void GNEHierarchicalChildElements::updateChildConnections | ( | ) |
update child connections
Definition at line 93 of file GNEHierarchicalChildElements.cpp.
References myChildConnections, and GNEHierarchicalChildElements::ChildConnections::update().
|
pure virtual |
Implemented in GNEDemandElement, GNEVehicle, GNEAdditional, GNEPerson, GNETAZElement, GNEWalk, GNERoute, GNEPersonTrip, GNERide, GNEPOI, GNEGenericData, GNEPoly, GNEShape, GNEDetectorE2, GNEDetector, GNENetworkElement, GNELane, GNEPersonStop, GNEStop, GNECalibrator, GNEStoppingPlace, GNEDetectorE1Instant, GNEVehicleType, GNEDetectorEntryExit, GNEDetectorE1, GNEEdge, GNEAccess, GNERerouter, GNETAZSourceSink, GNEVariableSpeedSign, GNERerouterInterval, GNEJunction, GNEParkingSpace, GNECalibratorFlow, GNEVariableSpeedSignStep, GNEDetectorE3, GNEParkingAreaReroute, GNEClosingLaneReroute, GNEDestProbReroute, GNERouteProbReroute, GNEClosingReroute, GNERouteProbe, GNETAZ, GNEParkingArea, GNEVaporizer, GNEEdgeRelData, GNETAZRelData, GNECrossing, GNEEdgeData, GNEBusStop, GNEChargingStation, GNEContainerStop, and GNEConnection.
|
virtual |
update parent after add or remove a child (can be reimplemented, for example used for statistics)
Reimplemented in GNETAZ, and GNEDetectorE3.
Definition at line 538 of file GNEHierarchicalChildElements.cpp.
Referenced by addChildElement(), GNEAdditionalHandler::buildTAZ(), and removeChildElement().
|
virtual |
update parent after add or remove a child (can be reimplemented, for example used for statistics)
Definition at line 543 of file GNEHierarchicalChildElements.cpp.
|
friend |
declare GNEChange_Children as friend class
Definition at line 50 of file GNEHierarchicalChildElements.h.
|
private |
pointer to AC (needed to avoid diamond problem)
Definition at line 256 of file GNEHierarchicalChildElements.h.
Referenced by addChildElement(), removeChildElement(), and sortChildAdditionals().
|
private |
vector with the child additionas
Definition at line 238 of file GNEHierarchicalChildElements.h.
Referenced by addChildElement(), checkChildAdditionalsOverlapping(), getChildAdditionals(), removeChildElement(), sortChildAdditionals(), and GNEHierarchicalChildElements::ChildConnections::update().
|
protected |
variable ChildConnections
Definition at line 225 of file GNEHierarchicalChildElements.h.
Referenced by addChildElement(), changeChildEdges(), changeChildLanes(), drawChildConnections(), drawChildDottedConnections(), getChildPosition(), getChildRotation(), removeChildElement(), updateChildConnections(), GNEDetectorE3::updateGeometry(), GNEVariableSpeedSign::updateGeometry(), GNERerouter::updateGeometry(), and GNEDetectorE3::updateParentAdditional().
|
private |
vector with the demand elements children
Definition at line 247 of file GNEHierarchicalChildElements.h.
Referenced by addChildElement(), getChildDemandElements(), getNextChildDemandElement(), getPreviousChildDemandElement(), and removeChildElement().
|
private |
vector with the child edges
Definition at line 232 of file GNEHierarchicalChildElements.h.
Referenced by addChildElement(), changeChildEdges(), getChildEdges(), removeChildElement(), and GNEHierarchicalChildElements::ChildConnections::update().
|
private |
vector with the generic data elements children
Definition at line 250 of file GNEHierarchicalChildElements.h.
Referenced by addChildElement(), getChildGenericDatas(), and removeChildElement().
|
private |
vector with the child junctions
Definition at line 229 of file GNEHierarchicalChildElements.h.
|
private |
vector with the child lanes
Definition at line 235 of file GNEHierarchicalChildElements.h.
Referenced by addChildElement(), changeChildLanes(), getChildLanes(), removeChildElement(), and GNEHierarchicalChildElements::ChildConnections::update().
|
private |
vector with the child lanes
Definition at line 241 of file GNEHierarchicalChildElements.h.
Referenced by addChildElement(), getChildShapes(), and removeChildElement().
|
private |
vector with the child TAZ Elements
Definition at line 244 of file GNEHierarchicalChildElements.h.
Referenced by addChildElement(), getChildTAZElements(), and removeChildElement().
|
private |
vector with the demand elements children sorted by type and filtered (to avoid duplicated
Definition at line 253 of file GNEHierarchicalChildElements.h.
Referenced by addChildElement(), getChildDemandElementsByType(), GNEHierarchicalChildElements(), and removeChildElement().