Eclipse SUMO - Simulation of Urban MObility
GNEAttributeProperties Class Reference

#include <GNEAttributeProperties.h>

Collaboration diagram for GNEAttributeProperties:
[legend]

Public Types

enum  AttrProperty {
  INT = 1 << 0 , FLOAT = 1 << 1 , SUMOTIME = 1 << 2 , BOOL = 1 << 3 ,
  STRING = 1 << 4 , POSITION = 1 << 5 , COLOR = 1 << 6 , VTYPE = 1 << 7 ,
  VCLASS = 1 << 8 , POSITIVE = 1 << 9 , UNIQUE = 1 << 10 , FILENAME = 1 << 11 ,
  DISCRETE = 1 << 12 , PROBABILITY = 1 << 13 , ANGLE = 1 << 14 , LIST = 1 << 15 ,
  SECUENCIAL = 1 << 16 , DEFAULTVALUE = 1 << 17 , SYNONYM = 1 << 18 , RANGE = 1 << 19 ,
  EXTENDED = 1 << 20 , UPDATEGEOMETRY = 1 << 21 , ACTIVATABLE = 1 << 22 , FLOWDEFINITION = 1 << 23 ,
  AUTOMATICID = 1 << 24
}
 struct with the tag Properties More...
 

Public Member Functions

void checkAttributeIntegrity () const
 check Attribute integrity (For example, throw an exception if tag has a Float default value, but given default value cannot be parse to float) More...
 
SumoXMLAttr getAttr () const
 get XML Attribute More...
 
const std::string & getAttrStr () const
 get XML Attribute More...
 
SumoXMLAttr getAttrSynonym () const
 get tag synonym More...
 
bool getDefaultActivated () const
 get default active value More...
 
const std::string & getDefaultValue () const
 get default value More...
 
const std::string & getDefinition () const
 get default value More...
 
std::string getDescription () const
 return a description of attribute More...
 
const std::vector< std::string > & getDiscreteValues () const
 get discrete values More...
 
double getMaximumRange () const
 get maximum range More...
 
double getMinimumRange () const
 get minimum range More...
 
int getPositionListed () const
 get position in list (used in frames for listing attributes with certain sort) More...
 
const GNETagPropertiesgetTagPropertyParent () const
 get reference to tagProperty parent More...
 
 GNEAttributeProperties ()
 default constructor More...
 
 GNEAttributeProperties (const SumoXMLAttr attribute, const int attributeProperty, const std::string &definition, std::string defaultValue="")
 parameter constructor More...
 
bool hasAttrRange () const
 return true if Attr correspond to an element that only accept a range of values More...
 
bool hasAttrSynonym () const
 return true if Attr correspond to an element that will be written in XML with another name More...
 
bool hasAutomaticID () const
 return true if attribute ID can generate an automatic ID More...
 
bool hasDefaultValue () const
 return true if attribute owns a default value More...
 
bool isActivatable () const
 return true if attribute is activatable More...
 
bool isBool () const
 return true if attribute is boolean More...
 
bool isColor () const
 return true if attribute is a color More...
 
bool isDiscrete () const
 return true if attribute is discrete More...
 
bool isExtended () const
 return true if attribute is extended More...
 
bool isFilename () const
 return true if attribute is a filename More...
 
bool isFloat () const
 return true if attribute is a float More...
 
bool isFlowDefinition () const
 return true if attribute is part of a flow definition More...
 
bool isInt () const
 return true if attribute is an integer More...
 
bool isList () const
 return true if attribute is a list More...
 
bool isNumerical () const
 return true if attribute is numerical (int or float) More...
 
bool isPosition () const
 return true if attribute is a position More...
 
bool isPositive () const
 return true if attribute is positive More...
 
bool isProbability () const
 return true if attribute is a probability More...
 
bool isSecuential () const
 return true if attribute is sequential More...
 
bool isString () const
 return true if attribute is a string More...
 
bool isSUMOTime () const
 return true if attribute is a SUMOTime More...
 
bool isSVCPermission () const
 return true if attribute is a VehicleClass More...
 
bool isUnique () const
 return true if attribute is unique More...
 
bool isVClass () const
 return true if attribute is a VehicleClass More...
 
bool isVType () const
 return true if attribute is a VType or vTypeDistribution More...
 
