From e694c3249626307ecb472e92b79ecc07b4e96ae3 Mon Sep 17 00:00:00 2001 From: Luka Jankovic Date: Fri, 25 Jul 2025 01:48:23 +0200 Subject: [PATCH] reading nested yaml sequences for vertices --- data.yaml | 12 ++++++------ kubo_file.c | 2 +- kubo_file.h | 20 ++++++++++++++++++-- 3 files changed, 25 insertions(+), 9 deletions(-) diff --git a/data.yaml b/data.yaml index 2d07c8d..232bbf7 100644 --- a/data.yaml +++ b/data.yaml @@ -1,8 +1,8 @@ name: Fibonacci data: - - 1 - - 1 - - 2 - - 3 - - 5 - - 8 + - [1.0, 0.5] + - [1.0, 0.5] + - [2.0, 0.5] + - [3.0, 0.5] + - [5.0, 0.5] + - [8.0, 0.5] diff --git a/kubo_file.c b/kubo_file.c index c85ce4a..0612412 100644 --- a/kubo_file.c +++ b/kubo_file.c @@ -16,7 +16,7 @@ void kubo_file_parse(char *file_name) { printf("%s:\n", n->name); for (unsigned i = 0; i < n->data_count; i++) { - printf(" - %i\n", n->data[i]); + printf(" - %f:%f\n", n->data[i][0], n->data[i][1]); } err = cyaml_free(&config, &top_schema, n, 0); diff --git a/kubo_file.h b/kubo_file.h index 497f95a..eda042b 100644 --- a/kubo_file.h +++ b/kubo_file.h @@ -23,14 +23,30 @@ #include #include +typedef float kubo_file_vertex[2]; +// +// struct kubo_file_wall { +// kubo_file_vertex *vertices; +// unsigned vertices_count; +// }; +// +// struct kubo_file_scene { +// struct kubo_file_wall *walls; +// unsigned walls_count; +// }; + struct numbers { char *name; - int *data; + kubo_file_vertex *data; unsigned data_count; }; +static const cyaml_schema_value_t float_entry = { + CYAML_VALUE_FLOAT(CYAML_FLAG_DEFAULT, float), +}; + static const cyaml_schema_value_t data_entry = { - CYAML_VALUE_INT(CYAML_FLAG_DEFAULT, int), + CYAML_VALUE_SEQUENCE_FIXED(CYAML_FLAG_DEFAULT, float, &float_entry, 2), }; static const cyaml_schema_field_t top_mapping_schema[] = {