summaryrefslogtreecommitdiffstats
path: root/core/math/geometry.h
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2019-05-24 13:27:11 +0200
committerGitHub <noreply@github.com>2019-05-24 13:27:11 +0200
commit33239a5ada02ad05152fb4a0905261e8feddae9f (patch)
treec1efaa0fdfb3ec12392b1ebb3b07ebabb76b5d8d /core/math/geometry.h
parenteaff86f8bdcafa9fcd3a1d14ce916c06490a4c2e (diff)
parent24e9a881c0b5ec0c475e0992c723585ebcf1a570 (diff)
downloadredot-engine-33239a5ada02ad05152fb4a0905261e8feddae9f.tar.gz
Merge pull request #29127 from Xrayez/geometry-delaunay-bind
Expose 2D Delaunay triangulation in Geometry singleton
Diffstat (limited to 'core/math/geometry.h')
-rw-r--r--core/math/geometry.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/core/math/geometry.h b/core/math/geometry.h
index c62573dd13..0e144e491f 100644
--- a/core/math/geometry.h
+++ b/core/math/geometry.h
@@ -31,6 +31,7 @@
#ifndef GEOMETRY_H
#define GEOMETRY_H
+#include "core/math/delaunay.h"
#include "core/math/face3.h"
#include "core/math/rect2.h"
#include "core/math/triangulate.h"
@@ -857,6 +858,19 @@ public:
return points;
}
+ static Vector<int> triangulate_delaunay_2d(const Vector<Vector2> &p_points) {
+
+ Vector<Delaunay2D::Triangle> tr = Delaunay2D::triangulate(p_points);
+ Vector<int> triangles;
+
+ for (int i = 0; i < tr.size(); i++) {
+ triangles.push_back(tr[i].points[0]);
+ triangles.push_back(tr[i].points[1]);
+ triangles.push_back(tr[i].points[2]);
+ }
+ return triangles;
+ }
+
static Vector<int> triangulate_polygon(const Vector<Vector2> &p_polygon) {
Vector<int> triangles;