FFSM++
1.1.0
French Forest Sector Model ++
|
Init the environment, the objects and the agents of the model More...
#include <Init.h>
Public Member Functions | |
Init (ThreadManager *MTHREAD_h) | |
~Init () | |
void | setInitLevel (int level_h) |
Wrapper to the correct setInitLevelX() More... | |
void | setInitLevel0 () |
Unused, reserver for future use. More... | |
void | setInitLevel1 () |
Setting up the space, the model objects and the agents (definitions only) More... | |
void | setInitLevel2 () |
Unused, reserver for future use. More... | |
void | setInitLevel3 () |
Linking object to agents and assigning space proprieties to objects and agents. More... | |
void | setInitLevel4 () |
Unused, reserver for future use. More... | |
void | setInitLevel5 () |
Simulation start. More... | |
void | setInitLevel6 () |
End of simulation (e.g. print summary statistics) More... | |
int | getInitState () |
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 | |
int | InitState |
One of the 7 possible init states (0..6) More... | |
struct tm * | current |
time_t | now |
Additional Inherited Members | |
Protected Attributes inherited from BaseClass | |
ThreadManager * | MTHREAD |
Pointer to the Thread manager. More... | |
Init the environment, the objects and the agents of the model
The Init class is responsable to ask to the various objects to Init themself, in a 7-steps procedures.
The basic idea is to first init the environment: options, settings and space.
Then objects and agents are mould up, objects are assigned to agents and finally agents and objects are collocated in the space.
Init | ( | ThreadManager * | MTHREAD_h | ) |
void setInitLevel | ( | int | level_h | ) |
Wrapper to the correct setInitLevelX()
Definition at line 48 of file Init.cpp.
Referenced by MainProgram::run().
void setInitLevel0 | ( | ) |
Unused, reserver for future use.
Definition at line 78 of file Init.cpp.
Referenced by setInitLevel().
void setInitLevel1 | ( | ) |
Setting up the space, the model objects and the agents (definitions only)
Setting up the space
Level 1 :
Definition at line 94 of file Init.cpp.
Referenced by setInitLevel().
void setInitLevel2 | ( | ) |
Unused, reserver for future use.
Definition at line 148 of file Init.cpp.
Referenced by setInitLevel().
void setInitLevel3 | ( | ) |
Linking object to agents and assigning space proprieties to objects and agents.
Init 3 run the simulation/assign the values for the pre-optimisation year(s)
Definition at line 156 of file Init.cpp.
Referenced by setInitLevel().
void setInitLevel4 | ( | ) |
Unused, reserver for future use.
Definition at line 167 of file Init.cpp.
Referenced by setInitLevel().
void setInitLevel5 | ( | ) |
Simulation start.
Init level 5 pass the controll to the Scheduler object for the running of the simulations.
Definition at line 175 of file Init.cpp.
Referenced by setInitLevel().
void setInitLevel6 | ( | ) |
End of simulation (e.g. print summary statistics)
Definition at line 181 of file Init.cpp.
Referenced by setInitLevel().
|
private |
Definition at line 71 of file Init.h.
Referenced by setInitLevel1(), and setInitLevel6().
|
private |
One of the 7 possible init states (0..6)
Definition at line 67 of file Init.h.
Referenced by Init(), setInitLevel0(), setInitLevel1(), setInitLevel2(), setInitLevel3(), setInitLevel4(), setInitLevel5(), and setInitLevel6().
|
private |
Definition at line 72 of file Init.h.
Referenced by setInitLevel1(), and setInitLevel6().