UNPKG

@arcgis/core

Version:

ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API

68 lines (66 loc) 8.87 kB
import type { JSONSupport } from "../core/JSONSupport.js"; import type { Symbol3DLayerType } from "./types.js"; export interface Symbol3DLayerProperties {} /** * Symbol layers are used to define the visualization of [Point](https://developers.arcgis.com/javascript/latest/references/core/geometry/Point/), * [Polyline](https://developers.arcgis.com/javascript/latest/references/core/geometry/Polyline/), [Polygon](https://developers.arcgis.com/javascript/latest/references/core/geometry/Polygon/), and mesh * geometries rendered with [3D symbols](https://developers.arcgis.com/javascript/latest/references/core/symbols/Symbol3D/). * [3D symbols](https://developers.arcgis.com/javascript/latest/references/core/symbols/Symbol3D/) may only be used to render features * in a [FeatureLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/), [SceneLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/SceneLayer/), or * standalone [graphics](https://developers.arcgis.com/javascript/latest/references/core/Graphic/) in a 3D * [SceneView](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/). There is no support for 3D symbols in 2D * [MapViews](https://developers.arcgis.com/javascript/latest/references/core/views/MapView/). * * All 3D symbols have a [Symbol3D.symbolLayers](https://developers.arcgis.com/javascript/latest/references/core/symbols/Symbol3D/#symbolLayers) * property, which is an array of Symbol3DLayer objects. All symbols must have at least * one symbol layer added to the `symbolLayers` property. Think of the * [symbol object](https://developers.arcgis.com/javascript/latest/references/core/symbols/Symbol3D/) as a container that holds multiple * symbol layers which define the appearance of the symbol. One layer may be an outline, another the fill, etc. * The relationship of symbol layers to symbol is similar to the relationship * of [operational layers](https://developers.arcgis.com/javascript/latest/references/core/Map/#layers) to a [Map](https://developers.arcgis.com/javascript/latest/references/core/Map/). * * Each symbol layer type may only be applied to certain [Symbol3D](https://developers.arcgis.com/javascript/latest/references/core/symbols/Symbol3D/) * and [Geometry](https://developers.arcgis.com/javascript/latest/references/core/geometry/Geometry/) types. See the table below to learn more about * when to use each type of symbol layer. * * [Symbol3DLayer](https://developers.arcgis.com/javascript/latest/references/core/symbols/Symbol3DLayer/) Type | [Symbol3D](https://developers.arcgis.com/javascript/latest/references/core/symbols/Symbol3D/) Type | Flat/Volumetric | Size Units | Example * ------------|-----------|------------|-------------|----------- * [IconSymbol3DLayer](https://developers.arcgis.com/javascript/latest/references/core/symbols/IconSymbol3DLayer/) | [PointSymbol3D](https://developers.arcgis.com/javascript/latest/references/core/symbols/PointSymbol3D/), [PolygonSymbol3D](https://developers.arcgis.com/javascript/latest/references/core/symbols/PolygonSymbol3D/) | flat | points | ![s3d-icon-circle](https://developers.arcgis.com/javascript/latest/assets/references/core/symbols/symbols3d-icon-circle.png) * [ObjectSymbol3DLayer](https://developers.arcgis.com/javascript/latest/references/core/symbols/ObjectSymbol3DLayer/) | [PointSymbol3D](https://developers.arcgis.com/javascript/latest/references/core/symbols/PointSymbol3D/), [PolygonSymbol3D](https://developers.arcgis.com/javascript/latest/references/core/symbols/PolygonSymbol3D/) | volumetric | meters | ![s3d-object](https://developers.arcgis.com/javascript/latest/assets/references/core/symbols/symbols3d-object-sphere.png) * [LineSymbol3DLayer](https://developers.arcgis.com/javascript/latest/references/core/symbols/LineSymbol3DLayer/) | [LineSymbol3D](https://developers.arcgis.com/javascript/latest/references/core/symbols/LineSymbol3D/), [PolygonSymbol3D](https://developers.arcgis.com/javascript/latest/references/core/symbols/PolygonSymbol3D/) | flat | points | ![s3d-line](https://developers.arcgis.com/javascript/latest/assets/references/core/symbols/symbols3d-line-line.png) * [PathSymbol3DLayer](https://developers.arcgis.com/javascript/latest/references/core/symbols/PathSymbol3DLayer/) | [LineSymbol3D](https://developers.arcgis.com/javascript/latest/references/core/symbols/LineSymbol3D/) | volumetric | meters | ![s3d-path](https://developers.arcgis.com/javascript/latest/assets/references/core/symbols/symbols3d-path-tube.png) * [FillSymbol3DLayer](https://developers.arcgis.com/javascript/latest/references/core/symbols/FillSymbol3DLayer/) | [PolygonSymbol3D](https://developers.arcgis.com/javascript/latest/references/core/symbols/PolygonSymbol3D/), [MeshSymbol3D](https://developers.arcgis.com/javascript/latest/references/core/symbols/MeshSymbol3D/) | flat | - | ![s3d-fill](https://developers.arcgis.com/javascript/latest/assets/references/core/symbols/symbols3d-fill-solid.png) * [WaterSymbol3DLayer](https://developers.arcgis.com/javascript/latest/references/core/symbols/WaterSymbol3DLayer/) | [PolygonSymbol3D](https://developers.arcgis.com/javascript/latest/references/core/symbols/PolygonSymbol3D/) | flat | - | ![s3d-water](https://developers.arcgis.com/javascript/latest/assets/references/core/symbols/symbols3d-water-solid.png) * [ExtrudeSymbol3DLayer](https://developers.arcgis.com/javascript/latest/references/core/symbols/ExtrudeSymbol3DLayer/) | [PolygonSymbol3D](https://developers.arcgis.com/javascript/latest/references/core/symbols/PolygonSymbol3D/) | volumetric | meters | ![s3d-extrusion](https://developers.arcgis.com/javascript/latest/assets/references/core/symbols/symbols3d-extrude-solid.png) * [TextSymbol3DLayer](https://developers.arcgis.com/javascript/latest/references/core/symbols/TextSymbol3DLayer/) | [PointSymbol3D](https://developers.arcgis.com/javascript/latest/references/core/symbols/PointSymbol3D/), [PolygonSymbol3D](https://developers.arcgis.com/javascript/latest/references/core/symbols/PolygonSymbol3D/), [LabelSymbol3D](https://developers.arcgis.com/javascript/latest/references/core/symbols/LabelSymbol3D/) | flat | points | ![s3d-text](https://developers.arcgis.com/javascript/latest/assets/references/core/symbols/symbols3d-label-text.png) * * The size of flat symbol layers is usually defined in either points or pixels (screen space) whereas the * size of volumetric symbol layers is defined in meters (real-world space). * * @since 4.0 * @see [Symbol Builder](https://developers.arcgis.com/javascript/latest/symbol-builder/) * @see [Symbol3D](https://developers.arcgis.com/javascript/latest/references/core/symbols/Symbol3D/) * @see [Renderer](https://developers.arcgis.com/javascript/latest/references/core/renderers/Renderer/) * @see [Graphic](https://developers.arcgis.com/javascript/latest/references/core/Graphic/) * @see [ArcGIS blog - Working with icons, lines, and fill symbols](https://blogs.esri.com/esri/arcgis/2016/01/19/3d-visualization-working-with-icons-lines-and-fill-symbols/) * @see [ArcGIS blog - Working with objects, paths, and extrusion](https://blogs.esri.com/esri/arcgis/2016/01/25/3d-visualization-working-with-objects-paths-and-extrusion/) * @see [ArcGIS blog - Using attributes to represent real-world sizes of features](https://blogs.esri.com/esri/arcgis/2016/02/01/3d-visualization-using-attributes-to-represent-real-world-sizes-of-features/) */ export default class Symbol3DLayer extends JSONSupport { constructor(properties?: Symbol3DLayerProperties); /** * The 3D symbol layer type. See the table below for a list of possible values. * * Value | Description * ------|------------ * icon | ![s3d-icon](https://developers.arcgis.com/javascript/latest/assets/references/core/symbols/symbols3d-icon-circle.png) * object | ![s3d-object](https://developers.arcgis.com/javascript/latest/assets/references/core/symbols/symbols3d-object-sphere.png) * line | ![s3d-line](https://developers.arcgis.com/javascript/latest/assets/references/core/symbols/symbols3d-line-line.png) * path | ![s3d-path](https://developers.arcgis.com/javascript/latest/assets/references/core/symbols/symbols3d-path-tube.png) * fill | ![s3d-fill](https://developers.arcgis.com/javascript/latest/assets/references/core/symbols/symbols3d-fill-solid.png) * water | ![s3d-water](https://developers.arcgis.com/javascript/latest/assets/references/core/symbols/symbols3d-water-solid.png) * extrude | ![s3d-extrusion](https://developers.arcgis.com/javascript/latest/assets/references/core/symbols/symbols3d-extrude-solid.png) * text | ![s3d-text](https://developers.arcgis.com/javascript/latest/assets/references/core/symbols/symbols3d-label-text.png) */ get type(): Symbol3DLayerType | null | undefined; }