38 const std::vector<GNEJunction*>& parentJunctions,
39 const std::vector<GNEEdge*>& parentEdges,
40 const std::vector<GNELane*>& parentLanes,
41 const std::vector<GNEAdditional*>& parentAdditionals,
42 const std::vector<GNEShape*>& parentShapes,
43 const std::vector<GNETAZElement*>& parentTAZElements,
44 const std::vector<GNEDemandElement*>& ParentDemandElements,
45 const std::vector<GNEGenericData*>& parentGenericDatas):
46 myParentJunctions(parentJunctions),
47 myParentEdges(parentEdges),
48 myParentLanes(parentLanes),
49 myParentAdditionals(parentAdditionals),
50 myParentShapes(parentShapes),
51 myParentTAZElements(parentTAZElements),
52 myParentDemandElements(ParentDemandElements),
53 myParentGenericDatas(parentGenericDatas) {
117 throw ProcessError(additional->
getTagStr() +
" with ID='" + additional->
getID() +
"' was already inserted in " + hierarchicalElement->
getTagStr() +
" with ID='" + hierarchicalElement->
getID() +
"'");
139 throw ProcessError(TAZElement->
getTagStr() +
" with ID='" + TAZElement->
getID() +
"' was already inserted in " + hierarchicalElement->
getTagStr() +
" with ID='" + hierarchicalElement->
getID() +
"'");
150 throw ProcessError(demandElement->
getTagStr() +
" with ID='" + demandElement->
getID() +
"' was already inserted in " + hierarchicalElement->
getTagStr() +
" with ID='" + hierarchicalElement->
getID() +
"'");
161 throw ProcessError(genericData->
getTagStr() +
" with ID='" + genericData->
getID() +
"' was already inserted in " + hierarchicalElement->
getTagStr() +
" with ID='" + hierarchicalElement->
getID() +
"'");
245 throw ProcessError(demandElement->
getTagStr() +
" with ID='" + demandElement->
getID() +
"' doesn't exist in " + hierarchicalElement->
getTagStr() +
" with ID='" + hierarchicalElement->
getID() +
"'");
301 throw ProcessError(additional->
getTagStr() +
" with ID='" + additional->
getID() +
"' was already inserted in " + hierarchicalElement->
getTagStr() +
" with ID='" + hierarchicalElement->
getID() +
"'");
323 throw ProcessError(TAZElement->
getTagStr() +
" with ID='" + TAZElement->
getID() +
"' was already inserted in " + hierarchicalElement->
getTagStr() +
" with ID='" + hierarchicalElement->
getID() +
"'");
350 throw ProcessError(genericData->
getTagStr() +
" with ID='" + genericData->
getID() +
"' was already inserted in " + hierarchicalElement->
getTagStr() +
" with ID='" + hierarchicalElement->
getID() +
"'");
434 throw ProcessError(demandElement->
getTagStr() +
" with ID='" + demandElement->
getID() +
"' doesn't exist in " + hierarchicalElement->
getTagStr() +
" with ID='" + hierarchicalElement->
getID() +
"'");
453 template<>
const std::vector<GNEJunction*>&
459 template<>
const std::vector<GNEEdge*>&
465 template<>
const std::vector<GNELane*>&
471 template<>
const std::vector<GNEAdditional*>&
477 template<>
const std::vector<GNEShape*>&
483 template<>
const std::vector<GNETAZElement*>&
489 template<>
const std::vector<GNEDemandElement*>&
495 template<>
const std::vector<GNEGenericData*>&
549 template<>
const std::vector<GNEJunction*>&
555 template<>
const std::vector<GNEEdge*>&
561 template<>
const std::vector<GNELane*>&
567 template<>
const std::vector<GNEAdditional*>&
573 template<>
const std::vector<GNEShape*>&
579 template<>
const std::vector<GNETAZElement*>&
585 template<>
const std::vector<GNEDemandElement*>&
591 template<>
const std::vector<GNEGenericData*>&
An Element which don't belongs to GNENet but has influency in the simulation.
const std::string & getID() const
get ID
virtual const std::string & getID() const =0
return ID of object
const std::string & getTagStr() const
get tag assigned to this object in string format
An Element which don't belongs to GNENet but has influency in the simulation.
const std::string & getID() const
get ID
A road/street connecting two junctions (netedit-version)
An Element which don't belongs to GNENet but has influency in the simulation.
const std::string & getID() const
get ID
std::vector< GNEEdge * > myChildEdges
vector with the child edges
std::vector< GNEDemandElement * > myChildDemandElements
vector with the child demand elements
std::vector< GNEDemandElement * > myParentDemandElements
vector of parent demand elements
GNEHierarchicalContainer()
default constructor
std::vector< GNELane * > myParentLanes
vector of parent lanes
void addParentElement(const GNEHierarchicalElement *hierarchicalElement, T *element)
add parent element
size_t getContainerSize() const
get container size
std::vector< GNEAdditional * > myChildAdditionals
vector with the child additional
const T & getParents() const
get parents
std::vector< GNEEdge * > myParentEdges
vector of parent edges
void addChildElement(const GNEHierarchicalElement *hierarchicalElement, T *element)
add child element
std::vector< GNETAZElement * > myParentTAZElements
vector of parent TAZElements
std::vector< GNEJunction * > myChildJunctions
vector with the child junctions
const T & getChildren() const
get children
void removeParentElement(const GNEHierarchicalElement *hierarchicalElement, T *element)
remove parent element
std::vector< GNEJunction * > myParentJunctions
vector of parent junctions
std::vector< GNEShape * > myParentShapes
vector of parent shapes
std::vector< GNEAdditional * > myParentAdditionals
vector of parent additionals
std::vector< GNEGenericData * > myParentGenericDatas
vector of parent generic datas
std::vector< GNETAZElement * > myChildTAZElements
vector with the child TAZ Elements
std::vector< GNEShape * > myChildShapes
vector with the child lanes
static const bool checkContainer
flag for enable/disable check duplicate elements (only used for debug purposes)
std::vector< GNEGenericData * > myChildGenericDatas
vector with the generic child data elements
void setChildren(const T &newChildren)
set children
void setParents(const T &newParents)
set parents
void removeChildElement(const GNEHierarchicalElement *hierarchicalElement, T *element)
remove child element
std::vector< GNELane * > myChildLanes
vector with the child lanes
This lane is powered by an underlying GNEEdge and basically knows how to draw itself.
const std::string & getID() const
get ID
const std::string & getID() const
get ID (all shapes have one)
An Element which don't belongs to GNENet but has influency in the simulation.
const std::string & getID() const
get ID