Polygon2D

Inherits: Node2D < CanvasItem < Node < Object

Category: Core

Brief Description

2D polygon representation

Member Functions

Color

get_color ( ) const

bool

get_invert ( ) const

float

get_invert_border ( ) const

Vector2

get_offset ( ) const

Vector2Array

get_polygon ( ) const

Object

get_texture ( ) const

Vector2

get_texture_offset ( ) const

float

get_texture_rotation ( ) const

Vector2

get_texture_scale ( ) const

Vector2Array

get_uv ( ) const

ColorArray

get_vertex_colors ( ) const

void

set_color ( Color color )

void

set_invert ( bool invert )

void

set_invert_border ( float invert_border )

void

set_offset ( Vector2 offset )

void

set_polygon ( Vector2Array polygon )

void

set_texture ( Object texture )

void

set_texture_offset ( Vector2 texture_offset )

void

set_texture_rotation ( float texture_rotation )

void

set_texture_scale ( Vector2 texture_scale )

void

set_uv ( Vector2Array uv )

void

set_vertex_colors ( ColorArray vertex_colors )

Description

A Polygon2D is defined by a set of n vertices connected together by line segments, meaning that the vertex 1 will be connected with vertex 2, vertex 2 with vertex 3 …, vertex n-1 with vertex n and vertex n with vertex 1 in order to close the loop and define a polygon.

Member Function Description

  • Color get_color ( ) const

Return the polygon fill color.

  • bool get_invert ( ) const

Return whether this polygon is inverted or not.

  • float get_invert_border ( ) const

Return the added padding around the bounding box.

Return the offset for the polygon vertices.

Return the set of vertices that defines this polygon.

  • Object get_texture ( ) const

Return the polygon texture

  • Vector2 get_texture_offset ( ) const

Return the polygon texture offset.

  • float get_texture_rotation ( ) const

Return the rotation in radians of the texture polygon.

  • Vector2 get_texture_scale ( ) const

Return the uv coordinate multiplier.

Return the texture coordinates associated with every vertex of the polygon.

Return the list of vertex colors.

  • void set_color ( Color color )

Set the polygon fill color. If the polygon has a texture defined, the defined texture will be multiplied by the polygon fill color. This, also, is the default color for those vertices that are not defined by get_vertex_colors.

  • void set_invert ( bool invert )

Set the polygon as the defined polygon bounding box minus the defined polygon (the defined polygon will appear as a hole on the square that contains the defined polygon).

  • void set_invert_border ( float invert_border )

Add extra padding around the bounding box, making it bigger. Too small a value can make the polygon triangulate strangely, due to numerical imprecision.

  • void set_offset ( Vector2 offset )

Set the an offset that will be added to the vertices’ position. E.g. if the offset is set to (10,10) then all the polygon points will move 10 units to the right and 10 units to the bottom.

Define the set of vertices that will represent the polygon.

  • void set_texture ( Object texture )

Set the polygon texture.

  • void set_texture_offset ( Vector2 texture_offset )

Set the offset of the polygon texture. Initially the texture will appear anchored to the polygon position, the offset is used to move the texture location away from that point (notice that the texture origin is set to its top left corner, so when offset is 0,0 the top left corner of the texture is at the polygon position), for example setting the offset to 10, 10 will move the texture 10 units to the left and 10 units to the top.

  • void set_texture_rotation ( float texture_rotation )

Set the amount of rotation of the polygon texture, texture_rotation is specified in radians and clockwise rotation.

  • void set_texture_scale ( Vector2 texture_scale )

Set the value that will multiply the uv coordinates (get_uv) when applying the texture. Larger values make the texture smaller, and vice versa.

Set the texture coordinates for every vertex of the polygon. There should be one uv vertex for every vertex in the polygon. If there are less, the undefined ones will be assumed to be (0,0). Extra uv vertices are ignored.

  • void set_vertex_colors ( ColorArray vertex_colors )

Set the color for each vertex of the polygon. There should be one color for every vertex in the polygon. If there are less, the undefined ones will be assumed to be get_color. Extra color entries are ignored.

Colors are interpolated between vertices, resulting in smooth gradients when they differ.