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