Eclipse SUMO - Simulation of Urban MObility
Loading...
Searching...
No Matches
GNEChange_Crossing Class Reference

#include <GNEChange_Crossing.h>

Inheritance diagram for GNEChange_Crossing:
[legend]
Collaboration diagram for GNEChange_Crossing:
[legend]

Public Member Functions

 GNEChange_Crossing (GNEJunction *junctionParent, const NBNode::Crossing &crossing, bool forward)
 Constructor for creating/deleting an crossing based on an existing object.
 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.
 ~GNEChange_Crossing ()
 Destructor.
inherited from GNEChange

get undo Name

std::string undoName () const
 return undoName
std::string redoName () const
 get Redo name
void undo ()
 undo action
void redo ()
 redo action

Private Attributes

PositionVector myCustomShape
 priority of GNECrossing
int myCustomTLIndex
 custom index of GNECrossing
int myCustomTLIndex2
 custom index of GNECrossing (reverse direction)
std::vector< NBEdge * > myEdges
 vector to save all edges of GNECrossing
GNEJunctionmyJunctionParent
 full information regarding the Junction in which GNECRossing is created
bool myPriority
 priority of GNECrossing
double myWidth
 width of GNECrossing

friend class

GNEChangenext
virtual int size () const
 Return the size of the command group.
Supermode getSupermode () const
 get supermode
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.
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.
const Supermode mySupermode
 supermode related with this change
const GNEHierarchicalStructureParents myParents
 Hierarchical container with parents.
bool myForward
 we group antagonistic commands (create junction/delete junction) and keep them apart by this flag
const bool mySelectedElement
 flag for check if element is selected
template<typename T>
void addElementInParentsAndChildren (T *element)
 add given element in parents and children
template<typename T>
void removeElementFromParentsAndChildren (T *element)
 remove given element from parents and children

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 38 of file GNEChange_Crossing.cpp.

References GNEChange::GNEChange(), GNEChange_Crossing(), myCustomShape, myCustomTLIndex, myCustomTLIndex2, myEdges, myJunctionParent, myPriority, and myWidth.

Referenced by GNEChange_Crossing().

Here is the caller graph for this function:

◆ 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 51 of file GNEChange_Crossing.cpp.

References GNEChange::GNEChange(), myCustomShape, myCustomTLIndex, myCustomTLIndex2, myEdges, myJunctionParent, myPriority, and myWidth.

◆ ~GNEChange_Crossing()

GNEChange_Crossing::~GNEChange_Crossing ( )

Destructor.

Definition at line 63 of file GNEChange_Crossing.cpp.

Member Function Documentation

◆ addElementInParentsAndChildren()

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

add given element in parents and children

Definition at line 121 of file GNEChange.h.

References GNEHierarchicalElement::insertChild(), and myParents.

Referenced by GNEChange_Additional::redo(), GNEChange_DemandElement::redo(), GNEChange_Edge::redo(), GNEChange_GenericData::redo(), GNEChange_Junction::redo(), GNEChange_TAZSourceSink::redo(), GNEChange_Additional::undo(), GNEChange_DemandElement::undo(), GNEChange_Edge::undo(), GNEChange_GenericData::undo(), GNEChange_Junction::undo(), and GNEChange_TAZSourceSink::undo().

Here is the caller graph for this function:

◆ canMerge()

bool GNEChange::canMerge ( ) const
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 72 of file GNEChange.cpp.

Referenced by GNEUndoList::add().

Here is the caller graph for this function:

◆ getSupermode()

Supermode GNEChange::getSupermode ( ) const
inherited

get supermode

Definition at line 66 of file GNEChange.cpp.

References mySupermode.

Referenced by GNEChange_Attribute::GNEChange_Attribute(), GNEChange_Attribute::GNEChange_Attribute(), and GNEChange_ToggleAttribute::GNEChange_ToggleAttribute().

Here is the caller graph for this function:

◆ mergeWith()

bool GNEChange::mergeWith ( GNEChange * command)
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 78 of file GNEChange.cpp.

References GNEChange().

Referenced by GNEUndoList::add().

Here is the caller graph for this function:

◆ redo()

◆ redoName()

