Eclipse SUMO - Simulation of Urban MObility
GNEChange_Crossing Class Reference

#include <GNEChange_Crossing.h>

Inheritance diagram for GNEChange_Crossing:
Collaboration diagram for GNEChange_Crossing:

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 *, GNEHierarchicalContainermyHierarchicalContainers
 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...
 
GNEJunctionmyJunctionParent
 full information regarding the Junction in which GNECRossing is created More...
 
bool myPriority
 priority of GNECrossing More...
 
double myWidth
 width of GNECrossing More...
 

Detailed Description

A network change in which a single crossing is created or deleted

Definition at line 34 of file GNEChange_Crossing.h.

Constructor & Destructor Documentation

◆ GNEChange_Crossing() [1/2]

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.

Parameters
[in]JunctionParentGNEJunction in which the crossing will be created/deleted
[in]edgesvector of edges of crossing
[in]widthvalue with the width of crossing
[in]priorityboolean with the priority of crossing
[in]checkif in the moment of change connection was selected
[in]forwardWhether to create/delete (true/false)

Definition at line 39 of file GNEChange_Crossing.cpp.

◆ GNEChange_Crossing() [2/2]

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::~GNEChange_Crossing ( )

Destructor.

Definition at line 64 of file GNEChange_Crossing.cpp.

Member Function Documentation

◆ addElementInParentsAndChildren()

template<typename T >
void GNEChange::addElementInParentsAndChildren ( T *  element)
inlineprotectedinherited

◆ redo()

◆ redoName()

FXString GNEChange_Crossing::redoName ( ) const
virtual

get Redo name

Reimplemented from GNEChange.

Definition at line 163 of file GNEChange_Crossing.cpp.

References GNEChange::myForward, SUMO_TAG_CROSSING, and toString().

◆ removeElementFromParentsAndChildren()

template<typename T >
void GNEChange::removeElementFromParentsAndChildren ( T *  element)
inlineprotectedinherited

◆ restoreHierarchicalContainers()

void GNEChange::restoreHierarchicalContainers ( )
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().

Here is the caller graph for this function:

◆ size()

FXuint GNEChange::size ( ) const
virtualinherited

return actual size

Definition at line 56 of file GNEChange.cpp.

◆ undo()

◆ undoName()

FXString GNEChange_Crossing::undoName ( ) const
virtual

return undoName

Reimplemented from GNEChange.

Definition at line 153 of file GNEChange_Crossing.cpp.

References GNEChange::myForward, SUMO_TAG_CROSSING, and toString().

Field Documentation

◆ myCustomShape

PositionVector GNEChange_Crossing::myCustomShape
private

priority of GNECrossing

Definition at line 92 of file GNEChange_Crossing.h.

Referenced by redo(), and undo().

◆ myCustomTLIndex

int GNEChange_Crossing::myCustomTLIndex
private

custom index of GNECrossing

Definition at line 86 of file GNEChange_Crossing.h.

Referenced by redo(), and undo().

◆ myCustomTLIndex2

int GNEChange_Crossing::myCustomTLIndex2
private

custom index of GNECrossing (reverse direction)

Definition at line 89 of file GNEChange_Crossing.h.

Referenced by redo(), and undo().

◆ myEdges

std::vector<NBEdge*> GNEChange_Crossing::myEdges
private

vector to save all edges of GNECrossing

Definition at line 77 of file GNEChange_Crossing.h.

Referenced by redo(), and undo().

◆ myForward

bool GNEChange::myForward
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().

◆ myHierarchicalContainers

std::map<GNEHierarchicalElement*, GNEHierarchicalContainer> GNEChange::myHierarchicalContainers
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().

◆ myJunctionParent

GNEJunction* GNEChange_Crossing::myJunctionParent
private

full information regarding the Junction in which GNECRossing is created

Definition at line 74 of file GNEChange_Crossing.h.

Referenced by redo(), and undo().

◆ myOriginalHierarchicalContainer

const GNEHierarchicalContainer GNEChange::myOriginalHierarchicalContainer
protectedinherited

◆ myPriority

bool GNEChange_Crossing::myPriority
private

priority of GNECrossing

Definition at line 83 of file GNEChange_Crossing.h.

Referenced by redo(), and undo().

◆ mySelectedElement

◆ myWidth

double GNEChange_Crossing::myWidth
private

width of GNECrossing

Definition at line 80 of file GNEChange_Crossing.h.

Referenced by redo(), and undo().


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