IFClite TypeScript API
    Preparing search index...

    Interface GeneratorOptions

    interface GeneratorOptions {
        extraLines?: DrawingLine[];
        includeEdges: boolean;
        includeHiddenLines: boolean;
        includeProjection: boolean;
        mergeLines: boolean;
        onProgress?: (stage: string, progress: number) => void;
        outlineProvider?: (
            mesh: MeshData,
            axis: SectionAxis,
            flipped: boolean,
        ) => MeshOutline2D | null;
        useGPU: boolean;
    }
    Index
    extraLines?: DrawingLine[]

    Pre-projected lines merged in BEFORE the hidden-line stage (issue #2042): the section RIM of a CPU half-space clip. Build them with projectWorldLineSeeds, never a hand-rolled projection — they must share this config's plane basis and view-depth convention.

    They are classified alongside the projection lines even though they carry category: 'cut': cutter-produced cut lines sit in the plane at view depth 0 and can never be occluded, but on an oblique 3D view a rim edge can sit behind other geometry and must print dashed.

    includeEdges: boolean

    Include silhouettes and feature edges

    includeHiddenLines: boolean

    Include hidden lines in output

    includeProjection: boolean

    Include projection lines (visible geometry beyond cut)

    mergeLines: boolean

    Merge collinear line segments

    onProgress?: (stage: string, progress: number) => void

    Progress callback

    outlineProvider?: (
        mesh: MeshData,
        axis: SectionAxis,
        flipped: boolean,
    ) => MeshOutline2D | null

    Optional winding-robust outline provider (the Rust meshOutline2d WASM binding, issue #979). When supplied, non-extruded geometry projects via this footprint outline instead of the normal-based mesh silhouette (which ifc-lite's unreliable winding can break). Return null to fall back to silhouette extraction for that mesh.

    CARDINAL planes only: the callback receives just (axis, flipped) and its output is in cardinal projection space, so on a custom (face-picked) plane the generator bypasses it and uses the plane-aware silhouette path instead (PR #2644 review).

    useGPU: boolean

    Use GPU acceleration if available