bool requireUpdateGeometry () const
 return true if attribute requires a update geometry in setAttribute(...) More...
 
void setDefaultActivated (const bool value)
 set default activated value More...
 
void setDiscreteValues (const std::vector< std::string > &discreteValues)
 set discrete values More...
 
void setRange (const double minimum, const double maximum)
 set range More...
 
void setSynonym (const SumoXMLAttr synonym)
 set synonim More...
 
void setTagPropertyParent (GNETagProperties *tagPropertyParent)
 set tag property parent More...
 
 ~GNEAttributeProperties ()
 destructor More...
 

Private Attributes

SumoXMLAttr myAttribute = SUMO_ATTR_NOTHING
 XML Attribute. More...
 
int myAttributeProperty = STRING
 Property of attribute. More...
 
std::string myAttrStr
 string with the Attribute in text format (to avoid unnecesaries toStrings(...) calls) More...
 
SumoXMLAttr myAttrSynonym = SUMO_ATTR_NOTHING
 Attribute written in XML (If is SUMO_ATTR_NOTHING), original Attribute will be written) More...
 
bool myDefaultActivated = false
 default activated (by default false) More...
 
std::string myDefaultValue
 default value (by default empty) More...
 
std::string myDefinition
 text with a definition of attribute More...
 
std::vector< std::string > myDiscreteValues
 discrete values that can take this Attribute (by default empty) More...
 
double myMaximumRange = 0
 maxium Range More...
 
double myMinimumRange = 0
 minimun Range More...
 
GNETagPropertiesmyTagPropertyParent = nullptr
 pointer to tagProperty parent More...
 

Detailed Description

Definition at line 42 of file GNEAttributeProperties.h.

Member Enumeration Documentation

◆ AttrProperty

struct with the tag Properties

Enumerator
INT 
FLOAT 
SUMOTIME 
BOOL 
STRING 
POSITION 
COLOR 
VTYPE 
VCLASS 
POSITIVE 
UNIQUE 
FILENAME 
DISCRETE 
PROBABILITY 
ANGLE 
LIST 
SECUENCIAL 
DEFAULTVALUE 
SYNONYM 
RANGE 
EXTENDED 
UPDATEGEOMETRY 
ACTIVATABLE 
FLOWDEFINITION 
AUTOMATICID 

Definition at line 47 of file GNEAttributeProperties.h.

Constructor & Destructor Documentation

◆ GNEAttributeProperties() [1/2]

GNEAttributeProperties::GNEAttributeProperties ( )

default constructor

Definition at line 36 of file GNEAttributeProperties.cpp.

◆ GNEAttributeProperties() [2/2]

GNEAttributeProperties::GNEAttributeProperties ( const SumoXMLAttr  attribute,
const int  attributeProperty,
const std::string &  definition,
std::string  defaultValue = "" 
)

parameter constructor

Definition at line 39 of file GNEAttributeProperties.cpp.

References ACTIVATABLE, DEFAULTVALUE, FLOWDEFINITION, and toString().

◆ ~GNEAttributeProperties()

GNEAttributeProperties::~GNEAttributeProperties ( )

destructor

Definition at line 65 of file GNEAttributeProperties.cpp.

Member Function Documentation

◆ checkAttributeIntegrity()

void GNEAttributeProperties::checkAttributeIntegrity ( ) const

check Attribute integrity (For example, throw an exception if tag has a Float default value, but given default value cannot be parse to float)

Definition at line 69 of file GNEAttributeProperties.cpp.

References hasAttrRange(), hasAttrSynonym(), hasDefaultValue(), isBool(), isColor(), isFloat(), isInt(), isList(), isPosition(), isPositive(), isSecuential(), isSUMOTime(), myAttrSynonym, myDefaultValue, myMaximumRange, myMinimumRange, and SUMO_ATTR_NOTHING.

◆ getAttr()

SumoXMLAttr GNEAttributeProperties::getAttr ( ) const

get XML Attribute

Definition at line 175 of file GNEAttributeProperties.cpp.

References myAttribute.

Referenced by GNETagProperties::addAttribute(), GNEAttributesCreatorRow::onCmdSetAttribute(), and GNEAttributesCreatorRow::refreshRow().

Here is the caller graph for this function:

