From 61b22beeae31590fc726cb593252c6fa5edc13d5 Mon Sep 17 00:00:00 2001 From: Chaosus Date: Tue, 19 Mar 2019 19:59:24 +0300 Subject: [PATCH] Added method to clear all points in Line2D --- doc/classes/Line2D.xml | 7 +++++++ scene/2d/line_2d.cpp | 10 ++++++++++ scene/2d/line_2d.h | 2 ++ 3 files changed, 19 insertions(+) diff --git a/doc/classes/Line2D.xml b/doc/classes/Line2D.xml index c1682e71e5b..bd47c3177ab 100644 --- a/doc/classes/Line2D.xml +++ b/doc/classes/Line2D.xml @@ -20,6 +20,13 @@ Add a point at the [code]position[/code]. Appends the point at the end of the line. + + + + + Removes all points from the line. + + diff --git a/scene/2d/line_2d.cpp b/scene/2d/line_2d.cpp index 105eb82afbc..73692e05356 100644 --- a/scene/2d/line_2d.cpp +++ b/scene/2d/line_2d.cpp @@ -112,6 +112,14 @@ int Line2D::get_point_count() const { return _points.size(); } +void Line2D::clear_points() { + int count = _points.size(); + if (count > 0) { + _points.resize(0); + update(); + } +} + void Line2D::add_point(Vector2 pos) { _points.append(pos); update(); @@ -313,6 +321,8 @@ void Line2D::_bind_methods() { ClassDB::bind_method(D_METHOD("add_point", "position"), &Line2D::add_point); ClassDB::bind_method(D_METHOD("remove_point", "i"), &Line2D::remove_point); + ClassDB::bind_method(D_METHOD("clear_points"), &Line2D::clear_points); + ClassDB::bind_method(D_METHOD("set_width", "width"), &Line2D::set_width); ClassDB::bind_method(D_METHOD("get_width"), &Line2D::get_width); diff --git a/scene/2d/line_2d.h b/scene/2d/line_2d.h index 5bbd38e460e..32befab2d3f 100644 --- a/scene/2d/line_2d.h +++ b/scene/2d/line_2d.h @@ -70,6 +70,8 @@ public: int get_point_count() const; + void clear_points(); + void add_point(Vector2 pos); void remove_point(int i);