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
FXString redoName() const
get Redo name
std::vector< GNEEdge * > myEdgeChilds
list of Edge childs (used by Rerouters)
~GNEChange_Additional()
Destructor.
bool getBool(const std::string &name) const
Returns the boolean-value of the named option (only for Option_Bool)
#define WRITE_WARNING(msg)
static OptionsCont & getOptions()
Retrieves the options.
FXString undoName() const
return undoName
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
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.
GNEAdditional * retrieveAdditional(const std::string &id, bool hardFail=true) const
Returns the named additional.
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
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
SumoXMLTag getTag() const
get XML Tag assigned to this object