summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChaosus <chaosus89@gmail.com>2019-03-19 19:59:24 +0300
committerChaosus <chaosus89@gmail.com>2019-03-19 20:32:10 +0300
commit61b22beeae31590fc726cb593252c6fa5edc13d5 (patch)
tree9f2e4e33ee6f9fe21e7654b10a728bbcc9fa0b6c
parentdf7d3708c5b535c3696943322a14ec19a175e30c (diff)
Added method to clear all points in Line2D
-rw-r--r--doc/classes/Line2D.xml7
-rw-r--r--scene/2d/line_2d.cpp10
-rw-r--r--scene/2d/line_2d.h2
3 files changed, 19 insertions, 0 deletions
diff --git a/doc/classes/Line2D.xml b/doc/classes/Line2D.xml
index c1682e71e5..bd47c3177a 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.
</description>
</method>
+ <method name="clear_points">
+ <return type="void">
+ </return>
+ <description>
+ Removes all points from the line.
+ </description>
+ </method>
<method name="get_point_count" qualifiers="const">
<return type="int">
</return>
diff --git a/scene/2d/line_2d.cpp b/scene/2d/line_2d.cpp
index 105eb82afb..73692e0535 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 5bbd38e460..32befab2d3 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);