Merge pull request #30105 from Xrayez/bind-pip-geometry
Bind is_point_in_polygon in Geometry singleton
This commit is contained in:
commit
d8c9646118
3 changed files with 18 additions and 0 deletions
|
@ -1524,6 +1524,11 @@ bool _Geometry::is_polygon_clockwise(const Vector<Vector2> &p_polygon) {
|
|||
return Geometry::is_polygon_clockwise(p_polygon);
|
||||
}
|
||||
|
||||
bool _Geometry::is_point_in_polygon(const Point2 &p_point, const Vector<Vector2> &p_polygon) {
|
||||
|
||||
return Geometry::is_point_in_polygon(p_point, p_polygon);
|
||||
}
|
||||
|
||||
Vector<int> _Geometry::triangulate_polygon(const Vector<Vector2> &p_polygon) {
|
||||
|
||||
return Geometry::triangulate_polygon(p_polygon);
|
||||
|
@ -1706,6 +1711,7 @@ void _Geometry::_bind_methods() {
|
|||
ClassDB::bind_method(D_METHOD("point_is_inside_triangle", "point", "a", "b", "c"), &_Geometry::point_is_inside_triangle);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("is_polygon_clockwise", "polygon"), &_Geometry::is_polygon_clockwise);
|
||||
ClassDB::bind_method(D_METHOD("is_point_in_polygon", "point", "polygon"), &_Geometry::is_point_in_polygon);
|
||||
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);
|
||||
|
|
|
@ -408,6 +408,7 @@ public:
|
|||
int get_uv84_normal_bit(const Vector3 &p_vector);
|
||||
|
||||
bool is_polygon_clockwise(const Vector<Vector2> &p_polygon);
|
||||
bool is_point_in_polygon(const Point2 &p_point, 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);
|
||||
|
|
|
@ -216,6 +216,17 @@
|
|||
Intersects [code]polyline[/code] with [code]polygon[/code] and returns an array of intersected polylines. This performs [code]OPERATION_INTERSECTION[/code] between the polyline and the polygon. This operation can be thought of as chopping a line with a closed shape.
|
||||
</description>
|
||||
</method>
|
||||
<method name="is_point_in_polygon">
|
||||
<return type="bool">
|
||||
</return>
|
||||
<argument index="0" name="point" type="Vector2">
|
||||
</argument>
|
||||
<argument index="1" name="polygon" type="PoolVector2Array">
|
||||
</argument>
|
||||
<description>
|
||||
Returns [code]true[/code] if [code]point[/code] is inside [code]polygon[/code] or if it's located exactly [i]on[/i] polygon's boundary, otherwise returns [code]false[/code].
|
||||
</description>
|
||||
</method>
|
||||
<method name="is_polygon_clockwise">
|
||||
<return type="bool">
|
||||
</return>
|
||||
|
|
Loading…
Reference in a new issue