Simox
2.3.74.0
|
Data Structures | |
struct | ChildFromRobotDef |
Static Public Member Functions | |
static RobotPtr | loadRobot (const std::string &xmlFile, RobotDescription loadMode=eFull) |
static RobotPtr | createRobotFromString (const std::string &xmlString, const std::string &basePath="", RobotDescription loadMode=eFull) |
static bool | saveXML (RobotPtr robot, const std::string &filename, const std::string &basePath, const std::string &modelDir="models", bool storeEEF=true, bool storeRNS=true, bool storeSensors=true, bool storeModelFiles=true) |
static void | saveMJCF (RobotPtr robot, const std::string &filename, const std::string &basePath, const std::string &meshDir="mesh") |
saveMJCF More... | |
![]() | |
static void | makeAbsolutePath (const std::string &basePath, std::string &filename) |
static void | makeRelativePath (const std::string &basePath, std::string &filename) |
static bool | writeXMLFile (const std::string &filename, const std::string &content, bool overwrite=true) |
static bool | isTrue (const char *s) |
static float | convertToFloat (const char *s) |
static int | convertToInt (const char *s) |
static void | processNodeList (rapidxml::xml_node< char > *parentNode, RobotPtr robot, std::vector< RobotNodePtr > &nodeList, bool clearList=true) |
static void | processLimitsNode (rapidxml::xml_node< char > *limitsXMLNode, float &jointLimitLo, float &jointLimitHi) |
static std::string | processFileNode (rapidxml::xml_node< char > *fileNode, const std::string &basePath) |
static void | processTransformNode (rapidxml::xml_node< char > *transformXMLNode, const std::string &nodeName, Eigen::Matrix4f &transform) |
static Units | getUnitsAttribute (rapidxml::xml_node< char > *node, Units::UnitsType u) |
static std::string | processNameAttribute (rapidxml::xml_node< char > *node, bool allowOtherAttributes=false) |
static float | processFloatAttribute (const std::string &attributeName, rapidxml::xml_node< char > *node, bool allowOtherAttributes=false) |
static int | processIntAttribute (const std::string &attributeName, rapidxml::xml_node< char > *node, bool allowOtherAttributes=false) |
static float | getFloatByAttributeName (rapidxml::xml_node< char > *xmlNode, const std::string &attributeName) |
static float | getOptionalFloatByAttributeName (rapidxml::xml_node< char > *xmlNode, const std::string &attributeName, float standardValue) |
static bool | processConfigurationNode (rapidxml::xml_node< char > *configXMLNode, std::vector< RobotConfig::Configuration > &storeConfigDefinitions, std::string &storeConfigName) |
static bool | processConfigurationNodeList (rapidxml::xml_node< char > *configXMLNode, std::vector< std::vector< RobotConfig::Configuration > > &configDefinitions, std::vector< std::string > &configNames, std::vector< std::string > &tcpNames) |
static std::string | getLowerCase (const char *c) |
static void | getLowerCase (std::string &aString) |
static std::string | processStringAttribute (const std::string &attributeName, rapidxml::xml_node< char > *node, bool allowOtherAttributes=false) |
static VisualizationNodePtr | processVisualizationTag (rapidxml::xml_node< char > *visuXMLNode, const std::string &tagName, const std::string &basePath, bool &useAsColModel) |
static CollisionModelPtr | processCollisionTag (rapidxml::xml_node< char > *colXMLNode, const std::string &tagName, const std::string &basePath) |
static std::vector< Primitive::PrimitivePtr > | processPrimitives (rapidxml::xml_node< char > *primitivesXMLNode) |
static void | processPhysicsTag (rapidxml::xml_node< char > *physicsXMLNode, const std::string &nodeName, SceneObject::Physics &physics) |
static RobotNodeSetPtr | processRobotNodeSet (rapidxml::xml_node< char > *setXMLNode, RobotPtr robo, const std::string &robotRootNode, int &robotNodeSetCounter) |
static TrajectoryPtr | processTrajectory (rapidxml::xml_node< char > *trajectoryXMLNode, std::vector< RobotPtr > &robots) |
static Eigen::Matrix3f | process3x3Matrix (rapidxml::xml_node< char > *matrixXMLNode) |
static bool | processFloatValueTags (rapidxml::xml_node< char > *XMLNode, int dim, Eigen::VectorXf &stroreResult) |
static bool | hasUnitsAttribute (rapidxml::xml_node< char > *node) |
static std::vector< Units > | getUnitsAttributes (rapidxml::xml_node< char > *node) |
static void | getAllAttributes (rapidxml::xml_node< char > *node, const std::string &attrString, std::vector< std::string > &storeValues) |
static void | processDHNode (rapidxml::xml_node< char > *dhXMLNode, DHParameter &dh) |
static NodeMapping | processNodeMapping (rapidxml::xml_node< char > *XMLNode, RobotPtr robot) |
static std::string | toXML (const Eigen::Matrix4f &m, std::string ident="\) |
static std::vector< VisualizationNodePtr > | processVisuFiles (rapidxml::xml_node< char > *visualizationXMLNode, const std::string &basePath, std::string &fileType) |
static GraspSetPtr | processGraspSet (rapidxml::xml_node< char > *graspSetXMLNode, const std::string &objName) |
static GraspPtr | processGrasp (rapidxml::xml_node< char > *graspXMLNode, const std::string &robotType, const std::string &eef, const std::string &objName) |
static bool | processSensor (GraspableSensorizedObjectPtr node, rapidxml::xml_node< char > *sensorXMLNode, RobotDescription loadMode, const std::string &basePath) |
Protected Member Functions | |
RobotIO () | |
~RobotIO () override | |
![]() | |
BaseIO () | |
virtual | ~BaseIO () |
Static Protected Member Functions | |
static RobotPtr | processRobot (rapidxml::xml_node< char > *robotXMLNode, const std::string &basePath, RobotDescription loadMode=eFull) |
static RobotPtr | processRobotAttributes (rapidxml::xml_node< char > *robotXMLNode, std::string &robotRoot) |
static void | processRobotChildNodes (rapidxml::xml_node< char > *robotXMLNode, RobotPtr robo, const std::string &robotRoot, const std::string &basePath, std::map< RobotNodePtr, std::vector< ChildFromRobotDef > > &childrenFromRobotFilesMap, std::vector< rapidxml::xml_node< char > * > &robotNodeSetNodes, std::vector< rapidxml::xml_node< char > * > &endeffectorNodes, NodeMapping &nodeMapping, RobotDescription loadMode=eFull) |
static RobotNodePtr | processRobotNode (rapidxml::xml_node< char > *robotNodeXMLNode, RobotPtr robo, const std::string &basePath, int &robotNodeCounter, std::vector< std::string > &childrenNames, std::vector< ChildFromRobotDef > &childrenFromRobot, RobotDescription loadMode=eFull, RobotNode::RobotNodeType rntype=RobotNode::Generic) |
static EndEffectorPtr | processEndeffectorNode (rapidxml::xml_node< char > *endeffectorXMLNode, RobotPtr robo) |
static EndEffectorActorPtr | processEndeffectorActorNode (rapidxml::xml_node< char > *endeffectorActorXMLNode, RobotPtr robo) |
static void | processEndeffectorStaticNode (rapidxml::xml_node< char > *endeffectorStaticXMLNode, RobotPtr robo, std::vector< RobotNodePtr > &staticNodesList) |
static EndEffectorActor::CollisionMode | processEEFColAttributes (rapidxml::xml_node< char > *node, bool allowOtherAttributes=false) |
static void | processActorNodeList (rapidxml::xml_node< char > *parentNode, RobotPtr robot, std::vector< EndEffectorActor::ActorDefinition > &actorList, bool clearList=true) |
static void | processChildNode (rapidxml::xml_node< char > *childXMLNode, std::vector< std::string > &childrenNames) |
static RobotNodePtr | processJointNode (rapidxml::xml_node< char > *jointXMLNode, const std::string &robotNodeName, RobotPtr robot, VisualizationNodePtr visualizationNode, CollisionModelPtr collisionModel, SceneObject::Physics &physics, RobotNode::RobotNodeType rntype, Eigen::Matrix4f &transformationMatrix) |
static void | processChildFromRobotNode (rapidxml::xml_node< char > *childXMLNode, const std::string &nodeName, std::vector< ChildFromRobotDef > &childrenFromRobot) |
static void | processLimitsNode (rapidxml::xml_node< char > *limitsXMLNode, float &jointLimitLo, float &jointLimitHi, bool &limitless) |
static VisualizationNodePtr | checkUseAsColModel (rapidxml::xml_node< char > *visuXMLNode, const std::string &robotNodeName, const std::string &basePath) |
Static Protected Attributes | |
static std::map< std::string, int > | robot_name_counter |
![]() | |
static std::mutex | mutex |
Additional Inherited Members | |
![]() | |
enum | RobotDescription { eFull, eCollisionModel, eStructure, eStructureStore, eFullVisAsCol } |
|
protecteddefault |
|
overrideprotecteddefault |
|
staticprotected |
|
static |
Creates Robot from string.
xmlString | The input string. |
basePath | If any <childFromRobot> tags are given, the path for searching the robot files can be specified. |
loadMode | Standard: eFull, When eStructure is used no visualization and collision models are loaded for faster access. |
|
static |
Loads robot from file.
xmlFile | The file |
loadMode | Standard: eFull, When eStructure is used no visualization and collision models are loaded for faster access. |
|
staticprotected |
This method processes the parentNode
Tag and extracts a list of <Node name="xyz" speed="0123" /> tags. All other child tags raise a VirtualRobot::VirtualRobotException. The resulting nodes are stored in nodeList
.
If the parameter clearList
is true all elements from nodeList
are removed.
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
This method processes the attributes and the children of an actor tag which itself is a child of the endeffector tag. First the name attribute is retrieved and afterwards the child nodes are processed which make up the actor.
|
staticprotected |
This method parses the EndEffector which are child tags of the Robot tag. Each EndEffector has a name, a base node, a list of static robot nodes and a list of actors. Each actor itself consists of a list of robot nodes.
The static parts and the actors are retrieved by delegating the processing to RobotIO::processEndeffectorActorNode and RobotIO::processEndeffectorStaticNode.
|
staticprotected |
This method processes the children of the static tag which itself is a child of the endeffector tag.
|
staticprotected |
|
staticprotected |
This method processes Limits tags. The values for the attributes "lo" and "hi" are extracted based on the "unit" or "units" attribute.
The values are stored in jointLimitLo
and jointLimitHi
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
static |
saveMJCF
robot | The robot to save. |
filename | The filename without path. |
basePath | The directory to store the robot to |
meshDir | The local directory where all mesh files should be stored to. |
|
static |
Creates an XML string that defines the robot and stores it to the file basePath/filename. All visualizations and collision models are stored to the basePath/modeDir directory
robot | The robot to save. |
filename | The filename without path. |
basePath | The directory to store the robot to |
modelDir | The local directory where all visualization files should be stored to. |
|
staticprotected |