◆ getAttrStr()

const std::string & GNEAttributeProperties::getAttrStr ( ) const

get XML Attribute

Definition at line 181 of file GNEAttributeProperties.cpp.

References myAttrStr.

Referenced by GNETagProperties::addAttribute(), and GNEAttributesCreatorRow::refreshRow().

Here is the caller graph for this function:

◆ getAttrSynonym()

SumoXMLAttr GNEAttributeProperties::getAttrSynonym ( ) const

get tag synonym

Definition at line 292 of file GNEAttributeProperties.cpp.

References hasAttrSynonym(), and myAttrSynonym.

◆ getDefaultActivated()

bool GNEAttributeProperties::getDefaultActivated ( ) const

get default active value

Definition at line 216 of file GNEAttributeProperties.cpp.

References myDefaultActivated.

◆ getDefaultValue()

const std::string & GNEAttributeProperties::getDefaultValue ( ) const

get default value

Definition at line 210 of file GNEAttributeProperties.cpp.

References myDefaultValue.

Referenced by GNEAttributesCreatorRow::onCmdOpenColorDialog(), GNEAttributesCreatorRow::onCmdSetAttribute(), and GNEAttributesCreatorRow::refreshRow().

Here is the caller graph for this function:

◆ getDefinition()

const std::string & GNEAttributeProperties::getDefinition ( ) const

get default value

Definition at line 204 of file GNEAttributeProperties.cpp.

References myDefinition.

Referenced by GNEAttributesCreatorRow::refreshRow().

Here is the caller graph for this function:

◆ getDescription()

std::string GNEAttributeProperties::getDescription ( ) const

return a description of attribute

Definition at line 222 of file GNEAttributeProperties.cpp.

References ANGLE, BOOL, COLOR, DISCRETE, FILENAME, FLOAT, INT, LIST, myAttributeProperty, POSITION, POSITIVE, PROBABILITY, STRING, SUMOTIME, UNIQUE, and VCLASS.

◆ getDiscreteValues()

const std::vector< std::string > & GNEAttributeProperties::getDiscreteValues ( ) const

get discrete values

Definition at line 286 of file GNEAttributeProperties.cpp.

References myDiscreteValues.

Referenced by GNEChargingStation::isValid(), GNEStop::isValid(), and GNEAttributesCreatorRow::refreshRow().

Here is the caller graph for this function:

◆ getMaximumRange()

double GNEAttributeProperties::getMaximumRange ( ) const

get maximum range

Definition at line 312 of file GNEAttributeProperties.cpp.

References hasAttrRange(), and myMaximumRange.

◆ getMinimumRange()

double GNEAttributeProperties::getMinimumRange ( ) const

get minimum range

Definition at line 302 of file GNEAttributeProperties.cpp.

References hasAttrRange(), and myMinimumRange.

◆ getPositionListed()

int GNEAttributeProperties::getPositionListed ( ) const

get position in list (used in frames for listing attributes with certain sort)

Definition at line 193 of file GNEAttributeProperties.cpp.

References GNETagProperties::begin(), GNETagProperties::end(), myAttribute, and myTagPropertyParent.

◆ getTagPropertyParent()

const GNETagProperties & GNEAttributeProperties::getTagPropertyParent ( ) const

get reference to tagProperty parent

Definition at line 187 of file GNEAttributeProperties.cpp.

References myTagPropertyParent.

Referenced by GNEAttributesCreatorRow::generateID(), GNEFrameAttributeModules::isSupermodeValid(), and GNEAttributesCreatorRow::isValidID().

Here is the caller graph for this function:

◆ hasAttrRange()

bool GNEAttributeProperties::hasAttrRange ( ) const

return true if Attr correspond to an element that only accept a range of values

Definition at line 333 of file GNEAttributeProperties.cpp.

References myAttributeProperty, and RANGE.

Referenced by checkAttributeIntegrity(), getMaximumRange(), getMinimumRange(), and setRange().

Here is the caller graph for this function:

◆ hasAttrSynonym()

bool GNEAttributeProperties::hasAttrSynonym ( ) const

return true if Attr correspond to an element that will be written in XML with another name

Definition at line 328 of file GNEAttributeProperties.cpp.

References myAttributeProperty, and SYNONYM.

