![]() |
Eclipse SUMO - Simulation of Urban MObility
|
#include <GNEChange_Crossing.h>
Public Member Functions | |
GNEChange_Crossing (GNEJunction *junctionParent, const NBNode::Crossing &crossing, bool forward) | |
Constructor for creating/deleting an crossing based on an existing object. More... | |
GNEChange_Crossing (GNEJunction *junctionParent, const std::vector< NBEdge * > &edges, double width, bool priority, int customTLIndex, int customTLIndex2, const PositionVector &customShape, bool selected, bool forward) | |
Constructor for creating/deleting an crossing. More... | |
virtual FXuint | size () const |
return actual size More... | |
~GNEChange_Crossing () | |
Destructor. More... | |
inherited from GNEChange | |
get undo Name | |
FXString | undoName () const |
return undoName More... | |
FXString | redoName () const |
get Redo name More... | |
void | undo () |
undo action More... | |
void | redo () |
redo action More... | |
Protected Member Functions | |
template<typename T > | |
void | addElementInParentsAndChildren (T *element) |
add given element into parents and children (only use in redo() function) More... | |
template<typename T > | |
void | removeElementFromParentsAndChildren (T *element) |
remove given element from parents and children (only use in redo() function) More... | |
void | restoreHierarchicalContainers () |
restore container (only use in undo() function) More... | |
Protected Attributes | |
bool | myForward |
we group antagonistic commands (create junction/delete junction) and keep them apart by this flag More... | |
std::map< GNEHierarchicalElement *, GNEHierarchicalContainer > | myHierarchicalContainers |
map with hierarchical container of all parent and children elements More... | |
const GNEHierarchicalContainer | myOriginalHierarchicalContainer |
Hierarchical container with parent and children. More... | |
const bool | mySelectedElement |
flag for check if element is selected More... | |
Private Attributes | |
PositionVector | myCustomShape |
priority of GNECrossing More... | |
int | myCustomTLIndex |
custom index of GNECrossing More... | |
int | myCustomTLIndex2 |
custom index of GNECrossing (reverse direction) More... | |
std::vector< NBEdge * > | myEdges |
vector to save all edges of GNECrossing More... | |
GNEJunction * | myJunctionParent |
full information regarding the Junction in which GNECRossing is created More... | |
bool | myPriority |
priority of GNECrossing More... | |
double | myWidth |
width of GNECrossing More... | |
A network change in which a single crossing is created or deleted
Definition at line 34 of file GNEChange_Crossing.h.
GNEChange_Crossing::GNEChange_Crossing | ( | GNEJunction * | junctionParent, |
const std::vector< NBEdge * > & | edges, | ||
double | width, | ||
bool | priority, | ||
int | customTLIndex, | ||
int | customTLIndex2, | ||
const PositionVector & | customShape, | ||
bool | selected, | ||
bool | forward | ||
) |
Constructor for creating/deleting an crossing.
[in] | JunctionParent | GNEJunction in which the crossing will be created/deleted |
[in] | edges | vector of edges of crossing |
[in] | width | value with the width of crossing |
[in] | priority | boolean with the priority of crossing |
[in] | check | if in the moment of change connection was selected |
[in] | forward | Whether to create/delete (true/false) |
Definition at line 39 of file GNEChange_Crossing.cpp.
GNEChange_Crossing::GNEChange_Crossing | ( | GNEJunction * | junctionParent, |
const NBNode::Crossing & | crossing, | ||
bool | forward | ||
) |
Constructor for creating/deleting an crossing based on an existing object.
Definition at line 52 of file GNEChange_Crossing.cpp.
GNEChange_Crossing::~GNEChange_Crossing | ( | ) |
Destructor.
Definition at line 64 of file GNEChange_Crossing.cpp.
|
inlineprotectedinherited |
add given element into parents and children (only use in redo() function)
Definition at line 106 of file GNEChange.h.
References GNEHierarchicalContainer::getChildren(), GNEHierarchicalContainer::getParents(), and GNEChange::myOriginalHierarchicalContainer.
Referenced by GNEChange_Additional::redo(), GNEChange_DemandElement::redo(), GNEChange_Edge::redo(), GNEChange_GenericData::redo(), GNEChange_Lane::redo(), GNEChange_Shape::redo(), and GNEChange_TAZElement::redo().
|
virtual |
redo action
Reimplemented from GNEChange.
Definition at line 110 of file GNEChange_Crossing.cpp.
References NBNode::addCrossing(), NBNode::getCrossing(), GNENetworkElement::getID(), GNEJunction::getNBNode(), GNEAttributeCarrier::getNet(), GNENet::getNetBuilder(), GNEAttributeCarrier::getTagStr(), NBNetBuilder::haveNetworkCrossings(), myCustomShape, myCustomTLIndex, myCustomTLIndex2, myEdges, GNEChange::myForward, myJunctionParent, myPriority, GNEChange::mySelectedElement, myWidth, GNENet::netHasGNECrossings(), GNEJunction::rebuildGNECrossings(), NBNode::removeCrossing(), GNENet::requireSaveNet(), GNEJunction::retrieveGNECrossing(), GNEAttributeCarrier::selectAttributeCarrier(), NBNetBuilder::setHaveNetworkCrossings(), SUMO_TAG_CROSSING, toString(), GNEAttributeCarrier::unselectAttributeCarrier(), and WRITE_DEBUG.
|
virtual |
get Redo name
Reimplemented from GNEChange.
Definition at line 163 of file GNEChange_Crossing.cpp.
References GNEChange::myForward, SUMO_TAG_CROSSING, and toString().
|
inlineprotectedinherited |
remove given element from parents and children (only use in redo() function)
Definition at line 161 of file GNEChange.h.
References GNEHierarchicalContainer::getChildren(), GNEHierarchicalContainer::getParents(), and GNEChange::myOriginalHierarchicalContainer.
Referenced by GNEChange_Additional::redo(), GNEChange_DemandElement::redo(), GNEChange_Edge::redo(), GNEChange_GenericData::redo(), GNEChange_Lane::redo(), GNEChange_Shape::redo(), and GNEChange_TAZElement::redo().
|
protectedinherited |
restore container (only use in undo() function)
Definition at line 82 of file GNEChange.cpp.
References GNEChange::myHierarchicalContainers.
Referenced by GNEChange_Additional::undo(), GNEChange_DemandElement::undo(), GNEChange_Edge::undo(), GNEChange_GenericData::undo(), GNEChange_Lane::undo(), GNEChange_Shape::undo(), and GNEChange_TAZElement::undo().
|
virtualinherited |
return actual size
Definition at line 56 of file GNEChange.cpp.
|
virtual |
undo action
Reimplemented from GNEChange.
Definition at line 68 of file GNEChange_Crossing.cpp.
References NBNode::addCrossing(), NBNode::getCrossing(), GNENetworkElement::getID(), GNEJunction::getNBNode(), GNEAttributeCarrier::getNet(), GNENet::getNetBuilder(), GNEAttributeCarrier::getTagStr(), NBNetBuilder::haveNetworkCrossings(), myCustomShape, myCustomTLIndex, myCustomTLIndex2, myEdges, GNEChange::myForward, myJunctionParent, myPriority, GNEChange::mySelectedElement, myWidth, GNENet::netHasGNECrossings(), GNEJunction::rebuildGNECrossings(), NBNode::removeCrossing(), GNENet::requireSaveNet(), GNEJunction::retrieveGNECrossing(), GNEAttributeCarrier::selectAttributeCarrier(), NBNetBuilder::setHaveNetworkCrossings(), SUMO_TAG_CROSSING, toString(), GNEAttributeCarrier::unselectAttributeCarrier(), and WRITE_DEBUG.
|
virtual |
return undoName
Reimplemented from GNEChange.
Definition at line 153 of file GNEChange_Crossing.cpp.
References GNEChange::myForward, SUMO_TAG_CROSSING, and toString().
|
private |
priority of GNECrossing
Definition at line 92 of file GNEChange_Crossing.h.
|
private |
custom index of GNECrossing
Definition at line 86 of file GNEChange_Crossing.h.
|
private |
custom index of GNECrossing (reverse direction)
Definition at line 89 of file GNEChange_Crossing.h.
|
private |
vector to save all edges of GNECrossing
Definition at line 77 of file GNEChange_Crossing.h.
|
protectedinherited |
we group antagonistic commands (create junction/delete junction) and keep them apart by this flag
Definition at line 215 of file GNEChange.h.
Referenced by GNEChange_Additional::redo(), GNEChange_Children::redo(), GNEChange_Connection::redo(), redo(), GNEChange_DataInterval::redo(), GNEChange_DataSet::redo(), GNEChange_DemandElement::redo(), GNEChange_Edge::redo(), GNEChange_EdgeType::redo(), GNEChange_GenericData::redo(), GNEChange_Junction::redo(), GNEChange_Lane::redo(), GNEChange_LaneType::redo(), GNEChange_Shape::redo(), GNEChange_TAZElement::redo(), GNEChange_TLS::redo(), GNEChange_Additional::redoName(), GNEChange_Children::redoName(), GNEChange_Connection::redoName(), redoName(), GNEChange_DataInterval::redoName(), GNEChange_DataSet::redoName(), GNEChange_DemandElement::redoName(), GNEChange_Edge::redoName(), GNEChange_EdgeType::redoName(), GNEChange_GenericData::redoName(), GNEChange_Junction::redoName(), GNEChange_Lane::redoName(), GNEChange_LaneType::redoName(), GNEChange_Shape::redoName(), GNEChange_TAZElement::redoName(), GNEChange_TLS::redoName(), GNEChange_Additional::undo(), GNEChange_Children::undo(), GNEChange_Connection::undo(), undo(), GNEChange_DataInterval::undo(), GNEChange_DataSet::undo(), GNEChange_DemandElement::undo(), GNEChange_Edge::undo(), GNEChange_EdgeType::undo(), GNEChange_GenericData::undo(), GNEChange_Junction::undo(), GNEChange_Lane::undo(), GNEChange_LaneType::undo(), GNEChange_Shape::undo(), GNEChange_TAZElement::undo(), GNEChange_TLS::undo(), GNEChange_Additional::undoName(), GNEChange_Children::undoName(), GNEChange_Connection::undoName(), undoName(), GNEChange_DataInterval::undoName(), GNEChange_DataSet::undoName(), GNEChange_DemandElement::undoName(), GNEChange_Edge::undoName(), GNEChange_EdgeType::undoName(), GNEChange_GenericData::undoName(), GNEChange_Junction::undoName(), GNEChange_Lane::undoName(), GNEChange_LaneType::undoName(), GNEChange_Shape::undoName(), GNEChange_TAZElement::undoName(), and GNEChange_TLS::undoName().
|
protectedinherited |
map with hierarchical container of all parent and children elements
Definition at line 224 of file GNEChange.h.
Referenced by GNEChange::GNEChange(), and GNEChange::restoreHierarchicalContainers().
|
private |
full information regarding the Junction in which GNECRossing is created
Definition at line 74 of file GNEChange_Crossing.h.
|
protectedinherited |
Hierarchical container with parent and children.
Definition at line 221 of file GNEChange.h.
Referenced by GNEChange::addElementInParentsAndChildren(), GNEChange_DemandElement::redo(), GNEChange::removeElementFromParentsAndChildren(), and GNEChange_DemandElement::undo().
|
private |
priority of GNECrossing
Definition at line 83 of file GNEChange_Crossing.h.
|
protectedinherited |
flag for check if element is selected
Definition at line 218 of file GNEChange.h.
Referenced by GNEChange_Additional::redo(), GNEChange_Connection::redo(), redo(), GNEChange_DemandElement::redo(), GNEChange_Edge::redo(), GNEChange_GenericData::redo(), GNEChange_Junction::redo(), GNEChange_Lane::redo(), GNEChange_Shape::redo(), GNEChange_TAZElement::redo(), GNEChange_Additional::undo(), GNEChange_Connection::undo(), undo(), GNEChange_DemandElement::undo(), GNEChange_Edge::undo(), GNEChange_GenericData::undo(), GNEChange_Junction::undo(), GNEChange_Lane::undo(), GNEChange_Shape::undo(), and GNEChange_TAZElement::undo().
|
private |
width of GNECrossing
Definition at line 80 of file GNEChange_Crossing.h.