40 double width,
bool priority,
int customTLIndex,
int customTLIndex2, const
PositionVector& customShape,
bool selected,
bool forward):
42 myJunctionParent(junctionParent),
46 myCustomTLIndex(customTLIndex),
47 myCustomTLIndex2(customTLIndex2),
48 myCustomShape(customShape) {
54 myJunctionParent(junctionParent),
55 myEdges(crossing.edges),
56 myWidth(crossing.width),
57 myPriority(crossing.priority),
58 myCustomTLIndex(crossing.customTLIndex),
59 myCustomTLIndex2(crossing.customTLIndex2),
60 myCustomShape(crossing.customShape) {
94 WRITE_DEBUG(
"Changed flag netBuilder::haveNetworkCrossings from 'true' to 'false'");
105 WRITE_DEBUG(
"Changed flag netBuilder::haveNetworkCrossings from 'false' to 'true'");
140 WRITE_DEBUG(
"Changed flag netBuilder::haveNetworkCrossings from 'false' to 'true'");
184 WRITE_DEBUG(
"Changed flag netBuilder::haveNetworkCrossings from 'true' to 'false'");
195 return TL(
"Undo create crossing");
197 return TL(
"Undo delete crossing");
205 return TL(
"Redo create crossing");
207 return TL(
"Redo delete crossing");
Supermode
@brie enum for supermodes
@ NETWORK
Network mode (Edges, junctions, etc..)
#define WRITE_WARNINGF(...)
@ SUMO_TAG_CROSSING
crossing between edges for pedestrians
std::string toString(const T &t, std::streamsize accuracy=gPrecision)
const std::string getID() const
get ID (all Attribute Carriers have one)
const std::string & getTagStr() const
get tag assigned to this object in string format
void unselectAttributeCarrier(const bool changeFlag=true)
unselect attribute carrier using GUIGlobalSelection
GNENet * getNet() const
get pointer to net
void selectAttributeCarrier(const bool changeFlag=true)
select attribute carrier using GUIGlobalSelection
double myWidth
width of GNECrossing
int myCustomTLIndex
custom index of GNECrossing
bool myPriority
priority of GNECrossing
~GNEChange_Crossing()
Destructor.
std::vector< NBEdge * > myEdges
vector to save all edges of GNECrossing
PositionVector myCustomShape
priority of GNECrossing
std::string undoName() const
return undoName
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.
std::string redoName() const
get Redo name
GNEJunction * myJunctionParent
full information regarding the Junction in which GNECRossing is created
int myCustomTLIndex2
custom index of GNECrossing (reverse direction)
the function-object for an editing operation (abstract base)
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
This object is responsible for drawing a shape and for supplying a a popup menu. Messages are routete...
void clearWalkingAreas()
clear walking areas
GNECrossing * retrieveGNECrossing(NBNode::Crossing *NBNodeCrossing, bool createIfNoExist=true)
get GNECrossing if exist, and if not create it if create is enabled
NBNode * getNBNode() const
Return net build node.
void rebuildGNECrossings(bool rebuildNBNodeCrossings=true)
rebuilds crossing objects for this junction
const std::unordered_map< const GUIGlObject *, GNECrossing * > & getCrossings() const
get crossings
void requireSaveNetwork()
inform that network has to be saved
NBNetBuilder * getNetBuilder() const
get net builder
GNENetHelper::SavingStatus * getSavingStatus() const
get saving status
GNENetHelper::AttributeCarriers * getAttributeCarriers() const
get all attribute carriers used in this net
The representation of a single edge during network building.
bool haveNetworkCrossings()
notify about style of loaded network (Without Crossings)
void setHaveNetworkCrossings(bool value)
enable crossing in networks
A definition of a pedestrian crossing.
void removeCrossing(const EdgeVector &edges)
remove a pedestrian crossing from this node (identified by its edges)
NBNode::Crossing * addCrossing(EdgeVector edges, double width, bool priority, int tlIndex=-1, int tlIndex2=-1, const PositionVector &customShape=PositionVector::EMPTY, bool fromSumoNet=false, const Parameterised *params=nullptr)
add a pedestrian crossing to this node
Crossing * getCrossing(const std::string &id) const
return the crossing with the given id