Eclipse SUMO - Simulation of Urban MObility
Loading...
Searching...
No Matches
GNEHierarchicalElement Class Reference

#include <GNEHierarchicalElement.h>

Inheritance diagram for GNEHierarchicalElement:
[legend]
Collaboration diagram for GNEHierarchicalElement:
[legend]

Public Member Functions

void clearParents ()
 clear hierarchical structure parents (used in GNE_Change)
 
 GNEHierarchicalElement ()
 default Constructor
 
 ~GNEHierarchicalElement ()
 Destructor.
 
get parent functions
const GNEHierarchicalStructureParentsgetParents () const
 get parents container
 
const GNEHierarchicalContainerParents< GNEJunction * > & getParentJunctions () const
 get parent junctions
 
const GNEHierarchicalContainerParents< GNEEdge * > & getParentEdges () const
 get parent edges
 
const GNEHierarchicalContainerParents< GNELane * > & getParentLanes () const
 get parent lanes
 
const GNEHierarchicalContainerParents< GNEAdditional * > & getParentAdditionals () const
 get parent additionals
 
const GNEHierarchicalContainerParents< GNEAdditional * > getParentStoppingPlaces () const
 get parent stoppingPlaces (used by plans)
 
const GNEHierarchicalContainerParents< GNEAdditional * > getParentTAZs () const
 get parent TAZs (used by plans)
 
const GNEHierarchicalContainerParents< GNEDemandElement * > & getParentDemandElements () const
 get parent demand elements
 
const GNEHierarchicalContainerParents< GNEGenericData * > & getParentGenericDatas () const
 get parent demand elements
 
get children functions
const GNEHierarchicalStructureChildrengetChildren () const
 get child container
 
const GNEHierarchicalContainerChildren< GNEJunction * > & getChildJunctions () const
 get child junctions
 
const GNEHierarchicalContainerChildren< GNEEdge * > & getChildEdges () const
 get child edges
 
const GNEHierarchicalContainerChildren< GNELane * > & getChildLanes () const
 get child lanes
 
const GNEHierarchicalContainerChildren< GNEAdditional * > & getChildAdditionals () const
 return child additionals
 
const GNEHierarchicalContainerChildren< GNEDemandElement * > & getChildDemandElements () const
 return child demand elements
 
const GNEHierarchicalContainerChildren< GNEGenericData * > & getChildGenericDatas () const
 return child generic data elements
 
const GNEHierarchicalContainerChildrenSet< GNETAZSourceSink * > & getChildTAZSourceSinks () const
 return child TAZSourceSinks (Set)
 
template<typename ParentType >
void setParent (ParentType parent)
 edit parent and childrens without maintain integrity (use carefully)
 
template<typename ParentType >
void setParents (const GNEHierarchicalContainerParents< ParentType > &parents)
 set multiple parent element (ONLY use in constructors)
 
