LineHandle
Index
Properties
readonlyid
Diagnostic label (the resolved id, auto-generated if none was given).
readonlyrenderingGroupId
Rendering group this handle draws into, fixed at BimLines.add
time. Read-only by design: moving a source between groups also has to
provision (and possibly reclaim) renderers on both sides, which is
BimLines' bookkeeping, not the handle's. Remove and re-add to change
groups.
style
Per-source style override (colour / width / linetype). null clears it.
Assigning schedules a rebuild — but mutating the returned object in place
does not: nothing notifies the source when you mutate the object it
handed you. Assign a fresh object, or call markContentDirty
after an in-place edit.
transform
Per-source transform, applied at combine time. null means identity.
Not free: assigning re-combines the whole rendering group (every source in it re-transformed into the combined buffer) and re-uploads its per-instance buffers. Fine for placement edits; for per-frame animation of one source among many, expect the cost to scale with the group, not with this handle.
visible
Whether these lines appear in the next render.
Methods
markContentDirty
Signal that the current slab's typed arrays were mutated in place (for bulk producers editing content without replacing the slab). Not needed after setSlab.
Returns void
markTransformDirty
Signal that the transform matrix was mutated in place (rather than replaced with a fresh
Matrix). Assigning a newMatrixto transform already schedules a rebuild by reference; this is only needed when the same matrix instance is mutated and re-used.Returns void
remove
Unregister and dispose. The lines disappear on the next rebuild and the handle becomes inert (further mutations are no-ops). Idempotent.
Returns void
setSlab
Replace the segment content. Schedules a rebuild.
Parameters
slab: SegmentSlab
Returns void
A registered set of line segments, returned by BimLines.add. This is the whole surface a consumer needs: toggle visibility, restyle, move, replace content, or remove — all without touching StandardLineSource or LineAggregator.
The handle owns its underlying source; remove unregisters and disposes it, after which the handle is inert.