Painter + optional material-parameter override for a single IFC type.

Used as the value type in DEFAULT_IFC_PAINTERS and in the painters override map accepted by applyIFCMaterials.

interface IfcPainterEntry {
    material?: {
        alphaMode?: "OPAQUE" | "MASK" | "BLEND";
        color?: [number, number, number];
        hatchPattern?: HatchStyle | HatchParams;
        opacity?: number;
    };
    paint: (size: number) => MaterialMaps;
}

Properties

Properties

material?: {
    alphaMode?: "OPAQUE" | "MASK" | "BLEND";
    color?: [number, number, number];
    hatchPattern?: HatchStyle | HatchParams;
    opacity?: number;
}

Optional non-texture material parameters merged into the generated SceneMaterial. Useful for transparent dielectrics (windows, curtain wall) where opacity and alphaMode matter, for adding a per-type colour multiplier, and for tagging the material with an engineering hatch pattern (consumed by the section-plane cap pass and the Detailed-mode hatched body shading — view.effects.bodyHatch).

Type declaration

  • OptionalalphaMode?: "OPAQUE" | "MASK" | "BLEND"
  • Optionalcolor?: [number, number, number]
  • OptionalhatchPattern?: HatchStyle | HatchParams

    ANSI / ISO hatch convention for the IFC type, applied to the section-plane cap and (in DetailedRender) overlaid on the body. Accepts either a named style or full params. Realistic mode ignores it and renders PBR.

  • Optionalopacity?: number
paint: (size: number) => MaterialMaps

Painter producing the MaterialMaps triple for this IFC type. Receives the requested texture size in pixels (square).