55 GNEChange(additional->getViewNet()->getNet(), forward),
56 myAdditional(additional),
59 myAdditionalParent(myAdditional->getAdditionalParent()),
60 myEdgeChilds(myAdditional->getEdgeChilds()),
61 myLaneChilds(myAdditional->getLaneChilds()) {
63 myAdditional->incRef(
"GNEChange_Additional");
66 myLaneParent = myNet->retrieveLane(myAdditional->getAttribute(
SUMO_ATTR_LANE));
70 myEdgeParent = myNet->retrieveEdge(myAdditional->getAttribute(
SUMO_ATTR_EDGE));
GNEEdge * myEdgeParent
pointer to edge (used by additionals with edge parent)
void insertAdditional(GNEAdditional *additional)
Insert a additional element int GNENet container.
GNEAdditional * myAdditionalParent
pointer to additional (used by additional with parents, for example Entry/exits)
void requiereSaveAdditionals()
inform that additionals has to be saved
the function-object for an editing operation (abstract base)
void removeAdditionalChild(GNEAdditional *additional)
remove additional child from this additional
bool getBool(const std::string &name) const
Returns the boolean-value of the named option (only for Option_Bool)
std::vector< GNEEdge * > myEdgeChilds
list of Edge childs (used by Rerouters)
~GNEChange_Additional()
Destructor.
GNEAdditional * retrieveAdditional(const std::string &id, bool hardFail=true) const
Returns the named additional.
#define WRITE_WARNING(msg)
static OptionsCont & getOptions()
Retrieves the options.
GNEAdditional * myAdditional
full information regarding the additional element that is to be created/deleted
std::string toString(const T &t, std::streamsize accuracy=gPrecision)
static bool hasAttribute(SumoXMLTag tag, SumoXMLAttr attr)
check if an element with certain tag has a certain attribute
void addAdditionalChild(GNEAdditional *additional)
add additional child to this edge
void removeAdditionalChild(GNEAdditional *additional)
remove additional child from this edge
const std::string getID() const
function to support debugging
FXString undoName() const
return undoName
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
SumoXMLTag getTag() const
get XML Tag assigned to this object
void addAdditionalChild(GNEAdditional *additional)
add additional child to this additional
FXString redoName() const
get Redo name
GNELane * myLaneParent
pointer to lane (used by additionals with lane parent)
bool unreferenced()
check if object ins't referenced