aboutsummaryrefslogtreecommitdiff
path: root/src/math/triangulate.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/math/triangulate.rs')
-rw-r--r--src/math/triangulate.rs12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/math/triangulate.rs b/src/math/triangulate.rs
new file mode 100644
index 0000000..8ef92f1
--- /dev/null
+++ b/src/math/triangulate.rs
@@ -0,0 +1,12 @@
+//! Module for turning a polygon into a number of non-overlapping triangles.
+
+use super::{Polygon, Triangle};
+use nalgebra::Scalar;
+
+/// Uses earclipping algorithm (see https://www.geometrictools.com/Documentation/TriangulationByEarClipping.pdf)
+/// to find an explanation of what exactly is happening.
+/// Currently only handles simple polygons, but once the polygon struct supports holes must be
+/// extended to also support those.
+pub fn triangulate<T: Scalar + Copy>(_polygon: &Polygon<T>) -> Vec<Triangle<T>> {
+ unimplemented!()
+}