SUMO - Simulation of Urban MObility
GNEAttributeCarrier Class Referenceabstract

#include <GNEAttributeCarrier.h>

Inheritance diagram for GNEAttributeCarrier:
Inheritance graph
Collaboration diagram for GNEAttributeCarrier:
Collaboration graph

Public Member Functions

void decRef (const std::string &debugMsg="")
 
virtual std::string getAttribute (SumoXMLAttr key) const =0
 
std::vector< SumoXMLAttr > getAttrs () const
 get vector of attributes More...
 
template<>
int getDefaultValue (SumoXMLTag tag, SumoXMLAttr attr)
 
template<>
SUMOReal getDefaultValue (SumoXMLTag tag, SumoXMLAttr attr)
 
template<>
bool getDefaultValue (SumoXMLTag tag, SumoXMLAttr attr)
 
template<>
std::string getDefaultValue (SumoXMLTag tag, SumoXMLAttr attr)
 
template<>
std::vector< int > getDefaultValue (SumoXMLTag tag, SumoXMLAttr attr)
 
template<>
std::vector< SUMOReal > getDefaultValue (SumoXMLTag tag, SumoXMLAttr attr)
 
template<>
std::vector< bool > getDefaultValue (SumoXMLTag tag, SumoXMLAttr attr)
 
template<>
std::vector< std::string > getDefaultValue (SumoXMLTag tag, SumoXMLAttr attr)
 
virtual std::string getDescription ()
 how should this attribute carrier be called More...
 
GUIIcon getGUIIcon () const
 get GUI icon assigned to this object More...
 
FXIcon * getIcon () const
 get FXIcon assigned to this object More...
 
const std::string getID () const
 function to support debugging More...
 
SumoXMLTag getTag () const
 get XML Tag assigned to this object More...
 
 GNEAttributeCarrier (SumoXMLTag tag, GUIIcon icon)
 Constructor. More...
 
void incRef (const std::string &debugMsg="")
 
virtual bool isValid (SumoXMLAttr key, const std::string &value)
 
template<>
int parse (const std::string &string)
 
template<>
SUMOReal parse (const std::string &string)
 
template<>
bool parse (const std::string &string)
 
template<>
std::string parse (const std::string &string)
 
virtual void setAttribute (SumoXMLAttr key, const std::string &value, GNEUndoList *undoList)=0
 
bool unreferenced ()
 
virtual ~GNEAttributeCarrier ()
 Destructor. More...
 

Static Public Member Functions

static const std::vector< std::pair< SumoXMLAttr, std::string > > & allowedAttributes (SumoXMLTag tag)
 get all editable attributes for tag and their default values. More...
 
static const std::vector< SumoXMLTag > & allowedTags (bool net)
 get all editable for tag (net or additional). More...
 
template<typename T >
static bool canParse (const std::string &string)
 true if a number of type T can be parsed from string More...
 
static const std::vector< std::string > & discreteChoices (SumoXMLTag tag, SumoXMLAttr attr)
 return a list of discrete choices for this attribute or an empty vector More...
 
static bool discreteCombinableChoices (SumoXMLTag tag, SumoXMLAttr attr)
 return whether the given attribute allows for a combination of discrete values More...
 
static std::string getAttributeType (SumoXMLTag tag, SumoXMLAttr attr)
 get type of attribute More...
 
template<typename T >
static T getDefaultValue (SumoXMLTag tag, SumoXMLAttr attr)
 return the default value of the attribute of an element More...
 
static std::string getDefinition (SumoXMLTag tag, SumoXMLAttr attr)
 return definition of a certain SumoXMLAttr More...
 
static int getHigherNumberOfAttributes ()
 return the number of attributes of the tag with the most highter number of attributes More...
 
static bool hasAttribute (SumoXMLTag tag, SumoXMLAttr attr)
 check if an element with certain tag has a certain attribute More...
 
static bool hasDefaultValue (SumoXMLTag tag, SumoXMLAttr attr)
 check if attribute of an element has a default avlue More...
 
static bool isBool (SumoXMLTag tag, SumoXMLAttr attr)
 whether an attribute is of type bool for a certain tag More...
 
static bool isDiscrete (SumoXMLTag tag, SumoXMLAttr attr)
 whether an attribute is Discrete More...
 
static bool isFloat (SumoXMLTag tag, SumoXMLAttr attr)
 whether an attribute is numerical of type float More...
 
static bool isInt (SumoXMLTag tag, SumoXMLAttr attr)
 whether an attribute is numerical or type int More...
 
static bool isList (SumoXMLTag tag, SumoXMLAttr attr)
 whether an attribute is of type bool More...
 
static bool isNonEditable (SumoXMLTag tag, SumoXMLAttr attr)
 whether an attribute is non editable More...
 
static bool isNumerical (SumoXMLTag tag, SumoXMLAttr attr)
 whether an attribute is numerical (int or float) More...
 
