aboutsummaryrefslogtreecommitdiff
path: root/src/poser_general_optimizer.c
diff options
context:
space:
mode:
authorcnlohr <lohr85@gmail.com>2018-06-23 14:18:26 -0400
committercnlohr <lohr85@gmail.com>2018-06-23 14:18:26 -0400
commit1dea63123ca6735cee354f3eeae69e2e62d61e3b (patch)
treea93f86d0f33ad91b4c34f975b55ae54415e8f6c1 /src/poser_general_optimizer.c
parent87b6229f6fc4e434b9472e6c7722e40497ac97a1 (diff)
parent5329e026dfb52f904965b687a717cc4c24f2cd8c (diff)
downloadlibsurvive-1dea63123ca6735cee354f3eeae69e2e62d61e3b.tar.gz
libsurvive-1dea63123ca6735cee354f3eeae69e2e62d61e3b.tar.bz2
Merge branch 'new_config_system'
Diffstat (limited to 'src/poser_general_optimizer.c')
-rw-r--r--src/poser_general_optimizer.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/poser_general_optimizer.c b/src/poser_general_optimizer.c
index 057ac3d..6f181a3 100644
--- a/src/poser_general_optimizer.c
+++ b/src/poser_general_optimizer.c
@@ -5,6 +5,11 @@
#include <malloc.h>
#include <stdio.h>
+STATIC_CONFIG_ITEM( CONFIG_MAX_ERROR, "max-error", 'f', "Maximum error permitted by poser_general_optimizer", .0001 );
+STATIC_CONFIG_ITEM( CONFIG_FAIL_TO_RESET, "failures-to-reset", 'i', "Failures needed before seed poser is re-run", 1 );
+STATIC_CONFIG_ITEM( CONFIG_SUC_TO_RESET, "successes-to-reset", 'i', "[TODO: I don't know what this does]", -1 );
+STATIC_CONFIG_ITEM( CONFIG_SEED_POSER, "seed-poser", 's', "Poser to be used to seed optimizer", "PoserEPNP" );
+
void *GetDriver(const char *name);
void general_optimizer_data_init(GeneralOptimizerData *d, SurviveObject *so) {
memset(d, 0, sizeof(*d));
@@ -12,11 +17,11 @@ void general_optimizer_data_init(GeneralOptimizerData *d, SurviveObject *so) {
SurviveContext *ctx = so->ctx;
- d->failures_to_reset = survive_configi(ctx, "failures-to-reset", SC_GET, 1);
- d->successes_to_reset = survive_configi(ctx, "successes-to-reset", SC_GET, -1);
- d->max_error = survive_configf(ctx, "max-error", SC_GET, .0001);
+ survive_attach_configf( ctx, "max-error", &d->max_error );
+ survive_attach_configi( ctx, "failures-to-reset", &d->failures_to_reset );
+ survive_attach_configi( ctx, "successes-to-reset", &d->successes_to_reset );
- const char *subposer = survive_configs(ctx, "seed-poser", SC_GET, "PoserEPNP");
+ const char *subposer = survive_configs(ctx, "seed-poser", SC_GET, 0 );
d->seed_poser = (PoserCB)GetDriver(subposer);
SV_INFO("Initializing general optimizer:");