OptionalboundsOptionalcameraCamera state from bim.viewer.getCamera(). position/target/up are
REQUIRED if camera is passed at all — createViewpoint() throws
IncompleteCameraStateError rather than building a viewpoint with
missing coordinates (#4251). bim.viewer.getCamera() returns only
{ mode } when no viewport is mounted (headless, or before first
paint); callers in that situation must supply position/target/up
themselves or omit camera.
The SDK's CameraState carries no field-of-view (the renderer's real
FOV isn't part of its public surface), so the viewpoint's FOV is always
written as a fixed default (Math.PI / 4), matching the placeholder
@ifc-lite/bcf itself uses for orthographic cameras.
OptionalcomponentsComponent selection/visibility
OptionalsectionSection plane from bim.viewer.getSection(). Requires bounds (below)
when enabled is true — see bounds.
OptionalsectionEvery cutting plane from bim.viewer.getSections() (#7545): each enabled one becomes an entry of
the viewpoint's ClippingPlanes, in order. Takes the place of sectionPlane when given, and
needs bounds for the same reason.
The model's overall axis-aligned bounding box, REQUIRED when
sectionPlane.enabledis true —@ifc-lite/bcfneeds it to convert a percentage-along-axis section plane into an absolute clipping-plane location, and nothing in the SDK's public surface (bim.viewer.*,bim.spatial.*) can compute a model's bounds (bim.spatial.queryBoundsdoes the reverse: it queries entities inside an already-known box). OmittingboundswhilesectionPlane.enabledis true throwsMissingSectionBoundsErrorinstead of silently dropping the clipping plane (#4251).