Skip to main content

LineAddOptions

Options for BimLines.add. All optional — the common case is add(slab) with no options.

Index

Properties

optionalid

id?: string

Diagnostic label for the underlying source (surfaces in aggregator validation errors). Defaults to an auto-generated line-N id. Not required to be unique.

optionalrendererOptions

rendererOptions?: Omit<LineRendererOptions, renderingGroupId>

Options for the renderer provisioned for renderingGroupId — world -space widths, depth participation, and the rest of LineRendererOptions. Applies only when this call is what provisions the group; adds to a group that already has a renderer ignore it. For full control over the renderer instance, use BimLines.useRenderer instead.

renderingGroupId is excluded: the group is renderingGroupId's to decide, so a value here would be silently ignored — the type makes that a compile error instead.

optionalrenderingGroupId

renderingGroupId?: number

Babylon rendering group to draw into. Higher groups draw on top. Must be an integer in 0..3 (Babylon's MAX_RENDERINGGROUPS) — anything else throws, because Babylon never dispatches other groups. Defaults to 0.

A renderer for the group is provisioned automatically the first time a handle targets it — no manual onRebuild wiring needed. Note that Babylon clears the depth buffer between rendering groups by default, so lines in group 1+ draw in front of all scene geometry regardless of true depth. For 3D line content that should occlude correctly, turn that off for the group: scene.setRenderingAutoClearDepthStencil(groupId, false).

optionalstyle

style?: OverridableStyle

Per-source style override (colour / width / linetype), baked into the combined slab at aggregation time. Omitted leaves the slab's own styling untouched.

optionaltransform

transform?: Matrix

Per-instance transform applied at combine time. Omitted means identity. Changing it later via LineHandle.transform re-combines the rendering group without rebuilding the slab — see the cost note there.