city_generator2

Generated conformal 3D meshes representing a city
git clone git://git.meso-star.fr/city_generator2.git
Log | Files | Refs | README | LICENSE

commit e7055a1802dd4f5fc13d54907ae35242b7696d34
parent e946083eb5004db684d8baf38ca4a18b3da8dd31
Author: Christophe Coustet <christophe.coustet@meso-star.com>
Date:   Fri, 10 Mar 2023 14:20:01 +0100

Improve log message about building neighbors

Diffstat:
Msrc/cg_building.c | 15+++++++++++----
1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/src/cg_building.c b/src/cg_building.c @@ -21,6 +21,7 @@ #include "cg_city.h" #include "cg_building.h" +#include <rsys/str.h> #include <rsys/stretchy_array.h> #include <rsys/mem_allocator.h> #include <rsys/logger.h> @@ -39,22 +40,24 @@ build_adjoining struct scad_geometry** envelop_list = NULL; struct htable_building_iterator it, end; struct htable_building* close_buildings; + struct str msg; ASSERT(allocator && logger && building && geom); + str_init(allocator, &msg); close_buildings = &building->close_buildings; count = htable_building_size_get(close_buildings); - logger_print(logger, LOG_OUTPUT, - "building '%s' considering %zu close neighbor(s) when creating CAD.\n", - str_cget(&building->name), count); - envelop_list = MEM_CALLOC(allocator, count, sizeof(struct scad_geometry*)); if(!envelop_list) { res = RES_MEM_ERR; goto error; } + ERR(str_printf(&msg, + "building '%s' considering close neighbor(s) when creating CAD:", + str_cget(&building->name))); + /* iterate over adjoining building */ htable_building_begin(close_buildings, &it); htable_building_end(close_buildings, &end); @@ -65,11 +68,15 @@ build_adjoining close_building = *htable_building_iterator_key_get(&it); ERR(close_building->functors->build_envelop(allocator, logger, close_building, envelop_list + i++)); + ERR(str_append_printf(&msg, " '%s'", str_cget(&close_building->name))); htable_building_iterator_next(&it); } ASSERT(i == count); + logger_print(logger, LOG_OUTPUT, "%s.\n", str_cget(&msg)); + exit: + str_release(&msg); *geom = envelop_list; return res; error: