star-geometry-3d

Clean and decorate 3D geometries
git clone git://git.meso-star.fr/star-geometry-3d.git
Log | Files | Refs | README | LICENSE

commit 5e7f33dfc6a5ab1120f194dcd469ff659c98bc15
parent 1f2f3127500c5018b9760adc7dd025e9f19ae35b
Author: Christophe Coustet <christophe.coustet@meso-star.com>
Date:   Mon,  9 Dec 2019 10:39:46 +0100

Add tests

Diffstat:
Msrc/test_sg3_report_2.c | 32++++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+), 0 deletions(-)

diff --git a/src/test_sg3_report_2.c b/src/test_sg3_report_2.c @@ -76,6 +76,18 @@ validate return RES_OK; } +static res_T +validate2 + (const unsigned itri, + const unsigned properties[3], + void* context, + int* properties_conflict) +{ + (void)itri; (void)properties; (void)context; + *properties_conflict = (itri % 2 == 0) ? 0 : itri; + return RES_OK; +} + int main(int argc, char** argv) { @@ -364,11 +376,31 @@ main(int argc, char** argv) OK(sg3_report_get_properties_conflict_count(report, &count)); CHK(count == 0); + /* Clear geometry */ + SG3(geometry_ref_put(geometry)); + OK(sg3_report_ref_put(report)); + OK(sg3_report_create(dev, &report)); + OK(sg3_geometry_create(dev, report, &geometry)); + + /* Successful add geometry with merge callback */ + OK(sg3_geometry_add(geometry, ntriangles, get_indices, get_properties, + nvertices, get_position, add_trg, merge_trg, &ctx)); + OK(sg3_report_get_merge_conflict_count(report, &count)); + CHK(count == 0); + OK(sg3_report_validate_properties(report, validate, NULL)); OK(sg3_report_get_properties_conflict_count(report, &count)); CHK(count == 0); OK(sg3_report_dump_as_obj(report, stdout, SG3_ALL_TRIANGLES)); + OK(sg3_report_validate_properties(report, validate, NULL)); + OK(sg3_report_get_properties_conflict_count(report, &count)); + CHK(count == 0); + + OK(sg3_report_validate_properties(report, validate2, NULL)); + OK(sg3_report_get_properties_conflict_count(report, &count)); + CHK(count == ntriangles / 2); + OK(sg3_geometry_ref_put(geometry)); OK(sg3_report_ref_put(report)); OK(sg3_device_ref_put(dev));