![]() |
Eclipse SUMO - Simulation of Urban MObility
|
#include <GNEChange_Shape.h>
Public Member Functions | |
| GNEChange_Shape (GNEShape *shape, bool forward) | |
| Constructor. More... | |
| ~GNEChange_Shape () | |
| Destructor. More... | |
inherited from GNEChange | |
get undo Name | |
| std::string | undoName () const |
| return undoName More... | |
| std::string | redoName () const |
| get Redo name More... | |
| void | undo () |
| undo action More... | |
| void | redo () |
| redo action More... | |
Private Attributes | |
| GNEShape * | myShape |
| pointer to shape More... | |
friend class | |
| GNEChange * | next |
| virtual int | size () const |
| Return the size of the command group. More... | |
| Supermode | getSupermode () const |
| get supermode More... | |
| bool | canMerge () const |
| Return TRUE if this command can be merged with previous undo commands. This is useful to combine e.g. multiple consecutive single-character text changes into a single block change. The default implementation returns FALSE. More... | |
| bool | mergeWith (GNEChange *command) |
| Called by the undo system to try and merge the new incoming command with this command; should return TRUE if merging was possible. The default implementation returns FALSE. More... | |
| const Supermode | mySupermode |
| supermode related with this change More... | |
| bool | myForward |
| we group antagonistic commands (create junction/delete junction) and keep them apart by this flag More... | |
| const bool | mySelectedElement |
| flag for check if element is selected More... | |
| const GNEHierarchicalContainer | myOriginalHierarchicalContainer |
| Hierarchical container with parent and children. More... | |
| std::map< GNEHierarchicalElement *, GNEHierarchicalContainer > | myHierarchicalContainers |
| map with hierarchical container of all parent and children elements More... | |
| void | restoreHierarchicalContainers () |
| restore container (only use in undo() function) More... | |
| 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... | |
A network change in which a single poly is created or deleted
Definition at line 32 of file GNEChange_Shape.h.
| GNEChange_Shape::GNEChange_Shape | ( | GNEShape * | shape, |
| bool | forward | ||
| ) |
Constructor.
| [in] | shape | the shape to be changed |
| [in] | forward | Whether to create/delete (true/false) |
Definition at line 35 of file GNEChange_Shape.cpp.
| GNEChange_Shape::~GNEChange_Shape | ( | ) |
Destructor.
Definition at line 42 of file GNEChange_Shape.cpp.
References GNEReferenceCounter::decRef(), GNENetHelper::AttributeCarriers::deleteShape(), GNENet::getAttributeCarriers(), GNEShape::getID(), GNEAttributeCarrier::getNet(), GNEAttributeCarrier::getTagStr(), myShape, GNENetHelper::AttributeCarriers::retrieveShape(), GNEReferenceCounter::unreferenced(), and WRITE_DEBUG.
|
inlineprotectedinherited |
add given element into parents and children (only use in redo() function)
Definition at line 132 of file GNEChange.h.
References GNEHierarchicalContainer::getChildren(), GNEHierarchicalContainer::getParents(), and GNEChange::myOriginalHierarchicalContainer.
Referenced by GNEChange_DemandElement::redo(), GNEChange_TAZElement::redo(), redo(), GNEChange_Additional::redo(), GNEChange_Edge::redo(), GNEChange_GenericData::redo(), and GNEChange_Lane::redo().
|
inherited |
Return TRUE if this command can be merged with previous undo commands. This is useful to combine e.g. multiple consecutive single-character text changes into a single block change. The default implementation returns FALSE.
Definition at line 74 of file GNEChange.cpp.
Referenced by GNEUndoList::add().
|
inherited |
get supermode
Definition at line 68 of file GNEChange.cpp.
References GNEChange::mySupermode.
Referenced by GNEUndoList::getRedoSupermode(), and GNEUndoList::getUndoSupermode().
|
inherited |
Called by the undo system to try and merge the new incoming command with this command; should return TRUE if merging was possible. The default implementation returns FALSE.
Definition at line 80 of file GNEChange.cpp.
Referenced by GNEUndoList::add().
|
virtual |
redo action
Implements GNEChange.
Definition at line 88 of file GNEChange_Shape.cpp.
References GNEChange::addElementInParentsAndChildren(), GNENetHelper::AttributeCarriers::deleteShape(), GNENet::getAttributeCarriers(), GNEShape::getID(), GNEAttributeCarrier::getNet(), GNEAttributeCarrier::getTagStr(), GNENetHelper::AttributeCarriers::insertShape(), GNEChange::myForward, GNEChange::mySelectedElement, myShape, GNEChange::removeElementFromParentsAndChildren(), GNEAttributeCarrier::selectAttributeCarrier(), GNEAttributeCarrier::unselectAttributeCarrier(), and WRITE_DEBUG.
|
virtual |
get Redo name
Implements GNEChange.
Definition at line 126 of file GNEChange_Shape.cpp.
References GNEAttributeCarrier::getTagStr(), GNEChange::myForward, and myShape.
|
inlineprotectedinherited |
remove given element from parents and children (only use in redo() function)
Definition at line 187 of file GNEChange.h.
References GNEHierarchicalContainer::getChildren(), GNEHierarchicalContainer::getParents(), and GNEChange::myOriginalHierarchicalContainer.
Referenced by GNEChange_DemandElement::redo(), GNEChange_TAZElement::redo(), redo(), GNEChange_Additional::redo(), GNEChange_Edge::redo(), GNEChange_GenericData::redo(), and GNEChange_Lane::redo().
|
protectedinherited |
restore container (only use in undo() function)
Definition at line 94 of file GNEChange.cpp.
References GNEChange::myHierarchicalContainers.
Referenced by GNEChange_DemandElement::undo(), GNEChange_TAZElement::undo(), undo(), GNEChange_Additional::undo(), GNEChange_Edge::undo(), GNEChange_GenericData::undo(), and GNEChange_Lane::undo().
|
virtualinherited |
Return the size of the command group.
Reimplemented in GNEChangeGroup.
Definition at line 61 of file GNEChange.cpp.
Referenced by GNEChangeGroup::size().
|
virtual |
undo action
Implements GNEChange.
Definition at line 60 of file GNEChange_Shape.cpp.
References GNENetHelper::AttributeCarriers::deleteShape(), GNENet::getAttributeCarriers(), GNEShape::getID(), GNEAttributeCarrier::getNet(), GNEAttributeCarrier::getTagStr(), GNENetHelper::AttributeCarriers::insertShape(), GNEChange::myForward, GNEChange::mySelectedElement, myShape, GNEChange::restoreHierarchicalContainers(), GNEAttributeCarrier::selectAttributeCarrier(), GNEAttributeCarrier::unselectAttributeCarrier(), and WRITE_DEBUG.
|
virtual |
return undoName
Implements GNEChange.
Definition at line 116 of file GNEChange_Shape.cpp.
References GNEAttributeCarrier::getTagStr(), GNEChange::myForward, and myShape.
|
protectedinherited |
we group antagonistic commands (create junction/delete junction) and keep them apart by this flag
Definition at line 244 of file GNEChange.h.
Referenced by GNEChange_DataInterval::redo(), GNEChange_DataSet::redo(), GNEChange_Junction::redo(), GNEChange_DemandElement::redo(), redo(), GNEChange_TAZElement::redo(), GNEChange_EdgeType::redo(), GNEChange_Additional::redo(), GNEChange_Edge::redo(), GNEChange_Connection::redo(), GNEChange_TLS::redo(), GNEChange_GenericData::redo(), GNEChange_Children::redo(), GNEChange_Lane::redo(), GNEChange_Crossing::redo(), GNEChange_Junction::redoName(), GNEChange_DataInterval::redoName(), redoName(), GNEChange_DataSet::redoName(), GNEChange_TAZElement::redoName(), GNEChange_DemandElement::redoName(), GNEChange_Edge::redoName(), GNEChange_EdgeType::redoName(), GNEChange_Additional::redoName(), GNEChange_Connection::redoName(), GNEChange_TLS::redoName(), GNEChange_GenericData::redoName(), GNEChange_Children::redoName(), GNEChange_Lane::redoName(), GNEChange_Crossing::redoName(), GNEChange_DemandElement::undo(), GNEChange_TAZElement::undo(), undo(), GNEChange_DataInterval::undo(), GNEChange_Junction::undo(), GNEChange_DataSet::undo(), GNEChange_Additional::undo(), GNEChange_EdgeType::undo(), GNEChange_Edge::undo(), GNEChange_Connection::undo(), GNEChange_TLS::undo(), GNEChange_GenericData::undo(), GNEChange_Children::undo(), GNEChange_Lane::undo(), GNEChange_Crossing::undo(), undoName(), GNEChange_DemandElement::undoName(), GNEChange_DataInterval::undoName(), GNEChange_TAZElement::undoName(), GNEChange_Junction::undoName(), GNEChange_DataSet::undoName(), GNEChange_Additional::undoName(), GNEChange_EdgeType::undoName(), GNEChange_Edge::undoName(), GNEChange_Connection::undoName(), GNEChange_TLS::undoName(), GNEChange_GenericData::undoName(), GNEChange_Children::undoName(), GNEChange_Lane::undoName(), and GNEChange_Crossing::undoName().
|
protectedinherited |
map with hierarchical container of all parent and children elements
Definition at line 253 of file GNEChange.h.
Referenced by GNEChange::GNEChange(), and GNEChange::restoreHierarchicalContainers().
|
protectedinherited |
Hierarchical container with parent and children.
Definition at line 250 of file GNEChange.h.
Referenced by GNEChange::addElementInParentsAndChildren(), GNEChange_DemandElement::redo(), GNEChange::removeElementFromParentsAndChildren(), and GNEChange_DemandElement::undo().
|
protectedinherited |
flag for check if element is selected
Definition at line 247 of file GNEChange.h.
Referenced by GNEChange_DemandElement::redo(), redo(), GNEChange_Junction::redo(), GNEChange_TAZElement::redo(), GNEChange_Additional::redo(), GNEChange_Edge::redo(), GNEChange_Connection::redo(), GNEChange_GenericData::redo(), GNEChange_Lane::redo(), GNEChange_Crossing::redo(), GNEChange_TAZElement::undo(), undo(), GNEChange_Junction::undo(), GNEChange_DemandElement::undo(), GNEChange_Additional::undo(), GNEChange_Edge::undo(), GNEChange_Connection::undo(), GNEChange_GenericData::undo(), GNEChange_Lane::undo(), and GNEChange_Crossing::undo().
|
private |
pointer to shape
Definition at line 62 of file GNEChange_Shape.h.
Referenced by redo(), redoName(), undo(), undoName(), and ~GNEChange_Shape().
|
protectedinherited |
supermode related with this change
Definition at line 241 of file GNEChange.h.
Referenced by GNEChange::getSupermode().
|
privateinherited |
Definition at line 257 of file GNEChange.h.
Referenced by GNEUndoList::add(), GNEUndoList::clear(), GNEUndoList::cut(), GNEUndoList::end(), GNEChangeGroup::redo(), GNEUndoList::redo(), GNEChangeGroup::size(), GNEChangeGroup::undo(), GNEUndoList::undo(), and GNEChangeGroup::~GNEChangeGroup().