|
| enum | Type {
PHYSICAL_ACTIVITY,
MENTAL_RESILIENCE,
SLEEP_DURATION,
JETLAG,
SHIFTWORK,
CALIBRATION,
NONE,
BIORHYTHM
} |
| |
| enum | InitializationType { MANUAL_GOAL,
POPULATION_GOAL,
PERSONAL_GOAL
} |
| |
| enum | Status { UNINITIALIZED,
GOAL_INITIALIZED,
READY,
PAUSED
} |
| |
typedef std::pair< std::string,
AIMValue > | AIMData |
| |
| typedef std::queue< AIMData > | AIMDataQueue |
| |
| typedef std::queue< AIMValue > | AIMValueQueue |
| |
typedef std::map< std::string,
AIMValueQueue > | InputDataQueue |
| |
|
|
| Coach (const Coach &other) |
| |
|
Coach & | operator= (const Coach &rhs) |
| |
| void | addData (const AIMData &data) |
| |
| void | doTick () |
| |
| std::vector< AIMValue > | getRequirements () const |
| |
| bool | requirementsAreUpdated (bool reset) const |
| |
| virtual void | setGoal (InitializationType type, const AIMValue &init, bool dynamic=true) |
| |
| virtual AIMValue | getGoal () const |
| |
virtual std::vector
< TaskDescription > | getCurrentTasks () const |
| |
virtual std::vector
< TaskDescription > | getFutureTasks (double start, double end) |
| |
| virtual Status | getStatus () const |
| |
| virtual Type | getType () |
| |
virtual const std::map
< std::string, AIMValue > & | getProperties () |
| |
virtual std::map< std::string,
AIMValue > | getMemberDataAsProperties () const |
| |
| virtual void | setProperties (const std::map< std::string, AIMValue > &properties) |
| |
| virtual void | pause (double time) |
| |
| virtual void | resume (double time) |
| |
| virtual TaskDescription | setTaskValueManually (std::string taskType, double taskStartDate, const AIMValue &data) |
| |
| | AIM (std::string name="") |
| |
|
| AIM (const AIM &other) |
| |
|
AIM & | operator= (const AIM &rhs) |
| |
| virtual void | addDataSubscriber (const std::string &key, AIM *subscriber) |
| |
| virtual void | removeDataSubscriber (const std::string &key) |
| |
| virtual AIMValue | setProperty (const std::string &key, AIMValue value) |
| |
| virtual AIMValue | getProperty (std::string key) const |
| |
|
virtual void | sendData () |
| |
| virtual std::string | exportProperties () |
| |
virtual std::vector< std::pair
< std::string, AIMValue > > | getOutputData (bool clear_output=false) |
| |
virtual std::vector< std::pair
< std::string, AIMValue > > | getInputData (bool clear_input=false) |
| |
| virtual AIM * | getDataSubscriber (std::string subscriber) |
| |
| virtual std::string | getName () const |
| |
|
|
static const std::string | PROP_COMPLETED_TASKS = "completed_tasks" |
| |
|
static const std::string | PROP_ACTIVE_TASKS = "active_tasks" |
| |
|
static const std::string | PROP_STATUS = "status" |
| |
|
static const std::string | PROP_GOAL = "goal" |
| |
|
static const std::string | PROP_BASELINE = "baseline" |
| |
|
static const std::string | PROP_DYNAMIC_COACH = "dynamic_coach" |
| |
|
static const std::string | PROP_GOAL_TYPE = "goal_type" |
| |
|
static const std::string | PROP_START_DATE = "start_date" |
| |
|
static const std::string | PROP_END_DATE = "end_date" |
| |
|
static const std::string | PROP_TOTAL_DAYS = "total_days" |
| |
|
static const std::string | PROP_GAIN = "gain" |
| |
|
static const std::string | PROP_CURRENT_TIME = "clock" |
| |
|
static const std::string | PROP_START_PAUSE = "start_pause" |
| |
|
static const std::string | OUTPUT_FIELD_COACH_TYPE = "coach_type" |
| |
|
static const std::string | PROP_PAUSED_SECONDS = "paused_seconds" |
| |
|
static const std::string | VERSION = AIM_VERSION |
| |
|
| | Coach (Type coachType, std::string name="coach") |
| |
| virtual void | processDateValue (const std::string &sensor, const AIMValue &dateValue) |
| |
| virtual void | addActiveTask (Task &task) |
| |
| virtual void | removeActiveTask (Task *task) |
| |
| virtual double | calculateTargetValue (int week, double goalValue, double lastValue, double speed=(2.0/3.0)) |
| |
| virtual int | getWeek (double date) |
| |
| virtual double | calculateGoal (std::string taskType, double currentValue, int weeksLeft) |
| |
| virtual void | decreaseGain (std::string taskType) |
| |
| virtual void | increaseGain (std::string taskType) |
| |
| virtual void | handleCompletedTask (Task *task) |
| |
| virtual bool | checkAndHandleNewWeek () |
| |
| virtual double | calculateAverage (std::string taskType, double startDate, double endDate, int min_values=1, int nr_values=-1) |
| |
| virtual void | createNewTask (std::string taskType) |
| |
| virtual std::pair< double, double > | calculateTaskPeriod (double currentTime, std::string taskType="") |
| |
|
virtual void | removeRoutesForTask (Task *task) |
| |
|
virtual Task * | getTask (TaskDescription::Type type) |
| |
|
void | setDataSubscribers (const std::map< std::string, AIM * > &subscribers) |
| |
|
void | setInputDataQueue (const InputDataQueue &inputDataQueue) |
| |
|
void | setOutputDataQueue (const AIMDataQueue &outputDataQueue) |
| |
Base class for coaches. Facilitates task and requirement management.
Type used for initialization of the goal.
MANUAL_GOAL: init = {{"goal",{"Task.TYPE", "value"}}}
PERSONAL_GOAL: init = {{"goal",{"Task.TYPE", "value"}}, {"baseline",{"Task.TYPE", "value"}}, {"days",84}}
POPULATION_GOAL: init = {{"goal",{"Task.TYPE", "value"}}, {"baseline",{"Task.TYPE", "value"}}, {"days",84}}
Set the goal for the coach.
A coach can be initialized with a specific type. With a corresponding init value.
MANUAL_GOAL: init = {{"goal",{"Task.TYPE", "value"}}}
PERSONAL_GOAL: init = {{"goal",{"Task.TYPE", "value"}}, {"baseline",{"Task.TYPE", "value"}}, {"days",84}}
POPULATION_GOAL: init = {{"goal",{"Task.TYPE", "value"}}, {"baseline",{"Task.TYPE", "value"}}, {"days",84}}
- Parameters
-
| type | The InitializationType of the coach |
| init | The AIMValue map with initialization data |
| dynamic | Update the goal based on the progress |
Reimplemented in CoachingEngine::JetLagCoach, CoachingEngine::ShiftWorkCoach, CoachingEngine::CalibrationCoach, CoachingEngine::BiorhythmCoach, CoachingEngine::SleepDurationCoach, CoachingEngine::ExerciseCoach, and CoachingEngine::MentalResilienceCoach.