Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHoward Trickey <howard.trickey@gmail.com>2021-07-20 14:28:46 +0300
committerHoward Trickey <howard.trickey@gmail.com>2021-07-20 14:28:46 +0300
commit9471715720489b36f2472f00363440546e9a07a5 (patch)
treec8aee2114765dc13ed39a47eb48464ae0de943e2 /source/blender/blenlib/tests/BLI_delaunay_2d_test.cc
parent75c9788c2753efb75e604d56aea2ed7f3be8b4e4 (diff)
Fix crash in delaunay C interface test.
The test forgot to set the new need_ids field, which luckily exposed a bug in the C api for delaunay when that field is false. Fixed the bug and the test, and added a test for the need_ids false case.
Diffstat (limited to 'source/blender/blenlib/tests/BLI_delaunay_2d_test.cc')
-rw-r--r--source/blender/blenlib/tests/BLI_delaunay_2d_test.cc25
1 files changed, 25 insertions, 0 deletions
diff --git a/source/blender/blenlib/tests/BLI_delaunay_2d_test.cc b/source/blender/blenlib/tests/BLI_delaunay_2d_test.cc
index bc6b7e9fe4e..cd2d48eac4d 100644
--- a/source/blender/blenlib/tests/BLI_delaunay_2d_test.cc
+++ b/source/blender/blenlib/tests/BLI_delaunay_2d_test.cc
@@ -1756,9 +1756,34 @@ TEST(delaunay_d, CintTwoFace)
input.faces_len_table = faces_len;
input.faces_start_table = faces_start;
input.epsilon = 1e-5f;
+ input.need_ids = false;
::CDT_result *output = BLI_delaunay_2d_cdt_calc(&input, CDT_FULL);
BLI_delaunay_2d_cdt_free(output);
}
+
+TEST(delaunay_d, CintTwoFaceNoIds)
+{
+ float vert_coords[][2] = {
+ {0.0, 0.0}, {1.0, 0.0}, {0.5, 1.0}, {1.1, 1.0}, {1.1, 0.0}, {1.6, 1.0}};
+ int faces[] = {0, 1, 2, 3, 4, 5};
+ int faces_len[] = {3, 3};
+ int faces_start[] = {0, 3};
+
+ ::CDT_input input;
+ input.verts_len = 6;
+ input.edges_len = 0;
+ input.faces_len = 2;
+ input.vert_coords = vert_coords;
+ input.edges = nullptr;
+ input.faces = faces;
+ input.faces_len_table = faces_len;
+ input.faces_start_table = faces_start;
+ input.epsilon = 1e-5f;
+ input.need_ids = true;
+ ::CDT_result *output = BLI_delaunay_2d_cdt_calc(&input, CDT_FULL);
+ BLI_delaunay_2d_cdt_free(output);
+}
+
#endif
#if DO_TEXT_TESTS