aboutsummaryrefslogtreecommitdiff
path: root/src/poser_general_optimizer.h
blob: 6d4d9061a5e77e0c282d40e7b2a45a8105299b5a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <stdlib.h>
#include <survive.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);