Referenced by checkAttributeIntegrity(), getAttrSynonym(), and setSynonym().

Here is the caller graph for this function:

◆ hasAutomaticID()

bool GNEAttributeProperties::hasAutomaticID ( ) const

return true if attribute ID can generate an automatic ID

Definition at line 471 of file GNEAttributeProperties.cpp.

References AUTOMATICID, and myAttributeProperty.

Referenced by GNEAttributesCreatorRow::refreshRow().

Here is the caller graph for this function:

◆ hasDefaultValue()

bool GNEAttributeProperties::hasDefaultValue ( ) const

return true if attribute owns a default value

Definition at line 322 of file GNEAttributeProperties.cpp.

References DEFAULTVALUE, and myAttributeProperty.

Referenced by checkAttributeIntegrity(), GNEAttributesCreatorRow::onCmdSetAttribute(), and GNEAttributesCreatorRow::refreshRow().

Here is the caller graph for this function:

◆ isActivatable()

bool GNEAttributeProperties::isActivatable ( ) const

return true if attribute is activatable

Definition at line 459 of file GNEAttributeProperties.cpp.

References ACTIVATABLE, and myAttributeProperty.

Referenced by GNEAttributesCreatorRow::refreshRow(), and setDefaultActivated().

Here is the caller graph for this function:

◆ isBool()

bool GNEAttributeProperties::isBool ( ) const

return true if attribute is boolean

Definition at line 357 of file GNEAttributeProperties.cpp.

References BOOL, and myAttributeProperty.

Referenced by checkAttributeIntegrity(), GNEAttributesCreatorRow::disableAttributesCreatorRow(), GNEAttributesCreatorRow::enableAttributesCreatorRow(), GNEAttributesCreatorRow::getValue(), GNEAttributesCreatorRow::isAttributesCreatorRowEnabled(), GNEAttributesCreatorRow::refreshRow(), and GNEAttributesCreatorRow::setAttributeCheckButtonCheck().

Here is the caller graph for this function:

◆ isColor()

bool GNEAttributeProperties::isColor ( ) const

return true if attribute is a color

Definition at line 393 of file GNEAttributeProperties.cpp.

References COLOR, and myAttributeProperty.

Referenced by checkAttributeIntegrity(), and GNEAttributesCreatorRow::refreshRow().

Here is the caller graph for this function:

◆ isDiscrete()

bool GNEAttributeProperties::isDiscrete ( ) const

return true if attribute is discrete

Definition at line 441 of file GNEAttributeProperties.cpp.

References DISCRETE, and myAttributeProperty.

Referenced by GNEAttributesCreatorRow::disableAttributesCreatorRow(), GNEAttributesCreatorRow::enableAttributesCreatorRow(), GNEAttributesCreatorRow::getValue(), GNEAttributesCreatorRow::isAttributesCreatorRowEnabled(), GNEAttributesCreatorRow::refreshRow(), GNEAttributesCreatorRow::setAttributeCheckButtonCheck(), and setDiscreteValues().

Here is the caller graph for this function:

◆ isExtended()

bool GNEAttributeProperties::isExtended ( ) const

return true if attribute is extended

Definition at line 447 of file GNEAttributeProperties.cpp.

References EXTENDED, and myAttributeProperty.

◆ isFilename()

bool GNEAttributeProperties::isFilename ( ) const

return true if attribute is a filename

Definition at line 405 of file GNEAttributeProperties.cpp.

References FILENAME, and myAttributeProperty.

◆ isFloat()

bool GNEAttributeProperties::isFloat ( ) const

return true if attribute is a float

Definition at line 345 of file GNEAttributeProperties.cpp.

References FLOAT, and myAttributeProperty.

Referenced by checkAttributeIntegrity().

Here is the caller graph for this function:

◆ isFlowDefinition()

bool GNEAttributeProperties::isFlowDefinition ( ) const

return true if attribute is part of a flow definition

Definition at line 465 of file GNEAttributeProperties.cpp.

References FLOWDEFINITION, and myAttributeProperty.

◆ isInt()

bool GNEAttributeProperties::isInt ( ) const

return true if attribute is an integer

Definition at line 339 of file GNEAttributeProperties.cpp.

References INT, and myAttributeProperty.

Referenced by checkAttributeIntegrity().

Here is the caller graph for this function:

◆ isList()

bool GNEAttributeProperties::isList ( ) const

return true if attribute is a list

Definition at line 423 of file GNEAttributeProperties.cpp.

References LIST, and myAttributeProperty.

Referenced by checkAttributeIntegrity(), and GNENet::replaceInListAttribute().

Here is the caller graph for this function:

◆ isNumerical()

bool GNEAttributeProperties::isNumerical ( ) const

return true if attribute is numerical (int or float)

Definition at line 381 of file GNEAttributeProperties.cpp.

References FLOAT, INT, myAttributeProperty, and SUMOTIME.

◆ isPosition()

bool GNEAttributeProperties::isPosition ( ) const

return true if attribute is a position

Definition at line 369 of file GNEAttributeProperties.cpp.

References myAttributeProperty, and POSITION.

Referenced by checkAttributeIntegrity().

Here is the caller graph for this function:

◆ isPositive()

bool GNEAttributeProperties::isPositive ( ) const

return true if attribute is positive

Definition at line 387 of file GNEAttributeProperties.cpp.

References myAttributeProperty, and POSITIVE.

Referenced by checkAttributeIntegrity().

Here is the caller graph for this function:

◆ isProbability()

bool GNEAttributeProperties::isProbability ( ) const

return true if attribute is a probability

Definition at line 375 of file GNEAttributeProperties.cpp.

References myAttributeProperty, and PROBABILITY.

◆ isSecuential()

bool GNEAttributeProperties::isSecuential ( ) const

return true if attribute is sequential

Definition at line 429 of file GNEAttributeProperties.cpp.

References myAttributeProperty, and SECUENCIAL.

Referenced by checkAttributeIntegrity().

Here is the caller graph for this function:

◆ isString()

bool GNEAttributeProperties::isString ( ) const

return true if attribute is a string

Definition at line 363 of file GNEAttributeProperties.cpp.

References myAttributeProperty, and STRING.

◆ isSUMOTime()

bool GNEAttributeProperties::isSUMOTime ( ) const

return true if attribute is a SUMOTime

Definition at line 351 of file GNEAttributeProperties.cpp.

References myAttributeProperty, and SUMOTIME.

Referenced by checkAttributeIntegrity().

Here is the caller graph for this function:

◆ isSVCPermission()

bool GNEAttributeProperties::isSVCPermission ( ) const

return true if attribute is a VehicleClass

Definition at line 417 of file GNEAttributeProperties.cpp.

References LIST, myAttributeProperty, and VCLASS.

Referenced by GNEAttributesCreatorRow::refreshRow().

Here is the caller graph for this function:

◆ isUnique()

bool GNEAttributeProperties::isUnique ( ) const

return true if attribute is unique

Definition at line 435 of file GNEAttributeProperties.cpp.

References myAttributeProperty, and UNIQUE.

◆ isVClass()

bool GNEAttributeProperties::isVClass ( ) const

return true if attribute is a VehicleClass

Definition at line 411 of file GNEAttributeProperties.cpp.

References myAttributeProperty, and VCLASS.

◆ isVType()

bool GNEAttributeProperties::isVType ( ) const

return true if attribute is a VType or vTypeDistribution

Definition at line 399 of file GNEAttributeProperties.cpp.

References myAttributeProperty, and VTYPE.

◆ requireUpdateGeometry()

bool GNEAttributeProperties::requireUpdateGeometry ( ) const

return true if attribute requires a update geometry in setAttribute(...)

Definition at line 453 of file GNEAttributeProperties.cpp.

References myAttributeProperty, and UPDATEGEOMETRY.

Referenced by GNEChange_Attribute::redo(), GNEVType::setAttribute(), and GNEChange_Attribute::undo().

Here is the caller graph for this function:

◆ setDefaultActivated()

void GNEAttributeProperties::setDefaultActivated ( const bool  value)

set default activated value

Definition at line 130 of file GNEAttributeProperties.cpp.

References isActivatable(), and myDefaultActivated.

Referenced by GNEAttributeCarrier::fillCommonStopAttributes(), and GNEAttributeCarrier::fillPlanStopCommonAttributes().

Here is the caller graph for this function:

◆ setDiscreteValues()

void GNEAttributeProperties::setDiscreteValues ( const std::vector< std::string > &  discreteValues)

