UNPKG

@itwin/core-common

Version:

iTwin.js components common to frontend and backend

72 lines 3.29 kB
/** @packageDocumentation * @module Symbology */ import { Id64String } from "@itwin/core-bentley"; import { Transform, Vector3d, XYZProps, YawPitchRollAngles, YawPitchRollProps } from "@itwin/core-geometry"; /** @public */ export declare namespace LineStyle { /** Modify the line style appearance without changing the line style definition. * Applies to the style previously established by a [[GeometryAppearanceProps]] or current [[SubCategoryAppearance]]. * Most of the modifiers affect the line style stroke pattern, with the orientation and scales being the exception. * @see [[GeometryStreamEntryProps]] */ interface ModifierProps { /** Optional scale to apply to all length values, 1.0 if undefined */ scale?: number; /** Optional scale to apply to scalable dashes, 1.0 if undefined */ dashScale?: number; /** Optional scale to apply to scalable gaps, 1.0 if undefined */ gapScale?: number; /** Optional start width in meters to apply to dashes, no width if undefined */ startWidth?: number; /** Optional end width in meters to apply to dashes, same as startWidth if undefined */ endWidth?: number; /** Optional shift by distance in meters, 0.0 if undefined */ distPhase?: number; /** Optional shift by fraction, 0.0 if undefined */ fractPhase?: number; /** Optional flag to center stroke pattern and stretch ends, false if undefined */ centerPhase?: boolean; /** Optional flag to enable or disable single segment mode */ segmentMode?: boolean; /** Optional flag that denotes startWidth and endWidth represent physical widths that should not be affected by scale, false if undefined */ physicalWidth?: boolean; /** Optional up vector for style (applicable to 3d only), 0.0,0.0,1.0 if undefined */ normal?: XYZProps; /** Optional orientation for style (applicable to 3d only), 0.0,0.0,0.0 if undefined */ rotation?: YawPitchRollProps; } /** Optional modifiers to override line style definition */ class Modifier implements ModifierProps { scale?: number; dashScale?: number; gapScale?: number; startWidth?: number; endWidth?: number; distPhase?: number; fractPhase?: number; centerPhase?: boolean; segmentMode?: boolean; physicalWidth?: boolean; normal?: Vector3d; rotation?: YawPitchRollAngles; /** constructor for LineStyle.Modifier */ constructor(props: ModifierProps); /** Returns a deep copy of this object. */ clone(): Modifier; /** Compare two LineStyle.Modifier for equivalence */ equals(other: Modifier): boolean; applyTransform(transform: Transform): boolean; } /** Line style id and optional modifiers to override line style definition */ class Info { styleId: Id64String; styleMod?: Modifier; /** Creates a LineStyle.Info object */ constructor(styleId: Id64String, styleMod?: Modifier); /** Returns a deep copy of this object. */ clone(): Info; equals(other: Info): boolean; } } //# sourceMappingURL=LineStyle.d.ts.map