GeometryBuilder class
Assembles a MeshGeometry one vertex and triangle at a time.
The attribute setters (normal, texCoord, color) are sticky: each value applies to every addVertex call that follows until it is changed. addVertex returns the index of the added vertex; when deduplicate is set, a vertex equal to one already added is merged and the existing index is returned instead.
final geometry = (GeometryBuilder()
..color(Vector4(1, 0, 0, 1))
..addVertex(Vector3(0, 0, 0))
..addVertex(Vector3(1, 0, 0))
..addVertex(Vector3(0, 1, 0))
..addTriangle(0, 1, 2))
.build();
Constructors
- GeometryBuilder({bool deduplicate = true})
- Creates an empty builder.
Properties
- deduplicate → bool
-
Whether addVertex merges a vertex equal to one already added.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- triangleCount → int
-
The number of triangles added so far.
no setter
- vertexCount → int
-
The number of vertices added so far.
no setter
Methods
-
addTriangle(
int a, int b, int c) → GeometryBuilder - Adds a triangle referencing three previously added vertex indices.
-
addVertex(
Vector3 position) → int -
Adds a vertex at
positioncarrying the current sticky attributes and returns its index. -
build(
{GeometryStorage storage = GeometryStorage.fixed}) → MeshGeometry - Builds and GPU-uploads the accumulated mesh.
-
color(
Vector4 value) → GeometryBuilder - Sets the color applied to vertices added after this call.
-
normal(
Vector3 value) → GeometryBuilder - Sets the normal applied to vertices added after this call.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
packVertices(
) → Uint8List - Packs the accumulated vertices into the interleaved layout.
-
texCoord(
Vector2 value) → GeometryBuilder - Sets the texture coordinate applied to vertices added after this call.
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited