diff options
author | Andrii Doroshenko (Xrayez) <xrayez@gmail.com> | 2019-05-23 16:53:53 +0300 |
---|---|---|
committer | Andrii Doroshenko (Xrayez) <xrayez@gmail.com> | 2019-05-24 13:10:13 +0300 |
commit | 24e9a881c0b5ec0c475e0992c723585ebcf1a570 (patch) | |
tree | 5d156d87f4f287e2eb85cdc32229195932b434c0 /core/bind | |
parent | 1deb41226d5219346157744eed5fe85b7069c3d4 (diff) |
Expose 2D Delaunay triangulation in Geometry singleton
Can be used via scripting as `Geometry.triangulate_delaunay_2d(points)`
The interface is the same as in `Triangulate` library, returning indices
into triangulated points.
Diffstat (limited to 'core/bind')
-rw-r--r-- | core/bind/core_bind.cpp | 6 | ||||
-rw-r--r-- | core/bind/core_bind.h | 1 |
2 files changed, 7 insertions, 0 deletions
diff --git a/core/bind/core_bind.cpp b/core/bind/core_bind.cpp index 7562c82e8a..ddb60e1345 100644 --- a/core/bind/core_bind.cpp +++ b/core/bind/core_bind.cpp @@ -1501,6 +1501,11 @@ Vector<int> _Geometry::triangulate_polygon(const Vector<Vector2> &p_polygon) { return Geometry::triangulate_polygon(p_polygon); } +Vector<int> _Geometry::triangulate_delaunay_2d(const Vector<Vector2> &p_points) { + + return Geometry::triangulate_delaunay_2d(p_points); +} + Vector<Point2> _Geometry::convex_hull_2d(const Vector<Point2> &p_points) { return Geometry::convex_hull_2d(p_points); @@ -1674,6 +1679,7 @@ void _Geometry::_bind_methods() { ClassDB::bind_method(D_METHOD("is_polygon_clockwise", "polygon"), &_Geometry::is_polygon_clockwise); ClassDB::bind_method(D_METHOD("triangulate_polygon", "polygon"), &_Geometry::triangulate_polygon); + ClassDB::bind_method(D_METHOD("triangulate_delaunay_2d", "points"), &_Geometry::triangulate_delaunay_2d); ClassDB::bind_method(D_METHOD("convex_hull_2d", "points"), &_Geometry::convex_hull_2d); ClassDB::bind_method(D_METHOD("clip_polygon", "points", "plane"), &_Geometry::clip_polygon); diff --git a/core/bind/core_bind.h b/core/bind/core_bind.h index 561449f29e..d4fa3bc735 100644 --- a/core/bind/core_bind.h +++ b/core/bind/core_bind.h @@ -404,6 +404,7 @@ public: bool is_polygon_clockwise(const Vector<Vector2> &p_polygon); Vector<int> triangulate_polygon(const Vector<Vector2> &p_polygon); + Vector<int> triangulate_delaunay_2d(const Vector<Vector2> &p_points); Vector<Point2> convex_hull_2d(const Vector<Point2> &p_points); Vector<Vector3> clip_polygon(const Vector<Vector3> &p_points, const Plane &p_plane); |