star-geometry-2d

Cleaning and decorating 2D geometries
git clone git://git.meso-star.fr/star-geometry-2d.git
Log | Files | Refs | README | LICENSE

commit 4f7999439ac8842d8a3332d4494d3b738feefebc
parent 4b38318c4c76e11de9597511b63bc99280cf0243
Author: Christophe Coustet <christophe.coustet@meso-star.com>
Date:   Thu, 30 Jan 2020 16:42:06 +0100

Swap param order in an API call because of coherency

Diffstat:
Mcmake/CMakeLists.txt | 1+
Msrc/sg2.h | 24++++++++++++++----------
Msrc/sg2_geometry.c | 4++--
Msrc/test_sg2_geometry.c | 16++++++++--------
Msrc/test_sg2_geometry_2.c | 30+++++++++++++++---------------
Msrc/test_sg2_many_enclosures.c | 2+-
Msrc/test_sg2_many_segments.c | 2+-
Msrc/test_sg2_some_enclosures.c | 2+-
Msrc/test_sg2_some_segments.c | 2+-
Msrc/test_sg2_square_behind_square.c | 6+++---
Msrc/test_sg2_square_in_square.c | 6+++---
Msrc/test_sg2_square_on_square.c | 6+++---
Msrc/test_sg2_unspecified_properties.c | 12++++++------
13 files changed, 59 insertions(+), 54 deletions(-)

diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt @@ -65,6 +65,7 @@ set(SG2_FILES_INC_API sg2.h sg2_s2d_helper.h sg2_senc2d_helper.h + sgX2.h ) set(SG2_FILES_INC diff --git a/src/sg2.h b/src/sg2.h @@ -13,8 +13,8 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -#ifndef STAR_GEOMETRY_H__ -#define STAR_GEOMETRY_H__ +#ifndef STAR_GEOMETRY_2D_H__ +#define STAR_GEOMETRY_2D_H__ #include <rsys/rsys.h> #include <rsys/dynamic_array_uint.h> @@ -42,7 +42,6 @@ /* Forward declaration of external opaque data types */ struct logger; struct mem_allocator; -struct senc_scene; /* Forward declaration of the star-geometry opaque data types. These data * types are ref counted. Once created the caller implicitly owns the created @@ -54,6 +53,11 @@ struct sg2_device; struct sg2_geometry; /******************************************************************************* + * Some defines to introduce dimensions in use in the library. + ******************************************************************************/ +#define SG2_GEOMETRY_DIMENSION 2 + +/******************************************************************************* * A type to list the different user properties attached to segments. ******************************************************************************/ enum sg2_property_type { @@ -98,7 +102,7 @@ enum sg2_cdump_qualifiers { struct sg2_geometry_add_callbacks { /* User function that provides vertices ids for added segments */ void(*get_indices) - (const unsigned iseg, unsigned ids[2], void* context); + (const unsigned iseg, unsigned ids[SG2_GEOMETRY_DIMENSION], void* context); /* User function that provides properties for added segments */ void(*get_properties) /* Can be NULL <=> SG2_UNSPECIFIED_PROPERTY used */ (const unsigned iseg, @@ -108,7 +112,7 @@ struct sg2_geometry_add_callbacks { void* context); /* User function that provides coordinates for added vertices */ void(*get_position) - (const unsigned ivert, double pos[2], void* context); + (const unsigned ivert, double pos[SG2_GEOMETRY_DIMENSION], void* context); /* Called if the iseg_th segment of the current sg2_geometry_add is a new * segment (i.e. not a duplicate) so that the client app can manage its own * segment data/properties/attributes. @@ -228,8 +232,8 @@ sg2_geometry_reserve SG2_API res_T sg2_geometry_add (struct sg2_geometry* geometry, - const unsigned segments_count, const unsigned vertices_count, + const unsigned segments_count, const struct sg2_geometry_add_callbacks* callbacks, void* context); /* Can be NULL */ @@ -263,7 +267,7 @@ SG2_API res_T sg2_geometry_get_unique_vertex (const struct sg2_geometry* geometry, const unsigned ivtx, - double coord[2]); + double coord[SG2_GEOMETRY_DIMENSION]); /* Get the number of segments added to the geometry, regardless of unicity. */ SG2_API res_T @@ -282,7 +286,7 @@ SG2_API res_T sg2_geometry_get_unique_primitive_vertices (const struct sg2_geometry* geometry, const unsigned iseg, - unsigned indices[2]); + unsigned indices[SG2_GEOMETRY_DIMENSION]); /* Get the properties of the iseg_th unique segment. */ SG2_API res_T @@ -341,7 +345,7 @@ SG2_API res_T sg2_geometry_dump_as_obj (const struct sg2_geometry* geometry, FILE* stream, - int flags); + const int flags); /* Dump a geometry in the provided stream in the VTK ascii format. * The geometry can include conflicts, but cannot be empty. Note that POINTS @@ -390,4 +394,4 @@ sg2_geometry_ref_put END_DECLS -#endif /* STAR_GEOMETRY_H__ */ +#endif /* STAR_GEOMETRY_2D_H__ */ diff --git a/src/sg2_geometry.c b/src/sg2_geometry.c @@ -316,8 +316,8 @@ error: res_T sg2_geometry_add (struct sg2_geometry* geom, - const unsigned nsegs, const unsigned nverts, + const unsigned nsegs, const struct sg2_geometry_add_callbacks* callbacks, void* ctx) /* Can be NULL */ { @@ -769,7 +769,7 @@ res_T sg2_geometry_dump_as_obj (const struct sg2_geometry* geom, FILE* stream, - int flags) + const int flags) { res_T res = RES_OK; const struct vertex* vertices; diff --git a/src/test_sg2_geometry.c b/src/test_sg2_geometry.c @@ -161,7 +161,7 @@ main(int argc, char** argv) BA(sg2_geometry_add(NULL, 0, 0, &callbacks, NULL)); OK(sg2_geometry_get_added_primitives_count(geom, &count)); CHK(count == 0); - BA(sg2_geometry_add(geom, nsegments, nvertices, NULL, NULL)); + BA(sg2_geometry_add(geom, nvertices, nsegments, NULL, NULL)); OK(sg2_geometry_get_added_primitives_count(geom, &count)); CHK(count == nsegments); /* Mandatory callbacks are NULL */ @@ -194,7 +194,7 @@ main(int argc, char** argv) callbacks.get_properties = get_properties; callbacks.get_position = get_position; - OK(sg2_geometry_add(geom, nsegments, nvertices, &callbacks, &ctx)); + OK(sg2_geometry_add(geom, nvertices, nsegments, &callbacks, &ctx)); OK(sg2_geometry_dump_as_obj(geom, stdout, SG2_OBJ_DUMP_ALL)); OK(sg2_geometry_dump_as_vtk(geom, stdout)); OK(sg2_geometry_dump_as_c_code(geom, stdout, NULL, 0)); @@ -246,7 +246,7 @@ main(int argc, char** argv) /* Conflicts with merge_seg callback */ callbacks.merge_segment = merge_seg; - OK(sg2_geometry_add(geom, nsegments, nvertices, &callbacks, &ctx)); + OK(sg2_geometry_add(geom, nvertices, nsegments, &callbacks, &ctx)); OK(sg2_geometry_get_unique_primitives_with_merge_conflict_count(geom, &count)); /* Due to merge_seg internals, all but the first segment have conflict */ CHK(count == nsegments - 1); @@ -259,9 +259,9 @@ main(int argc, char** argv) /* Conflicts without merge_seg callback */ OK(sg2_geometry_create(dev, &geom)); callbacks.merge_segment = NULL; - OK(sg2_geometry_add(geom, nsegments, nvertices, &callbacks, &ctx)); + OK(sg2_geometry_add(geom, nvertices, nsegments, &callbacks, &ctx)); ctx.front_media = medium1_top0; - OK(sg2_geometry_add(geom, nsegments, nvertices, &callbacks, &ctx)); + OK(sg2_geometry_add(geom, nvertices, nsegments, &callbacks, &ctx)); OK(sg2_geometry_get_unique_primitives_with_merge_conflict_count(geom, &count)); FOR_EACH(i, 0, nsegments) if(medium0[i] != medium1_top0[i]) count--; CHK(count == 0); @@ -273,15 +273,15 @@ main(int argc, char** argv) /* Degenerated segments */ ctx.indices = degenerated; /* Without callback : OK */ - OK(sg2_geometry_add(geom, 1, nvertices, &callbacks, &ctx)); + OK(sg2_geometry_add(geom, nvertices, 1, &callbacks, &ctx)); /* With callback : OK */ callbacks.degenerated_segment = degenerated_segment; ctx.custom = &i; i = 0; - OK(sg2_geometry_add(geom, 1, nvertices, &callbacks, &ctx)); + OK(sg2_geometry_add(geom, nvertices, 1, &callbacks, &ctx)); /* With callback : KO */ i= 1; - BA(sg2_geometry_add(geom, 1, nvertices, &callbacks, &ctx)); + BA(sg2_geometry_add(geom, nvertices, 1, &callbacks, &ctx)); OK(sg2_geometry_ref_put(geom)); OK(sg2_device_ref_put(dev)); diff --git a/src/test_sg2_geometry_2.c b/src/test_sg2_geometry_2.c @@ -130,7 +130,7 @@ main(int argc, char** argv) /* If add fails, add geometry fails the same way */ add_geom_ctx.add_res = RES_BAD_ARG; - BA(sg2_geometry_add(geom, nsegments, nvertices, &callbacks, &ctx)); + BA(sg2_geometry_add(geom, nvertices, nsegments, &callbacks, &ctx)); CHK(add_geom_ctx.add_cpt == 0); OK(sg2_geometry_get_unique_vertices_count(geom, &count)); CHK(count == nvertices); @@ -139,7 +139,7 @@ main(int argc, char** argv) OK(sg2_geometry_get_unique_primitives_count(geom, &count)); CHK(count == 0); add_geom_ctx.add_res = RES_MEM_ERR; - ME(sg2_geometry_add(geom, nsegments, nvertices, &callbacks, &ctx)); + ME(sg2_geometry_add(geom, nvertices, nsegments, &callbacks, &ctx)); CHK(add_geom_ctx.add_cpt == 0); CHK(count == 0); OK(sg2_geometry_get_added_primitives_count(geom, &count)); @@ -157,7 +157,7 @@ main(int argc, char** argv) /* Successful add geometry with add callback */ add_geom_ctx.add_res = RES_OK; - OK(sg2_geometry_add(geom, nsegments, nvertices, &callbacks, &ctx)); + OK(sg2_geometry_add(geom, nvertices, nsegments, &callbacks, &ctx)); CHK(add_geom_ctx.add_cpt == nsegments); CHK(add_geom_ctx.merge_cpt == 0); OK(sg2_geometry_get_unique_vertices_count(geom, &count)); @@ -185,7 +185,7 @@ main(int argc, char** argv) /* Successful add geometry without add callback */ add_geom_ctx.add_cpt = 0; callbacks.add_segment = NULL; - OK(sg2_geometry_add(geom, nsegments, nvertices, &callbacks, &ctx)); + OK(sg2_geometry_add(geom, nvertices, nsegments, &callbacks, &ctx)); CHK(add_geom_ctx.add_cpt == 0); CHK(add_geom_ctx.merge_cpt == 0); OK(sg2_geometry_get_unique_vertices_count(geom, &count)); @@ -206,12 +206,12 @@ main(int argc, char** argv) /* If merge fails, add geometry fails the same way */ add_geom_ctx.merge_res = RES_BAD_ARG; callbacks.add_segment = add_seg; - BA(sg2_geometry_add(geom, nsegments, nvertices, &callbacks, &ctx)); + BA(sg2_geometry_add(geom, nvertices, nsegments, &callbacks, &ctx)); CHK(add_geom_ctx.merge_cpt == 0); OK(sg2_geometry_get_added_primitives_count(geom, &count)); CHK(count == 2 * nsegments); add_geom_ctx.merge_res = RES_MEM_ERR; - ME(sg2_geometry_add(geom, nsegments, nvertices, &callbacks, &ctx)); + ME(sg2_geometry_add(geom, nvertices, nsegments, &callbacks, &ctx)); CHK(add_geom_ctx.merge_cpt == 0); OK(sg2_geometry_get_added_primitives_count(geom, &count)); CHK(count == 3 * nsegments); @@ -230,7 +230,7 @@ main(int argc, char** argv) /* Successful add geometry without merge callback */ callbacks.merge_segment = NULL; - OK(sg2_geometry_add(geom, nsegments, nvertices, &callbacks, &ctx)); + OK(sg2_geometry_add(geom, nvertices, nsegments, &callbacks, &ctx)); CHK(add_geom_ctx.merge_cpt == 0); OK(sg2_geometry_get_unique_vertices_count(geom, &count)); CHK(count == nvertices); @@ -250,7 +250,7 @@ main(int argc, char** argv) /* Successful add geometry with merge callback */ add_geom_ctx.merge_res = RES_OK; callbacks.merge_segment = merge_seg; - OK(sg2_geometry_add(geom, nsegments, nvertices, &callbacks, &ctx)); + OK(sg2_geometry_add(geom, nvertices, nsegments, &callbacks, &ctx)); CHK(add_geom_ctx.merge_cpt == nsegments); add_geom_ctx.merge_cpt = 0; OK(sg2_geometry_get_unique_vertices_count(geom, &count)); @@ -279,10 +279,10 @@ main(int argc, char** argv) /* Successful add geometry with add callback * First half of the segments, then all of them */ add_geom_ctx.add_res = RES_OK; - OK(sg2_geometry_add(geom, nsegments / 2, nvertices, &callbacks, &ctx)); + OK(sg2_geometry_add(geom, nvertices, nsegments / 2, &callbacks, &ctx)); OK(sg2_geometry_get_added_primitives_count(geom, &count)); CHK(count == nsegments / 2); - OK(sg2_geometry_add(geom, nsegments, nvertices, &callbacks, &ctx)); + OK(sg2_geometry_add(geom, nvertices, nsegments, &callbacks, &ctx)); CHK(add_geom_ctx.add_cpt == nsegments); CHK(add_geom_ctx.merge_cpt == nsegments / 2); add_geom_ctx.add_cpt = 0; @@ -316,7 +316,7 @@ main(int argc, char** argv) /* Successful add geometry with add callback and no defined properties */ add_geom_ctx.add_res = RES_OK; callbacks.get_properties = NULL; - OK(sg2_geometry_add(geom, nsegments, nvertices, &callbacks, &ctx)); + OK(sg2_geometry_add(geom, nvertices, nsegments, &callbacks, &ctx)); CHK(add_geom_ctx.add_cpt == nsegments); CHK(add_geom_ctx.merge_cpt == 0); add_geom_ctx.add_cpt = 0; @@ -341,7 +341,7 @@ main(int argc, char** argv) /* Successful add geometry with merge callback and properties */ add_geom_ctx.merge_res = RES_OK; callbacks.get_properties = get_properties; - OK(sg2_geometry_add(geom, nsegments, nvertices, &callbacks, &ctx)); + OK(sg2_geometry_add(geom, nvertices, nsegments, &callbacks, &ctx)); CHK(add_geom_ctx.merge_cpt == nsegments); add_geom_ctx.merge_cpt = 0; OK(sg2_geometry_get_unique_vertices_count(geom, &count)); @@ -365,7 +365,7 @@ main(int argc, char** argv) /* Add geometry without merge callback and conflicts */ callbacks.merge_segment = NULL; - OK(sg2_geometry_add(geom, nsegments, nvertices, &callbacks, &ctx)); + OK(sg2_geometry_add(geom, nvertices, nsegments, &callbacks, &ctx)); CHK(add_geom_ctx.merge_cpt == 0); OK(sg2_geometry_get_unique_vertices_count(geom, &count)); CHK(count == nvertices); @@ -388,7 +388,7 @@ main(int argc, char** argv) /* Successful add geometry with merge callback */ add_geom_ctx.merge_res = RES_OK; callbacks.merge_segment = merge_seg; - OK(sg2_geometry_add(geom, nsegments, nvertices, &callbacks, &ctx)); + OK(sg2_geometry_add(geom, nvertices, nsegments, &callbacks, &ctx)); CHK(add_geom_ctx.merge_cpt == nsegments); add_geom_ctx.merge_cpt = 0; OK(sg2_geometry_get_unique_vertices_count(geom, &count)); @@ -411,7 +411,7 @@ main(int argc, char** argv) OK(sg2_geometry_create(dev, &geom)); /* Successful add geometry with merge callback */ - OK(sg2_geometry_add(geom, nsegments, nvertices, &callbacks, &ctx)); + OK(sg2_geometry_add(geom, nvertices, nsegments, &callbacks, &ctx)); OK(sg2_geometry_get_unique_primitives_with_merge_conflict_count(geom, &count)); CHK(count == 0); diff --git a/src/test_sg2_many_enclosures.c b/src/test_sg2_many_enclosures.c @@ -79,7 +79,7 @@ main(int argc, char** argv) misalignment = (k % 2) ? -0.01 : +0.01; #endif d2(ctx.offset, center_x + misalignment, center_y + misalignment); - OK(sg2_geometry_add(geom, circ_seg_count, circ_vrtx_count, &callbacks, + OK(sg2_geometry_add(geom, circ_vrtx_count, circ_seg_count, &callbacks, &ctx)); } } diff --git a/src/test_sg2_many_segments.c b/src/test_sg2_many_segments.c @@ -62,7 +62,7 @@ main(int argc, char** argv) FOR_EACH(i, 0, NB_CIRC) { m1 = i; d2(ctx.offset, 0, i * 10); - OK(sg2_geometry_add(geom, circ_seg_count, circ_vrtx_count, &callbacks, + OK(sg2_geometry_add(geom, circ_vrtx_count, circ_seg_count, &callbacks, &ctx)); } circle_release(&ctx); diff --git a/src/test_sg2_some_enclosures.c b/src/test_sg2_some_enclosures.c @@ -79,7 +79,7 @@ main(int argc, char** argv) misalignment = (k % 2) ? -0.01 : +0.01; #endif d2(ctx.offset, center_x + misalignment, center_y + misalignment); - OK(sg2_geometry_add(geom, circ_seg_count, circ_vrtx_count, &callbacks, + OK(sg2_geometry_add(geom, circ_vrtx_count, circ_seg_count, &callbacks, &ctx)); } } diff --git a/src/test_sg2_some_segments.c b/src/test_sg2_some_segments.c @@ -63,7 +63,7 @@ main(int argc, char** argv) FOR_EACH(i, 0, NB_CIRC) { m1 = i; d2(ctx.offset, 0, i * 10); - OK(sg2_geometry_add(geom, circ_seg_count, circ_vrtx_count, &callbacks, + OK(sg2_geometry_add(geom, circ_vrtx_count, circ_seg_count, &callbacks, &ctx)); } circle_release(&ctx); diff --git a/src/test_sg2_square_behind_square.c b/src/test_sg2_square_behind_square.c @@ -74,13 +74,13 @@ main(int argc, char** argv) ctx.intface = intface0; /* First square (front: 0, back: 1), right-handed normal outside */ - OK(sg2_geometry_add(geom, nsegments, nvertices, &callbacks, &ctx)); + OK(sg2_geometry_add(geom, nvertices, nsegments, &callbacks, &ctx)); d2(ctx.offset, -0.5, 2); ctx.scale = 3; /* Second square (front: 0, back: 1), right-handed normal outside */ - OK(sg2_geometry_add(geom, nsegments, nvertices, &callbacks, &ctx)); + OK(sg2_geometry_add(geom, nvertices, nsegments, &callbacks, &ctx)); OK(sg2_geometry_get_unique_primitives_with_merge_conflict_count(geom, &count)); CHK(count == 0); @@ -97,7 +97,7 @@ main(int argc, char** argv) ctx.back_media = medium0; /* Third square (front: 1, back: 0), right-handed normal outside */ - OK(sg2_geometry_add(geom, nsegments, nvertices, &callbacks, &ctx)); + OK(sg2_geometry_add(geom, nvertices, nsegments, &callbacks, &ctx)); OK(sg2_geometry_get_unique_primitives_with_merge_conflict_count(geom, &count)); CHK(count == 0); diff --git a/src/test_sg2_square_in_square.c b/src/test_sg2_square_in_square.c @@ -64,14 +64,14 @@ main(int argc, char** argv) ctx.intface = intface0; /* First square (front: 0, back: 1), right-handed normal outside */ - OK(sg2_geometry_add(geom, nsegments, nvertices, &callbacks, &ctx)); + OK(sg2_geometry_add(geom, nvertices, nsegments, &callbacks, &ctx)); d2(ctx.offset, -1, -1); ctx.scale = 3; ctx.reverse_vrtx = 1; /* Second square (front: 0, back: 1), right-handed normal inside */ - OK(sg2_geometry_add(geom, nsegments, nvertices, &callbacks, &ctx)); + OK(sg2_geometry_add(geom, nvertices, nsegments, &callbacks, &ctx)); OK(sg2_geometry_get_unique_primitives_with_merge_conflict_count(geom, &count)); CHK(count == 0); @@ -90,7 +90,7 @@ main(int argc, char** argv) ctx.back_media = medium0; /* Third square (front: 0, back: 1), right-handed normal inside */ - OK(sg2_geometry_add(geom, nsegments, nvertices, &callbacks, &ctx)); + OK(sg2_geometry_add(geom, nvertices, nsegments, &callbacks, &ctx)); OK(sg2_geometry_get_unique_primitives_with_merge_conflict_count(geom, &count)); CHK(count == 0); diff --git a/src/test_sg2_square_on_square.c b/src/test_sg2_square_on_square.c @@ -63,14 +63,14 @@ main(int argc, char** argv) /* First square (front: 0 on top face, 1 elsewhere, back: 0), * right-handed normal outside */ - OK(sg2_geometry_add(geom, nsegments, nvertices, &callbacks, &ctx)); + OK(sg2_geometry_add(geom, nvertices, nsegments, &callbacks, &ctx)); d2(ctx.offset, 1, 2); ctx.front_media = medium1_bottom0; /* Second square (front: 0 on bottom face, 1 elsewhere, back: 0), * right-handed normal outside */ - OK(sg2_geometry_add(geom, nsegments, nvertices, &callbacks, &ctx)); + OK(sg2_geometry_add(geom, nvertices, nsegments, &callbacks, &ctx)); ctx.positions = box_vertices; /* Can use distorded square for square #3 */ d2(ctx.offset, 0, 0); @@ -81,7 +81,7 @@ main(int argc, char** argv) ctx.back_media = medium1; /* Third square (front: 2, back: 1), right-handed normal inside */ - OK(sg2_geometry_add(geom, nsegments, nvertices, &callbacks, &ctx)); + OK(sg2_geometry_add(geom, nvertices, nsegments, &callbacks, &ctx)); OK(sg2_geometry_get_unique_primitives_with_merge_conflict_count(geom, &count)); CHK(count == 0); diff --git a/src/test_sg2_unspecified_properties.c b/src/test_sg2_unspecified_properties.c @@ -51,7 +51,7 @@ main(int argc, char** argv) ctx.front_media = property; ctx.back_media = medium1; ctx.intface = property; - OK(sg2_geometry_add(geom, nsegments, nvertices, &callbacks, &ctx)); + OK(sg2_geometry_add(geom, nvertices, nsegments, &callbacks, &ctx)); OK(sg2_geometry_get_unique_primitives_with_unspecified_side_count(geom, &count)); CHK(count == nsegments); OK(sg2_geometry_get_added_primitives_count(geom, &count)); @@ -59,7 +59,7 @@ main(int argc, char** argv) /* Add same geometry with no properties on front/intface */ callbacks.get_properties = get_properties; - OK(sg2_geometry_add(geom, nsegments, nvertices, &callbacks, &ctx)); + OK(sg2_geometry_add(geom, nvertices, nsegments, &callbacks, &ctx)); OK(sg2_geometry_get_unique_primitives_with_unspecified_side_count(geom, &count)); CHK(count == nsegments); OK(sg2_geometry_get_added_primitives_count(geom, &count)); @@ -71,7 +71,7 @@ main(int argc, char** argv) /* Add same geometry, front/intface properties are defined for odd segments */ FOR_EACH(i, 0, sizeof(property) / sizeof(*property)) property[i] = (i % 2) ? 0 : SG2_UNSPECIFIED_PROPERTY; - OK(sg2_geometry_add(geom, nsegments, nvertices, &callbacks, &ctx)); + OK(sg2_geometry_add(geom, nvertices, nsegments, &callbacks, &ctx)); OK(sg2_geometry_get_unique_primitives_with_unspecified_side_count(geom, &count)); CHK(count == nsegments / 2); OK(sg2_geometry_get_unique_vertices_count(geom, &count)); @@ -91,7 +91,7 @@ main(int argc, char** argv) /* Same information again, using a reversed box */ ctx.reverse_vrtx = 1; SWAP(const unsigned*, ctx.front_media, ctx.back_media); - OK(sg2_geometry_add(geom, nsegments, nvertices, &callbacks, &ctx)); + OK(sg2_geometry_add(geom, nvertices, nsegments, &callbacks, &ctx)); OK(sg2_geometry_get_unique_primitives_with_unspecified_side_count(geom, &count)); CHK(count == nsegments / 2); OK(sg2_geometry_get_added_primitives_count(geom, &count)); @@ -103,7 +103,7 @@ main(int argc, char** argv) /* Define properties for remaining segments, using reversed box */ FOR_EACH(i, 0, sizeof(property) / sizeof(*property)) property[i] = (i % 2) ? SG2_UNSPECIFIED_PROPERTY : 0; - OK(sg2_geometry_add(geom, nsegments, nvertices, &callbacks, &ctx)); + OK(sg2_geometry_add(geom, nvertices, nsegments, &callbacks, &ctx)); OK(sg2_geometry_get_unique_primitives_with_unspecified_side_count(geom, &count)); CHK(count == 0); OK(sg2_geometry_get_unique_vertices_count(geom, &count)); @@ -125,7 +125,7 @@ main(int argc, char** argv) /* Define incoherent properties for some segments */ FOR_EACH(i, 0, sizeof(property) / sizeof(*property)) property[i] = (i % 2); - OK(sg2_geometry_add(geom, nsegments, nvertices, &callbacks, &ctx)); + OK(sg2_geometry_add(geom, nvertices, nsegments, &callbacks, &ctx)); OK(sg2_geometry_get_unique_primitives_with_merge_conflict_count(geom, &count)); CHK(count == nsegments / 2); OK(sg2_geometry_get_unique_primitives_with_properties_conflict_count(geom, &count));