Eclipse SUMO - Simulation of Urban MObility
GNEHierarchicalParentElements Class Referenceabstract

An special type of Attribute carrier that owns hierarchical elements. More...

#include <GNEHierarchicalParentElements.h>

Inheritance diagram for GNEHierarchicalParentElements:
Collaboration diagram for GNEHierarchicalParentElements:

Public Member Functions

std::string getNewListOfParents (const GNENetElement *currentElement, const GNENetElement *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 More...
 
 GNEHierarchicalParentElements (GNEAttributeCarrier *AC, const std::vector< GNEEdge * > &parentEdges, const std::vector< GNELane * > &parentLanes, const std::vector< GNEShape * > &parentShapes, const std::vector< GNEAdditional * > &parentAdditionals, const std::vector< GNEDemandElement * > &parentDemandElements)
 Constructor used by elements that have another additionals as parent. More...
 
 ~GNEHierarchicalParentElements ()
 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...
 
members and functions related to parent edges

add parent edge

void addParentEdge (GNEEdge *edge)
 
void removeParentEdge (GNEEdge *edge)
 remove parent edge More...
 
const std::vector< GNEEdge * > & getParentEdges () const
 get parent edges More...
 
std::vector< GNEEdge * > getMiddleParentEdges () const
 get middle (via) parent edges More...
 
const std::vector< GNEEdge * > & getPathEdges () const
 get path edges More...
 
members and functions related to parent lanes

add parent lane

void addParentLane (GNELane *lane)
 
void removeParentLane (GNELane *lane)
 remove parent lane More...
 
const std::vector< GNELane * > & getParentLanes () const
 get parent lanes More...
 
members and functions related to parent shapes

add parent shape

void addParentShape (GNEShape *shape)
 
void removeParentShape (GNEShape *shape)
 remove parent shape More...
 
const std::vector< GNEShape * > & getParentShapes () const
 get parent shapes More...
 
members and functions related to parent additionals

add parent additional

void addParentAdditional (GNEAdditional *additional)
 
void removeParentAdditional (GNEAdditional *additional)
 remove parent additional More...
 
const std::vector< GNEAdditional * > & getParentAdditionals () const
 get parent additionals More...
 
members and functions related to parent demand elements

add parent demand element

void addParentDemandElement (GNEDemandElement *demandElement)
 
void removeParentDemandElement (GNEDemandElement *demandElement)
 remove parent demand element More...
 
const std::vector< GNEDemandElement * > & getParentDemandElements () const
 get parent demand elements More...
 

Protected Member Functions

members and functions relative to changing parents
void replaceParentEdges (GNEShape *elementChild, const std::string &newEdgeIDs)
 replace the parent edges of a shape More...
 
void replaceParentEdges (GNEAdditional *elementChild, const std::string &newEdgeIDs)
 replace the parent edges of an additional More...
 
void replaceParentEdges (GNEDemandElement *elementChild, const std::string &newEdgeIDs)
 replace the parent edges of a demandElement More...
 
void replaceParentEdges (GNEDemandElement *elementChild, const std::vector< GNEEdge * > &newEdges)
 replace the parent edges of a demandElement (GNEEdge version) More...
 
void replaceFirstParentEdge (GNEDemandElement *elementChild, GNEEdge *newFirstEdge)
 replace the first parent edge (used by demand elements) More...
 
void replaceMiddleParentEdges (GNEDemandElement *elementChild, const std::vector< GNEEdge * > &newMiddleEdges, const bool updateChildReferences)
 replace middle (via) parent edges More...
 
void replaceLastParentEdge (GNEDemandElement *elementChild, GNEEdge *newLastEdge)
 replace the last parent edge (used by demand elements) More...
 
void replacePathEdges (GNEDemandElement *elementChild, const std::vector< GNEEdge * > &routeEdges)
 replace edge route Parents More...
 
void replaceParentLanes (GNEShape *elementChild, const std::string &newLaneIDs)
 replace the parent edges of a shape More...
 
void replaceParentLanes (GNEAdditional *elementChild, const std::string &newLaneIDs)
 replace the parent edges of an additional More...
 
void replaceParentLanes (GNEDemandElement *elementChild, const std::string &newLaneIDs)
 replace the parent edges of a demandElement More...
 
void replaceParentAdditional (GNEShape *shapeTobeChanged, const std::string &newParentAdditionalID, int additionalParentIndex)
 replace the parent additional of a shape More...
 
void replaceParentAdditional (GNEAdditional *additionalTobeChanged, const std::string &newParentAdditionalID, int additionalParentIndex)
 replace the parent additional of an additional More...
 
void replaceParentAdditional (GNEDemandElement *demandElementTobeChanged, const std::string &newParentAdditionalID, int additionalParentIndex)
 replace the parent additional of a demand element More...
 
void replaceParentDemandElement (GNEShape *shapeTobeChanged, const std::string &newParentDemandElementID, int demandElementParentIndex)
 replace the parent demand element of a shape More...
 
void replaceParentDemandElement (GNEAdditional *additionalTobeChanged, const std::string &newParentDemandElementID, int demandElementParentIndex)
 replace the parent demand element of an additional More...
 
void replaceParentDemandElement (GNEDemandElement *demandElementTobeChanged, const std::string &newParentDemandElementID, int demandElementParentIndex)
 change first parent demand element of demandElement More...
 

Protected Attributes

GNEGeometry::ParentConnections myParentConnections
 variable ParentConnections More...
 

Private Member Functions

 GNEHierarchicalParentElements (const GNEHierarchicalParentElements &)=delete
 Invalidated copy constructor. More...
 
GNEHierarchicalParentElementsoperator= (const GNEHierarchicalParentElements &)=delete
 Invalidated assignment operator. More...
 

Private Attributes

GNEAttributeCarriermyAC
 pointer to AC (needed to avoid diamond problem) More...
 
std::vector< GNEAdditional * > myParentAdditionals
 list of parent additionals of this element More...
 
std::vector< GNEDemandElement * > myParentDemandElements
 list of demand elements parents of this element More...
 
std::vector< GNEEdge * > myParentEdges
 list of parent edges of this element More...
 
std::vector< GNELane * > myParentLanes
 list of parent lanes of this element More...
 
std::vector< GNEShape * > myParentShapes
 list of parent shapes of this element More...
 
std::vector< GNEEdge * > myRouteEdges
 list of edges used in Flow/Trips/PersonTrips More...
 

Friends

class GNEChange_Children
 declare GNEChange_Children as friend class More...
 

Detailed Description

An special type of Attribute carrier that owns hierarchical elements.

Definition at line 49 of file GNEHierarchicalParentElements.h.

Constructor & Destructor Documentation

◆ GNEHierarchicalParentElements() [1/2]

GNEHierarchicalParentElements::GNEHierarchicalParentElements ( GNEAttributeCarrier AC,
const std::vector< GNEEdge * > &  parentEdges,
const std::vector< GNELane * > &  parentLanes,
const std::vector< GNEShape * > &  parentShapes,
const std::vector< GNEAdditional * > &  parentAdditionals,
const std::vector< GNEDemandElement * > &  parentDemandElements 
)

Constructor used by elements that have another additionals as parent.

Parameters
[in]tagType of xml tag that define the element (SUMO_TAG_BUS_STOP, SUMO_TAG_JUNCTION, etc...)
[in]parentEdgesvector of parent edges
[in]parentLanesvector of parent lanes
[in]parentShapesvector of parent shapes
[in]parentAdditionalsvector of parent additionals
[in]parentDemandElementsvector of parent demand elements

Definition at line 42 of file GNEHierarchicalParentElements.cpp.

◆ ~GNEHierarchicalParentElements()

GNEHierarchicalParentElements::~GNEHierarchicalParentElements ( )

Destructor.

Definition at line 58 of file GNEHierarchicalParentElements.cpp.

◆ GNEHierarchicalParentElements() [2/2]

GNEHierarchicalParentElements::GNEHierarchicalParentElements ( const GNEHierarchicalParentElements )
privatedelete

Invalidated copy constructor.

Member Function Documentation

◆ addParentAdditional()

void GNEHierarchicalParentElements::addParentAdditional ( GNEAdditional additional)

◆ addParentDemandElement()

void GNEHierarchicalParentElements::addParentDemandElement ( GNEDemandElement demandElement)

◆ addParentEdge()

void GNEHierarchicalParentElements::addParentEdge ( GNEEdge edge)

◆ addParentLane()

void GNEHierarchicalParentElements::addParentLane ( GNELane lane)

◆ addParentShape()

void GNEHierarchicalParentElements::addParentShape ( GNEShape shape)

◆ getMiddleParentEdges()

std::vector< GNEEdge * > GNEHierarchicalParentElements::getMiddleParentEdges ( ) const

◆ getNewListOfParents()

std::string GNEHierarchicalParentElements::getNewListOfParents ( const GNENetElement currentElement,
const GNENetElement 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 120 of file GNEHierarchicalParentElements.cpp.

References GNEAttributeCarrier::getID(), GNEAttributeCarrier::TagProperties::getTag(), GNEAttributeCarrier::getTagProperty(), myParentEdges, myParentLanes, SUMO_TAG_EDGE, SUMO_TAG_LANE, and toString().

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

◆ getParentAdditionals()

const std::vector< GNEAdditional * > & GNEHierarchicalParentElements::getParentAdditionals ( ) const

get parent additionals

Definition at line 85 of file GNEHierarchicalParentElements.cpp.

References myParentAdditionals.

Referenced by GNEDemandElement::calculatePersonPlanLaneStartEndPos(), GNEDemandElement::calculatePersonPlanPositionStartEndPos(), GNERide::computePath(), GNEPersonTrip::computePath(), GNEWalk::computePath(), GNELane::drawGL(), GNEEdge::drawGL(), GNEEdge::drawPartialPersonPlan(), GNELane::endGeometryMoving(), GNEEdge::endGeometryMoving(), GNEClosingReroute::getAttribute(), GNEDestProbReroute::getAttribute(), GNEDetectorEntryExit::getAttribute(), GNEClosingLaneReroute::getAttribute(), GNERouteProbReroute::getAttribute(), GNEParkingAreaReroute::getAttribute(), GNEParkingSpace::getAttribute(), GNEVariableSpeedSignStep::getAttribute(), GNECalibratorFlow::getAttribute(), GNETAZSourceSink::getAttribute(), GNERerouterInterval::getAttribute(), GNEAccess::getAttribute(), GNEStop::getAttribute(), GNERide::getAttribute(), GNEPersonTrip::getAttribute(), GNEWalk::getAttribute(), GNEDestProbReroute::getCenteringBoundary(), GNERouteProbReroute::getCenteringBoundary(), GNEParkingAreaReroute::getCenteringBoundary(), GNEVariableSpeedSignStep::getCenteringBoundary(), GNECalibratorFlow::getCenteringBoundary(), GNERerouterInterval::getCenteringBoundary(), GNEStop::getCenteringBoundary(), GNEStop::getFromEdge(), GNEParkingAreaReroute::getHierarchyName(), GNEStop::getHierarchyName(), GNERide::getHierarchyName(), GNEPersonTrip::getHierarchyName(), GNEWalk::getHierarchyName(), GNEDemandElement::getLastAllowedVehicleLane(), GNEClosingReroute::getParentName(), GNEClosingLaneReroute::getParentName(), GNEDestProbReroute::getParentName(), GNERouteProbReroute::getParentName(), GNEParkingSpace::getParentName(), GNEParkingAreaReroute::getParentName(), GNEVariableSpeedSignStep::getParentName(), GNECalibratorFlow::getParentName(), GNETAZSourceSink::getParentName(), GNERerouterInterval::getParentName(), GNEAccess::getParentName(), GNEStop::getParentName(), GNEClosingReroute::getPositionInView(), GNEClosingLaneReroute::getPositionInView(), GNEDestProbReroute::getPositionInView(), GNERouteProbReroute::getPositionInView(), GNEParkingAreaReroute::getPositionInView(), GNECalibratorFlow::getPositionInView(), GNEVariableSpeedSignStep::getPositionInView(), GNERerouterInterval::getPositionInView(), GNETAZSourceSink::getPositionInView(), GNEStop::getToEdge(), GNERide::invalidatePath(), GNEPersonTrip::invalidatePath(), GNEWalk::invalidatePath(), GNEVariableSpeedSignStep::isValid(), GNEAccess::isValid(), GNECalibratorFlowDialog::onCmdAccept(), GNERerouterIntervalDialog::onCmdAccept(), GNEAdditionalHandler::parseAndBuildRerouterInterval(), GNEPersonPlanFrame::PersonPlanCreator::refreshPersonPlanCreator(), GNENet::replaceIncomingEdge(), GNETAZSourceSink::setAttribute(), GNEFrameModuls::AttributeCarrierHierarchy::showAttributeCarrierParents(), GNELane::startGeometryMoving(), GNEEdge::startGeometryMoving(), GNEDeleteFrame::SubordinatedElements::SubordinatedElements(), GNELane::updateGeometry(), GNEEdge::updateGeometry(), GNEDetectorEntryExit::updateGeometry(), GNEStop::updateGeometry(), GNEStop::updatePartialGeometry(), GNERide::writeDemandElement(), GNEPersonTrip::writeDemandElement(), and GNEWalk::writeDemandElement().

◆ getParentDemandElements()

const std::vector< GNEDemandElement * > & GNEHierarchicalParentElements::getParentDemandElements ( ) const

get parent demand elements

Definition at line 114 of file GNEHierarchicalParentElements.cpp.

References myParentDemandElements.

Referenced by GNEDemandElement::calculatePersonPlanLaneStartEndPos(), GNEDemandElement::calculatePersonPlanPositionStartEndPos(), GNERide::computePath(), GNEPersonTrip::computePath(), GNEWalk::computePath(), GNEVehicle::computePath(), GNENet::deleteDemandElement(), GNEStop::drawGL(), GNEPerson::drawGL(), GNEVehicle::drawGL(), GNEEdge::drawPartialPersonPlan(), GNEEdge::drawPartialRoute(), GNERouteHandler::embebbeRoute(), GNELane::endGeometryMoving(), GNEEdge::endGeometryMoving(), GNEStop::getAttribute(), GNERide::getAttribute(), GNEPersonTrip::getAttribute(), GNEWalk::getAttribute(), GNEPerson::getAttribute(), GNEVehicle::getAttribute(), GNERide::getColor(), GNEPersonTrip::getColor(), GNEWalk::getColor(), GNERide::getDemandElementProblem(), GNEPersonTrip::getDemandElementProblem(), GNEWalk::getDemandElementProblem(), GNEVehicle::getDemandElementProblem(), GNEDemandElement::getFirstAllowedVehicleLane(), GNERide::getFromEdge(), GNEPersonTrip::getFromEdge(), GNEWalk::getFromEdge(), GNEVehicle::getFromEdge(), GNEStop::getHierarchyName(), GNEWalk::getHierarchyName(), GNEDemandElement::getLastAllowedVehicleLane(), GNEStop::getParentName(), GNEVehicle::getParentName(), GNEStop::getPositionInView(), GNERide::getToEdge(), GNEPersonTrip::getToEdge(), GNEWalk::getToEdge(), GNEVehicle::getToEdge(), GNEStop::getVClass(), GNERide::getVClass(), GNEPersonTrip::getVClass(), GNEWalk::getVClass(), GNEPerson::getVClass(), GNEVehicle::getVClass(), GNERide::isDemandElementValid(), GNEPersonTrip::isDemandElementValid(), GNEWalk::isDemandElementValid(), GNEVehicle::isDemandElementValid(), GNEVehicle::isValid(), GNEViewNet::onCmdToogleLockPerson(), GNEPersonPlanFrame::PersonPlanCreator::refreshPersonPlanCreator(), GNERouteHandler::separateEmbeddedRoute(), GNEVehicle::setAttribute(), GNEVehicle::setColor(), GNEFrameModuls::AttributeCarrierHierarchy::showAttributeCarrierParents(), GNEViewNetHelper::DemandViewOptions::showNonInspectedDemandElements(), GNELane::startGeometryMoving(), GNEEdge::startGeometryMoving(), GNEDeleteFrame::SubordinatedElements::SubordinatedElements(), GNERouteHandler::transformToFlow(), GNERouteHandler::transformToRouteFlow(), GNERouteHandler::transformToTrip(), GNERouteHandler::transformToVehicle(), GNEBusStop::updateGeometry(), GNELane::updateGeometry(), GNEEdge::updateGeometry(), GNEStop::updateGeometry(), GNEWalk::updateGeometry(), GNEStop::updatePartialGeometry(), GNERide::writeDemandElement(), GNEPersonTrip::writeDemandElement(), GNEWalk::writeDemandElement(), GNEPerson::writeDemandElement(), and GNEVehicle::writeDemandElement().

◆ getParentEdges()

const std::vector< GNEEdge * > & GNEHierarchicalParentElements::getParentEdges ( ) const

get parent edges

Definition at line 181 of file GNEHierarchicalParentElements.cpp.

References myParentEdges.

Referenced by GNEVehicleFrame::addVehicle(), GNERouteHandler::buildFlowOverRoute(), GNERouteHandler::buildFlowWithEmbeddedRoute(), GNERouteHandler::buildVehicleOverRoute(), GNERouteHandler::buildVehicleWithEmbeddedRoute(), GNERide::computePath(), GNEPersonTrip::computePath(), GNEWalk::computePath(), GNEVehicle::computePath(), GNECalibrator::drawCalibratorSymbol(), GNEVaporizer::drawGL(), GNERouteProbe::drawGL(), GNEVehicle::drawGL(), GNEEdge::drawPartialPersonPlan(), GNEEdge::drawPartialRoute(), GNERouteProbe::getAttribute(), GNETAZSourceSink::getAttribute(), GNECalibrator::getAttribute(), GNERide::getAttribute(), GNEPersonTrip::getAttribute(), GNEWalk::getAttribute(), GNERoute::getAttribute(), GNEVehicle::getAttribute(), GNETAZSourceSink::getCenteringBoundary(), GNERide::getCenteringBoundary(), GNEPersonTrip::getCenteringBoundary(), GNEWalk::getCenteringBoundary(), GNERoute::getCenteringBoundary(), GNERide::getDemandElementProblem(), GNEPersonTrip::getDemandElementProblem(), GNEWalk::getDemandElementProblem(), GNERoute::getDemandElementProblem(), GNEVehicle::getDemandElementProblem(), GNEDemandElement::getFirstAllowedVehicleLane(), GNERide::getFromEdge(), GNEPersonTrip::getFromEdge(), GNEWalk::getFromEdge(), GNERoute::getFromEdge(), GNEVehicle::getFromEdge(), GNERide::getHierarchyName(), GNEPersonTrip::getHierarchyName(), GNEWalk::getHierarchyName(), GNEPerson::getHierarchyName(), GNEVehicle::getHierarchyName(), GNEDemandElement::getLastAllowedVehicleLane(), GNERouteHandler::PersonPlansValues::getLastEdge(), GNEVaporizer::getParentName(), GNERouteProbe::getParentName(), GNECalibrator::getParentName(), GNEVehicle::getParentName(), GNEVaporizer::getPositionInView(), GNERouteProbe::getPositionInView(), GNECalibrator::getPositionInView(), GNERide::getToEdge(), GNEPersonTrip::getToEdge(), GNEWalk::getToEdge(), GNERoute::getToEdge(), GNEVehicle::getToEdge(), GNERide::invalidatePath(), GNEPersonTrip::invalidatePath(), GNEWalk::invalidatePath(), GNEVehicle::invalidatePath(), GNERide::isDemandElementValid(), GNEPersonTrip::isDemandElementValid(), GNEWalk::isDemandElementValid(), GNERoute::isDemandElementValid(), GNEVehicle::isDemandElementValid(), GNECalibrator::isValid(), GNERide::moveGeometry(), GNEPersonTrip::moveGeometry(), GNEWalk::moveGeometry(), GNERoute::GNERoutePopupMenu::onCmdApplyDistance(), GNEPersonPlanFrame::PersonPlanCreator::refreshPersonPlanCreator(), GNEFrameModuls::AttributeCarrierHierarchy::showAttributeCarrierParents(), GNERouteHandler::transformToFlow(), GNERouteHandler::transformToTrip(), GNEVaporizer::updateGeometry(), GNERouteProbe::updateGeometry(), GNECalibrator::updateGeometry(), GNERide::updateGeometry(), GNEPersonTrip::updateGeometry(), GNEWalk::updateGeometry(), GNERoute::updateGeometry(), GNEVehicle::updateGeometry(), GNERide::writeDemandElement(), GNEPersonTrip::writeDemandElement(), GNEWalk::writeDemandElement(), GNERoute::writeDemandElement(), and GNEVehicle::writeDemandElement().

◆ getParentLanes()

const std::vector< GNELane * > & GNEHierarchicalParentElements::getParentLanes ( ) const

get parent lanes

Definition at line 235 of file GNEHierarchicalParentElements.cpp.

References myParentLanes.

Referenced by GNEDetectorE2::checkE2MultilaneIntegrity(), GNEStop::commitGeometryMoving(), GNEDetectorE2::commitGeometryMoving(), GNEPOI::commitGeometryMoving(), GNERide::computePath(), GNEPersonTrip::computePath(), GNEWalk::computePath(), GNECalibrator::drawCalibratorSymbol(), GNEStop::drawGL(), GNEEdge::drawPartialPersonPlan(), GNEStop::enableAttribute(), GNEStop::endGeometryMoving(), GNEDetectorE1Instant::fixAdditionalProblem(), GNEDetectorE1::fixAdditionalProblem(), GNEDetectorEntryExit::fixAdditionalProblem(), GNEStoppingPlace::fixAdditionalProblem(), GNEDetectorE2::fixAdditionalProblem(), GNEDetectorE1Instant::getAdditionalProblem(), GNEDetectorE1::getAdditionalProblem(), GNEDetectorEntryExit::getAdditionalProblem(), GNEStoppingPlace::getAdditionalProblem(), GNEDetectorE2::getAdditionalProblem(), GNEBusStop::getAttribute(), GNEContainerStop::getAttribute(), GNEChargingStation::getAttribute(), GNEParkingArea::getAttribute(), GNEDetectorE1::getAttribute(), GNEDetectorEntryExit::getAttribute(), GNEDetectorE1Instant::getAttribute(), GNEAccess::getAttribute(), GNECalibrator::getAttribute(), GNEDetectorE2::getAttribute(), GNEStop::getAttribute(), GNEPOI::getAttribute(), GNEStop::getAttributeDouble(), GNEDetector::getCenteringBoundary(), GNEStop::getDemandElementProblem(), GNEAccess::getEdge(), GNEStoppingPlace::getEndGeometryPositionOverLane(), GNEStop::getEndGeometryPositionOverLane(), GNEStoppingPlace::getEndPosition(), GNEStop::getFromEdge(), GNEAccess::getHierarchyName(), GNEDetector::getLane(), GNEStoppingPlace::getParentName(), GNECalibrator::getParentName(), GNEStop::getParentName(), GNEPOI::getPopUpMenu(), GNEAccess::getPositionInView(), GNEStoppingPlace::getPositionInView(), GNECalibrator::getPositionInView(), GNEStop::getPositionInView(), GNEStoppingPlace::getStartGeometryPositionOverLane(), GNEStop::getStartGeometryPositionOverLane(), GNEStop::getToEdge(), GNERide::invalidatePath(), GNEPersonTrip::invalidatePath(), GNEWalk::invalidatePath(), GNEAccess::isAccessPositionFixed(), GNEDetectorE1Instant::isAdditionalValid(), GNEDetectorE1::isAdditionalValid(), GNEDetectorEntryExit::isAdditionalValid(), GNEStoppingPlace::isAdditionalValid(), GNEDetectorE2::isAdditionalValid(), GNEStop::isDemandElementValid(), GNEBusStop::isValid(), GNEContainerStop::isValid(), GNEChargingStation::isValid(), GNEParkingArea::isValid(), GNEDetectorE1::isValid(), GNEDetectorEntryExit::isValid(), GNEDetectorE1Instant::isValid(), GNEAccess::isValid(), GNECalibrator::isValid(), GNEStop::isValid(), GNEPOI::isValid(), GNEAccess::moveGeometry(), GNEDetectorE1::moveGeometry(), GNEDetectorEntryExit::moveGeometry(), GNEDetectorE1Instant::moveGeometry(), GNEStoppingPlace::moveGeometry(), GNEStop::moveGeometry(), GNEDetectorE2::moveGeometry(), GNEPOI::moveGeometry(), GNEPersonPlanFrame::personPlanCreated(), GNEPersonPlanFrame::PersonPlanCreator::refreshPersonPlanCreator(), GNEPOI::setAttribute(), GNEStoppingPlace::setStoppingPlaceGeometry(), GNEFrameModuls::AttributeCarrierHierarchy::showAttributeCarrierParents(), GNEStoppingPlace::splitEdgeGeometry(), GNEStop::startGeometryMoving(), GNEBusStop::updateGeometry(), GNEContainerStop::updateGeometry(), GNEChargingStation::updateGeometry(), GNEParkingArea::updateGeometry(), GNEAccess::updateGeometry(), GNEDetectorE1::updateGeometry(), GNEDetectorEntryExit::updateGeometry(), GNEDetectorE1Instant::updateGeometry(), GNECalibrator::updateGeometry(), GNEStop::updateGeometry(), GNEDetectorE2::updateGeometry(), GNEPOI::updateGeometry(), GNEStop::updatePartialGeometry(), and GNEPOI::writeShape().

◆ getParentShapes()

const std::vector< GNEShape * > & GNEHierarchicalParentElements::getParentShapes ( ) const

◆ getPathEdges()

const std::vector< GNEEdge * > & GNEHierarchicalParentElements::getPathEdges ( ) const

◆ getPositionInView()

◆ operator=()

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

Invalidated assignment operator.

◆ removeParentAdditional()

void GNEHierarchicalParentElements::removeParentAdditional ( GNEAdditional additional)

remove parent additional

Definition at line 73 of file GNEHierarchicalParentElements.cpp.

References GNEAttributeCarrier::getID(), GNEAttributeCarrier::getTagStr(), myAC, and myParentAdditionals.

◆ removeParentDemandElement()

void GNEHierarchicalParentElements::removeParentDemandElement ( GNEDemandElement demandElement)

remove parent demand element

Definition at line 102 of file GNEHierarchicalParentElements.cpp.

References GNEAttributeCarrier::getID(), GNEAttributeCarrier::getTagStr(), myAC, and myParentDemandElements.

◆ removeParentEdge()

void GNEHierarchicalParentElements::removeParentEdge ( GNEEdge edge)

◆ removeParentLane()

void GNEHierarchicalParentElements::removeParentLane ( GNELane lane)

◆ removeParentShape()

void GNEHierarchicalParentElements::removeParentShape ( GNEShape shape)

◆ replaceFirstParentEdge()

void GNEHierarchicalParentElements::replaceFirstParentEdge ( GNEDemandElement elementChild,
GNEEdge newFirstEdge 
)
protected

replace the first parent edge (used by demand elements)

Definition at line 356 of file GNEHierarchicalParentElements.cpp.

References myParentEdges.

Referenced by GNERide::setAttribute(), GNEPersonTrip::setAttribute(), GNEWalk::setAttribute(), and GNEVehicle::setAttribute().

◆ replaceLastParentEdge()

void GNEHierarchicalParentElements::replaceLastParentEdge ( GNEDemandElement elementChild,
GNEEdge newLastEdge 
)
protected

replace the last parent edge (used by demand elements)

Definition at line 397 of file GNEHierarchicalParentElements.cpp.

References myParentEdges.

Referenced by GNERide::setAttribute(), GNEPersonTrip::setAttribute(), GNEWalk::setAttribute(), and GNEVehicle::setAttribute().

◆ replaceMiddleParentEdges()

void GNEHierarchicalParentElements::replaceMiddleParentEdges ( GNEDemandElement elementChild,
const std::vector< GNEEdge * > &  newMiddleEdges,
const bool  updateChildReferences 
)
protected

◆ replaceParentAdditional() [1/3]

void GNEHierarchicalParentElements::replaceParentAdditional ( GNEAdditional additionalTobeChanged,
const std::string &  newParentAdditionalID,
int  additionalParentIndex 
)
protected

replace the parent additional of an additional

Exceptions
exceptionif this additional doesn't have previously a defined Additional parent
exceptionif additional with ID newParentAdditionalID doesn't exist

Definition at line 506 of file GNEHierarchicalParentElements.cpp.

References GNEAttributeCarrier::getID(), GNEViewNet::getNet(), GNEAttributeCarrier::getTagStr(), GNEAdditional::getViewNet(), myAC, myParentAdditionals, GNENet::retrieveAdditional(), toString(), and GNEAdditional::updateGeometry().

◆ replaceParentAdditional() [2/3]

void GNEHierarchicalParentElements::replaceParentAdditional ( GNEDemandElement demandElementTobeChanged,
const std::string &  newParentAdditionalID,
int  additionalParentIndex 
)
protected

replace the parent additional of a demand element

Exceptions
exceptionif this additional doesn't have previously a defined Additional parent
exceptionif additional with ID newParentAdditionalID doesn't exist

Definition at line 523 of file GNEHierarchicalParentElements.cpp.

References GNEAttributeCarrier::getID(), GNEViewNet::getNet(), GNEAttributeCarrier::getTagStr(), GNEDemandElement::getViewNet(), myAC, myParentAdditionals, GNENet::retrieveAdditional(), toString(), and GNEDemandElement::updateGeometry().

◆ replaceParentAdditional() [3/3]

void GNEHierarchicalParentElements::replaceParentAdditional ( GNEShape shapeTobeChanged,
const std::string &  newParentAdditionalID,
int  additionalParentIndex 
)
protected

replace the parent additional of a shape

Exceptions
exceptionif this shape doesn't have previously a defined Additional parent
exceptionif shape with ID newParentAdditionalID doesn't exist

Definition at line 489 of file GNEHierarchicalParentElements.cpp.

References GNEAttributeCarrier::getID(), GNEShape::getNet(), GNEAttributeCarrier::getTagStr(), myAC, myParentAdditionals, GNENet::retrieveAdditional(), toString(), and GNEShape::updateGeometry().

Referenced by GNEDetectorEntryExit::setAttribute(), GNEParkingAreaReroute::setAttribute(), GNEParkingSpace::setAttribute(), GNEStop::setAttribute(), GNERide::setAttribute(), GNEPersonTrip::setAttribute(), and GNEWalk::setAttribute().

◆ replaceParentDemandElement() [1/3]

void GNEHierarchicalParentElements::replaceParentDemandElement ( GNEAdditional additionalTobeChanged,
const std::string &  newParentDemandElementID,
int  demandElementParentIndex 
)
protected

replace the parent demand element of an additional

Exceptions
exceptionif this demand element doesn't have previously a defined DemandElement parent
exceptionif demand element with ID newParentDemandElementID doesn't exist

Definition at line 557 of file GNEHierarchicalParentElements.cpp.

References GNEAttributeCarrier::getID(), GNEViewNet::getNet(), GNEAttributeCarrier::getTagStr(), GNEAdditional::getViewNet(), myAC, myParentDemandElements, GNENet::retrieveDemandElement(), toString(), and GNEAdditional::updateGeometry().

◆ replaceParentDemandElement() [2/3]

void GNEHierarchicalParentElements::replaceParentDemandElement ( GNEDemandElement demandElementTobeChanged,
const std::string &  newParentDemandElementID,
int  demandElementParentIndex 
)
protected

change first parent demand element of demandElement

Exceptions
exceptionif this demand element doesn't have previously a defined DemandElement parent
exceptionif demand element with ID newParentDemandElementID doesn't exist

Definition at line 574 of file GNEHierarchicalParentElements.cpp.

References GNEAttributeCarrier::getID(), GNEViewNet::getNet(), GNEAttributeCarrier::getTagStr(), GNEDemandElement::getViewNet(), myAC, myParentDemandElements, GNENet::retrieveDemandElement(), toString(), and GNEDemandElement::updateGeometry().

◆ replaceParentDemandElement() [3/3]

void GNEHierarchicalParentElements::replaceParentDemandElement ( GNEShape shapeTobeChanged,
const std::string &  newParentDemandElementID,
int  demandElementParentIndex 
)
protected

replace the parent demand element of a shape

Exceptions
exceptionif this demand element doesn't have previously a defined DemandElement parent
exceptionif demand element with ID newParentDemandElementID doesn't exist

Definition at line 540 of file GNEHierarchicalParentElements.cpp.

References GNEAttributeCarrier::getID(), GNEShape::getNet(), GNEAttributeCarrier::getTagStr(), myAC, myParentDemandElements, GNENet::retrieveDemandElement(), toString(), and GNEShape::updateGeometry().

Referenced by GNEWalk::setAttribute(), GNEPerson::setAttribute(), and GNEVehicle::setAttribute().

◆ replaceParentEdges() [1/4]

void GNEHierarchicalParentElements::replaceParentEdges ( GNEAdditional elementChild,
const std::string &  newEdgeIDs 
)
protected

replace the parent edges of an additional

Definition at line 296 of file GNEHierarchicalParentElements.cpp.

References GNEViewNet::getNet(), GNEAdditional::getViewNet(), and myParentEdges.

◆ replaceParentEdges() [2/4]

void GNEHierarchicalParentElements::replaceParentEdges ( GNEDemandElement elementChild,
const std::string &  newEdgeIDs 
)
protected

replace the parent edges of a demandElement

Definition at line 316 of file GNEHierarchicalParentElements.cpp.

References GNEViewNet::getNet(), GNEDemandElement::getViewNet(), and myParentEdges.

◆ replaceParentEdges() [3/4]

void GNEHierarchicalParentElements::replaceParentEdges ( GNEDemandElement elementChild,
const std::vector< GNEEdge * > &  newEdges 
)
protected

replace the parent edges of a demandElement (GNEEdge version)

Definition at line 336 of file GNEHierarchicalParentElements.cpp.

References myParentEdges.

◆ replaceParentEdges() [4/4]

void GNEHierarchicalParentElements::replaceParentEdges ( GNEShape elementChild,
const std::string &  newEdgeIDs 
)
protected

◆ replaceParentLanes() [1/3]

void GNEHierarchicalParentElements::replaceParentLanes ( GNEAdditional elementChild,
const std::string &  newLaneIDs 
)
protected

replace the parent edges of an additional

Definition at line 429 of file GNEHierarchicalParentElements.cpp.

References GNEViewNet::getNet(), GNEAdditional::getViewNet(), and myParentLanes.

◆ replaceParentLanes() [2/3]

void GNEHierarchicalParentElements::replaceParentLanes ( GNEDemandElement elementChild,
const std::string &  newLaneIDs 
)
protected

replace the parent edges of a demandElement

Definition at line 449 of file GNEHierarchicalParentElements.cpp.

References GNEViewNet::getNet(), GNEDemandElement::getViewNet(), and myParentLanes.

◆ replaceParentLanes() [3/3]

◆ replacePathEdges()

void GNEHierarchicalParentElements::replacePathEdges ( GNEDemandElement elementChild,
const std::vector< GNEEdge * > &  routeEdges 
)
protected

◆ updateGeometry()

Friends And Related Function Documentation

◆ GNEChange_Children

friend class GNEChange_Children
friend

declare GNEChange_Children as friend class

Definition at line 54 of file GNEHierarchicalParentElements.h.

Field Documentation

◆ myAC

◆ myParentAdditionals

std::vector<GNEAdditional*> GNEHierarchicalParentElements::myParentAdditionals
private

list of parent additionals of this element

Definition at line 249 of file GNEHierarchicalParentElements.h.

Referenced by addParentAdditional(), getParentAdditionals(), removeParentAdditional(), and replaceParentAdditional().

◆ myParentConnections

GNEGeometry::ParentConnections GNEHierarchicalParentElements::myParentConnections
protected

variable ParentConnections

Definition at line 233 of file GNEHierarchicalParentElements.h.

◆ myParentDemandElements

std::vector<GNEDemandElement*> GNEHierarchicalParentElements::myParentDemandElements
private

list of demand elements parents of this element

Definition at line 252 of file GNEHierarchicalParentElements.h.

Referenced by addParentDemandElement(), getParentDemandElements(), removeParentDemandElement(), and replaceParentDemandElement().

◆ myParentEdges

std::vector<GNEEdge*> GNEHierarchicalParentElements::myParentEdges
private

◆ myParentLanes

std::vector<GNELane*> GNEHierarchicalParentElements::myParentLanes
private

list of parent lanes of this element

Definition at line 243 of file GNEHierarchicalParentElements.h.

Referenced by addParentLane(), getNewListOfParents(), getParentLanes(), removeParentLane(), and replaceParentLanes().

◆ myParentShapes

std::vector<GNEShape*> GNEHierarchicalParentElements::myParentShapes
private

list of parent shapes of this element

Definition at line 246 of file GNEHierarchicalParentElements.h.

Referenced by addParentShape(), getParentShapes(), and removeParentShape().

◆ myRouteEdges

std::vector<GNEEdge*> GNEHierarchicalParentElements::myRouteEdges
private

list of edges used in Flow/Trips/PersonTrips

Definition at line 240 of file GNEHierarchicalParentElements.h.

Referenced by getPathEdges(), and replacePathEdges().


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