diff options
author | Justin Berger <j.david.berger@gmail.com> | 2018-04-08 22:51:57 -0600 |
---|---|---|
committer | Justin Berger <j.david.berger@gmail.com> | 2018-04-09 09:14:39 -0600 |
commit | e06e452445bdd3d61f393bde4206cd848a54444b (patch) | |
tree | e3316a222a74f8cae5e43d70c22ede77a97ef0e2 /src/poser_general_optimizer.h | |
parent | 6363d21d6bfd60564830c410ea75f96b3bc1f129 (diff) | |
download | libsurvive-e06e452445bdd3d61f393bde4206cd848a54444b.tar.gz libsurvive-e06e452445bdd3d61f393bde4206cd848a54444b.tar.bz2 |
Created common base for optimizer based posers
Diffstat (limited to 'src/poser_general_optimizer.h')
-rw-r--r-- | src/poser_general_optimizer.h | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/poser_general_optimizer.h b/src/poser_general_optimizer.h new file mode 100644 index 0000000..81d94bf --- /dev/null +++ b/src/poser_general_optimizer.h @@ -0,0 +1,29 @@ +#include <survive.h> +#include <stdlib.h> + +typedef struct GeneralOptimizerData { + int failures_to_reset; + int failures_to_reset_cntr; + int successes_to_reset; + int successes_to_reset_cntr; + + FLT max_error; + + struct { + int runs; + int poser_seed_runs; + int error_failures; + } stats; + + PoserCB seed_poser; + SurviveObject *so; +} GeneralOptimizerData; + +void general_optimizer_data_init(GeneralOptimizerData *d, SurviveObject *so); +void general_optimizer_data_dtor(GeneralOptimizerData *d); + +void general_optimizer_data_record_failure(GeneralOptimizerData *d); +bool general_optimizer_data_record_success(GeneralOptimizerData *d, FLT error); +void general_optimizer_data_record_imu(GeneralOptimizerData *d, PoserDataIMU *imu); +bool general_optimizer_data_record_current_pose(GeneralOptimizerData *d, PoserData *hdr, size_t len_hdr, + SurvivePose *p); |