Add method bind for `Geometry2D.decompose_polygon_in_convex`
This commit is contained in:
parent
c8a0912f36
commit
623e23c625
|
@ -709,6 +709,17 @@ Vector<Point2> Geometry2D::convex_hull(const Vector<Point2> &p_points) {
|
||||||
return ::Geometry2D::convex_hull(p_points);
|
return ::Geometry2D::convex_hull(p_points);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TypedArray<PackedVector2Array> Geometry2D::decompose_polygon_in_convex(const Vector<Vector2> &p_polygon) {
|
||||||
|
Vector<Vector<Point2>> decomp = ::Geometry2D::decompose_polygon_in_convex(p_polygon);
|
||||||
|
|
||||||
|
TypedArray<PackedVector2Array> ret;
|
||||||
|
|
||||||
|
for (int i = 0; i < decomp.size(); ++i) {
|
||||||
|
ret.push_back(decomp[i]);
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
TypedArray<PackedVector2Array> Geometry2D::merge_polygons(const Vector<Vector2> &p_polygon_a, const Vector<Vector2> &p_polygon_b) {
|
TypedArray<PackedVector2Array> Geometry2D::merge_polygons(const Vector<Vector2> &p_polygon_a, const Vector<Vector2> &p_polygon_b) {
|
||||||
Vector<Vector<Point2>> polys = ::Geometry2D::merge_polygons(p_polygon_a, p_polygon_b);
|
Vector<Vector<Point2>> polys = ::Geometry2D::merge_polygons(p_polygon_a, p_polygon_b);
|
||||||
|
|
||||||
|
@ -840,6 +851,7 @@ void Geometry2D::_bind_methods() {
|
||||||
ClassDB::bind_method(D_METHOD("triangulate_polygon", "polygon"), &Geometry2D::triangulate_polygon);
|
ClassDB::bind_method(D_METHOD("triangulate_polygon", "polygon"), &Geometry2D::triangulate_polygon);
|
||||||
ClassDB::bind_method(D_METHOD("triangulate_delaunay", "points"), &Geometry2D::triangulate_delaunay);
|
ClassDB::bind_method(D_METHOD("triangulate_delaunay", "points"), &Geometry2D::triangulate_delaunay);
|
||||||
ClassDB::bind_method(D_METHOD("convex_hull", "points"), &Geometry2D::convex_hull);
|
ClassDB::bind_method(D_METHOD("convex_hull", "points"), &Geometry2D::convex_hull);
|
||||||
|
ClassDB::bind_method(D_METHOD("decompose_polygon_in_convex", "polygon"), &Geometry2D::decompose_polygon_in_convex);
|
||||||
|
|
||||||
ClassDB::bind_method(D_METHOD("merge_polygons", "polygon_a", "polygon_b"), &Geometry2D::merge_polygons);
|
ClassDB::bind_method(D_METHOD("merge_polygons", "polygon_a", "polygon_b"), &Geometry2D::merge_polygons);
|
||||||
ClassDB::bind_method(D_METHOD("clip_polygons", "polygon_a", "polygon_b"), &Geometry2D::clip_polygons);
|
ClassDB::bind_method(D_METHOD("clip_polygons", "polygon_a", "polygon_b"), &Geometry2D::clip_polygons);
|
||||||
|
|
|
@ -289,6 +289,7 @@ public:
|
||||||
Vector<int> triangulate_polygon(const Vector<Vector2> &p_polygon);
|
Vector<int> triangulate_polygon(const Vector<Vector2> &p_polygon);
|
||||||
Vector<int> triangulate_delaunay(const Vector<Vector2> &p_points);
|
Vector<int> triangulate_delaunay(const Vector<Vector2> &p_points);
|
||||||
Vector<Point2> convex_hull(const Vector<Point2> &p_points);
|
Vector<Point2> convex_hull(const Vector<Point2> &p_points);
|
||||||
|
TypedArray<PackedVector2Array> decompose_polygon_in_convex(const Vector<Vector2> &p_polygon);
|
||||||
|
|
||||||
enum PolyBooleanOperation {
|
enum PolyBooleanOperation {
|
||||||
OPERATION_UNION,
|
OPERATION_UNION,
|
||||||
|
|
|
@ -33,6 +33,13 @@
|
||||||
Given an array of [Vector2]s, returns the convex hull as a list of points in counterclockwise order. The last point is the same as the first one.
|
Given an array of [Vector2]s, returns the convex hull as a list of points in counterclockwise order. The last point is the same as the first one.
|
||||||
</description>
|
</description>
|
||||||
</method>
|
</method>
|
||||||
|
<method name="decompose_polygon_in_convex">
|
||||||
|
<return type="PackedVector2Array[]" />
|
||||||
|
<param index="0" name="polygon" type="PackedVector2Array" />
|
||||||
|
<description>
|
||||||
|
Decomposes the [param polygon] into multiple convex hulls and returns an array of [PackedVector2Array].
|
||||||
|
</description>
|
||||||
|
</method>
|
||||||
<method name="exclude_polygons">
|
<method name="exclude_polygons">
|
||||||
<return type="PackedVector2Array[]" />
|
<return type="PackedVector2Array[]" />
|
||||||
<param index="0" name="polygon_a" type="PackedVector2Array" />
|
<param index="0" name="polygon_a" type="PackedVector2Array" />
|
||||||
|
|
Loading…
Reference in New Issue