From c29e4ecb7de4cb10f48b2526bc1abae847c718e2 Mon Sep 17 00:00:00 2001 From: pacien Date: Thu, 28 Dec 2017 01:19:45 +0100 Subject: Add new geometry common types and functions Signed-off-by: pacien --- test/common/geom.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 test/common/geom.c (limited to 'test/common/geom.c') diff --git a/test/common/geom.c b/test/common/geom.c new file mode 100644 index 0000000..f05e0a1 --- /dev/null +++ b/test/common/geom.c @@ -0,0 +1,21 @@ +#include "common/geom.h" +#include + +static void test_square_area() { + assert(square_area(v(0, 0), v(10, 0), v(10, 10)) == 100); + assert(square_area(v(0, 0), v(0, 10), v(10, 10)) == -100); +} + +static void test_cartesian_barycentric_vectors() { + Triangle t = {{v(0, 0), v(10, 0), v(10, 10)}}; + CartesianVector c = v(3, 2); + BarycentricVector bv = cartesian_to_barycentric(t, c); + assert(barycentric_vector_equals(bv, b(0.7, 0.1))); + assert(vector_equals(barycentric_to_cartesian(t, bv), c)); +} + +int main(int argc, char **argv) { + test_square_area(); + test_cartesian_barycentric_vectors(); + return 0; +} -- cgit v1.2.3