MeshGeometry class abstract interface

What the scene needs to know about a mesh, without knowing where it lives.

The scene graph asks a mesh for three things: how big it is (culling and framing), whether it has anything to draw, and — for picking and collision — its triangles. None of that requires a GPU, and stating so in an interface is what keeps lib/src/engine/scene/ free of the graphics backend.

That matters beyond tidiness. A scene layer that imports a backend can only be exercised on a device, so transform composition, culling and raycasting would all lose their unit tests to a dependency they never use. DeviceMesh in device_mesh.dart implements this; so does CpuMesh, for geometry that has no reason to be uploaded.

Implementers

Properties

boundingRadius → double
Radius of the sphere around the bounds centre, used to frame a camera.
no setter
bounds → Aabb3
Object-space bounds.
no setter
hashCode → int
The hash code for this object.
no setterinherited
indexCount → int
no setter
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
source → MeshData?
The CPU-side geometry, when it is still around.
no setter
vertexCount → int
no setter

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() → String
A string representation of this object.
inherited

Operators

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