FFSM++
1.1.0
French Forest Sector Model ++
|
Wrapper around the underlying library for reading DOM elements (nodes). More...
#include <InputNode.h>
Public Member Functions | |
InputNode () | |
InputNode (QDomElement domElement_h) | |
~InputNode () | |
bool | setWorkingFile (std::string filename_h) |
Load the file on memory. Return false if no success. More... | |
int | getIntContent () |
Get the content between its tagName as integer. More... | |
double | getDoubleContent () |
Get the content between its tagName as double. More... | |
string | getStringContent () |
Get the content between its tagName as std::string. More... | |
bool | getBoolContent () |
Get the content between its tagName as bool. More... | |
int | getIntAttributeByName (string attributeName_h) |
Get an attribute by name as integer. More... | |
double | getDoubleAttributeByName (string attributeName_h) |
Get an attribute by name as double. More... | |
string | getStringAttributeByName (string attributeName_h) |
Get an attribute by name as string. More... | |
bool | hasAttributeByName (string attributeName_h) |
Check if an attribute with a certain name exist. More... | |
InputNode | getNodeByName (string nodeName_h, int debugLevel=MSG_CRITICAL_ERROR, bool childFlag=false) |
return 0-or-1 nodes by name. More... | |
vector< InputNode > | getNodesByName (string nodeName_h, int debugLevel=MSG_WARNING, bool childFlag=false) |
vector< InputNode > | getChildNodes () |
Retrieve a child node with gived name and optionally with gived attribute or gived pair attribute/value. It raises an error if more than one. More... | |
bool | hasChildNode (string name_h) |
True if it has specified child node. More... | |
int | getChildNodesCount () |
Only Elements More... | |
string | getNodeName () |
Public Member Functions inherited from BaseClass | |
BaseClass () | |
~BaseClass () | |
void | msgOut (const int &msgCode_h, const string &msg_h, const bool &refreshGUI_h=true) const |
Overloaded function to print the output log. More... | |
void | msgOut (const int &msgCode_h, const int &msg_h, const bool &refreshGUI_h=true) const |
Overloaded function to print the output log. More... | |
void | msgOut (const int &msgCode_h, const double &msg_h, const bool &refreshGUI_h=true) const |
Overloaded function to print the output log. More... | |
int | s2i (const string &string_h) const |
string to integer conversion More... | |
double | s2d (const string &string_h) const |
string to double conversion More... | |
double | s2d (const string &string_h, const bool &replaceComma) const |
string to double conversion More... | |
bool | s2b (const string &string_h) const |
string to bool conversion More... | |
string | i2s (const int &int_h) const |
integer to string conversion More... | |
string | d2s (const double &double_h) const |
double to string conversion More... | |
string | b2s (const bool &bool_h) const |
bool to string conversion More... | |
vector< int > | s2i (const vector< string > &string_h) const |
string to integer conversion (vector) More... | |
vector< double > | s2d (const vector< string > &string_h, const bool &replaceComma=false) const |
string to double conversion (vector) More... | |
vector< bool > | s2b (const vector< string > &string_h) const |
string to bool conversion (vector) More... | |
vector< string > | i2s (const vector< int > &int_h) const |
integer to string conversion (vector) More... | |
vector< string > | d2s (const vector< double > &double_h) const |
double to string conversion (vector) More... | |
vector< string > | b2s (const vector< bool > &bool_h) const |
bool to string conversion (vector) More... | |
int | getType (const string &type_h) const |
Return a type according to enum TYPE_* from a string (eg: "string" -> TYPE_STRING (2)) More... | |
void | refreshGUI () const |
Ping to periodically return the control to the GUI. More... | |
template<typename T > | |
string | toString (const T &x) const |
template<typename T > | |
T | stringTo (const std::string &s) const |
int | vSum (const vector< int > &vector_h) const |
double | vSum (const vector< double > &vector_h) const |
int | vSum (const vector< vector< int > > &vector_h) const |
double | vSum (const vector< vector< double > > &vector_h) const |
void | tokenize (const string &str, vector< string > &tokens, const string &delimiter=" ") const |
Tokenize a string using a delimiter (default is space) More... | |
void | untokenize (string &str, vector< string > &tokens, const string &delimiter=" ") const |
template<typename K , typename V > | |
V | findMap (const map< K, V > &mymap, const K &key, const int &error_level=MSG_CRITICAL_ERROR, const V ¬FoundValue=numeric_limits< V >::min()) const |
Lookup a map for a value. Return the value starting from the key. More... | |
template<typename K , typename V > | |
void | changeMapValue (map< K, V > &mymap, const K &key, const V &value, const int &error_level=MSG_CRITICAL_ERROR) |
Change the value stored in a map given the key and the new value. More... | |
template<typename K , typename V > | |
void | incrMapValue (map< K, V > &mymap, const K &key, const V &value, const int &error_level=MSG_CRITICAL_ERROR) |
Increments a value stored in a map of the specified value, given the key. More... | |
template<typename K , typename V > | |
void | incrOrAddMapValue (map< K, V > &mymap, const K &key, const V &value) |
Increments a value stored in a map of the specified value, given the key. More... | |
template<typename K , typename V > | |
void | resetMapValues (map< K, V > &mymap, const V &value) |
Reset all values stored in a map to the specified one. More... | |
template<typename K , typename V > | |
map< K, V > | vectorToMap (const vector< K > &keys, const V &value=0.0) |
Returns a map built using the given vector and the given (scalar) value as keys/values pairs. More... | |
template<typename T > | |
vector< T > | positionsToContent (const vector< T > &vector_h, const vector< int > &positions) |
Return a vector of content from a vector and a vector of positions (int) More... | |
template<typename V > | |
void | debugMap (const map< iisskey, V > &mymap) |
Debug a map. More... | |
template<typename K , typename V > | |
void | debugMap (const map< K, V > &mymap, const K &key) |
template<typename K > | |
int | getMaxPos (const vector< K > &v) |
Returns the position of the maximum element in the vector (the last one in case of multiple equivalent maxima) More... | |
template<typename K > | |
int | getMinPos (const vector< K > &v) |
Returns the position of the minimum element in the vector (the first one in case of multiple equivalent minima) More... | |
template<typename K > | |
K | getMax (const vector< K > &v) |
Returns the value of the maximum element in the vector (the last one in case of multiple equivalent maxima) More... | |
template<typename K > | |
K | getMin (const vector< K > &v) |
Returns the value of the minimum element in the vector (the first one in case of multiple equivalent minima) More... | |
template<typename K > | |
double | getAvg (const vector< K > &v) |
Returns the average of the elements in the vector. More... | |
template<typename K > | |
double | getSd (const vector< K > &v, bool sample=true) |
template<typename K > | |
int | getPos (const K &element, const vector< K > &v, const int &msgCode_h=MSG_CRITICAL_ERROR) |
template<typename K > | |
bool | inVector (const K &element, const vector< K > &v) |
double | normSample (const double &avg, const double &stdev, const double &minval=NULL, const double &maxval=NULL) const |
Sample from a normal distribution with bounds. Slower (double time, but still you see the diff only after milion of loops). More... | |
template<typename K > | |
K | normSample (normal_distribution< K > &d, std::mt19937 &gen, const K &minval=NULL, const K &maxval=NULL) const |
Sample from a normal distribution with bounds. Faster (half time) as the normal_distribution is made only once. More... | |
template<typename T > | |
std::string | toString (const T &x) const |
Private Attributes | |
QDomElement | domElement |
The underlying library-depending DOM rappresentation of the element. More... | |
Additional Inherited Members | |
Protected Attributes inherited from BaseClass | |
ThreadManager * | MTHREAD |
Pointer to the Thread manager. More... | |
Wrapper around the underlying library for reading DOM elements (nodes).
A small wrapper class using an underlying library (currently QtXml) to read DOM nodes.
This class works with the individual nodes (DOM Elements), while the companion class InputDocument wrapper the whole document (DOM Document).
Note: In the DOM terminology "Elements" are a subset of the more general "nodes" (that include comments and other typologies..)
Definition at line 51 of file InputNode.h.
InputNode | ( | ) |
Definition at line 30 of file InputNode.cpp.
|
inline |
Definition at line 55 of file InputNode.h.
~InputNode | ( | ) |
Definition at line 33 of file InputNode.cpp.
bool getBoolContent | ( | ) |
Get the content between its tagName as bool.
Definition at line 79 of file InputNode.cpp.
vector< InputNode > getChildNodes | ( | ) |
Retrieve a child node with gived name and optionally with gived attribute or gived pair attribute/value. It raises an error if more than one.
Retrieve all child nodes with gived name and optionally with gived attribute or gived pair attribute/value. It raises an error if more than one. Filtered to return only child Elements
Definition at line 235 of file InputNode.cpp.
int getChildNodesCount | ( | ) |
Only Elements
Definition at line 260 of file InputNode.cpp.
double getDoubleAttributeByName | ( | std::string | attributeName_h | ) |
Get an attribute by name as double.
Definition at line 100 of file InputNode.cpp.
double getDoubleContent | ( | ) |
Get the content between its tagName as double.
Definition at line 69 of file InputNode.cpp.
int getIntAttributeByName | ( | std::string | attributeName_h | ) |
Get an attribute by name as integer.
Definition at line 90 of file InputNode.cpp.
int getIntContent | ( | ) |
Get the content between its tagName as integer.
Definition at line 64 of file InputNode.cpp.
InputNode getNodeByName | ( | string | nodeName_h, |
int | debugLevel = MSG_CRITICAL_ERROR , |
||
bool | childFlag = false |
||
) |
return 0-or-1 nodes by name.
Definition at line 129 of file InputNode.cpp.
string getNodeName | ( | ) |
Definition at line 272 of file InputNode.cpp.
vector< InputNode > getNodesByName | ( | string | nodeName_h, |
int | debugLevel = MSG_WARNING , |
||
bool | childFlag = false |
||
) |
return 0-to-n nodes by name
Definition at line 155 of file InputNode.cpp.
Referenced by getNodeByName(), Gis::initLayers(), and ModelData::loadInput().
string getStringAttributeByName | ( | std::string | attributeName_h | ) |
Get an attribute by name as string.
Definition at line 110 of file InputNode.cpp.
std::string getStringContent | ( | ) |
Get the content between its tagName as std::string.
Definition at line 74 of file InputNode.cpp.
bool hasAttributeByName | ( | std::string | attributeName_h | ) |
Check if an attribute with a certain name exist.
Definition at line 120 of file InputNode.cpp.
bool hasChildNode | ( | string | name_h | ) |
True if it has specified child node.
Definition at line 248 of file InputNode.cpp.
bool setWorkingFile | ( | std::string | filename_h | ) |
Load the file on memory. Return false if no success.
Definition at line 37 of file InputNode.cpp.
Referenced by Gis::initLayers(), and ModelData::loadInput().
|
private |
The underlying library-depending DOM rappresentation of the element.
Definition at line 80 of file InputNode.h.
Referenced by getBoolContent(), getChildNodes(), getChildNodesCount(), getDoubleAttributeByName(), getDoubleContent(), getIntAttributeByName(), getIntContent(), getNodeName(), getNodesByName(), getStringAttributeByName(), getStringContent(), hasAttributeByName(), hasChildNode(), and setWorkingFile().