![]() |
Visual Servoing Platform
version 3.2.0
|
#include <vpXmlParserHomogeneousMatrix.h>
Public Types | |
enum | vpXmlCodeType { CODE_XML_BAD = -1, CODE_XML_OTHER, CODE_XML_M, CODE_XML_M_NAME, CODE_XML_VALUE, CODE_XML_TX, CODE_XML_TY, CODE_XML_TZ, CODE_XML_TUX, CODE_XML_TUY, CODE_XML_TUZ } |
enum | vpXmlCodeSequenceType { SEQUENCE_OK, SEQUENCE_ERROR } |
Public Member Functions | |
vpXmlParserHomogeneousMatrix () | |
vpXmlParserHomogeneousMatrix (vpXmlParserHomogeneousMatrix &twinParser) | |
virtual | ~vpXmlParserHomogeneousMatrix () |
vpHomogeneousMatrix | getHomogeneousMatrix () const |
std::string | getHomogeneousMatrixName () const |
vpXmlParserHomogeneousMatrix & | operator= (const vpXmlParserHomogeneousMatrix &twinparser) |
int | parse (vpHomogeneousMatrix &M, const std::string &filename, const std::string &name) |
int | save (const vpHomogeneousMatrix &M, const std::string &filename, const std::string &name) |
void | setHomogeneousMatrixName (const std::string &name) |
Public Member Functions Inherited from vpXmlParser | |
void | parse (const std::string &filename) |
void | save (const std::string &filename, const bool append=false) |
void | setMap (const std::map< std::string, int > &_map) |
void | setMainTag (const std::string &tag) |
Static Public Member Functions | |
Static Public Member Functions Inherited from vpXmlParser | |
static void | cleanup () |
Protected Member Functions Inherited from vpXmlParser | |
std::map< std::string, int > | nodeMap |
std::string | main_tag |
bool | xmlReadBoolChild (xmlDocPtr doc, xmlNodePtr node) |
char * | xmlReadCharChild (xmlDocPtr doc, xmlNodePtr node) |
double | xmlReadDoubleChild (xmlDocPtr doc, xmlNodePtr node) |
float | xmlReadFloatChild (xmlDocPtr doc, xmlNodePtr node) |
int | xmlReadIntChild (xmlDocPtr doc, xmlNodePtr node) |
std::string | xmlReadStringChild (xmlDocPtr doc, xmlNodePtr node) |
unsigned int | xmlReadUnsignedIntChild (xmlDocPtr doc, xmlNodePtr node) |
void | xmlWriteBoolChild (xmlNodePtr node, const char *label, const bool value) |
void | xmlWriteCharChild (xmlNodePtr node, const char *label, const char *value) |
void | xmlWriteDoubleChild (xmlNodePtr node, const char *label, const double value) |
void | xmlWriteFloatChild (xmlNodePtr node, const char *label, const float value) |
void | xmlWriteIntChild (xmlNodePtr node, const char *label, const int value) |
void | xmlWriteStringChild (xmlNodePtr node, const char *label, const std::string &value) |
void | xmlWriteUnsignedIntChild (xmlNodePtr node, const char *label, const unsigned int value) |
XML parser to load and save an homogeneous matrix in a file.
To have a complete description of the homogeneous matrix implemented in ViSP, see vpHomogeneousMatrix.
Example of an XML file "homogeneous_matrixes.xml" containing a Pose vector that will be converted in an homogeneous matrix:
Example of loading an existing homogeneous matrix from an XML file.
Example of writing an homogenoeus matrix in a XML file.
Definition at line 164 of file vpXmlParserHomogeneousMatrix.h.
Enumerator | |
---|---|
SEQUENCE_OK | |
SEQUENCE_ERROR |
Definition at line 184 of file vpXmlParserHomogeneousMatrix.h.
Enumerator | |
---|---|
CODE_XML_BAD | |
CODE_XML_OTHER | |
CODE_XML_M | |
CODE_XML_M_NAME | |
CODE_XML_VALUE | |
CODE_XML_TX | |
CODE_XML_TY | |
CODE_XML_TZ | |
CODE_XML_TUX | |
CODE_XML_TUY | |
CODE_XML_TUZ |
Definition at line 170 of file vpXmlParserHomogeneousMatrix.h.
vpXmlParserHomogeneousMatrix::vpXmlParserHomogeneousMatrix | ( | ) |
Default constructor
Definition at line 76 of file vpXmlParserHomogeneousMatrix.cpp.
vpXmlParserHomogeneousMatrix::vpXmlParserHomogeneousMatrix | ( | vpXmlParserHomogeneousMatrix & | twinParser | ) |
Copy constructor
twinParser | : parser object to copy |
Definition at line 81 of file vpXmlParserHomogeneousMatrix.cpp.
|
inlinevirtual |
Default destructor.
Definition at line 194 of file vpXmlParserHomogeneousMatrix.h.
|
inlinestaticinherited |
As stated in http://xmlsoft.org/html/libxml-parser.html#xmlCleanupParser to clean up memory allocated by the xml2 library itself, the user should call xmlCleanupParser() only when the process has finished using the xml2 library. In case of doubt abstain from calling this function or do it just before calling exit() to avoid leak reports from valgrind ! That's why in ViSP the destructor doesn't call xmlCleanupParser(). Rather we provide the static function vpXmlParser::cleanup() that calls xmlCleanupParser() that could be called just before exit().
Definition at line 309 of file vpXmlParser.h.
|
inline |
Definition at line 197 of file vpXmlParserHomogeneousMatrix.h.
|
inline |
Definition at line 198 of file vpXmlParserHomogeneousMatrix.h.
vpXmlParserHomogeneousMatrix & vpXmlParserHomogeneousMatrix::operator= | ( | const vpXmlParserHomogeneousMatrix & | twinParser | ) |
Copy operator
twinParser | : parser object to copy |
Definition at line 92 of file vpXmlParserHomogeneousMatrix.cpp.
|
inherited |
parse the document. The data in the file are stored in the attributes of the child class. This method calls the readMainClass method which has to be implemented for every child class depending on the content to parse.
filename | : name of the file to parse |
Definition at line 420 of file vpXmlParser.cpp.
Referenced by vpMbDepthDenseTracker::loadConfigFile(), vpMbDepthNormalTracker::loadConfigFile(), and vpMbTracker::loadConfigFile().
int vpXmlParserHomogeneousMatrix::parse | ( | vpHomogeneousMatrix & | M, |
const std::string & | filename, | ||
const std::string & | name | ||
) |
Parse an xml file to load an homogeneous matrix
M | : homogeneous matrix to fill. |
filename | : name of the xml file to parse. |
name | : name of the homogeneous matrix to find in the xml file. |
Definition at line 108 of file vpXmlParserHomogeneousMatrix.cpp.
|
inherited |
Save the content of the class in the file given in parameters. The data of the class are in the child class. This method calls the write_main_class method which has to be implemented for every class depending on the data to save.
filename | : the name of the file used to record the data |
append | : if true and if the file exists, the data will be added to the data already in the file |
Definition at line 452 of file vpXmlParser.cpp.
int vpXmlParserHomogeneousMatrix::save | ( | const vpHomogeneousMatrix & | M, |
const std::string & | filename, | ||
const std::string & | name | ||
) |
Save an homogeneous matrix in an xml file.
M | : homogeneous matrix to save. |
filename | : name of the xml file to fill. |
name | : name of the homogeneous matrix. |
Definition at line 144 of file vpXmlParserHomogeneousMatrix.cpp.
|
inline |
Definition at line 205 of file vpXmlParserHomogeneousMatrix.h.
|
inlineinherited |
set the name of the main tag
The main tag corresponds to the name of the root node
tag | : name of the root node of the document |
Definition at line 294 of file vpXmlParser.h.
|
inlineinherited |
Set the map describing the data to parse. This map stores the name of each node and an associated key used to simplify the parsing of the file.
If the following file want to be parsed:
The following map has to be declared:
Or, you can use keyzord instead of number as key but it implies to declare in the child class an enumeration type of the name. For example:
_map | : the map describing the data to parse |
Definition at line 285 of file vpXmlParser.h.
|
protectedinherited |
read a boolean
doc | : The main xml document |
node | : a pointer to the node to read value |
Definition at line 281 of file vpXmlParser.cpp.
|
protectedinherited |
Read an array of character.
doc | : The main xml document |
node | : a pointer to the node to read value |
Definition at line 99 of file vpXmlParser.cpp.
Referenced by vpMbtXmlGenericParser::read_projection_error().
|
protectedinherited |
read a double
doc | : The main xml document |
node | : a pointer to the node to read value |
Definition at line 211 of file vpXmlParser.cpp.
Referenced by vpMbXmlParser::read_lod(), and vpMbtXmlGenericParser::read_lod().
|
protectedinherited |
read a float
doc | : The main xml document |
node | : a pointer to the node to read value |
Definition at line 244 of file vpXmlParser.cpp.
|
protectedinherited |
read an int
doc | : The main xml document |
node | : a pointer to the node to read value |
Definition at line 143 of file vpXmlParser.cpp.
Referenced by vpMbXmlParser::read_lod(), vpMbtXmlGenericParser::read_lod(), and vpMbtXmlGenericParser::read_projection_error().
|
protectedinherited |
Read an array of character.
doc | : The main xml document |
node | : a pointer to the node to read value |
Definition at line 119 of file vpXmlParser.cpp.
|
protectedinherited |
read an int
doc | : The main xml document |
node | : a pointer to the node to read value |
Definition at line 177 of file vpXmlParser.cpp.
|
protectedinherited |
write a bool.
node | : a pointer to the node to read value |
label | : label (name of the data) of the node |
value | : boolean to write (true or false) |
Definition at line 397 of file vpXmlParser.cpp.
|
protectedinherited |
write an array of character.
node | : a pointer to the node to read value |
label | : label (name of the data) of the node |
value | : pointer to the array of character to write |
Definition at line 305 of file vpXmlParser.cpp.
|
protectedinherited |
write a double.
node | : a pointer to the node to read value |
label | : label (name of the data) of the node |
value | : double to write |
Definition at line 365 of file vpXmlParser.cpp.
|
protectedinherited |
write a float.
node | : a pointer to the node to read value |
label | : label (name of the data) of the node |
value | : float to write |
Definition at line 381 of file vpXmlParser.cpp.
|
protectedinherited |
write an integer.
node | : a pointer to the node to read value |
label | : label (name of the data) of the node |
value | : integer to write |
Definition at line 333 of file vpXmlParser.cpp.
|
protectedinherited |
write an array of character.
node | : a pointer to the node to read value |
label | : label (name of the data) of the node |
value | : std::string to write; |
Definition at line 319 of file vpXmlParser.cpp.
|
protectedinherited |
write an unsigned integer.
node | : a pointer to the node to read value |
label | : label (name of the data) of the node |
value | : unsigned integer to write |
Definition at line 349 of file vpXmlParser.cpp.
|
protectedinherited |
The name of the main tag for the file to parse
Definition at line 230 of file vpXmlParser.h.
|
protectedinherited |
The map describing the data to parse
Definition at line 225 of file vpXmlParser.h.
Referenced by vpMbXmlParser::read_lod(), vpMbtXmlGenericParser::read_lod(), and vpMbtXmlGenericParser::read_projection_error().