std::string GNEChange_Crossing::redoName ( ) const
virtual

get Redo name

Implements GNEChange.

Definition at line 186 of file GNEChange_Crossing.cpp.

References GNEChange::myForward, and TL.

◆ removeElementFromParentsAndChildren()

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

remove given element from parents and children

Definition at line 148 of file GNEChange.h.

References myParents, and GNEHierarchicalElement::removeChild().

Referenced by GNEChange_Additional::redo(), GNEChange_DemandElement::redo(), GNEChange_Edge::redo(), GNEChange_GenericData::redo(), GNEChange_Junction::redo(), GNEChange_TAZSourceSink::redo(), GNEChange_Additional::undo(), GNEChange_DemandElement::undo(), GNEChange_Edge::undo(), GNEChange_GenericData::undo(), GNEChange_Junction::undo(), and GNEChange_TAZSourceSink::undo().

Here is the caller graph for this function:

◆ size()

int GNEChange::size ( ) const
virtualinherited

Return the size of the command group.

Reimplemented in GNEChangeGroup.

Definition at line 59 of file GNEChange.cpp.

Referenced by GNEChangeGroup::size().

Here is the caller graph for this function:

◆ undo()

◆ undoName()

std::string GNEChange_Crossing::undoName ( ) const
virtual

return undoName

Implements GNEChange.

Definition at line 176 of file GNEChange_Crossing.cpp.

References GNEChange::myForward, and TL.

Field Documentation

◆ myCustomShape

PositionVector GNEChange_Crossing::myCustomShape
private

priority of GNECrossing

Definition at line 92 of file GNEChange_Crossing.h.

Referenced by GNEChange_Crossing(), GNEChange_Crossing(), redo(), and undo().

◆ myCustomTLIndex

int GNEChange_Crossing::myCustomTLIndex
private

custom index of GNECrossing

Definition at line 86 of file GNEChange_Crossing.h.

Referenced by GNEChange_Crossing(), GNEChange_Crossing(), 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 GNEChange_Crossing(), GNEChange_Crossing(), 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 GNEChange_Crossing(), GNEChange_Crossing(), 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 180 of file GNEChange.h.

Referenced by GNEChange(), GNEChange(), GNEChange(), GNEChange_Additional::redo(), GNEChange_Children::redo(), GNEChange_Connection::redo(), GNEChange_Crossing::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_MeanData::redo(), GNEChange_TAZSourceSink::redo(), GNEChange_TLS::redo(), GNEChange_Additional::redoName(), GNEChange_Children::redoName(), GNEChange_Connection::redoName(), GNEChange_Crossing::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_MeanData::redoName(), GNEChange_TAZSourceSink::redoName(), GNEChange_TLS::redoName(), GNEChange_Additional::undo(), GNEChange_Children::undo(), GNEChange_Connection::undo(), GNEChange_Crossing::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_MeanData::undo(), GNEChange_TAZSourceSink::undo(), GNEChange_TLS::undo(), GNEChange_Additional::undoName(), GNEChange_Children::undoName(), GNEChange_Connection::undoName(), GNEChange_Crossing::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_MeanData::undoName(), GNEChange_TAZSourceSink::undoName(), and GNEChange_TLS::undoName().

◆ 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 GNEChange_Crossing(), GNEChange_Crossing(), redo(), and undo().

◆ myParents

const GNEHierarchicalStructureParents GNEChange::myParents
protectedinherited

◆ myPriority

bool GNEChange_Crossing::myPriority
private

priority of GNECrossing

Definition at line 83 of file GNEChange_Crossing.h.

Referenced by GNEChange_Crossing(), GNEChange_Crossing(), redo(), and undo().

◆ mySelectedElement

◆ mySupermode

const Supermode GNEChange::mySupermode
protectedinherited

supermode related with this change

Definition at line 174 of file GNEChange.h.

Referenced by getSupermode(), GNEChange(), GNEChange(), and GNEChange().

◆ myWidth

double GNEChange_Crossing::myWidth
private

width of GNECrossing

Definition at line 80 of file GNEChange_Crossing.h.

Referenced by GNEChange_Crossing(), GNEChange_Crossing(), redo(), and undo().

◆ next


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