Polygon3D class

An outline drawn on the ground, raised height: a floor, a wall or a platform of any shape. Each of its points is (x, z) in its entity's space — Offset.dx is x, Offset.dy is z.

Inheritance

Constructors

Polygon3D({List<Offset>? points, double height = 1.0, String material = '', Color color = defaultColor, double metallic = 0.0, double roughness = 0.75, Color emission = const Color(0xFF000000), double emissionStrength = 1.0, double opacity = 1.0, bool unlit = false, String texture = '', Vector2? tiling, bool tileInMetres = false, bool castShadows = true, bool visible = true})
A prism through points (a hexagon 1 m across when none are given), 1 m tall by default.

Properties

castShadows ↔ bool
Whether it casts shadows (where shadows are on).
getter/setter pairinherited
color ↔ Color
Its colour (sRGB, as picked); multiplies the texture.
getter/setter pairinherited
componentType → Type
Every shape shares one column: an entity has one shape.
no setterinherited
doubleSided → bool
Whether its back faces are drawn too (a plane's).
no setterinherited
emission ↔ Color
The light it gives off itself (sRGB); black for none.
getter/setter pairinherited
emissionStrength ↔ double
How strongly it glows: emission times this.
getter/setter pairinherited
hashCode → int
The hash code for this object.
no setterinherited
height ↔ double
Along Y.
getter/setter pair
material ↔ String
A material file (*.material.json) it is drawn with, by path — shared with everything else drawn with it; empty for its own look, the fields below. While set, those fields are kept but not used.
getter/setter pairinherited
materialKey → Object
Equal for as long as its look stays the same.
no setterinherited
metallic ↔ double
How metallic it is, 0–1.
getter/setter pairinherited
opacity ↔ double
How opaque it is, 0–1. Below 1 it is drawn blended, after everything opaque.
getter/setter pairinherited
points ↔ List<Offset>
The outline's corners, in order round it: (x, z).
getter/setter pair
roughness ↔ double
How rough it is, 0 (a mirror) – 1 (chalk).
getter/setter pairinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
shapeKey → Object
Equal for as long as its mesh stays the same: its sizes and detail.
no setteroverride
shapeName → String
What it is called: Cube.
no setteroverride
solidKey → Object
Equal (Object.==) for as long as the shape stays the same: a reader builds its own shape again only when this changes.
no setterinherited
solidParts → List<SolidPart>
One piece when the outline is convex, else one per convex part of it.
no setteroverride
texture ↔ String
An image (asset path) on its surface; empty for none.
getter/setter pairinherited
tileInMetres ↔ bool
Whether tiling counts repeats per metre of the world, so a texture keeps its scale on shapes of any size and scale.
getter/setter pairinherited
tiling ↔ Vector2
How many times the texture repeats across a face — or per metre, with tileInMetres.
getter/setter pairinherited
unlit ↔ bool
Whether it shows its colour as it is, with no light or shade.
getter/setter pairinherited
visible ↔ bool
Whether it is drawn.
getter/setter pairinherited

Methods

boundsInto(Aabb3 out) → void
Its bounds in its entity's own space into out.
override
buildMesh([ShapeUv uv = ShapeUv.natural]) → ShapeMesh
Its triangles, textured by uv.
override
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
onAttach(EntityId entityId) → void
Called when this component is added to an entity.
inherited
onDetach(EntityId entityId) → void
Called when this component is removed from an entity.
inherited
toString() → String
A string representation of this object.
inherited
writeMaterialValues(ShapeValues values) → void
Gives values what materialKey is made from, one by one, so a renderer can tell each frame whether the look changed without making a key.
inherited
writeShapeValues(ShapeValues values) → void
Gives values what shapeKey is made from, one by one, so a renderer can tell each frame whether the mesh changed without making a key. A shape of the engine's gives plain numbers; the default gives shapeKey itself.
override

Operators

operator ==(Object other) → bool
The equality operator.
inherited

Static Methods

regular(int sides, double radius) → List<Offset>
A regular outline of sides corners on a circle of radius.