star-cpr

Clip 2D meshes with 2D polygons
git clone git://git.meso-star.fr/star-cpr.git
Log | Files | Refs | README | LICENSE

commit 94b664272dee377ce0081f9e22109e074b4401da
parent 3e36e853398ab033c714a9eec6cb9e8d91f7cad0
Author: Christophe Coustet <christophe.coustet@meso-star.com>
Date:   Wed, 26 Apr 2023 17:40:26 +0200

Merge branch 'release_0.3_r3' into develop

Diffstat:
Msrc/scpr_c.h | 2+-
Msrc/scpr_intersector.c | 10+++++-----
Msrc/scpr_polygon.c | 10+++++-----
3 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/src/scpr_c.h b/src/scpr_c.h @@ -278,7 +278,7 @@ struct scpr_intersector { struct htable_interacting_segments interacting_segments; /* All the registererd components (an htable to check for unicity and a darray * to store the components with indexing capability) */ - struct htable_registered_components registererd_components; + struct htable_registered_components registered_components; struct darray_components components; ref_T ref; }; diff --git a/src/scpr_intersector.c b/src/scpr_intersector.c @@ -72,7 +72,7 @@ intersector_release(ref_T* ref) release_dimension(intersector->dimensions + 1); SCPR(device_ref_put(intersector->device)); htable_interacting_segments_release(&intersector->interacting_segments); - htable_registered_components_release(&intersector->registererd_components); + htable_registered_components_release(&intersector->registered_components); darray_components_release(&intersector->components); MEM_RM(allocator, intersector); } @@ -642,7 +642,7 @@ scpr_intersector_create init_dimension(allocator, intersector->dimensions, OVERLAP_X, CONTACT_X); init_dimension(allocator, intersector->dimensions + 1, OVERLAP_Y, CONTACT_Y); htable_interacting_segments_init(allocator, &intersector->interacting_segments); - htable_registered_components_init(allocator, &intersector->registererd_components); + htable_registered_components_init(allocator, &intersector->registered_components); darray_components_init(allocator, &intersector->components); exit: @@ -717,7 +717,7 @@ scpr_intersector_register_component /* Check single registration */ comp.polygon = polygon; comp.component = (uint32_t)icomponent; - found = htable_registered_components_find(&intersector->registererd_components, + found = htable_registered_components_find(&intersector->registered_components, &comp); if(found) { logger_print(intersector->device->logger, LOG_ERROR, @@ -725,7 +725,7 @@ scpr_intersector_register_component res = RES_BAD_ARG; goto error; } - c = htable_registered_components_size_get(&intersector->registererd_components); + c = htable_registered_components_size_get(&intersector->registered_components); if(c >= UINT32_MAX) { logger_print(intersector->device->logger, LOG_ERROR, "Too many components registered.\n"); @@ -733,7 +733,7 @@ scpr_intersector_register_component goto error; } ASSERT(c == darray_components_size_get(&intersector->components)); - ERR(htable_registered_components_set(&intersector->registererd_components, + ERR(htable_registered_components_set(&intersector->registered_components, &comp, &one)); ERR(darray_components_push_back(&intersector->components, &comp)); diff --git a/src/scpr_polygon.c b/src/scpr_polygon.c @@ -242,13 +242,13 @@ scpr_polygon_setup_indexed_vertices "Polygon has been simplified. Original counts are no longer valid.\n"); } - /* Build bounding box */ + /* Build bounding box (don't use ncomponents nor get_nverts just in case + * counts are no longer valid!) */ polygon->lower[0] = polygon->lower[1] = INT64_MAX; polygon->upper[0] = polygon->upper[1] = INT64_MIN; - FOR_EACH(c, 0, ncomponents) { - size_t i, nverts; - get_nverts(c, &nverts, data); - FOR_EACH(i, 0, nverts) { + FOR_EACH(c, 0, polygon->paths.size()) { + size_t i; + FOR_EACH(i, 0, polygon->paths[c].size()) { int64_t tmp[2]; int j; tmp[0] = polygon->paths[c][i].x;