Namespaces | |
internal | |
Typedefs | |
using | FrictionBasePtr = std::shared_ptr< FrictionBase > |
typedef ClassFactory< FrictionBase, VehicleBase &, const rapidxml::xml_node< char > * > | TClassFactory_friction |
using | TClassFactory_sensors = ClassFactory< SensorBase, Simulable &, const rapidxml::xml_node< char > * > |
typedef ClassFactory< VehicleBase, World * > | TClassFactory_vehicleDynamics |
using | TClassFactory_worldElements = ClassFactory< WorldElementBase, World *, const rapidxml::xml_node< char > * > |
using | TListSensors = std::vector< SensorBase::Ptr > |
using | TParameterDefinitions = std::map< std::string, TParamEntry > |
Functions | |
std::string | parse (const std::string &input, const std::map< std::string, std::string > &variableNamesValues={}) |
std::string | parse_variables (const std::string &in, const std::map< std::string, std::string > &variables, const std::set< std::string > &varsRetain) |
bool | parse_xmlnode_as_param (const rapidxml::xml_node< char > &xml_node, const TParameterDefinitions ¶ms, const std::map< std::string, std::string > &variableNamesValues={}, const char *functionNameContext="") |
void | parse_xmlnode_attribs (const rapidxml::xml_node< char > &xml_node, const TParameterDefinitions ¶ms, const std::map< std::string, std::string > &variableNamesValues={}, const char *functionNameContext="") |
void | parse_xmlnode_children_as_param (const rapidxml::xml_node< char > &xml_node, const TParameterDefinitions ¶ms, const std::map< std::string, std::string > &variableNamesValues={}, const char *functionNameContext="", mrpt::system::COutputLogger *logger=nullptr) |
void | parse_xmlnode_shape (const rapidxml::xml_node< char > &xml_node, mrpt::math::TPolygon2D &out_poly, const char *functionNameContext="") |
template<class NODE_LIST > | |
void | parse_xmlnodelist_children_as_param (NODE_LIST &lst_nodes, const TParameterDefinitions ¶ms, const char *functionNameContext="") |
mrpt::math::TPose2D | parseXYPHI (const std::string &s, bool allow_missing_angle=false, double default_angle_radians=0.0, const std::map< std::string, std::string > &variableNamesValues={}) |
std::tuple< XML_Doc_Data::Ptr, rapidxml::xml_node<> * > | readXmlAndGetRoot (const std::string &pathToFile, const std::map< std::string, std::string > &variables, const std::set< std::string > &varsRetain={}) |
std::tuple< std::shared_ptr< rapidxml::xml_document<> >, rapidxml::xml_node<> * > | readXmlTextAndGetRoot (const std::string &xmlData, const std::string &pathToFile) |
Variables | |
TClassFactory_friction | classFactory_friction |
TClassFactory_sensors | classFactory_sensors |
TClassFactory_vehicleDynamics | classFactory_vehicleDynamics |
TClassFactory_worldElements | classFactory_worldElements |
constexpr uintptr_t | INVISIBLE_FIXTURE_USER_DATA = 1 |
Used to signal a Box2D fixture as "invisible" to sensors. More... | |
constexpr unsigned int | MVSIM_PORTNO_MAIN_REP = 23700 |
using mvsim::FrictionBasePtr = typedef std::shared_ptr<FrictionBase> |
Definition at line 71 of file FrictionBase.h.
typedef ClassFactory< FrictionBase, VehicleBase&, const rapidxml::xml_node<char>*> mvsim::TClassFactory_friction |
Definition at line 76 of file FrictionBase.h.
using mvsim::TClassFactory_sensors = typedef ClassFactory<SensorBase, Simulable&, const rapidxml::xml_node<char>*> |
Definition at line 114 of file SensorBase.h.
Definition at line 259 of file VehicleBase.h.
using mvsim::TClassFactory_worldElements = typedef ClassFactory<WorldElementBase, World*, const rapidxml::xml_node<char>*> |
Definition at line 41 of file WorldElementBase.h.
using mvsim::TListSensors = typedef std::vector<SensorBase::Ptr> |
Definition at line 110 of file SensorBase.h.
using mvsim::TParameterDefinitions = typedef std::map<std::string, TParamEntry> |
Container mapping a list of parameter names to their type definitions and actual placeholder variables where to store their values when reading a configuration file.
Definition at line 64 of file TParameterDefinitions.h.
std::string mvsim::parse | ( | const std::string & | input, |
const std::map< std::string, std::string > & | variableNamesValues = {} |
||
) |
Parse a string (typically as read from an XML file) and replaces the following expressions:
${VAR}
: Variable names.$env{VAR}
: Environment variables.
: The output from an external program. Definition at line 211 of file parse_utils.cpp.
std::string mvsim::parse_variables | ( | const std::string & | in, |
const std::map< std::string, std::string > & | variables, | ||
const std::set< std::string > & | varsRetain | ||
) |
Replaces: Variables are first searched in the "<include />" attributes, or as environment variables if not found.
${VAR}
: var contents. Throw on undefined var.${VAR|DEFAULT}
: var contents, or DEFAULT if undefined. Definition at line 447 of file xml_utils.cpp.
bool mvsim::parse_xmlnode_as_param | ( | const rapidxml::xml_node< char > & | xml_node, |
const TParameterDefinitions & | params, | ||
const std::map< std::string, std::string > & | variableNamesValues = {} , |
||
const char * | functionNameContext = "" |
||
) |
Check whether the given XML node name matches any of the param list
Definition at line 202 of file xml_utils.cpp.
void mvsim::parse_xmlnode_attribs | ( | const rapidxml::xml_node< char > & | xml_node, |
const TParameterDefinitions & | params, | ||
const std::map< std::string, std::string > & | variableNamesValues = {} , |
||
const char * | functionNameContext = "" |
||
) |
Definition at line 184 of file xml_utils.cpp.
void mvsim::parse_xmlnode_children_as_param | ( | const rapidxml::xml_node< char > & | root, |
const TParameterDefinitions & | params, | ||
const std::map< std::string, std::string > & | variableNamesValues = {} , |
||
const char * | functionNameContext = "" , |
||
mrpt::system::COutputLogger * | logger = nullptr |
||
) |
Call parse_xmlnode_as_param() for all children nodes of the given node.
Definition at line 224 of file xml_utils.cpp.
void mvsim::parse_xmlnode_shape | ( | const rapidxml::xml_node< char > & | xml_node, |
mrpt::math::TPolygon2D & | out_poly, | ||
const char * | functionNameContext = "" |
||
) |
Parses a <shape><pt>X Y</pt>...</shape> XML node into a mrpt::math::TPolygon2D
std::exception | On syntax errors, etc. |
Definition at line 271 of file xml_utils.cpp.
void mvsim::parse_xmlnodelist_children_as_param | ( | NODE_LIST & | lst_nodes, |
const TParameterDefinitions & | params, | ||
const char * | functionNameContext = "" |
||
) |
Definition at line 88 of file xml_utils.h.
mrpt::math::TPose2D mvsim::parseXYPHI | ( | const std::string & | s, |
bool | allow_missing_angle = false , |
||
double | default_angle_radians = 0.0 , |
||
const std::map< std::string, std::string > & | variableNamesValues = {} |
||
) |
Parses a string like "XXX YYY PHI" with X,Y in meters, PHI in degrees, and returns a mrpt::math::TPose2D with [x,y,phi] with angle in radians. Raises an exception upon malformed string.
Definition at line 245 of file xml_utils.cpp.
std::tuple< XML_Doc_Data::Ptr, rapidxml::xml_node<> * > mvsim::readXmlAndGetRoot | ( | const std::string & | pathToFile, |
const std::map< std::string, std::string > & | variables, | ||
const std::set< std::string > & | varsRetain = {} |
||
) |
Definition at line 333 of file xml_utils.cpp.
std::tuple< std::shared_ptr< rapidxml::xml_document<> >, rapidxml::xml_node<> * > mvsim::readXmlTextAndGetRoot | ( | const std::string & | xmlData, |
const std::string & | pathToFile | ||
) |
Definition at line 303 of file xml_utils.cpp.
TClassFactory_friction mvsim::classFactory_friction |
Definition at line 19 of file FrictionBase.cpp.
TClassFactory_sensors mvsim::classFactory_sensors |
Definition at line 36 of file SensorBase.cpp.
TClassFactory_vehicleDynamics mvsim::classFactory_vehicleDynamics |
Definition at line 40 of file VehicleBase.cpp.
TClassFactory_worldElements mvsim::classFactory_worldElements |
Definition at line 28 of file WorldElementBase.cpp.
constexpr uintptr_t mvsim::INVISIBLE_FIXTURE_USER_DATA = 1 |
Used to signal a Box2D fixture as "invisible" to sensors.
Definition at line 64 of file basic_types.h.