commit 2e74745c9d1e0c558f0d138d61c7e6fae2a58eb5
parent e24675d4017ca2f1cd5ac5d17018b1265cfca0b5
Author: Vincent Forest <vincent.forest@meso-star.com>
Date: Mon, 20 Jun 2016 08:43:19 +0200
Implement the line_segments_compute_aabb backend function
Diffstat:
1 file changed, 24 insertions(+), 0 deletions(-)
diff --git a/src/s2d_line_segments.c b/src/s2d_line_segments.c
@@ -479,3 +479,27 @@ error:
goto exit;
}
+void
+line_segments_compute_aabb
+ (struct line_segments* line,
+ float lower[2],
+ float upper[2])
+{
+ float* pos;
+ size_t ivert, nverts;
+ ASSERT(line && lower && upper);
+
+ f2_splat(lower, FLT_MAX);
+ f2_splat(upper,-FLT_MAX);
+
+ nverts = line_segments_get_nverts(line);
+ if(!nverts) return;
+
+ pos = line_segments_get_pos(line);
+ FOR_EACH(ivert, 0, nverts) {
+ const size_t ipos = ivert * 2/*#coords per vertex*/;
+ f2_min(lower, lower, pos + ipos);
+ f2_max(upper, upper, pos + ipos);
+ }
+}
+