50 GNEChange(additional->getViewNet()->getNet(), forward),
51 myAdditional(additional),
52 myLaneParent(
nullptr),
53 myEdgeParent(
nullptr),
54 myFirstAdditionalParent(myAdditional->getFirstAdditionalParent()),
55 mySecondAdditionalParent(myAdditional->getSecondAdditionalParent()),
56 myEdgeChilds(myAdditional->getEdgeChilds()),
57 myLaneChilds(myAdditional->getLaneChilds()) {
59 myAdditional->incRef(
"GNEChange_Additional");
62 myLaneParent = myNet->retrieveLane(myAdditional->getAttribute(
SUMO_ATTR_LANE));
66 myEdgeParent = myNet->retrieveEdge(myAdditional->getAttribute(
SUMO_ATTR_EDGE));
70 myEdgeParent = myNet->retrieveEdge(myAdditional->getAttribute(
SUMO_ATTR_ID));
GNEEdge * myEdgeParent
pointer to edge (used by additionals with edge parent)
GNEAdditional * mySecondAdditionalParent
pointer to second additional parent (used by additional with parents, for example Entry/exits) ...
void insertAdditional(GNEAdditional *additional)
Insert a additional element int GNENet container.
GNEInspectorFrame * getInspectorFrame() const
get frame for GNE_MODE_INSPECT
the function-object for an editing operation (abstract base)
GNEAdditional * myFirstAdditionalParent
pointer to first additional parent (used by additional with parents, for example Entry/exits) ...
void removeAdditionalChild(GNEAdditional *additional)
remove additional child from this additional
FXString redoName() const
get Redo name
GNEViewParent * getViewParent() const
get the net object
std::vector< GNEEdge * > myEdgeChilds
list of Edge childs (used by Rerouters)
~GNEChange_Additional()
Destructor.
FXString undoName() const
return undoName
GNEAdditional * myAdditional
full information regarding the additional element that is to be created/deleted
GNEAdditional * retrieveAdditional(SumoXMLTag type, const std::string &id, bool hardFail=true) const
Returns the named additional.
std::string toString(const T &t, std::streamsize accuracy=gPrecision)
void addAdditionalChild(GNEAdditional *additional)
add additional child to this edge
GNEFrame::ACHierarchy * getACHierarchy() const
get ACHierarchy
void refreshACHierarchy()
refresh ACHierarchy
void requiereSaveAdditionals(bool value)
inform that additionals has to be saved
const std::string getID() const
function to support debugging
void removeAdditionalChild(GNEAdditional *additional)
remove additional child from this edge
void decRef(const std::string &debugMsg="")
Decrease reference.
GNENet * myNet
the net to which operations shall be applied or which shall be informed about gui updates (we are not...
An Element which don't belongs to GNENet but has influency in the simulation.
std::vector< GNELane * > myLaneChilds
list of Edge childs (used by VSS)
bool myForward
we group antagonistic commands (create junction/delete junction) and keep them apart by this flag ...
void deleteAdditional(GNEAdditional *additional)
delete additional element of GNENet container
static const TagValues & getTagProperties(SumoXMLTag tag)
get Tag Properties
void addAdditionalChild(GNEAdditional *additional)
add additional child to this additional
GNELane * myLaneParent
pointer to lane (used by additionals with lane parent)
bool unreferenced()
check if object ins't referenced
GNEViewNet * getViewNet() const
get view net
SumoXMLTag getTag() const
get XML Tag assigned to this object