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:
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));