@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
TypeScript
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 | 
* [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 | 
* [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 | 
* [PathSymbol3DLayer](https://developers.arcgis.com/javascript/latest/references/core/symbols/PathSymbol3DLayer/) | [LineSymbol3D](https://developers.arcgis.com/javascript/latest/references/core/symbols/LineSymbol3D/) | volumetric | meters | 
* [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 | - | 
* [WaterSymbol3DLayer](https://developers.arcgis.com/javascript/latest/references/core/symbols/WaterSymbol3DLayer/) | [PolygonSymbol3D](https://developers.arcgis.com/javascript/latest/references/core/symbols/PolygonSymbol3D/) | flat | - | 
* [ExtrudeSymbol3DLayer](https://developers.arcgis.com/javascript/latest/references/core/symbols/ExtrudeSymbol3DLayer/) | [PolygonSymbol3D](https://developers.arcgis.com/javascript/latest/references/core/symbols/PolygonSymbol3D/) | volumetric | meters | 
* [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 | 
*
* 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 | 
* object | 
* line | 
* path | 
* fill | 
* water | 
* extrude | 
* text | 
*/
get type(): Symbol3DLayerType | null | undefined;
}