/**
 * Maximum distance for text labels expressed as a ratio of distance to from the camera (0) to the
 * far plane (1.0). May be synchronized with fog value ?
 */ const DEFAULT_MAX_DISTANCE_RATIO_FOR_LABELS = 0.99 ; /**
 * Minimum scaling factor that may be applied to labels when their are distant from focus point.
 */ const DEFAULT_LABEL_DISTANCE_SCALE_MIN = 0.7 ; /**
 * Maximum scaling factor that may be applied to labels due to their distance from focus point.
 */ const DEFAULT_LABEL_DISTANCE_SCALE_MAX = 1.5 ; const DEFAULT_MAX_DISTANCE_TO_BORDER = 0.2 ; const MIN_GLYPH_COUNT = 1024 ; const MAX_GLYPH_COUNT = 32768 ; export interface TextElementsRendererOptions { /**
     * The path to the font catalog file.
     */ fontCatalog ? : string ; default minNumGlyphs ? : number ; default maxNumGlyphs ? : number ; /**
     * Limits the number of  DataSource labels visible, such as road names and POIs.
     * On small devices, you can reduce this number to to increase performance.
     *  default maxNumVisibleLabels ? : number ; /**
     * The maximum distance for  TextElement to be rendered, expressed as a fraction of
     * the distance between the near and far plane [0, 1.0].
     *  default maxDistanceRatioForTextLabels ? : number ; /**
     * The maximum distance for  TextElement with icons to be rendered,
     * expressed as a fraction of the distance
     * between the near and far plane [0, 1.0].
     *  default maxDistanceRatioForPoiLabels ? : number ; /**
     * The minimum scaling factor that may be applied to  TextElement s due to their distance.
     * If not defined the default value specified in  TextElementsRenderer will be used.
     *  default labelDistanceScaleMin ? : number ; /**
     * The maximum scaling factor that may be applied to  TextElement s due to their distance.
     * If not defined the default value specified in  TextElementsRenderer will be used.
     *  default labelDistanceScaleMax ? : number ; default disableFading ? : boolean ; default delayLabelsUntilMovementFinished ? : boolean ; default showReplacementGlyphs ? : boolean ; default maxPoiDistanceToBorder ? : number ; /**
     * An optional canvas element that renders 2D collision debug information.
     */ collisionDebugCanvas ? : HTMLCanvasElement ; } param options export function initializeDefaultOptions ( options ) { if ( options . minNumGlyphs === undefined ) { options . minNumGlyphs = MIN_GLYPH_COUNT ; } if ( options . maxNumGlyphs === undefined ) { options . maxNumGlyphs = MAX_GLYPH_COUNT ; } if ( options . labelDistanceScaleMin === undefined ) { options . labelDistanceScaleMin = DEFAULT_LABEL_DISTANCE_SCALE_MIN ; } if ( options . labelDistanceScaleMax === undefined ) { options . labelDistanceScaleMax = DEFAULT_LABEL_DISTANCE_SCALE_MAX ; } if ( options . maxDistanceRatioForTextLabels === undefined ) { options . maxDistanceRatioForTextLabels = DEFAULT_MAX_DISTANCE_RATIO_FOR_LABELS ; } if ( options . maxDistanceRatioForPoiLabels === undefined ) { options . maxDistanceRatioForPoiLabels = DEFAULT_MAX_DISTANCE_RATIO_FOR_LABELS ; } if ( options . disableFading === undefined ) { options . disableFading = false ; } if ( options . delayLabelsUntilMovementFinished === undefined ) { options . delayLabelsUntilMovementFinished = true ; } if ( options . showReplacementGlyphs === undefined ) { options . showReplacementGlyphs = false ; } if ( options . maxPoiDistanceToBorder === undefined ) { options . maxPoiDistanceToBorder = DEFAULT_MAX_DISTANCE_TO_BORDER ; } }