18 #ifndef HLIDAC_PES_XML_READER_H
19 #define HLIDAC_PES_XML_READER_H
32 #include <libxml++/libxml++.h>
98 const xmlpp::Element*
castToElement(
const xmlpp::Node *node)
const;
107 std::string
getAttribute(
const xmlpp::Element* node,
const std::string& attributeName,
bool required =
true)
const;
117 std::string
getTextFromElement(
const xmlpp::Element* element,
const std::string& childName,
bool required =
true)
const;
std::map< uint32_t, Location * > mPointToLocation
Unique mapping of coordinate identifications (called points) to the related location.
std::vector< RoboticLine > mLines
Vector of problem instances, i.e. robotic cells.
Instance of this class includes all the data structures and methods related to a robot.
const xmlpp::Element * castToElement(const xmlpp::Node *node) const
The method casts xmlpp::Node to xmlpp::Element, and in case of success the result is returned...
Collection of movements between two static activities.
std::map< Movement *, std::pair< uint32_t, uint32_t > > mMovementToPoints
It maps the movement to start and end coordinates of the movement.
The class is intended to be used by users for the dataset parsing and checking.
void readDatasetFromXmlFile()
It parses the XML dataset (specified in Settings::DATASET_FILE) and checks it against schema...
The structures and methods suitable for fast searching in the data structure of the robotic cell...
void processInstanceNode(const xmlpp::Node *node)
It parses the problem instance specified by the node.
std::pair< ActivityMode *, ActivityMode * > processCollisionPairNode(const xmlpp::Node *collisionPairNode) const
It parses an element containing time disjunctive pair, and returns the pointers to colliding location...
std::string mDatasetDescription
Description of the dataset.
Collection of locations in which a robot operation (or waiting) can be performed. ...
StaticActivity * processStaticActivityNode(const xmlpp::Node *node, const std::vector< RobotPowerMode * > &robotModes)
An instance of the static activity is created from the parsed data and power saving modes of the robo...
It declares the namespace for program settings.
std::vector< PrecalculatedMapping > mMapping
Vector of precalculated mappings for fast access by a key.
std::string getTextFromElement(const xmlpp::Element *element, const std::string &childName, bool required=true) const
It tries to extract the text from the child element, e.g. getTextFromElement(instanceElement, "name", false) returns the name of the instance or an empty string if the name is not specified.
The inter-robot operation corresponding to the workpiece/weldment handling.
Robot * processRobotNode(const xmlpp::Node *robotNode)
It parses the data related to the robot, and creates the instance of Robot class. ...
std::string getAttribute(const xmlpp::Element *node, const std::string &attributeName, bool required=true) const
It parses the value assigned to the specified attribute and returns it in the form of string...
DynamicActivity * processDynamicActivityNode(const xmlpp::Node *node)
An instance of the dynamic activity is created from the parsed data.
void processRootNode(const xmlpp::Node *rootNode)
It parses all the dataset and stores the data to member variables.
std::string mDatasetName
Name of the dataset.
The file contains various classes devoted to abstract representation of the robotic cell...
InterRobotOperation * processInterRobotOperationNode(const xmlpp::Node *interRobotOperationNode) const
It creates a new inter-robot operation from parsed data.
std::map< uint32_t, Activity * > mAidToActivity
A map mapping the activity identification to the pointer to the related activity. ...