template<typename ChildType >
void addChildElement (ChildType *element)
 add child without updating parent (ONLY used if we're creating elements without undo-redo)
 
specific get functions
std::string getNewListOfParents (const GNENetworkElement *currentElement, const GNENetworkElement *newNextElement) const
 if use edge/parent lanes as a list of consecutive elements, obtain a list of IDs of elements after insert a new element
 

Static Public Member Functions

edit function maintain integrity
template<typename ElementType , typename ParentType >
static void insertParent (ElementType *element, ParentType *parent, const int index=-1)
 insert parent element
 
template<typename ElementType , typename ParentType >
static void removeParent (ElementType *element, ParentType *parent)
 remove parent element
 
template<typename ElementType , typename ParentType >
static void updateParent (ElementType element, const int index, ParentType newParent)
 update single parent element
 
template<typename ElementType , typename ParentType >
static void updateParents (ElementType element, GNEHierarchicalContainerParents< ParentType > newParents)
 update all parent elements
 
template<typename ElementType , typename ChildType >
static void insertChild (ElementType element, ChildType child)
 insert child element
 
template<typename ElementType , typename ChildType >
static void removeChild (ElementType element, ChildType child)
 remove child element
 
template<typename ElementType , typename ChildType >
static void updateChildren (ElementType element, GNEHierarchicalContainerChildren< ChildType > newChildren)
 update all children elements
 

Private Member Functions

 GNEHierarchicalElement (const GNEHierarchicalElement &)=delete
 Invalidated copy constructor.
 

Private Attributes

GNEHierarchicalStructureChildren myHierarchicalStructureChildren
 hierarchical structure with children
 
GNEHierarchicalStructureParents myHierarchicalStructureParents
 hierarchical structure with parents
 

Friends

class GNEChange_Children
 declare GNEChange_Children as friend class
 
class GNEDemandElement
 

Detailed Description

Definition at line 30 of file GNEHierarchicalElement.h.

Constructor & Destructor Documentation

◆ GNEHierarchicalElement() [1/2]

GNEHierarchicalElement::GNEHierarchicalElement ( )

default Constructor

Definition at line 34 of file GNEHierarchicalElement.cpp.

◆ ~GNEHierarchicalElement()

GNEHierarchicalElement::~GNEHierarchicalElement ( )

Destructor.

Definition at line 37 of file GNEHierarchicalElement.cpp.

◆ GNEHierarchicalElement() [2/2]

GNEHierarchicalElement::GNEHierarchicalElement ( const GNEHierarchicalElement )
privatedelete

Invalidated copy constructor.

Member Function Documentation

◆ addChildElement()

template<typename ChildType >
void GNEHierarchicalElement::addChildElement ( ChildType *  element)
inline

add child without updating parent (ONLY used if we're creating elements without undo-redo)

Definition at line 126 of file GNEHierarchicalElement.h.

References GNEHierarchicalStructureChildren::add(), and myHierarchicalStructureChildren.

Referenced by GNEPlanParents::addDemandElementChild(), GNEEdge::addLane(), GNEAdditionalHandler::buildAccess(), GNEAdditionalHandler::buildBusStop(), GNEAdditionalHandler::buildCalibratorFlow(), GNEAdditionalHandler::buildChargingStation(), GNEAdditionalHandler::buildClosingLaneReroute(), GNEAdditionalHandler::buildClosingReroute(), GNERouteHandler::buildContainer(), GNERouteHandler::buildContainerFlow(), GNERouteHandler::buildContainerStop(), GNEAdditionalHandler::buildContainerStop(), GNEAdditionalHandler::buildDestProbReroute(), GNEAdditionalHandler::buildDetectorE1Instant(), GNEAdditionalHandler::buildDetectorEntry(), GNEAdditionalHandler::buildDetectorExit(), GNEAdditionalHandler::buildE1Detector(), GNEAdditionalHandler::buildEdgeCalibrator(), GNEDataHandler::buildEdgeData(), GNEDataHandler::buildEdgeRelationData(), GNERouteHandler::buildFlow(), GNERouteHandler::buildFlowEmbeddedRoute(), GNERouteHandler::buildFlowJunctions(), GNERouteHandler::buildFlowOverRoute(), GNERouteHandler::buildFlowTAZs(), GNEAdditionalHandler::buildLaneCalibrator(), GNEAdditionalHandler::buildParkingArea(), GNEAdditionalHandler::buildParkingAreaReroute(), GNEAdditionalHandler::buildParkingSpace(), GNERouteHandler::buildPerson(), GNERouteHandler::buildPersonFlow(), GNERouteHandler::buildPersonStop(), GNERouteHandler::buildPersonTrip(), GNEAdditionalHandler::buildPOILane(), GNEAdditionalHandler::buildRerouter(), GNEAdditionalHandler::buildRerouterInterval(), GNERouteHandler::buildRide(), GNERouteHandler::buildRoute(), GNEAdditionalHandler::buildRouteProbe(), GNEAdditionalHandler::buildRouteProbReroute(), GNEAdditionalHandler::buildSingleLaneDetectorE2(), GNERouteHandler::buildStop(), GNEDataHandler::buildTAZRelationData(), GNEAdditionalHandler::buildTAZSink(), GNEAdditionalHandler::buildTAZSource(), GNEAdditionalHandler::buildTrainStop(), GNERouteHandler::buildTranship(), GNERouteHandler::buildTransport(), GNERouteHandler::buildTrip(), GNERouteHandler::buildTripJunctions(), GNERouteHandler::buildTripTAZs(), GNEAdditionalHandler::buildVaporizer(), GNEAdditionalHandler::buildVariableSpeedSign(), GNERouteHandler::buildVehicleEmbeddedRoute(), GNERouteHandler::buildVehicleOverRoute(), GNERouteHandler::buildVType(), GNERouteHandler::buildWalk(), GNEEdge::GNEEdge(), and GNENet::initJunctionsAndEdges().

◆ clearParents()

void GNEHierarchicalElement::clearParents ( )

clear hierarchical structure parents (used in GNE_Change)

Definition at line 47 of file GNEHierarchicalElement.cpp.

References GNEHierarchicalStructureParents::clear(), and myHierarchicalStructureParents.

Referenced by GNEChange::GNEChange().

Here is the caller graph for this function:

◆ getChildAdditionals()

const GNEHierarchicalContainerChildren< GNEAdditional * > & GNEHierarchicalElement::getChildAdditionals ( ) const

return child additionals

Definition at line 137 of file GNEHierarchicalElement.cpp.

References GNEHierarchicalStructureChildren::get(), and myHierarchicalStructureChildren.

Referenced by GNEAdditionalHandler::accessExists(), GNEPathManager::PathCalculator::busStopConnected(), GNEMultiEntryExitDetector::checkChildAdditionalRestriction(), GNEAdditionalHandler::checkOverlappingRerouterIntervals(), GNENet::deleteAdditional(), GNENet::deleteDemandElement(), GNENet::deleteEdge(), GNENet::deleteLane(), GNELane::drawChildren(), GNEEdge::drawChildrens(), GNECalibrator::drawGL(), GNERerouter::drawGL(), GNERerouterInterval::drawGL(), GNEVariableSpeedSign::drawGL(), GNEAdditional::drawParentChildLines(), GNERerouter::getAttribute(), GNETractionSubstation::getAttribute(), GNEVariableSpeedSign::getAttribute(), GNEEdge::getRouteProbeRelativePosition(), GNERerouter::rebuildRerouterSymbols(), GNEVariableSpeedSign::rebuildVSSSymbols(), GNEElementList::removeElementRecursively(), GNEElementList::removeElementRecursively(), GNENet::replaceIncomingEdge(), GNENetHelper::AttributeCarriers::retrieveRerouterInterval(), GNEAdditional::setAdditionalID(), GNEParkingArea::setAttribute(), GNEAttributeCarrier::setCommonAttribute(), GNENetworkElement::setNetworkElementID(), GNEElementTree::showHierarchicalElementChildren(), GNENet::splitEdge(), GNEDeleteFrame::SubordinatedElements::SubordinatedElements(), GNEEdge::updateCenteringBoundary(), GNEAdditionalSquared::updatedSquaredCenteringBoundary(), GNEAdditionalSquared::updatedSquaredGeometry(), GNECalibrator::updateGeometry(), GNEEdge::updateGeometry(), GNELane::updateGeometry(), GNEAdditionalListed::updateGeometryListedAdditional(), GNEBusStop::writeAdditional(), GNECalibrator::writeAdditional(), GNEContainerStop::writeAdditional(), GNEMultiEntryExitDetector::writeAdditional(), GNEParkingArea::writeAdditional(), GNERerouter::writeAdditional(), GNERerouterInterval::writeAdditional(), and GNEVariableSpeedSign::writeAdditional().

Here is the caller graph for this function:

◆ getChildDemandElements()

const GNEHierarchicalContainerChildren< GNEDemandElement * > & GNEHierarchicalElement::getChildDemandElements ( ) const

return child demand elements

Definition at line 143 of file GNEHierarchicalElement.cpp.

References GNEHierarchicalStructureChildren::get(), and myHierarchicalStructureChildren.

Referenced by GNENet::adjustPersonPlans(), GNEDemandElement::buildMenuCommandRouteLength(), GNEStop::canDrawVehicleStop(), GNERouteHandler::canReverse(), GNEDemandElement::checkDrawMoveContour(), GNEContainer::computePathElement(), GNEPerson::computePathElement(), GNEVehicle::computePathElement(), GNEVehicle::copyVehicle(), GNENet::deleteAdditional(), GNENet::deleteDemandElement(), GNENet::deleteEdge(), GNENet::deleteGenericData(), GNEDemandElement::deleteGLObject(), GNENet::deleteJunction(), GNENet::deleteLane(), GNELane::drawChildren(), GNEEdge::drawChildrens(), GNEAdditional::drawDemandElementChildren(), GNEContainer::drawGL(), GNEPerson::drawGL(), GNEJunction::drawJunctionChildren(), GNEVTypeDistribution::getAttribute(), GNEVTypeDistribution::getAttributeDouble(), GNEContainer::getAttributePosition(), GNEPerson::getAttributePosition(), GNEVTypeDistribution::getAttributePosition(), GNEContainer::getCenteringBoundary(), GNEPerson::getCenteringBoundary(), GNERouteDistribution::getCenteringBoundary(), GNERoute::getColor(), GNERouteDistribution::getColor(), GNEVTypeDistribution::getColor(), GNEEdge::getContainersOverEdgeMap(), GNEContainer::getDemandElementProblem(), GNEPerson::getDemandElementProblem(), GNERoute::getDemandElementProblem(), GNEVehicle::getDemandElementProblem(), GNEContainer::getFirstPathLane(), GNEPerson::getFirstPathLane(), GNERouteDistribution::getFirstPathLane(), GNEVehicle::getFirstPathLane(), GNEContainer::getLastPathLane(), GNEPerson::getLastPathLane(), GNERouteDistribution::getLastPathLane(), GNEVehicle::getLastPathLane(), GNEMoveElementPlanParent::getMoveOperation(), GNEDemandElement::getNextChildDemandElement(), GNEEdge::getPersonsOverEdgeMap(), GNERouteDistribution::getPositionInView(), GNEVTypeDistribution::getPositionInView(), GNEDemandElement::getPreviousChildDemandElement(), GNEDemandElementSelector::getPreviousPlanElement(), GNEStopFrame::getStopParameter(), GNERouteDistribution::getVClass(), GNEVTypeDistribution::getVClass(), GNEEdge::getVehiclesOverEdgeMap(), GNEContainer::isDemandElementValid(), GNEPerson::isDemandElementValid(), GNERoute::isDemandElementValid(), GNEVehicle::isDemandElementValid(), GNEVehicle::isValid(), GNEElementList::removeElementRecursively(), GNEElementList::removeElementRecursively(), GNENet::replaceIncomingEdge(), GNERouteHandler::reverse(), GNEAdditional::setAdditionalID(), GNERoute::setAttribute(), GNEVehicle::setAttribute(), GNEEdge::setAttribute(), GNERoute::setAttribute(), GNEAttributeCarrier::setCommonAttribute(), GNEDemandElement::setDemandElementID(), GNENetworkElement::setNetworkElementID(), GNEElementTree::showHierarchicalElementChildren(), GNEViewNetHelper::DemandViewOptions::showNonInspectedDemandElements(), GNENet::splitEdge(), GNEDeleteFrame::SubordinatedElements::SubordinatedElements(), GNERouteHandler::transformToContainer(), GNERouteHandler::transformToContainerFlow(), GNERouteHandler::transformToFlow(), GNERouteHandler::transformToPerson(), GNERouteHandler::transformToPersonFlow(), GNERouteHandler::transformToRouteFlow(), GNERouteHandler::transformToTrip(), GNERouteHandler::transformToVehicle(), GNEBusStop::updateGeometry(), GNETAZ::updateGeometry(), GNEContainer::updateGeometry(), GNEPerson::updateGeometry(), GNERoute::updateGeometry(), GNEVehicle::updateGeometry(), GNEVType::updateGeometry(), GNEEdge::updateGeometry(), GNELane::updateGeometry(), GNEDemandElementPlan::updatePlanGeometry(), GNEContainer::writeDemandElement(), GNEPerson::writeDemandElement(), GNERoute::writeDemandElement(), GNERouteDistribution::writeDemandElement(), GNEVehicle::writeDemandElement(), and GNEVTypeDistribution::writeDemandElement().

◆ getChildEdges()

◆ getChildGenericDatas()

◆ getChildJunctions()

const GNEHierarchicalContainerChildren< GNEJunction * > & GNEHierarchicalElement::getChildJunctions ( ) const

get child junctions

Definition at line 119 of file GNEHierarchicalElement.cpp.

References GNEHierarchicalStructureChildren::get(), and myHierarchicalStructureChildren.

Referenced by GNEElementTree::showHierarchicalElementChildren().

Here is the caller graph for this function:

◆ getChildLanes()

const GNEHierarchicalContainerChildren< GNELane * > & GNEHierarchicalElement::getChildLanes ( ) const

get child lanes

Definition at line 131 of file GNEHierarchicalElement.cpp.

References GNEHierarchicalStructureChildren::get(), and myHierarchicalStructureChildren.

Referenced by GNEAdditionalHandler::accessExists(), GNECreateEdgeFrame::addBikelane(), GNENet::addGreenVergeLane(), GNEEdge::addLane(), GNEViewNet::addRestrictedLane(), GNENet::addRestrictedLane(), GNECreateEdgeFrame::addSidewalk(), GNEContour::buildContourEdge(), GNEAdditionalHandler::buildEdgeCalibrator(), GNEPathManager::PathCalculator::busStopConnected(), GNEMoveElement::calculateNewLaneChange(), GNEAdditional::calculatePerpendicularLine(), GNEPathManager::PathCalculator::calculateReachability(), GNEEdge::checkDrawDeleteContour(), GNEEdge::checkDrawMoveContour(), GNEEdge::checkDrawSelectContour(), GNEPathManager::PathCalculator::consecutiveEdgesConnected(), GNEEdge::copyEdgeType(), GNEEdge::copyTemplate(), GNENet::deleteEdge(), GNENetHelper::AttributeCarriers::deleteSingleEdge(), GNECreateEdgeFrame::disablePedestrians(), GNEEdge::drawEdgeName(), GNEEdge::drawEdgeShape(), GNEEdge::drawGL(), GNEEdgeData::drawLanePartialGL(), GNEEdgeRelData::drawLanePartialGL(), GNEEdge::drawLaneStopOffset(), GNEEdge::drawTAZElements(), GNEViewNet::drawTemporalSplitJunction(), GNEEdge::getBackDownShapePosition(), GNEEdge::getBackUpShapePosition(), GNEVehicle::getFirstPathLane(), GNEEdge::getFrontDownShapePosition(), GNEEdge::getFrontUpShapePosition(), GNEEdge::getLaneByAllowedVClass(), GNEEdge::getLaneByDisallowedVClass(), GNEEdge::getLaneGlIDs(), GNEVehicle::getLastPathLane(), GNEAdditional::getPopUpMenu(), GNEEdge::getPopUpMenu(), GNEEdge::getPositionInView(), GNEEdge::GNEEdge(), GNETLSEditorFrame::handleMultiChange(), GNEEdge::hasRestrictedLane(), GNEAdditionalFrame::initBaseAdditionalObject(), GNEConnectorFrame::initTargets(), GNEVehicle::isValid(), GNEConnectorFrame::ConnectionOperations::onCmdSelectConflicts(), GNEConnectorFrame::ConnectionOperations::onCmdSelectDeadStarts(), GNENetHelper::AttributeCarriers::registerEdge(), GNEEdge::removeLane(), GNENet::removeRestrictedLane(), GNEJunction::replaceIncomingConnections(), GNENet::replaceIncomingEdge(), GNENet::restrictLane(), GNEEdge::retrieveGNEConnection(), GNENetHelper::AttributeCarriers::retrieveLane(), GNEEdge::setAttribute(), GNEEdge::setAttribute(), GNEEdge::setEdgeID(), GNEEdge::setNumLanes(), GNEElementTree::showHierarchicalElementChildren(), GNENet::splitEdge(), GNENet::splitEdgesBidi(), GNENet::splitJunction(), GNEDeleteFrame::SubordinatedElements::SubordinatedElements(), GNEEdge::updateCenteringBoundary(), GNENetHelper::AttributeCarriers::updateEdgeID(), GNEStopPlan::updateGeometry(), GNEEdge::updateGeometry(), GNEEdgeTemplate::updateLaneTemplates(), and GNEEdge::~GNEEdge().

◆ getChildren()

const GNEHierarchicalStructureChildren & GNEHierarchicalElement::getChildren ( ) const

get child container

Definition at line 113 of file GNEHierarchicalElement.cpp.

References myHierarchicalStructureChildren.

◆ getChildTAZSourceSinks()

const GNEHierarchicalContainerChildrenSet< GNETAZSourceSink * > & GNEHierarchicalElement::getChildTAZSourceSinks ( ) const

◆ getNewListOfParents()

std::string GNEHierarchicalElement::getNewListOfParents ( const GNENetworkElement currentElement,
const GNENetworkElement newNextElement 
) const

if use edge/parent lanes as a list of consecutive elements, obtain a list of IDs of elements after insert a new element

Definition at line 161 of file GNEHierarchicalElement.cpp.

References GNEAttributeCarrier::getID(), getParentEdges(), getParentLanes(), GNETagProperties::getTag(), GNEAttributeCarrier::getTagProperty(), SUMO_TAG_EDGE, SUMO_TAG_LANE, and toString().

Referenced by GNEDetector::splitEdgeGeometry(), GNEOverheadWire::splitEdgeGeometry(), GNERoute::splitEdgeGeometry(), GNETranship::splitEdgeGeometry(), and GNEWalk::splitEdgeGeometry().

Here is the caller graph for this function:

◆ getParentAdditionals()

const GNEHierarchicalContainerParents< GNEAdditional * > & GNEHierarchicalElement::getParentAdditionals ( ) const

get parent additionals

Definition at line 71 of file GNEHierarchicalElement.cpp.

References GNEHierarchicalStructureParents::get(), and myHierarchicalStructureParents.

Referenced by GNEAdditionalHandler::buildClosingLaneReroute(), GNEAdditionalHandler::buildClosingReroute(), GNEAdditionalHandler::buildDestProbReroute(), GNEAdditionalHandler::buildParkingAreaReroute(), GNEAdditionalHandler::buildRouteProbReroute(), GNEAdditional::checkDrawDeleteContourSmall(), GNEVehicle::computePathElement(), GNEVehicle::copyVehicle(), GNEAccess::drawGL(), GNERerouterSymbol::drawGL(), GNEVariableSpeedSignSymbol::drawGL(), GNEStop::drawGL(), GNEStopPlan::drawGL(), GNEAdditional::drawParentChildLines(), GNERerouterSymbol::drawRerouterSymbol(), GNETAZRelData::drawTAZRel(), GNEVariableSpeedSignSymbol::drawVSSSymbol(), GNEAccess::getAttribute(), GNECalibrator::getAttribute(), GNECalibratorFlow::getAttribute(), GNEClosingLaneReroute::getAttribute(), GNEClosingReroute::getAttribute(), GNEDestProbReroute::getAttribute(), GNEEntryExitDetector::getAttribute(), GNEOverheadWire::getAttribute(), GNEParkingAreaReroute::getAttribute(), GNEParkingSpace::getAttribute(), GNERerouterInterval::getAttribute(), GNERouteProbReroute::getAttribute(), GNETAZSourceSink::getAttribute(), GNEVariableSpeedSignStep::getAttribute(), GNETAZRelData::getAttribute(), GNEStop::getAttribute(), GNEVehicle::getAttribute(), GNEParkingSpace::getAttributeDouble(), GNEContainer::getAttributePosition(), GNEPerson::getAttributePosition(), GNEStop::getAttributePosition(), GNEStop::getCenteringBoundary(), GNEAdditional::getCenteringBoundary(), GNEAdditionalListed::getDrawPositionIndex(), GNEDemandElement::getEdgeStopIndex(), GNEStop::getFirstPathLane(), GNEParkingAreaReroute::getHierarchyName(), GNETAZRelData::getHierarchyName(), GNEStop::getHierarchyName(), GNEAccess::getParentName(), GNECalibratorFlow::getParentName(), GNEClosingLaneReroute::getParentName(), GNEClosingReroute::getParentName(), GNEDestProbReroute::getParentName(), GNEParkingAreaReroute::getParentName(), GNEParkingSpace::getParentName(), GNERerouterInterval::getParentName(), GNERerouterSymbol::getParentName(), GNERouteProbReroute::getParentName(), GNEVariableSpeedSignStep::getParentName(), GNEVariableSpeedSignSymbol::getParentName(), GNEStop::getParentName(), GNEVehicle::getParentName(), getParentStoppingPlaces(), getParentTAZs(), GNETAZRelData::getPositionInView(), GNEStop::getPositionInView(), GNEClosingLaneReroute::GNEClosingLaneReroute(), GNEClosingReroute::GNEClosingReroute(), GNEDestProbReroute::GNEDestProbReroute(), GNEParkingAreaReroute::GNEParkingAreaReroute(), GNERouteProbReroute::GNERouteProbReroute(), GNEAccess::isValid(), GNEVariableSpeedSignStep::isValid(), GNEVehicle::isValid(), GNERerouterIntervalDialog::onCmdAccept(), GNEAdditional::replaceAdditionalParent(), GNENet::replaceIncomingEdge(), GNEDemandElement::replaceLastParentAdditional(), GNEGenericData::replaceParentTAZElement(), GNERerouterIntervalDialog::RouteProbReroutesList::RouteProbReroutesList(), GNECalibratorFlow::setAttribute(), GNEParkingSpace::setAttribute(), GNETAZRelData::setFunctionalColor(), GNEStop::setStopMicrosimID(), GNEElementTree::showAttributeCarrierParents(), GNEDeleteFrame::SubordinatedElements::SubordinatedElements(), GNERouteHandler::transformToFlowTAZs(), GNERouteHandler::transformToTripTAZs(), GNETAZRelData::updateGeometry(), GNEStop::updateGeometry(), GNEStopPlan::updateGeometry(), GNEVehicle::updateGeometry(), GNELane::updateGeometry(), GNEAdditionalListed::updateGeometryListedAdditional(), GNEDemandElementPlan::updatePlanCenteringBoundary(), GNECalibrator::writeAdditional(), GNECalibratorFlow::writeAdditional(), GNEOverheadWire::writeAdditional(), GNEStop::writeDemandElement(), and GNETAZRelData::writeGenericData().

◆ getParentDemandElements()

const GNEHierarchicalContainerParents< GNEDemandElement * > & GNEHierarchicalElement::getParentDemandElements ( ) const

get parent demand elements

Definition at line 101 of file GNEHierarchicalElement.cpp.

References GNEHierarchicalStructureParents::get(), and myHierarchicalStructureParents.

Referenced by GNEDemandElement::buildMenuCommandRouteLength(), GNEStop::canDrawVehicleStop(), GNERouteHandler::canReverse(), GNEDemandElementPlan::checkDrawContainerPlan(), GNEDemandElement::checkDrawDeleteContourSmall(), GNEDemandElementPlan::checkDrawPersonPlan(), GNEVehicle::checkDrawRelatedContour(), GNERoute::computePathElement(), GNEDemandElementPlan::computePlanPathElement(), GNEVehicle::copyVehicle(), GNEDemandElement::deleteGLObject(), GNEStopPlan::drawGL(), GNEStop::drawIndex(), GNERoute::drawLanePartialGL(), GNEDemandElementPlan::drawPlanGL(), GNEDemandElementPlan::drawPlanJunctionPartial(), GNEDemandElementPlan::drawPlanLanePartial(), GNECalibratorFlow::getAttribute(), GNERouteProbReroute::getAttribute(), GNERouteRef::getAttribute(), GNEStop::getAttribute(), GNEVehicle::getAttribute(), GNEVTypeRef::getAttribute(), GNECalibratorFlow::getAttributeDouble(), GNEStop::getAttributeDouble(), GNERouteRef::getCenteringBoundary(), GNEVTypeRef::getCenteringBoundary(), GNERoute::getColor(), GNERouteRef::getColor(), GNEStop::getColor(), GNEVTypeRef::getColor(), GNEDemandElement::getEdgeStopIndex(), GNERoute::getFirstPathLane(), GNERouteRef::getFirstPathLane(), GNEVTypeRef::getFirstPathLane(), GNEDemandElementPlan::getFirstPlanPathLane(), GNERouteProbReroute::getHierarchyName(), GNERoute::getLastPathLane(), GNERouteRef::getLastPathLane(), GNEVTypeRef::getLastPathLane(), GNEDemandElementPlan::getLastPlanPathLane(), GNEMoveElementPlan::getMoveOperation(), GNEContainer::getParentName(), GNEPerson::getParentName(), GNEPersonTrip::getParentName(), GNERide::getParentName(), GNERouteRef::getParentName(), GNEStop::getParentName(), GNEStopPlan::getParentName(), GNETranship::getParentName(), GNETransport::getParentName(), GNEVTypeRef::getParentName(), GNEWalk::getParentName(), GNEDemandElementPlan::getPersonPlanProblem(), GNEDemandElementPlan::getPlanAttribute(), GNEDemandElementPlan::getPlanAttributeDouble(), GNEDemandElementPlan::getPlanAttributePosition(), GNEDemandElementPlan::getPlanHierarchyName(), GNEDemandElementPlan::getPlanPositionInView(), GNERouteRef::getPositionInView(), GNEVTypeRef::getPositionInView(), GNEDemandElement::getRouteParent(), GNEDemandElement::getTypeParent(), GNEContainer::getVClass(), GNEPerson::getVClass(), GNERoute::getVClass(), GNERouteRef::getVClass(), GNEStop::getVClass(), GNEVehicle::getVClass(), GNEVTypeRef::getVClass(), GNEDemandElementPlan::isPlanPersonValid(), GNEVehicle::isValid(), GNEElementTree::onCmdDeleteItem(), GNEElementTree::onCmdMoveItemDown(), GNEElementTree::onCmdMoveItemUp(), GNEViewNet::onCmdToggleLockContainer(), GNEViewNet::onCmdToggleLockPerson(), GNERouteHandler::reverse(), GNERoute::setAttribute(), GNEVehicle::setAttribute(), GNERoute::setAttribute(), GNEElementTree::showAttributeCarrierParents(), GNEViewNetHelper::DemandViewOptions::showNonInspectedDemandElements(), GNEDeleteFrame::SubordinatedElements::SubordinatedElements(), GNERouteHandler::transformToFlow(), GNERouteHandler::transformToRouteFlow(), GNERouteHandler::transformToTrip(), GNERouteHandler::transformToVehicle(), GNELane::updateGeometry(), GNEDemandElementPlan::updatePlanCenteringBoundary(), GNECalibratorFlow::writeAdditional(), GNEVehicle::writeDemandElement(), GNEDemandElementPlan::writeLocationAttributes(), and GNEDemandElementPlan::writeOriginStop().

◆ getParentEdges()

const GNEHierarchicalContainerParents< GNEEdge * > & GNEHierarchicalElement::getParentEdges ( ) const

get parent edges

Definition at line 59 of file GNEHierarchicalElement.cpp.

References GNEHierarchicalStructureParents::get(), and myHierarchicalStructureParents.

Referenced by GNELane::allowPedestrians(), GNELane::buildEdgeOperations(), GNERouteHandler::buildFlowOverRoute(), GNELane::buildLaneOperations(), GNEDemandElement::buildMenuCommandRouteLength(), GNELane::buildTemplateOperations(), GNERouteHandler::buildVehicleOverRoute(), GNEVehicleFrame::buildVehicleOverRoute(), GNELane::calculateLaneContour(), GNEAdditional::calculatePerpendicularLine(), GNERouteHandler::canReverse(), GNEConnection::changeTLIndex(), GNEEdgeRelData::computePathElement(), GNERoute::computePathElement(), GNEDemandElementPlan::computePlanPathElement(), GNEVehicle::copyVehicle(), GNEElementTree::createPopUpMenu(), GNELane::drawArrows(), GNELane::drawAsWaterway(), GNECalibrator::drawCalibratorSymbol(), GNERerouterSymbol::drawGL(), GNERouteProbe::drawGL(), GNEVaporizer::drawGL(), GNEStopPlan::drawGL(), GNELane::drawGL(), GNELane::drawLane2LaneConnections(), GNEEdgeData::drawLanePartialGL(), GNEEdgeRelData::drawLanePartialGL(), GNELane::drawLaneStopOffset(), GNELane::drawLinkNo(), GNELane::drawMarkingsAndBoundings(), GNELane::drawStartEndGeometryPoints(), GNELane::drawTLSLinkNo(), GNEConnection::existNBEdgeConnection(), GNECalibrator::getAttribute(), GNERerouterSymbol::getAttribute(), GNERouteProbe::getAttribute(), GNETAZSourceSink::getAttribute(), GNEEdgeData::getAttribute(), GNEEdgeRelData::getAttribute(), GNERoute::getAttribute(), GNEVehicle::getAttribute(), GNEConnection::getAttribute(), GNELane::getAttribute(), GNERoute::getAttributeDouble(), GNERoute::getAttributePosition(), GNELane::getAttributePositionVector(), GNEEdgeData::getCenteringBoundary(), GNEEdgeRelData::getCenteringBoundary(), GNERoute::getCenteringBoundary(), GNEDemandElement::getColorByScheme(), GNELane::getColorValue(), GNERoute::getDemandElementProblem(), GNEVehicle::getDemandElementProblem(), GNEConnection::getEdgeFrom(), GNEConnection::getEdgeTo(), GNERoute::getFirstPathLane(), GNEVehicle::getFirstPathLane(), GNEDemandElementPlan::getFirstPlanPathLane(), GNELane::getGNEIncomingConnections(), GNELane::getGNEOutcomingConnections(), GNERerouterSymbol::getHierarchyName(), GNEEdgeData::getHierarchyName(), GNEEdgeRelData::getHierarchyName(), GNEContainer::getHierarchyName(), GNEVehicle::getHierarchyName(), GNELane::getLaneParametricLength(), GNELane::getLaneShape(), GNERoute::getLastPathLane(), GNEVehicle::getLastPathLane(), GNEDemandElementPlan::getLastPlanPathLane(), GNELane::getLengthGeometryFactor(), GNEMoveElementPlan::getMoveOperation(), GNEMoveElementPlanParent::getMoveOperation(), GNEConnection::getNBConnection(), GNEConnection::getNBEdgeConnection(), getNewListOfParents(), GNELane::getParameters(), GNELane::getParameters(), GNELane::getParentEdge(), GNECalibrator::getParentName(), GNERouteProbe::getParentName(), GNEVaporizer::getParentName(), GNERoute::getParentName(), GNEVehicle::getParentName(), GNELane::getParentName(), GNEDemandElementPlan::getPlanAttribute(), GNEDemandElementPlan::getPlanHierarchyName(), GNEDemandElementPlan::getPlanPositionInView(), GNERerouterSymbol::getPopUpID(), GNELane::getPopUpMenu(), GNEEdgeData::getPositionInView(), GNEEdgeRelData::getPositionInView(), GNELane::getSpeed(), GNEStopFrame::getStopParameter(), GNERoute::GNERoute(), GNERoute::GNERoute(), GNERoute::GNERoute(), GNELane::isAttributeComputed(), GNEConnection::isAttributeEnabled(), GNELane::isAttributeEnabled(), GNERoute::isDemandElementValid(), GNEVehicle::isDemandElementValid(), GNELane::isRestricted(), GNECalibrator::isValid(), GNEEdgeRelData::isValid(), GNEVehicle::isValid(), GNEConnection::isValid(), GNELane::isValid(), GNERoute::GNERoutePopupMenu::onCmdApplyDistance(), GNEElementTree::onCmdCenterItem(), GNEPathCreator::recalculatePath(), GNEGenericData::replaceLastParentEdge(), GNEDemandElement::replaceLastParentEdge(), GNERouteHandler::reverse(), GNEVehicle::setAttribute(), GNELane::setAttribute(), GNEConnection::setAttribute(), GNELane::setIndex(), GNELane::setLaneColor(), GNEMoveElementLane::setMoveShape(), GNEElementTree::showAttributeCarrierParents(), GNEPlanCreator::showPlanCreatorModule(), GNERouteHandler::transformToFlow(), GNERouteHandler::transformToRouteFlow(), GNERouteHandler::transformToTrip(), GNERouteHandler::transformToVehicle(), GNELane::DrawingConstants::update(), GNECalibrator::updateGeometry(), GNERerouterSymbol::updateGeometry(), GNEEdgeData::updateGeometry(), GNEStopPlan::updateGeometry(), GNEConnection::updateLinkState(), GNEDemandElementPlan::updatePlanCenteringBoundary(), GNECalibrator::writeAdditional(), GNERouteProbe::writeAdditional(), GNERoute::writeDemandElement(), GNEVehicle::writeDemandElement(), GNEEdgeData::writeGenericData(), GNEEdgeRelData::writeGenericData(), GNEDemandElementPlan::writeLocationAttributes(), and GNETAZSourceSink::writeTAZSourceSink().

◆ getParentGenericDatas()

const GNEHierarchicalContainerParents< GNEGenericData * > & GNEHierarchicalElement::getParentGenericDatas ( ) const

get parent demand elements

Definition at line 107 of file GNEHierarchicalElement.cpp.

References GNEHierarchicalStructureParents::get(), and myHierarchicalStructureParents.

Referenced by GNEDeleteFrame::SubordinatedElements::SubordinatedElements(), and GNELane::updateGeometry().

Here is the caller graph for this function:

◆ getParentJunctions()

const GNEHierarchicalContainerParents< GNEJunction * > & GNEHierarchicalElement::getParentJunctions ( ) const

get parent junctions

Definition at line 53 of file GNEHierarchicalElement.cpp.

References GNEHierarchicalStructureParents::get(), and myHierarchicalStructureParents.

Referenced by GNECrossing::calculateCrossingContour(), GNEEdge::calculateEdgeContour(), GNERouteHandler::canReverse(), GNEVehicle::computePathElement(), GNEDemandElementPlan::computePlanPathElement(), GNEVehicle::copyVehicle(), GNENet::deleteCrossing(), GNEEdge::drawEndGeometryPoint(), GNEVehicle::drawGL(), GNEWalkingArea::drawGL(), GNEDemandElement::drawJunctionLine(), GNEVehicle::drawJunctionPartialGL(), GNEVehicle::drawLanePartialGL(), GNEDemandElementPlan::drawPlanJunctionPartial(), GNEEdge::drawStartGeometryPoint(), GNECrossing::drawTLSLinkNo(), GNEVehicle::getAttribute(), GNEEdge::getAttribute(), GNEContainer::getAttributePosition(), GNEPerson::getAttributePosition(), GNEVehicle::getAttributePosition(), GNEVehicle::getDemandElementProblem(), GNEEdge::getFromJunction(), GNECrossing::getNBCrossing(), GNEWalkingArea::getNBWalkingArea(), GNEVehicle::getParentName(), GNEDemandElementPlan::getPlanAttribute(), GNEDemandElementPlan::getPlanAttributePosition(), GNEDemandElementPlan::getPlanHierarchyName(), GNEDemandElementPlan::getPlanPositionInView(), GNEWalkingArea::getPositionInView(), GNEEdge::getReverseEdge(), GNEEdge::getToJunction(), GNEVehicle::isDemandElementValid(), GNEVehicle::isValid(), GNECrossing::isValid(), GNEViewNet::onCmdEditCrossingShape(), GNEViewNet::onCmdEditWalkingAreaShape(), GNEDemandElement::replaceLastParentJunction(), GNECrossing::setAttribute(), GNEElementTree::showAttributeCarrierParents(), GNEPlanCreator::showPlanCreatorModule(), GNERouteHandler::transformToFlowJunctions(), GNERouteHandler::transformToTripJunctions(), GNEVehicle::updateGeometry(), GNEDemandElementPlan::updatePlanCenteringBoundary(), GNEDemandElementPlan::updatePlanGeometry(), GNEVehicle::writeDemandElement(), and GNEDemandElementPlan::writeLocationAttributes().

Here is the caller graph for this function:

◆ getParentLanes()

const GNEHierarchicalContainerParents< GNELane * > & GNEHierarchicalElement::getParentLanes ( ) const

get parent lanes

Definition at line 65 of file GNEHierarchicalElement.cpp.

References GNEHierarchicalStructureParents::get(), and myHierarchicalStructureParents.

Referenced by GNEPathManager::PathCalculator::busStopConnected(), GNEConnection::calculateConnectionContour(), GNEPOI::calculatePOIContour(), GNEStoppingPlace::calculateStoppingPlaceContour(), GNEDetector::checkDrawMoveContour(), GNEInductionLoopDetector::checkDrawRelatedContour(), GNEMoveElementLaneSingle::commitMoveShape(), GNELaneAreaDetector::computePathElement(), GNEOverheadWire::computePathElement(), GNEVehicle::computePathElement(), GNECalibrator::drawCalibratorSymbol(), GNELaneAreaDetector::drawE2(), GNEAccess::drawGL(), GNEEntryExitDetector::drawGL(), GNEInductionLoopDetector::drawGL(), GNEInstantInductionLoopDetector::drawGL(), GNELaneAreaDetector::drawGL(), GNEVariableSpeedSignSymbol::drawGL(), GNEStop::drawGL(), GNEStopPlan::drawGL(), GNEConnection::drawGL(), GNEMoveElementLaneDouble::fixMovingProblem(), GNEMoveElementLaneSingle::fixMovingProblem(), GNECalibrator::getAttribute(), GNEOverheadWire::getAttribute(), GNEVariableSpeedSignSymbol::getAttribute(), GNEConnection::getAttribute(), GNEOverheadWire::getAttributeDouble(), GNEParkingArea::getAttributeDouble(), GNEStop::getDemandElementProblem(), GNEAccess::getEdge(), GNEDemandElement::getEdgeStopIndex(), GNEStop::getEndGeometryPositionOverLane(), GNEStop::getFirstPathLane(), GNEVehicle::getFirstPathLane(), GNEAdditional::getFirstPathLane(), GNEMoveElementLaneSingle::getFixedPositionOverLane(), GNEConnection::getFromLaneIndex(), GNEAccess::getHierarchyName(), GNEVariableSpeedSignSymbol::getHierarchyName(), GNEStop::getHierarchyName(), GNEConnection::getLaneFrom(), GNEConnection::getLaneTo(), GNEVehicle::getLastPathLane(), GNEAdditional::getLastPathLane(), GNEMoveElementLaneDouble::getMoveOperation(), GNEMoveElementLaneSingle::getMoveOperation(), GNEMoveElementLaneDouble::getMovingAttribute(), GNEMoveElementLaneSingle::getMovingAttribute(), GNEMoveElementLaneDouble::getMovingProblem(), GNEMoveElementLaneSingle::getMovingProblem(), getNewListOfParents(), GNECalibrator::getParentName(), GNEDetector::getParentName(), GNEStoppingPlace::getParentName(), GNEStop::getParentName(), GNEPOI::getParentName(), GNEVariableSpeedSignSymbol::getPopUpID(), GNEStop::getPositionInView(), GNEStop::getStartGeometryPositionOverLane(), GNEStopFrame::getStopParameter(), GNEConnection::getToLaneIndex(), GNERoute::GNERoute(), GNEAccess::isAccessPositionFixed(), GNEStop::isDemandElementValid(), GNEMoveElementLaneDouble::isMoveElementValid(), GNEMoveElementLaneSingle::isMoveElementValid(), GNECalibrator::isValid(), GNEParkingArea::isValid(), GNERouteHandler::parseStopEdge(), GNEPlanCreator::recalculatePath(), GNELaneAreaDetector::setAttribute(), GNEOverheadWire::setAttribute(), GNEParkingArea::setAttribute(), GNEConnection::setAttribute(), GNEMoveElementLaneDouble::setSize(), GNEStop::setStopMicrosimID(), GNEStoppingPlace::setStoppingPlaceGeometry(), GNEAdditional::shiftLaneIndex(), GNEElementTree::showAttributeCarrierParents(), GNEStoppingPlace::splitEdgeGeometry(), GNEConnection::updateConnectionID(), GNEAccess::updateGeometry(), GNEBusStop::updateGeometry(), GNECalibrator::updateGeometry(), GNEContainerStop::updateGeometry(), GNEEntryExitDetector::updateGeometry(), GNEInductionLoopDetector::updateGeometry(), GNEInstantInductionLoopDetector::updateGeometry(), GNELaneAreaDetector::updateGeometry(), GNEParkingArea::updateGeometry(), GNEPOI::updateGeometry(), GNEVariableSpeedSignSymbol::updateGeometry(), GNEStop::updateGeometry(), GNEConnection::updateGeometry(), GNECalibrator::writeAdditional(), and GNEStop::writeDemandElement().

◆ getParents()

const GNEHierarchicalStructureParents & GNEHierarchicalElement::getParents ( ) const

get parents container

Definition at line 41 of file GNEHierarchicalElement.cpp.

References myHierarchicalStructureParents.

◆ getParentStoppingPlaces()

◆ getParentTAZs()

const GNEHierarchicalContainerParents< GNEAdditional * > GNEHierarchicalElement::getParentTAZs ( ) const

get parent TAZs (used by plans)

Definition at line 89 of file GNEHierarchicalElement.cpp.

References getParentAdditionals().

Referenced by GNEDemandElementPlan::getPlanAttribute(), GNEDemandElementPlan::getPlanAttributePosition(), GNEDemandElementPlan::getPlanHierarchyName(), GNEDemandElementPlan::getPlanPositionInView(), GNEPlanCreator::showPlanCreatorModule(), GNEDemandElementPlan::updatePlanGeometry(), and GNEDemandElementPlan::writeLocationAttributes().

Here is the caller graph for this function:

◆ insertChild()

template<typename ElementType , typename ChildType >
static void GNEHierarchicalElement::insertChild ( ElementType  element,
ChildType  child 
)
inlinestatic

insert child element

Definition at line 178 of file GNEHierarchicalElement.h.

Referenced by GNEChange::addElementInParentsAndChildren(), and GNEEdge::addLane().

Here is the caller graph for this function:

◆ insertParent()

template<typename ElementType , typename ParentType >
static void GNEHierarchicalElement::insertParent ( ElementType *  element,
ParentType *  parent,
const int  index = -1 
)
inlinestatic

insert parent element

Definition at line 137 of file GNEHierarchicalElement.h.

◆ removeChild()

template<typename ElementType , typename ChildType >
static void GNEHierarchicalElement::removeChild ( ElementType  element,
ChildType  child 
)
inlinestatic

remove child element

Definition at line 185 of file GNEHierarchicalElement.h.

Referenced by GNEEdge::addLane(), GNEChange::removeElementFromParentsAndChildren(), and GNEEdge::removeLane().

Here is the caller graph for this function:

◆ removeParent()

template<typename ElementType , typename ParentType >
static void GNEHierarchicalElement::removeParent ( ElementType *  element,
ParentType *  parent 
)
inlinestatic

remove parent element

Definition at line 144 of file GNEHierarchicalElement.h.

◆ setParent()

template<typename ParentType >
void GNEHierarchicalElement::setParent ( ParentType  parent)
inline

edit parent and childrens without maintain integrity (use carefully)

set single parent element (ONLY use in constructors)

Definition at line 112 of file GNEHierarchicalElement.h.

References myHierarchicalStructureParents, and GNEHierarchicalStructureParents::replaceAll().

◆ setParents()

template<typename ParentType >
void GNEHierarchicalElement::setParents ( const GNEHierarchicalContainerParents< ParentType > &  parents)
inline

set multiple parent element (ONLY use in constructors)

Definition at line 120 of file GNEHierarchicalElement.h.

References myHierarchicalStructureParents, and GNEHierarchicalStructureParents::replaceAll().

Referenced by GNEMoveElementVehicle::GNEMoveElementVehicle().

Here is the caller graph for this function:

◆ updateChildren()

template<typename ElementType , typename ChildType >
static void GNEHierarchicalElement::updateChildren ( ElementType  element,
GNEHierarchicalContainerChildren< ChildType >  newChildren 
)
inlinestatic

update all children elements

Definition at line 192 of file GNEHierarchicalElement.h.

Referenced by GNEAdditional::replaceAdditionalChildEdges(), and GNEAdditional::replaceAdditionalChildLanes().

Here is the caller graph for this function:

◆ updateParent()

template<typename ElementType , typename ParentType >
static void GNEHierarchicalElement::updateParent ( ElementType  element,
const int  index,
ParentType  newParent 
)
inlinestatic

◆ updateParents()

template<typename ElementType , typename ParentType >
static void GNEHierarchicalElement::updateParents ( ElementType  element,
GNEHierarchicalContainerParents< ParentType >  newParents 
)
inlinestatic

update all parent elements

Definition at line 163 of file GNEHierarchicalElement.h.

Referenced by GNEAdditional::replaceAdditionalParent(), GNEAdditional::replaceAdditionalParentEdges(), GNEAdditional::replaceAdditionalParentLanes(), GNEDemandElement::replaceParentEdges(), GNEGenericData::replaceParentTAZElement(), and GNEAdditional::shiftLaneIndex().

Here is the caller graph for this function:

Friends And Related Symbol Documentation

◆ GNEChange_Children

friend class GNEChange_Children
friend

declare GNEChange_Children as friend class

Definition at line 34 of file GNEHierarchicalElement.h.

◆ GNEDemandElement

friend class GNEDemandElement
friend

Definition at line 35 of file GNEHierarchicalElement.h.

Field Documentation

◆ myHierarchicalStructureChildren

GNEHierarchicalStructureChildren GNEHierarchicalElement::myHierarchicalStructureChildren
private

◆ myHierarchicalStructureParents

GNEHierarchicalStructureParents GNEHierarchicalElement::myHierarchicalStructureParents
private

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