Namespaces | Classes | Typedefs | Functions | Variables
mvsim Namespace Reference

Namespaces

 internal
 

Classes

class  Block
 
class  CameraSensor
 
class  ClassFactory
 
class  Client
 
class  CollisionShapeCache
 
class  ControllerBaseInterface
 
class  ControllerBaseTempl
 
class  DefaultFriction
 
class  DepthCameraSensor
 
class  DummyInvisibleBlock
 
class  DynamicsAckermann
 
class  DynamicsAckermannDrivetrain
 
class  DynamicsDifferential
 
class  DynamicsDifferential_3_wheels
 
class  DynamicsDifferential_4_wheels
 
class  ElevationMap
 
class  FrictionBase
 
class  GroundGrid
 
class  HorizontalPlane
 
class  IMU
 An Inertial Measurement Unit (IMU) sensor. More...
 
class  JointXMLnode
 
class  LaserScanner
 A 2D lidar scanner, with FOV up to 360 degrees. More...
 
class  Lidar3D
 A 3D LiDAR sensor, with 360 degrees horizontal fielf-of-view, and a configurable vertical FOV. The number of rays in the vertical FOV and the number of samples in each horizontal row are configurable. More...
 
class  ModelsCache
 
class  OccupancyGridMap
 
struct  ParseSimulableParams
 
struct  PID_Controller
 
class  PointCloud
 
class  RemoteResourcesManager
 
class  SensorBase
 
class  Server
 
class  Shape2p5
 
class  Simulable
 
class  SkyBox
 
struct  TParamEntry
 
struct  TSimulContext
 
class  VehicleBase
 
class  VerticalPlane
 
class  VisualObject
 
class  WardIagnemmaFriction
 
class  Wheel
 
class  World
 
class  WorldElementBase
 
struct  XML_Doc_Data
 
class  XmlClassesRegistry
 

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 &params, const std::map< std::string, std::string > &variableNamesValues={}, const char *functionNameContext="")
 
void parse_xmlnode_attribs (const rapidxml::xml_node< char > &xml_node, const TParameterDefinitions &params, 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 &params, 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 &params, 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
 

Typedef Documentation

◆ FrictionBasePtr

using mvsim::FrictionBasePtr = typedef std::shared_ptr<FrictionBase>

Definition at line 71 of file FrictionBase.h.

◆ TClassFactory_friction

Definition at line 76 of file FrictionBase.h.

◆ TClassFactory_sensors

Definition at line 114 of file SensorBase.h.

◆ TClassFactory_vehicleDynamics

Definition at line 259 of file VehicleBase.h.

◆ TClassFactory_worldElements

Definition at line 41 of file WorldElementBase.h.

◆ TListSensors

using mvsim::TListSensors = typedef std::vector<SensorBase::Ptr>

Definition at line 110 of file SensorBase.h.

◆ TParameterDefinitions

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.

Function Documentation

◆ parse()

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.

◆ parse_variables()

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.

◆ parse_xmlnode_as_param()

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

Returns
false if no match found
See also
parse_xmlnode_children_as_param

Definition at line 202 of file xml_utils.cpp.

◆ parse_xmlnode_attribs()

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.

◆ parse_xmlnode_children_as_param()

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.

◆ parse_xmlnode_shape()

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

Exceptions
std::exceptionOn syntax errors, etc.

Definition at line 271 of file xml_utils.cpp.

◆ parse_xmlnodelist_children_as_param()

template<class NODE_LIST >
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.

◆ parseXYPHI()

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.

◆ readXmlAndGetRoot()

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.

◆ readXmlTextAndGetRoot()

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.

Variable Documentation

◆ classFactory_friction

TClassFactory_friction mvsim::classFactory_friction

Definition at line 19 of file FrictionBase.cpp.

◆ classFactory_sensors

TClassFactory_sensors mvsim::classFactory_sensors

Definition at line 36 of file SensorBase.cpp.

◆ classFactory_vehicleDynamics

TClassFactory_vehicleDynamics mvsim::classFactory_vehicleDynamics

Definition at line 40 of file VehicleBase.cpp.

◆ classFactory_worldElements

TClassFactory_worldElements mvsim::classFactory_worldElements

Definition at line 28 of file WorldElementBase.cpp.

◆ INVISIBLE_FIXTURE_USER_DATA

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.



mvsim
Author(s):
autogenerated on Tue Jul 4 2023 03:08:23