import type Color from "../../Color.js"; import type { JSONSupport } from "../../core/JSONSupport.js"; import type { ColorLike } from "../../Color.js"; export interface Edges3DProperties { /** * The color of the edges. * This can be autocast with an array of rgb(a) values, named string, hex string or an hsl(a) string, * an object with `r`, `g`, `b`, and `a` properties, or a [Color](https://developers.arcgis.com/javascript/latest/references/core/Color/) object. * * @default "black" */ color?: ColorLike | null; /** * A size in points by which to extend edges beyond their original end points. * * @default 0 */ extensionLength?: number | string; /** * The size of the edges in points. This value may be autocast with a string expressing size in points or pixels (e.g. `12px`). * * @default 1px */ size?: number | string; } /** * Edges3D is the base class for symbol classes that add edge rendering visualization to existing symbols. * Edge rendering visualization is specific for 3D visualizations and can only be applied to [FillSymbol3DLayer](https://developers.arcgis.com/javascript/latest/references/core/symbols/FillSymbol3DLayer/) * on [MeshSymbol3D](https://developers.arcgis.com/javascript/latest/references/core/symbols/MeshSymbol3D/) or [ExtrudeSymbol3DLayer](https://developers.arcgis.com/javascript/latest/references/core/symbols/ExtrudeSymbol3DLayer/) on [PolygonSymbol3D](https://developers.arcgis.com/javascript/latest/references/core/symbols/PolygonSymbol3D/). * * Currently only edges of type `solid` and `sketch` are supported. See [SolidEdges3D](https://developers.arcgis.com/javascript/latest/references/core/symbols/edges/SolidEdges3D/) and [SketchEdges3D](https://developers.arcgis.com/javascript/latest/references/core/symbols/edges/SketchEdges3D/). * * [![symbol3D-edges](https://developers.arcgis.com/javascript/latest/assets/references/core/symbols/symbol3d-edges.png)](https://developers.arcgis.com/javascript/latest/sample-code/layers-scenelayer-edges/) * * @since 4.7 */ export default class Edges3D extends JSONSupport { constructor(properties?: Edges3DProperties); /** * The color of the edges. * This can be autocast with an array of rgb(a) values, named string, hex string or an hsl(a) string, * an object with `r`, `g`, `b`, and `a` properties, or a [Color](https://developers.arcgis.com/javascript/latest/references/core/Color/) object. * * @default "black" */ get color(): Color | null | undefined; set color(value: ColorLike | null | undefined); /** * A size in points by which to extend edges beyond their original end points. * * @default 0 */ get extensionLength(): number; set extensionLength(value: number | string); /** * The size of the edges in points. This value may be autocast with a string expressing size in points or pixels (e.g. `12px`). * * @default 1px */ get size(): number; set size(value: number | string); /** * Creates a deep clone of the edges. * * @returns A deep clone of the object that * invoked this method. */ clone(): Edges3D; }