set discrete values

Definition at line 120 of file GNEAttributeProperties.cpp.

References isDiscrete(), and myDiscreteValues.

Referenced by GNEAttributeCarrier::fillCarFollowingModelAttributes(), GNEAttributeCarrier::fillCommonMeanDataAttributes(), GNEAttributeCarrier::fillCommonStopAttributes(), GNEAttributeCarrier::fillDemandElements(), GNEAttributeCarrier::fillNetworkElements(), and GNEAttributeCarrier::fillPOIAttributes().

Here is the caller graph for this function:

◆ setRange()

void GNEAttributeProperties::setRange ( const double  minimum,
const double  maximum 
)

set range

Definition at line 150 of file GNEAttributeProperties.cpp.

References hasAttrRange(), myMaximumRange, and myMinimumRange.

Referenced by GNEAttributeCarrier::fillCarFollowingModelAttributes(), and GNEAttributeCarrier::fillLaneChangingModelAttributes().

Here is the caller graph for this function:

◆ setSynonym()

void GNEAttributeProperties::setSynonym ( const SumoXMLAttr  synonym)

set synonim

Definition at line 140 of file GNEAttributeProperties.cpp.

References hasAttrSynonym(), and myAttrSynonym.

◆ setTagPropertyParent()

void GNEAttributeProperties::setTagPropertyParent ( GNETagProperties tagPropertyParent)

set tag property parent

Definition at line 169 of file GNEAttributeProperties.cpp.

References myTagPropertyParent.

Field Documentation

◆ myAttribute

SumoXMLAttr GNEAttributeProperties::myAttribute = SUMO_ATTR_NOTHING
private

XML Attribute.

Definition at line 218 of file GNEAttributeProperties.h.

Referenced by getAttr(), and getPositionListed().

◆ myAttributeProperty

◆ myAttrStr

std::string GNEAttributeProperties::myAttrStr
private

string with the Attribute in text format (to avoid unnecesaries toStrings(...) calls)

Definition at line 224 of file GNEAttributeProperties.h.

Referenced by getAttrStr().

◆ myAttrSynonym

SumoXMLAttr GNEAttributeProperties::myAttrSynonym = SUMO_ATTR_NOTHING
private

Attribute written in XML (If is SUMO_ATTR_NOTHING), original Attribute will be written)

Definition at line 242 of file GNEAttributeProperties.h.

Referenced by checkAttributeIntegrity(), getAttrSynonym(), and setSynonym().

◆ myDefaultActivated

bool GNEAttributeProperties::myDefaultActivated = false
private

default activated (by default false)

Definition at line 236 of file GNEAttributeProperties.h.

Referenced by getDefaultActivated(), and setDefaultActivated().

◆ myDefaultValue

std::string GNEAttributeProperties::myDefaultValue
private

default value (by default empty)

Definition at line 233 of file GNEAttributeProperties.h.

Referenced by checkAttributeIntegrity(), and getDefaultValue().

◆ myDefinition

std::string GNEAttributeProperties::myDefinition
private

text with a definition of attribute

Definition at line 230 of file GNEAttributeProperties.h.

Referenced by getDefinition().

◆ myDiscreteValues

std::vector<std::string> GNEAttributeProperties::myDiscreteValues
private

discrete values that can take this Attribute (by default empty)

Definition at line 239 of file GNEAttributeProperties.h.

Referenced by getDiscreteValues(), and setDiscreteValues().

◆ myMaximumRange

double GNEAttributeProperties::myMaximumRange = 0
private

maxium Range

Definition at line 248 of file GNEAttributeProperties.h.

Referenced by checkAttributeIntegrity(), getMaximumRange(), and setRange().

◆ myMinimumRange

double GNEAttributeProperties::myMinimumRange = 0
private

minimun Range

Definition at line 245 of file GNEAttributeProperties.h.

Referenced by checkAttributeIntegrity(), getMinimumRange(), and setRange().

◆ myTagPropertyParent

GNETagProperties* GNEAttributeProperties::myTagPropertyParent = nullptr
private

pointer to tagProperty parent

Definition at line 221 of file GNEAttributeProperties.h.

Referenced by getPositionListed(), getTagPropertyParent(), and setTagPropertyParent().


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