geom

GeomPolygon2D

Inherits: Node2D

A regular polygon on the canvas.

Drawing it

The code behind the picture above, where c is its centre, r is 30% of its height.

GeomDraw.polygon_angle = 0.3
GeomDraw.regular_polygon_2d_colored(c, r, 6, MINT)

Properties

float angle_degrees 90.0
BlendMode blend_mode Geom.BLEND_TRANSPARENT
bool border false
Color color Color(1, 1, 1, 1)
Color color_end Color(1, 1, 1, 1)
ColorMode color_mode Geom.COLOR_SINGLE
GeomDash dash null
float radius 64.0
ThicknessSpace radius_space Geom.SPACE_METERS
float roundness 0.0
int sides 6
float thickness 8.0
ThicknessSpace thickness_space Geom.SPACE_METERS

Enumerations

enum Geom.ThicknessSpace

Geom.SPACE_METERS = 0
Thickness in world units; shrinks on screen with distance.
Geom.SPACE_PIXELS = 1
Thickness in screen pixels; constant on-screen size.
Geom.SPACE_VIEWPORT = 2
A fraction of the viewport: 100 span its shorter side, so 1 is one percent of it and about 11 pixels at 1080p. The same idea as CSS vmin. Radii and sizes here are whole-ish numbers; strokes come out below 1, and a stroke that should stay a fixed pixel width wants SPACE_PIXELS instead.

enum Geom.ColorMode

Geom.COLOR_SINGLE = 0
One flat color.
Geom.COLOR_RADIAL = 1
Interpolate color to color_end from the center outwards.
Geom.COLOR_ANGULAR = 2
Interpolate color to color_end around the sweep.

enum Geom.BlendMode

Geom.BLEND_OPAQUE = 0
Writes depth and sorts against other geometry; hard edges, no fade.
Geom.BLEND_TRANSPARENT = 1
Standard alpha compositing. The default.
Geom.BLEND_ADDITIVE = 2
Brightens what is behind. Good for glows.
Geom.BLEND_MULTIPLY = 3
Darkens what is behind. Good for tints.
Geom.BLEND_SUBTRACT = 4
Subtracts this color from the background.
Geom.BLEND_TRANSPARENT_DEPTH = 5
Transparent, but writing depth so shapes occlude by position.

Property descriptions

float angle_degrees = 90.0

Rotates the polygon about its own center. The angle points at an edge's midpoint rather than at a vertex, so the vertices sit half a segment either side of it.

BlendMode blend_mode = Geom.BLEND_TRANSPARENT

How the shape combines with what is behind it. Transparent Depth is a 3D idea and behaves exactly like Transparent here, a canvas having no depth buffer.

bool border = false

Draw an outline of thickness instead of a fill.

Color color = Color(1, 1, 1, 1)

Fill color, or the wall's color for an outline.

Color color_end = Color(1, 1, 1, 1)

The far end of the gradient. Ignored unless color_mode is something other than Single.

ColorMode color_mode = Geom.COLOR_SINGLE

Single flat color, or a Radial or Angular gradient between color and color_end.

GeomDash dash = null

Assign a GeomDash to dash this shape; leave empty for solid.

float radius = 64.0

Center to vertex, not center to edge.

ThicknessSpace radius_space = Geom.SPACE_METERS

Whether radius is measured in canvas units or in pixels. Canvas units zoom with the view like ordinary 2D content; pixels hold their size on screen through a zoom, which is what a HUD wants. Either way the node's scale multiplies it.

float roundness = 0.0

Corner rounding, 0 for sharp corners through to 1 for exactly the inscribed circle.

int sides = 6

Three or more; clamped to 255.

float thickness = 8.0

Wall thickness, used only when border is set.

ThicknessSpace thickness_space = Geom.SPACE_METERS

Whether thickness is measured in canvas units or in pixels. Canvas units zoom with the view like ordinary 2D content; pixels hold their size on screen through a zoom, which is what a HUD wants. Either way the node's scale multiplies it.