ViSP
2.8.0
|
#include <vpMbtKltXmlParser.h>
Public Member Functions | |
vpMbtKltXmlParser () | |
virtual | ~vpMbtKltXmlParser () |
double | getAngleAppear () const |
double | getAngleDisappear () const |
unsigned int | getBlockSize () const |
void | getCameraParameters (vpCameraParameters &_cam) const |
double | getFarClippingDistance () const |
bool | getFovClipping () const |
double | getHarrisParam () const |
unsigned int | getMaskBorder () const |
unsigned int | getMaxFeatures () const |
double | getMinDistance () const |
double | getNearClippingDistance () const |
unsigned int | getPyramidLevels () const |
double | getQuality () const |
unsigned int | getWindowSize () const |
bool | hasFarClippingDistance () const |
bool | hasNearClippingDistance () const |
void | parse (const char *filename) |
void | readMainClass (xmlDocPtr doc, xmlNodePtr node) |
void | read_camera (xmlDocPtr doc, xmlNodePtr node) |
void | read_klt (xmlDocPtr doc, xmlNodePtr node) |
void | read_face (xmlDocPtr doc, xmlNodePtr node) |
void | setAngleAppear (const double &aappear) |
void | setAngleDisappear (const double &adisappear) |
void | setBlockSize (const unsigned int &bs) |
void | setCameraParameters (const vpCameraParameters &_cam) |
void | setFarClippingDistance (const double &fclip) |
void | setHarrisParam (const double &hp) |
void | setMaskBorder (const unsigned int &mb) |
void | setMaxFeatures (const unsigned int &mF) |
void | setMinDistance (const double &mD) |
void | setNearClippingDistance (const double &nclip) |
void | setPyramidLevels (const unsigned int &pL) |
void | setQuality (const double &q) |
void | setWindowSize (const unsigned int &w) |
void | writeMainClass (xmlNodePtr node) |
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 void | cleanup () |
Protected Types | |
enum | dataToParse { conf, klt, mask_border, max_features, window_size, quality, min_distance, harris, size_block, pyramid_lvl, face, angle_appear, angle_disappear, near_clipping, far_clipping, fov_clipping, camera, height, width, u0, v0, px, py } |
Protected Member Functions | |
void | init () |
std::string | xmlReadStringChild (xmlDocPtr doc, xmlNodePtr node) |
char * | xmlReadCharChild (xmlDocPtr doc, xmlNodePtr node) |
int | xmlReadIntChild (xmlDocPtr doc, xmlNodePtr node) |
unsigned int | xmlReadUnsignedIntChild (xmlDocPtr doc, xmlNodePtr node) |
double | xmlReadDoubleChild (xmlDocPtr doc, xmlNodePtr node) |
void | xmlWriteStringChild (xmlNodePtr node, const char *label, const std::string &value) |
void | xmlWriteCharChild (xmlNodePtr node, const char *label, const char *value) |
void | xmlWriteIntChild (xmlNodePtr node, const char *label, const int value) |
void | xmlWriteUnsignedIntChild (xmlNodePtr node, const char *label, const unsigned int value) |
void | xmlWriteDoubleChild (xmlNodePtr node, const char *label, const double value) |
Protected Attributes | |
unsigned int | maskBorder |
unsigned int | maxFeatures |
unsigned int | winSize |
double | qualityValue |
double | minDist |
double | harrisParam |
unsigned int | blockSize |
unsigned int | pyramidLevels |
double | angleAppear |
double | angleDisappear |
bool | hasNearClipping |
double | nearClipping |
bool | hasFarClipping |
double | farClipping |
bool | fovClipping |
vpCameraParameters | cam |
std::map< std::string, int > | nodeMap |
std::string | main_tag |
Parse an Xml file to extract configuration parameters of a Mbt Klt object.
Data parser for the KLT model based tracker.
Definition at line 66 of file vpMbtKltXmlParser.h.
|
protected |
Definition at line 102 of file vpMbtKltXmlParser.h.
vpMbtKltXmlParser::vpMbtKltXmlParser | ( | ) |
Default constructor.
Definition at line 57 of file vpMbtKltXmlParser.cpp.
References fovClipping, hasFarClipping, hasNearClipping, and init().
|
virtual |
Default destructor.
Definition at line 68 of file vpMbtKltXmlParser.cpp.
|
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 220 of file vpXmlParser.h.
|
inline |
Get the angle to determine if a face appeared.
Definition at line 139 of file vpMbtKltXmlParser.h.
Referenced by vpMbKltTracker::loadConfigFile().
|
inline |
Get the angle to determine if a face disappeared.
Definition at line 146 of file vpMbtKltXmlParser.h.
Referenced by vpMbKltTracker::loadConfigFile().
|
inline |
Get the size of a block.
Definition at line 153 of file vpMbtKltXmlParser.h.
Referenced by vpMbKltTracker::loadConfigFile().
|
inline |
Get the camera parameters.
Definition at line 160 of file vpMbtKltXmlParser.h.
Referenced by vpMbKltTracker::loadConfigFile().
|
inline |
Get the far clipping distance.
Definition at line 167 of file vpMbtKltXmlParser.h.
Referenced by vpMbKltTracker::loadConfigFile().
|
inline |
Use FOV clipping
Definition at line 174 of file vpMbtKltXmlParser.h.
Referenced by vpMbKltTracker::loadConfigFile().
|
inline |
Get the Harris free parameter.
Definition at line 181 of file vpMbtKltXmlParser.h.
Referenced by vpMbKltTracker::loadConfigFile().
|
inline |
Get the Border of the mask.
Definition at line 188 of file vpMbtKltXmlParser.h.
Referenced by vpMbKltTracker::loadConfigFile().
|
inline |
Get the maximum number of features for the KLT.
Definition at line 195 of file vpMbtKltXmlParser.h.
Referenced by vpMbKltTracker::loadConfigFile().
|
inline |
Get the minimum distance between KLT points.
Definition at line 202 of file vpMbtKltXmlParser.h.
Referenced by vpMbKltTracker::loadConfigFile().
|
inline |
Get the near clipping distance.
Definition at line 209 of file vpMbtKltXmlParser.h.
Referenced by vpMbKltTracker::loadConfigFile().
|
inline |
Get the number of pyramid levels
Definition at line 216 of file vpMbtKltXmlParser.h.
Referenced by vpMbKltTracker::loadConfigFile().
|
inline |
Get the quality of the KLT.
Definition at line 223 of file vpMbtKltXmlParser.h.
Referenced by vpMbKltTracker::loadConfigFile().
|
inline |
Get the size of the window used in the KLT tracker.
Definition at line 230 of file vpMbtKltXmlParser.h.
Referenced by vpMbKltTracker::loadConfigFile().
|
inline |
Has Far clipping been specified?
Definition at line 237 of file vpMbtKltXmlParser.h.
Referenced by vpMbKltTracker::loadConfigFile().
|
inline |
Has Near clipping been specified?
Definition at line 244 of file vpMbtKltXmlParser.h.
Referenced by vpMbKltTracker::loadConfigFile().
|
protected |
Initialise internal variables (including the map).
Definition at line 76 of file vpMbtKltXmlParser.cpp.
References angle_appear, angle_disappear, camera, conf, face, far_clipping, fov_clipping, harris, height, klt, mask_border, max_features, min_distance, near_clipping, vpXmlParser::nodeMap, px, py, pyramid_lvl, quality, vpXmlParser::setMainTag(), size_block, u0, v0, width, and window_size.
Referenced by vpMbtKltXmlParser().
|
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 343 of file vpXmlParser.cpp.
References vpException::ioError, vpXmlParser::readMainClass(), and vpERROR_TRACE.
Referenced by vpMbtXmlParser::parse(), and parse().
void vpMbtKltXmlParser::parse | ( | const char * | filename | ) |
Parse the file in parameters. This method is deprecated, use parse() instead.
filename | : File to parse. |
Definition at line 112 of file vpMbtKltXmlParser.cpp.
References vpXmlParser::parse().
Referenced by vpMbKltTracker::loadConfigFile().
void vpMbtKltXmlParser::read_camera | ( | xmlDocPtr | doc, |
xmlNodePtr | node | ||
) |
Read camera information.
vpException::fatalError | if there was an unexpected number of data. |
doc | : Pointer to the document. |
node | : Pointer to the node of the camera information. |
Definition at line 375 of file vpMbtKltXmlParser.cpp.
References cam, vpCameraParameters::get_px(), vpCameraParameters::get_py(), vpCameraParameters::get_u0(), vpCameraParameters::get_v0(), height, vpCameraParameters::initPersProjWithoutDistortion(), vpXmlParser::nodeMap, px, py, u0, v0, width, vpXmlParser::xmlReadDoubleChild(), and vpXmlParser::xmlReadIntChild().
Referenced by readMainClass().
void vpMbtKltXmlParser::read_face | ( | xmlDocPtr | doc, |
xmlNodePtr | node | ||
) |
Read face information.
vpException::fatalError | if there was an unexpected number of data. |
doc | : Pointer to the document. |
node | : Pointer to the node of the camera information. |
Definition at line 187 of file vpMbtKltXmlParser.cpp.
References angle_appear, angle_disappear, angleAppear, angleDisappear, far_clipping, farClipping, fov_clipping, fovClipping, hasFarClipping, hasNearClipping, near_clipping, nearClipping, vpXmlParser::nodeMap, vpXmlParser::xmlReadDoubleChild(), and vpXmlParser::xmlReadIntChild().
Referenced by readMainClass().
void vpMbtKltXmlParser::read_klt | ( | xmlDocPtr | doc, |
xmlNodePtr | node | ||
) |
Read klt information.
vpException::fatalError | if there was an unexpected number of data. |
doc | : Pointer to the document. |
node | : Pointer to the node of the camera information. |
Definition at line 269 of file vpMbtKltXmlParser.cpp.
References blockSize, harris, harrisParam, mask_border, maskBorder, max_features, maxFeatures, min_distance, minDist, vpXmlParser::nodeMap, pyramid_lvl, pyramidLevels, quality, qualityValue, size_block, window_size, winSize, vpXmlParser::xmlReadDoubleChild(), and vpXmlParser::xmlReadUnsignedIntChild().
Referenced by readMainClass().
|
virtual |
Read the parameters of the class from the file given by its document pointer and by its root node.
doc | : Document to parse. |
node | : Root node. |
Implements vpXmlParser.
Definition at line 137 of file vpMbtKltXmlParser.cpp.
References camera, face, klt, vpXmlParser::nodeMap, read_camera(), read_face(), and read_klt().
|
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 376 of file vpXmlParser.cpp.
References vpException::ioError, vpXmlParser::main_tag, vpERROR_TRACE, and vpXmlParser::writeMainClass().
|
inline |
Set the angle to determine if a face appeared.
aappear | : New angleAppear |
Definition at line 258 of file vpMbtKltXmlParser.h.
Referenced by vpMbKltTracker::loadConfigFile().
|
inline |
Set the angle to determine if a face disappeared.
adisappear | : New angleDisappear |
Definition at line 265 of file vpMbtKltXmlParser.h.
Referenced by vpMbKltTracker::loadConfigFile().
|
inline |
Set the size of a block.
bs | : New blockSize |
Definition at line 272 of file vpMbtKltXmlParser.h.
Referenced by vpMbKltTracker::loadConfigFile().
|
inline |
Set the camera parameters.
_cam | : New cam |
Definition at line 279 of file vpMbtKltXmlParser.h.
|
inline |
Set the far clipping distance.
fclip | : New farClipping |
Definition at line 286 of file vpMbtKltXmlParser.h.
|
inline |
Set the Harris free parameter.
hp | : New harrisParam |
Definition at line 293 of file vpMbtKltXmlParser.h.
Referenced by vpMbKltTracker::loadConfigFile().
|
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 280 of file vpXmlParser.h.
Referenced by vpMbtXmlParser::init(), and init().
|
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 271 of file vpXmlParser.h.
|
inline |
Set the Border of the mask.
mb | = new maskBorder |
Definition at line 300 of file vpMbtKltXmlParser.h.
Referenced by vpMbKltTracker::loadConfigFile().
|
inline |
Set the maximum number of features for the KLT.
mF | : New maxFeatures |
Definition at line 307 of file vpMbtKltXmlParser.h.
Referenced by vpMbKltTracker::loadConfigFile().
|
inline |
Set the minimum distance between KLT points.
mD | : New minDist |
Definition at line 314 of file vpMbtKltXmlParser.h.
Referenced by vpMbKltTracker::loadConfigFile().
|
inline |
Set the near clipping distance.
nclip | : New nearClipping |
Definition at line 321 of file vpMbtKltXmlParser.h.
|
inline |
Set the number of pyramid levels
pL | : New pyramidLevels |
Definition at line 328 of file vpMbtKltXmlParser.h.
Referenced by vpMbKltTracker::loadConfigFile().
|
inline |
Set the quality of the KLT.
q | : New quality |
Definition at line 335 of file vpMbtKltXmlParser.h.
Referenced by vpMbKltTracker::loadConfigFile().
|
inline |
Set the size of the window used in the KLT tracker.
w | : New winSize |
Definition at line 342 of file vpMbtKltXmlParser.h.
Referenced by vpMbKltTracker::loadConfigFile().
|
virtual |
Write info to file.
Implements vpXmlParser.
Definition at line 124 of file vpMbtKltXmlParser.cpp.
References vpException::notImplementedError.
|
protectedinherited |
Read an array of character.
doc | : The main xml document |
node | : a pointer to the node to read value |
Definition at line 110 of file vpXmlParser.cpp.
References vpException::fatalError.
|
protectedinherited |
read a double
doc | : The main xml document |
node | : a pointer to the node to read value |
Definition at line 224 of file vpXmlParser.cpp.
References vpException::fatalError, and vpException::ioError.
Referenced by vpMbtXmlParser::read_camera(), read_camera(), vpMbtXmlParser::read_contrast(), vpMbtXmlParser::read_face(), read_face(), and read_klt().
|
protectedinherited |
read an int
doc | : The main xml document |
node | : a pointer to the node to read value |
Definition at line 155 of file vpXmlParser.cpp.
References vpException::fatalError, and vpException::ioError.
Referenced by vpMbtXmlParser::read_camera(), read_camera(), vpMbtXmlParser::read_face(), read_face(), and vpMbtXmlParser::read_sample().
|
protectedinherited |
Read an array of character.
doc | : The main xml document |
node | : a pointer to the node to read value |
Definition at line 131 of file vpXmlParser.cpp.
References vpException::fatalError.
|
protectedinherited |
read an int
doc | : The main xml document |
node | : a pointer to the node to read value |
Definition at line 189 of file vpXmlParser.cpp.
References vpException::fatalError, and vpException::ioError.
Referenced by read_klt(), vpMbtXmlParser::read_mask(), and vpMbtXmlParser::read_range().
|
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 254 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 320 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 285 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 269 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 302 of file vpXmlParser.cpp.
|
protected |
Angle to determine if a face appeared.
Definition at line 86 of file vpMbtKltXmlParser.h.
Referenced by read_face().
|
protected |
Angle to determine if a face disappeared.
Definition at line 88 of file vpMbtKltXmlParser.h.
Referenced by read_face().
|
protected |
|
protected |
|
protected |
Near clipping distance.
Definition at line 96 of file vpMbtKltXmlParser.h.
Referenced by read_face().
|
protected |
Fov Clipping.
Definition at line 98 of file vpMbtKltXmlParser.h.
Referenced by read_face(), and vpMbtKltXmlParser().
|
protected |
Harris free parameters.
Definition at line 80 of file vpMbtKltXmlParser.h.
Referenced by read_klt().
|
protected |
Is far clipping distance specified?
Definition at line 94 of file vpMbtKltXmlParser.h.
Referenced by read_face(), and vpMbtKltXmlParser().
|
protected |
Is near clipping distance specified?
Definition at line 90 of file vpMbtKltXmlParser.h.
Referenced by read_face(), and vpMbtKltXmlParser().
|
protectedinherited |
The name of the main tag for the file to parse
Definition at line 202 of file vpXmlParser.h.
Referenced by vpXmlParser::save(), and vpXmlParser::vpXmlParser().
|
protected |
Border of the mask used on Klt points.
Definition at line 70 of file vpMbtKltXmlParser.h.
Referenced by read_klt().
|
protected |
Maximum of Klt features.
Definition at line 72 of file vpMbtKltXmlParser.h.
Referenced by read_klt().
|
protected |
Minimum distance between klt points.
Definition at line 78 of file vpMbtKltXmlParser.h.
Referenced by read_klt().
|
protected |
Near clipping distance.
Definition at line 92 of file vpMbtKltXmlParser.h.
Referenced by read_face().
|
protectedinherited |
The map describing the data to parse
Definition at line 197 of file vpXmlParser.h.
Referenced by vpMbtXmlParser::init(), init(), vpMbtXmlParser::read_camera(), read_camera(), vpMbtXmlParser::read_contrast(), vpMbtXmlParser::read_ecm(), vpMbtXmlParser::read_face(), read_face(), read_klt(), vpMbtXmlParser::read_mask(), vpMbtXmlParser::read_range(), vpMbtXmlParser::read_sample(), vpMbtXmlParser::readMainClass(), readMainClass(), and vpXmlParser::vpXmlParser().
|
protected |
Number of pyramid levels.
Definition at line 84 of file vpMbtKltXmlParser.h.
Referenced by read_klt().
|
protected |
Quality of the Klt points.
Definition at line 76 of file vpMbtKltXmlParser.h.
Referenced by read_klt().
|
protected |