Skip to content

Commit

Permalink
Updated CommonXMLStructure. Added created flag. Refs #15904
Browse files Browse the repository at this point in the history
  • Loading branch information
palvarezlopez committed Dec 17, 2024
1 parent 26fb66d commit e75d6d5
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 11 deletions.
19 changes: 13 additions & 6 deletions src/utils/xml/CommonXMLStructure.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -260,12 +260,7 @@ CommonXMLStructure::PlanParameters::writeIgnoringMessage(const CommonXMLStructur

CommonXMLStructure::SumoBaseObject::SumoBaseObject(SumoBaseObject* parent) :
mySumoBaseObjectParent(parent),
myTag(SUMO_TAG_NOTHING),
myVClass(SVC_IGNORING),
myVehicleTypeParameter(""),
myDefinedVehicleTypeParameter(false),
myDefinedVehicleParameter(false),
myDefinedStopParameter(false) {
myVehicleTypeParameter("") {
// add this SumoBaseObject into parent children
if (mySumoBaseObjectParent) {
mySumoBaseObjectParent->addSumoBaseObjectChild(this);
Expand Down Expand Up @@ -321,12 +316,24 @@ CommonXMLStructure::SumoBaseObject::setTag(const SumoXMLTag tag) {
}


void
CommonXMLStructure::SumoBaseObject::markAsCreated() {
myWasCreated = true;
}


SumoXMLTag
CommonXMLStructure::SumoBaseObject::getTag() const {
return myTag;
}


bool
CommonXMLStructure::SumoBaseObject::wasCreated() const {
return myWasCreated;
}


CommonXMLStructure::SumoBaseObject*
CommonXMLStructure::SumoBaseObject::getParentSumoBaseObject() const {
return mySumoBaseObjectParent;
Expand Down
19 changes: 14 additions & 5 deletions src/utils/xml/CommonXMLStructure.h
Original file line number Diff line number Diff line change
Expand Up @@ -148,12 +148,18 @@ class CommonXMLStructure {
/// @brief set SumoBaseObject tag
void setTag(const SumoXMLTag tag);

/// @brief mark as successfully created
void markAsCreated();

/// @name get functions
/// @{

/// @brief get XML myTag
SumoXMLTag getTag() const;

/// @brief check if the object was successfully created in build<...> function
bool wasCreated() const;

/// @brief get pointer to mySumoBaseObjectParent SumoBaseObject (if is null, then is the root)
SumoBaseObject* getParentSumoBaseObject() const;

Expand Down Expand Up @@ -309,7 +315,10 @@ class CommonXMLStructure {
SumoBaseObject* mySumoBaseObjectParent;

/// @brief XML myTag
SumoXMLTag myTag;
SumoXMLTag myTag = SUMO_TAG_NOTHING;

/// @brief flag to check if object was created in build<..> function (by default false)
bool myWasCreated = false;

/// @brief string attributes
std::map<const SumoXMLAttr, std::string> myStringAttributes;
Expand Down Expand Up @@ -348,7 +357,7 @@ class CommonXMLStructure {
std::vector<SumoBaseObject*> mySumoBaseObjectChildren;

/// @brief vehicle class
SUMOVehicleClass myVClass;
SUMOVehicleClass myVClass = SVC_IGNORING;

/// @brief vehicle type parameter
SUMOVTypeParameter myVehicleTypeParameter;
Expand All @@ -370,13 +379,13 @@ class CommonXMLStructure {

private:
/// @brief flag for defined vehicle type parameter
bool myDefinedVehicleTypeParameter;
bool myDefinedVehicleTypeParameter = false;

/// @brief @brief flag for defined vehicle parameter
bool myDefinedVehicleParameter;
bool myDefinedVehicleParameter = false;

/// @brief @brief flag for defined stop parameter
bool myDefinedStopParameter;
bool myDefinedStopParameter = false;

/// @brief handle attribute error
void handleAttributeError(const SumoXMLAttr attr, const std::string& type) const;
Expand Down

0 comments on commit e75d6d5

Please sign in to comment.