static bool isPositive (SumoXMLTag tag, SumoXMLAttr attr)
 whether an attribute is only Positive (i.e. cannot take negative values) More...
 
template<typename T >
static bool isPositive (const std::string &string)
 true if a positive number of type T can be parsed from string More...
 
static bool isProbability (SumoXMLTag tag, SumoXMLAttr attr)
 whether an attribute is a probability (i.e. oly can values between [0, 1]) More...
 
static bool isString (SumoXMLTag tag, SumoXMLAttr attr)
 whether an attribute is of type string More...
 
static bool isTime (SumoXMLTag tag, SumoXMLAttr attr)
 whether an attribute is time More...
 
static bool isUnique (SumoXMLTag tag, SumoXMLAttr attr)
 whether an attribute is unique (may not be edited for a multi-selection and don't have a default value) More...
 
static bool isValidFileValue (const std::string &value)
 true if value is a valid file value More...
 
static bool isValidID (const std::string &value)
 true if value is a valid sumo ID More...
 
static bool isValidStringVector (const std::string &value)
 true if value is a valid string vector More...
 
template<typename T >
static T parse (const std::string &string)
 parses a number of type T from string More...
 

Static Public Attributes

static const std::string APPROVED = "approved"
 feature has been approved but not changed (i.e. after being reguessed) More...
 
static const std::string GUESSED = "guessed"
 feature has been reguessed (may still be unchanged be we can't tell (yet) More...
 
static const std::string LOADED = "loaded"
 feature is still unchanged after being loaded (implies approval) More...
 
static const std::string MODIFIED = "modified"
 feature has been manually modified (implies approval) More...
 

Private Member Functions

GNEAttributeCarrier & operator= (const GNEAttributeCarrier &src)
 Invalidated assignment operator. More...
 
virtual void setAttribute (SumoXMLAttr key, const std::string &value)=0
 method for setting the attribute and nothing else (used in GNEChange_Attribute) More...
 

Private Attributes

GUIIcon myIcon
 icon associated to this AC More...
 
const SumoXMLTag myTag
 the xml tag to which this attribute carrier corresponds More...
 

Static Private Attributes

static std::map< SumoXMLTag, std::vector< std::pair< SumoXMLAttr, std::string > > > _allowedAttributes
 map with the allowed attributes and their default values More...
 
static std::vector< SumoXMLTag > myAllowedAdditionalTags
 vector with the allowed tags of additionals More...
 
static std::map< SumoXMLTag, SumoXMLTag > myAllowedAdditionalWithParentTags
 map with the allowed tags of additionals with parent and their parent More...
 
static std::vector< SumoXMLTag > myAllowedNetElementTags
 vector with the allowed tags of netElements More...
 
static std::map< SumoXMLTag, std::map< SumoXMLAttr, std::string > > myAttrDefinitions
 map with the definition of attributes More...
 
static std::map< SumoXMLTag, std::set< SumoXMLAttr > > myBoolAttrs
 map with the boolean attributes More...
 
static std::map< SumoXMLTag, std::map< SumoXMLAttr, std::vector< std::string > > > myDiscreteChoices
 map with the values of discrete choices More...
 
static std::map< SumoXMLTag, std::set< SumoXMLAttr > > myListAttrs
 map with the attributes of type list More...
 
static int myMaxNumAttribute = 0
 maximum number of attributes of all tags More...
 
static std::map< SumoXMLTag, std::set< SumoXMLAttr > > myNonEditableAttrs
 map with the non-editable attributes More...
 
static std::map< SumoXMLTag, std::set< SumoXMLAttr > > myNumericalFloatAttrs
 map with the numerical attributes of type Float More...
 
static std::map< SumoXMLTag, std::set< SumoXMLAttr > > myNumericalIntAttrs
 map with the numerical attributes of type Int More...
 
static std::map< SumoXMLTag, std::set< SumoXMLAttr > > myPositiveAttrs
 map with the positive attributes More...
 
static std::map< SumoXMLTag, std::set< SumoXMLAttr > > myProbabilityAttrs
 map with the probability attributes More...
 
static std::map< SumoXMLTag, std::set< SumoXMLAttr > > myTimeAttrs
 map with the attributes of type time More...
 
static std::map< SumoXMLTag, std::set< SumoXMLAttr > > myUniqueAttrs
 map with the unique attributes (i.e. attributes without default values) More...
 

Friends

class GNEChange_Attribute
 declare friend class More...
 

Detailed Description

Abstract Base class for gui objects which carry attributes inherits from GNEReferenceCounter for convenience

Definition at line 58 of file GNEAttributeCarrier.h.

Constructor & Destructor Documentation

GNEAttributeCarrier::GNEAttributeCarrier ( SumoXMLTag  tag,
GUIIcon  icon 
)

Constructor.

Parameters
[in]tagSUMO Tag assigned to this type of object
[in]iconGUIIcon associated to the type of object

Definition at line 72 of file GNEAttributeCarrier.cpp.

Member Function Documentation

const std::vector< std::pair< SumoXMLAttr, std::string > > & GNEAttributeCarrier::allowedAttributes ( SumoXMLTag  tag)
static

get all editable attributes for tag and their default values.

Definition at line 223 of file GNEAttributeCarrier.cpp.

References _allowedAttributes, NODEFAULTVALUE, SUMO_ATTR_ALLOW, SUMO_ATTR_BEGIN, SUMO_ATTR_CHARGEDELAY, SUMO_ATTR_CHARGEINTRANSIT, SUMO_ATTR_CHARGINGPOWER, SUMO_ATTR_CONT, SUMO_ATTR_CONTPOS, SUMO_ATTR_DISALLOW, SUMO_ATTR_EDGE, SUMO_ATTR_EDGES, SUMO_ATTR_EFFICIENCY, SUMO_ATTR_END, SUMO_ATTR_ENDOFFSET, SUMO_ATTR_ENDPOS, SUMO_ATTR_FILE, SUMO_ATTR_FREQUENCY, SUMO_ATTR_FROM, SUMO_ATTR_FROM_LANE, SUMO_ATTR_HALTING_SPEED_THRESHOLD, SUMO_ATTR_HALTING_TIME_THRESHOLD, SUMO_ATTR_ID, SUMO_ATTR_INDEX, SUMO_ATTR_JAM_DIST_THRESHOLD, SUMO_ATTR_KEEP_CLEAR, SUMO_ATTR_LANE, SUMO_ATTR_LANES, SUMO_ATTR_LENGTH, SUMO_ATTR_LINES, SUMO_ATTR_NAME, SUMO_ATTR_NUMLANES, SUMO_ATTR_OFF, SUMO_ATTR_OUTPUT, SUMO_ATTR_PASS, SUMO_ATTR_POSITION, SUMO_ATTR_PRIORITY, SUMO_ATTR_PROB, SUMO_ATTR_RADIUS, SUMO_ATTR_ROUTEPROBE, SUMO_ATTR_SHAPE, SUMO_ATTR_SPEED, SUMO_ATTR_SPLIT_VTYPE, SUMO_ATTR_SPREADTYPE, SUMO_ATTR_STARTPOS, SUMO_ATTR_STARTTIME, SUMO_ATTR_TLID, SUMO_ATTR_TLTYPE, SUMO_ATTR_TO, SUMO_ATTR_TO_LANE, SUMO_ATTR_TYPE, SUMO_ATTR_UNCONTROLLED, SUMO_ATTR_VISIBILITY_DISTANCE, SUMO_ATTR_WIDTH, SUMO_ATTR_X, SUMO_ATTR_Y, SUMO_TAG_BUS_STOP, SUMO_TAG_CALIBRATOR, SUMO_TAG_CHARGING_STATION, SUMO_TAG_CONNECTION, SUMO_TAG_CONTAINER_STOP, SUMO_TAG_CROSSING, SUMO_TAG_DET_ENTRY, SUMO_TAG_DET_EXIT, SUMO_TAG_E1DETECTOR, SUMO_TAG_E2DETECTOR, SUMO_TAG_E3DETECTOR, SUMO_TAG_EDGE, SUMO_TAG_JUNCTION, SUMO_TAG_LANE, SUMO_TAG_POI, SUMO_TAG_REROUTER, SUMO_TAG_ROUTEPROBE, SUMO_TAG_VAPORIZER, SUMO_TAG_VSS, and toString().

Referenced by getAttrs(), getHigherNumberOfAttributes(), hasAttribute(), GNECrossingFrame::crossingParameters::onCmdHelp(), GNESelectorFrame::onCmdSelMBString(), GNESelectorFrame::onCmdSelMBTag(), GNEAdditionalFrame::setParametersOfAdditional(), and ~GNEAttributeCarrier().

template<typename T >
static bool GNEAttributeCarrier::canParse ( const std::string &  string)
inlinestatic

true if a number of type T can be parsed from string

Definition at line 181 of file GNEAttributeCarrier.h.

References parse().

bool GNEAttributeCarrier::discreteCombinableChoices ( SumoXMLTag  tag,
SumoXMLAttr  attr 
)
static

return whether the given attribute allows for a combination of discrete values

Definition at line 737 of file GNEAttributeCarrier.cpp.

References SUMO_ATTR_ALLOW, and SUMO_ATTR_DISALLOW.

Referenced by GNEInspectorFrame::AttrInput::onCmdSetAttribute(), GNEInspectorFrame::AttrInput::showAttribute(), and ~GNEAttributeCarrier().

std::string GNEAttributeCarrier::getAttributeType ( SumoXMLTag  tag,
SumoXMLAttr  attr 
)
static

get type of attribute

Definition at line 150 of file GNEAttributeCarrier.cpp.

References isBool(), isFloat(), isInt(), isList(), isString(), isTime(), and toString().

Referenced by GNEAdditionalHandler::getParsedAttribute(), and ~GNEAttributeCarrier().

std::vector< SumoXMLAttr > GNEAttributeCarrier::getAttrs ( ) const

get vector of attributes

Definition at line 134 of file GNEAttributeCarrier.cpp.

References allowedAttributes(), and myTag.

Referenced by GNEAdditional::getParameterWindow(), GNEAdditional::getPopUpMenu(), isValid(), and ~GNEAttributeCarrier().

template<typename T >
static T GNEAttributeCarrier::getDefaultValue ( SumoXMLTag  tag,
SumoXMLAttr  attr 
)
static

return the default value of the attribute of an element

Note
It's advisable to check before with function hasDefaultValue if exits a default value

Referenced by GNEAdditionalFrame::additionalParameters::addAttribute(), and ~GNEAttributeCarrier().

template<>
int GNEAttributeCarrier::getDefaultValue ( SumoXMLTag  tag,
SumoXMLAttr  attr 
)
template<>
SUMOReal GNEAttributeCarrier::getDefaultValue ( SumoXMLTag  tag,
SumoXMLAttr  attr 
)
template<>
bool GNEAttributeCarrier::getDefaultValue ( SumoXMLTag  tag,
SumoXMLAttr  attr 
)
template<>
std::string GNEAttributeCarrier::getDefaultValue ( SumoXMLTag  tag,
SumoXMLAttr  attr 
)

Definition at line 932 of file GNEAttributeCarrier.cpp.

References _allowedAttributes, NODEFAULTVALUE, and toString().

template<>
std::vector<int> GNEAttributeCarrier::getDefaultValue ( SumoXMLTag  tag,
SumoXMLAttr  attr 
)

Definition at line 944 of file GNEAttributeCarrier.cpp.

References toString().

template<>
std::vector<SUMOReal> GNEAttributeCarrier::getDefaultValue ( SumoXMLTag  tag,
SumoXMLAttr  attr 
)

Definition at line 953 of file GNEAttributeCarrier.cpp.

References toString().

template<>
std::vector<bool> GNEAttributeCarrier::getDefaultValue ( SumoXMLTag  tag,
SumoXMLAttr  attr 
)

Definition at line 962 of file GNEAttributeCarrier.cpp.

References toString().

template<>
std::vector<std::string> GNEAttributeCarrier::getDefaultValue ( SumoXMLTag  tag,
SumoXMLAttr  attr 
)
std::string GNEAttributeCarrier::getDefinition ( SumoXMLTag  tag,
SumoXMLAttr  attr 
)
static

return definition of a certain SumoXMLAttr

Definition at line 743 of file GNEAttributeCarrier.cpp.

References myAttrDefinitions, SUMO_ATTR_ALLOW, SUMO_ATTR_BEGIN, SUMO_ATTR_CHARGEDELAY, SUMO_ATTR_CHARGEINTRANSIT, SUMO_ATTR_CHARGINGPOWER, SUMO_ATTR_CONT, SUMO_ATTR_CONTPOS, SUMO_ATTR_DISALLOW, SUMO_ATTR_EDGE, SUMO_ATTR_EDGES, SUMO_ATTR_EFFICIENCY, SUMO_ATTR_ENDOFFSET, SUMO_ATTR_ENDPOS, SUMO_ATTR_FILE, SUMO_ATTR_FREQUENCY, SUMO_ATTR_FROM, SUMO_ATTR_FROM_LANE, SUMO_ATTR_HALTING_SPEED_THRESHOLD, SUMO_ATTR_HALTING_TIME_THRESHOLD, SUMO_ATTR_ID, SUMO_ATTR_INDEX, SUMO_ATTR_JAM_DIST_THRESHOLD, SUMO_ATTR_KEEP_CLEAR, SUMO_ATTR_LANE, SUMO_ATTR_LANES, SUMO_ATTR_LENGTH, SUMO_ATTR_LINES, SUMO_ATTR_NAME, SUMO_ATTR_NUMLANES, SUMO_ATTR_OFF, SUMO_ATTR_OUTPUT, SUMO_ATTR_PASS, SUMO_ATTR_POSITION, SUMO_ATTR_PRIORITY, SUMO_ATTR_PROB, SUMO_ATTR_RADIUS, SUMO_ATTR_ROUTEPROBE, SUMO_ATTR_SHAPE, SUMO_ATTR_SPEED, SUMO_ATTR_SPLIT_VTYPE, SUMO_ATTR_SPREADTYPE, SUMO_ATTR_STARTPOS, SUMO_ATTR_TLID, SUMO_ATTR_TLTYPE, SUMO_ATTR_TO, SUMO_ATTR_TO_LANE, SUMO_ATTR_TYPE, SUMO_ATTR_UNCONTROLLED, SUMO_ATTR_VISIBILITY_DISTANCE, SUMO_ATTR_WIDTH, SUMO_ATTR_X, SUMO_ATTR_Y, SUMO_TAG_BUS_STOP, SUMO_TAG_CALIBRATOR, SUMO_TAG_CHARGING_STATION, SUMO_TAG_CONNECTION, SUMO_TAG_CONTAINER_STOP, SUMO_TAG_CROSSING, SUMO_TAG_DET_ENTRY, SUMO_TAG_DET_EXIT, SUMO_TAG_E1DETECTOR, SUMO_TAG_E2DETECTOR, SUMO_TAG_E3DETECTOR, SUMO_TAG_EDGE, SUMO_TAG_JUNCTION, SUMO_TAG_LANE, SUMO_TAG_POI, SUMO_TAG_REROUTER, SUMO_TAG_ROUTEPROBE, and SUMO_TAG_VSS.

Referenced by GNECrossingFrame::crossingParameters::onCmdHelp(), GNEAdditionalFrame::additionalParameters::onCmdHelp(), and ~GNEAttributeCarrier().

std::string GNEAttributeCarrier::getDescription ( )
virtual

how should this attribute carrier be called

Definition at line 110 of file GNEAttributeCarrier.cpp.

References myTag, and toString().

Referenced by GNEChange_Attribute::redoName(), GNEAdditionalFrame::removeAdditional(), GNEChange_Attribute::undoName(), and ~GNEAttributeCarrier().

GUIIcon GNEAttributeCarrier::getGUIIcon ( ) const

get GUI icon assigned to this object

Definition at line 128 of file GNEAttributeCarrier.cpp.

References myIcon.

Referenced by ~GNEAttributeCarrier().

int GNEAttributeCarrier::getHigherNumberOfAttributes ( )
static

return the number of attributes of the tag with the most highter number of attributes

Definition at line 880 of file GNEAttributeCarrier.cpp.

References allowedAttributes(), allowedTags(), MAX2(), myAllowedAdditionalTags, myAllowedNetElementTags, and myMaxNumAttribute.

Referenced by GNEInspectorFrame::GNEInspectorFrame(), and ~GNEAttributeCarrier().

const std::string GNEAttributeCarrier::getID ( ) const
virtual

function to support debugging

Implements GNEReferenceCounter.

Definition at line 144 of file GNEAttributeCarrier.cpp.

References getAttribute(), and SUMO_ATTR_ID.

Referenced by GNEAdditionalFrame::addAdditional(), GNELane::addAdditionalChild(), GNEEdge::addAdditionalChild(), GNECrossingFrame::addCrossing(), GNERerouter::addEdgeChild(), GNEDetectorE3::addEntryChild(), GNEDetectorE3::addExitChild(), GNEJunction::addIncomingGNEEdge(), GNEJunction::addOutgoingGNEEdge(), GNENet::addReversedEdge(), GNEAdditionalHandler::buildDetectorEntry(), GNEAdditionalHandler::buildDetectorExit(), GNEAdditionalHandler::checkAdditionalParent(), GNEDeleteFrame::createPopUpMenu(), GNEInspectorFrame::createPopUpMenu(), GNENet::deleteAdditional(), GNEDetectorE3::generateEntryID(), GNEDetectorE3::generateExitID(), GNEAdditionalFrame::generateID(), GNEVaporizer::getAttribute(), GNERouteProbe::getAttribute(), GNEConnection::getAttribute(), GNEJunction::getAttribute(), GNECalibrator::getAttribute(), GNEAdditionalHandler::getPosition(), GNENet::insertAdditional(), GNERerouterInterval::insertClosingReroutes(), GNERerouterInterval::insertClosinLanegReroutes(), GNERerouterInterval::insertDestProbReroutes(), GNECalibrator::insertFlow(), GNEDeleteFrame::markAttributeCarrier(), GNECrossingFrame::crossingParameters::markEdge(), GNENet::refreshAdditional(), GNELane::removeAdditionalChild(), GNEEdge::removeAdditionalChild(), GNEDeleteFrame::removeAttributeCarrier(), GNERerouterInterval::removeClosingLaneReroutes(), GNERerouterInterval::removeClosingReroutes(), GNERerouterInterval::removeDestProbReroutes(), GNERerouter::removeEdgeChild(), GNEDetectorE3::removeEntryChild(), GNEDetectorE3::removeExitChild(), GNECalibrator::removeFlow(), GNEJunction::removeIncomingGNEEdge(), GNEJunction::removeOutgoingGNEEdge(), GNEAdditionalHandler::resetLastTag(), GNENet::reverseEdge(), GNERerouter::setAttribute(), GNENet::updateAdditionalID(), GNEDeleteFrame::updateCurrentLabel(), GNEDetectorE1::writeAdditional(), GNEChargingStation::writeAdditional(), GNEDetectorE2::writeAdditional(), GNEVaporizer::writeAdditional(), GNEVariableSpeedSign::writeAdditional(), GNEBusStop::writeAdditional(), GNERouteProbe::writeAdditional(), GNEContainerStop::writeAdditional(), GNERerouter::writeAdditional(), GNEDetectorE3::writeAdditional(), GNECalibrator::writeAdditional(), and ~GNEAttributeCarrier().

SumoXMLTag GNEAttributeCarrier::getTag ( ) const

get XML Tag assigned to this object

Definition at line 116 of file GNEAttributeCarrier.cpp.

References myTag.

Referenced by GNELane::addAdditionalChild(), GNEEdge::addAdditionalChild(), GNERerouter::addEdgeChild(), GNEJunction::addIncomingGNEEdge(), GNEJunction::addOutgoingGNEEdge(), GNEAdditionalHandler::buildDetectorEntry(), GNEAdditionalHandler::buildDetectorExit(), GNEAdditional::changeEdge(), GNEAdditional::changeLane(), GNEAdditionalHandler::checkAdditionalParent(), GNEVariableSpeedSign::commmitAdditionalGeometryMoved(), GNEDetector::commmitAdditionalGeometryMoved(), GNEStoppingPlace::commmitAdditionalGeometryMoved(), GNERerouter::commmitAdditionalGeometryMoved(), GNEDetectorE3::commmitAdditionalGeometryMoved(), GNEDeleteFrame::createPopUpMenu(), GNEInspectorFrame::createPopUpMenu(), GNENet::deleteAdditional(), GNEDetectorE1::getAttribute(), GNEDetectorEntry::getAttribute(), GNEDetectorExit::getAttribute(), GNEDetectorE2::getAttribute(), GNEBusStop::getAttribute(), GNEContainerStop::getAttribute(), GNECrossing::getAttribute(), GNEVaporizer::getAttribute(), GNEVariableSpeedSign::getAttribute(), GNERerouter::getAttribute(), GNERouteProbe::getAttribute(), GNEChargingStation::getAttribute(), GNEDetectorE3::getAttribute(), GNEConnection::getAttribute(), GNEEdge::getAttribute(), GNEJunction::getAttribute(), GNELane::getAttribute(), GNECalibrator::getAttribute(), GNESelectorFrame::getMatches(), GNEAdditional::getParameterWindow(), GNEAdditional::getPopUpMenu(), GNENet::insertAdditional(), GNEDetectorE1::isValid(), GNEDetectorEntry::isValid(), GNEDetectorExit::isValid(), GNEDetectorE2::isValid(), GNEContainerStop::isValid(), GNEBusStop::isValid(), GNECrossing::isValid(), GNEVaporizer::isValid(), GNEVariableSpeedSign::isValid(), GNERerouter::isValid(), GNERouteProbe::isValid(), GNEChargingStation::isValid(), GNEDetectorE3::isValid(), GNEConnection::isValid(), GNEEdge::isValid(), GNEJunction::isValid(), GNELane::isValid(), GNECalibrator::isValid(), GNEDeleteFrame::markAttributeCarrier(), GNEDetector::moveAdditionalGeometry(), GNERerouterIntervalDialog::onCmdAccept(), GNEViewNet::onLeftBtnPress(), GNEAdditionalHandler::parseAndBuildDetectorE3(), GNEChange_Additional::redo(), GNEChange_Additional::redoName(), GNENet::refreshAdditional(), GNELane::removeAdditionalChild(), GNEEdge::removeAdditionalChild(), GNEDeleteFrame::removeAttributeCarrier(), GNERerouter::removeEdgeChild(), GNEJunction::removeIncomingGNEEdge(), GNEEdge::removeLane(), GNEJunction::removeOutgoingGNEEdge(), GNEAdditionalHandler::resetLastTag(), GNEDetectorE1::setAttribute(), GNEDetectorExit::setAttribute(), GNEDetectorEntry::setAttribute(), GNEDetectorE2::setAttribute(), GNEContainerStop::setAttribute(), GNEBusStop::setAttribute(), GNECrossing::setAttribute(), GNEVaporizer::setAttribute(), GNEVariableSpeedSign::setAttribute(), GNERerouter::setAttribute(), GNERouteProbe::setAttribute(), GNEChargingStation::setAttribute(), GNEDetectorE3::setAttribute(), GNEConnection::setAttribute(), GNEEdge::setAttribute(), GNEJunction::setAttribute(), GNELane::setAttribute(), GNECalibrator::setAttribute(), GNEDetector::setPositionOverLane(), GNEDeleteFrame::showAttributeCarrierChilds(), GNEInspectorFrame::showAttributeCarrierChilds(), GNEChange_Additional::undo(), GNEChange_Additional::undoName(), GNENet::updateAdditionalID(), GNEDeleteFrame::updateCurrentLabel(), GNEChargingStation::writeAdditional(), GNEDetectorE1::writeAdditional(), GNEVaporizer::writeAdditional(), GNEVariableSpeedSign::writeAdditional(), GNEDetectorE2::writeAdditional(), GNEBusStop::writeAdditional(), GNERouteProbe::writeAdditional(), GNEContainerStop::writeAdditional(), GNERerouter::writeAdditional(), GNEDetectorE3::writeAdditional(), GNECalibrator::writeAdditional(), and ~GNEAttributeCarrier().

bool GNEAttributeCarrier::hasAttribute ( SumoXMLTag  tag,
SumoXMLAttr  attr 
)
static
bool GNEAttributeCarrier::hasDefaultValue ( SumoXMLTag  tag,
SumoXMLAttr  attr 
)
static

check if attribute of an element has a default avlue

Definition at line 685 of file GNEAttributeCarrier.cpp.

References _allowedAttributes, NODEFAULTVALUE, and toString().

Referenced by GNEAdditionalHandler::getParsedAttribute(), GNEInspectorFrame::AttrInput::onCmdSetAttribute(), and ~GNEAttributeCarrier().

void GNEReferenceCounter::incRef ( const std::string &  debugMsg = "")
inlineinherited
bool GNEAttributeCarrier::isDiscrete ( SumoXMLTag  tag,
SumoXMLAttr  attr 
)
static
bool GNEAttributeCarrier::isNonEditable ( SumoXMLTag  tag,
SumoXMLAttr  attr 
)
static
bool GNEAttributeCarrier::isNumerical ( SumoXMLTag  tag,
SumoXMLAttr  attr 
)
static

whether an attribute is numerical (int or float)

Definition at line 420 of file GNEAttributeCarrier.cpp.

References isFloat(), and isInt().

Referenced by GNESelectorFrame::getMatches(), isString(), GNESelectorFrame::onCmdSelMBString(), and ~GNEAttributeCarrier().

template<typename T >
static bool GNEAttributeCarrier::isPositive ( const std::string &  string)
inlinestatic

true if a positive number of type T can be parsed from string

Definition at line 200 of file GNEAttributeCarrier.h.

References isValidFileValue(), isValidID(), and isValidStringVector().

bool GNEAttributeCarrier::isProbability ( SumoXMLTag  tag,
SumoXMLAttr  attr 
)
static

whether an attribute is a probability (i.e. oly can values between [0, 1])

Definition at line 646 of file GNEAttributeCarrier.cpp.

References myProbabilityAttrs, SUMO_ATTR_EFFICIENCY, SUMO_ATTR_PROB, SUMO_TAG_CHARGING_STATION, and SUMO_TAG_REROUTER.

Referenced by GNEAdditionalFrame::singleAdditionalParameter::onCmdSetAttribute(), and ~GNEAttributeCarrier().

bool GNEAttributeCarrier::isValidFileValue ( const std::string &  value)
static
bool GNEAttributeCarrier::isValidID ( const std::string &  value)
static

true if value is a valid sumo ID

Definition at line 170 of file GNEAttributeCarrier.cpp.

Referenced by isPositive(), GNEEdge::isValid(), and GNEJunction::isValid().

bool GNEAttributeCarrier::isValidStringVector ( const std::string &  value)
static

true if value is a valid string vector

Definition at line 184 of file GNEAttributeCarrier.cpp.

References isValidFileValue().

Referenced by isPositive(), GNEBusStop::isValid(), and GNEContainerStop::isValid().

GNEAttributeCarrier& GNEAttributeCarrier::operator= ( const GNEAttributeCarrier &  src)
private

Invalidated assignment operator.

template<>
int GNEAttributeCarrier::parse ( const std::string &  string)

Definition at line 79 of file GNEAttributeCarrier.cpp.

References TplConvert::_str2int(), and SUMOReal.

template<>
SUMOReal GNEAttributeCarrier::parse ( const std::string &  string)

Definition at line 85 of file GNEAttributeCarrier.cpp.

References TplConvert::_str2SUMOReal().

template<>
bool GNEAttributeCarrier::parse ( const std::string &  string)

Definition at line 91 of file GNEAttributeCarrier.cpp.

References TplConvert::_str2Bool().

template<>
std::string GNEAttributeCarrier::parse ( const std::string &  string)

Definition at line 97 of file GNEAttributeCarrier.cpp.

template<typename T >
static T GNEAttributeCarrier::parse ( const std::string &  string)
static

parses a number of type T from string

Referenced by canParse().

virtual void GNEAttributeCarrier::setAttribute ( SumoXMLAttr  key,
const std::string &  value 
)
privatepure virtual

Friends And Related Function Documentation

Field Documentation

std::map< SumoXMLTag, std::vector< std::pair< SumoXMLAttr, std::string > > > GNEAttributeCarrier::_allowedAttributes
staticprivate

map with the allowed attributes and their default values

Definition at line 236 of file GNEAttributeCarrier.h.

Referenced by allowedAttributes(), getDefaultValue(), and hasDefaultValue().

const std::string GNEAttributeCarrier::APPROVED = "approved"
static

feature has been approved but not changed (i.e. after being reguessed)

Definition at line 223 of file GNEAttributeCarrier.h.

const std::string GNEAttributeCarrier::GUESSED = "guessed"
static

feature has been reguessed (may still be unchanged be we can't tell (yet)

Definition at line 217 of file GNEAttributeCarrier.h.

Referenced by GNEJunction::setAttribute(), and GNEEdge::setAttribute().

const std::string GNEAttributeCarrier::LOADED = "loaded"
static

feature is still unchanged after being loaded (implies approval)

Definition at line 214 of file GNEAttributeCarrier.h.

const std::string GNEAttributeCarrier::MODIFIED = "modified"
static

feature has been manually modified (implies approval)

Definition at line 220 of file GNEAttributeCarrier.h.

Referenced by GNEJunction::markAsModified(), and GNEConnectorFrame::onCmdClearSelectedConnections().

std::vector< SumoXMLTag > GNEAttributeCarrier::myAllowedAdditionalTags
staticprivate

vector with the allowed tags of additionals

Definition at line 242 of file GNEAttributeCarrier.h.

Referenced by allowedTags(), and getHigherNumberOfAttributes().

std::map< SumoXMLTag, SumoXMLTag > GNEAttributeCarrier::myAllowedAdditionalWithParentTags
staticprivate

map with the allowed tags of additionals with parent and their parent

Definition at line 272 of file GNEAttributeCarrier.h.

std::vector< SumoXMLTag > GNEAttributeCarrier::myAllowedNetElementTags
staticprivate

vector with the allowed tags of netElements

Definition at line 239 of file GNEAttributeCarrier.h.

Referenced by allowedTags(), and getHigherNumberOfAttributes().

std::map< SumoXMLTag, std::map< SumoXMLAttr, std::string > > GNEAttributeCarrier::myAttrDefinitions
staticprivate

map with the definition of attributes

Definition at line 278 of file GNEAttributeCarrier.h.

Referenced by getDefinition().

std::map< SumoXMLTag, std::set< SumoXMLAttr > > GNEAttributeCarrier::myBoolAttrs
staticprivate

map with the boolean attributes

Definition at line 254 of file GNEAttributeCarrier.h.

Referenced by isBool().

std::map< SumoXMLTag, std::map< SumoXMLAttr, std::vector< std::string > > > GNEAttributeCarrier::myDiscreteChoices
staticprivate

map with the values of discrete choices

Definition at line 275 of file GNEAttributeCarrier.h.

Referenced by discreteChoices().

GUIIcon GNEAttributeCarrier::myIcon
private

icon associated to this AC

Definition at line 233 of file GNEAttributeCarrier.h.

Referenced by getGUIIcon(), and getIcon().

std::map< SumoXMLTag, std::set< SumoXMLAttr > > GNEAttributeCarrier::myListAttrs
staticprivate

map with the attributes of type list

Definition at line 257 of file GNEAttributeCarrier.h.

Referenced by isList().

int GNEAttributeCarrier::myMaxNumAttribute = 0
staticprivate

maximum number of attributes of all tags

Definition at line 281 of file GNEAttributeCarrier.h.

Referenced by getHigherNumberOfAttributes().

std::map< SumoXMLTag, std::set< SumoXMLAttr > > GNEAttributeCarrier::myNonEditableAttrs
staticprivate

map with the non-editable attributes

Definition at line 263 of file GNEAttributeCarrier.h.

Referenced by isNonEditable().

std::map< SumoXMLTag, std::set< SumoXMLAttr > > GNEAttributeCarrier::myNumericalFloatAttrs
staticprivate

map with the numerical attributes of type Float

Definition at line 248 of file GNEAttributeCarrier.h.

Referenced by isFloat().

std::map< SumoXMLTag, std::set< SumoXMLAttr > > GNEAttributeCarrier::myNumericalIntAttrs
staticprivate

map with the numerical attributes of type Int

Definition at line 245 of file GNEAttributeCarrier.h.

Referenced by isInt().

std::map< SumoXMLTag, std::set< SumoXMLAttr > > GNEAttributeCarrier::myPositiveAttrs
staticprivate

map with the positive attributes

Definition at line 266 of file GNEAttributeCarrier.h.

Referenced by isPositive().

std::map< SumoXMLTag, std::set< SumoXMLAttr > > GNEAttributeCarrier::myProbabilityAttrs
staticprivate

map with the probability attributes

Definition at line 269 of file GNEAttributeCarrier.h.

Referenced by isProbability().

const SumoXMLTag GNEAttributeCarrier::myTag
private

the xml tag to which this attribute carrier corresponds

Definition at line 230 of file GNEAttributeCarrier.h.

Referenced by getAttrs(), getDescription(), and getTag().

std::map< SumoXMLTag, std::set< SumoXMLAttr > > GNEAttributeCarrier::myTimeAttrs
staticprivate

map with the attributes of type time

Definition at line 251 of file GNEAttributeCarrier.h.

Referenced by isTime().

std::map< SumoXMLTag, std::set< SumoXMLAttr > > GNEAttributeCarrier::myUniqueAttrs
staticprivate

map with the unique attributes (i.e. attributes without default values)

Definition at line 260 of file GNEAttributeCarrier.h.

Referenced by isUnique().


The documentation for this class was generated from the following files: