UNPKG

@arcgis/core

Version:

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

88 lines (86 loc) 4.54 kB
import type ColorModulation from "./support/pointCloud/ColorModulation.js"; import type PointSizeFixedSizeAlgorithm from "./support/pointCloud/PointSizeFixedSizeAlgorithm.js"; import type PointSizeSplatAlgorithm from "./support/pointCloud/PointSizeSplatAlgorithm.js"; import type { JSONSupport } from "../core/JSONSupport.js"; import type { PointCloudRendererType } from "./support/pointCloud/types.js"; import type { PointSizeSplatAlgorithmProperties } from "./support/pointCloud/PointSizeSplatAlgorithm.js"; import type { PointSizeFixedSizeAlgorithmProperties } from "./support/pointCloud/PointSizeFixedSizeAlgorithm.js"; import type { ColorModulationProperties } from "./support/pointCloud/ColorModulation.js"; export interface PointCloudRendererProperties extends Partial<Pick<PointCloudRenderer, "pointsPerInch">> { /** * Reduces the brightness of the point's color, based on the value of another field, usually `intensity`. * High values leave the color unchanged, while low values darken the color of the point. This helps to * display the scanned surface in a more realistic way. * * @since 4.4 * @see [Sample: PointCloudLayer - intensity color modulation](https://developers.arcgis.com/javascript/latest/sample-code/layers-pointcloud-color-modulation/) */ colorModulation?: ColorModulationProperties; /** * Specifies how the size of the points in the point cloud is computed for * rendering. * * The splat algorithm automatically computes a size based on the density, * which varies with the Level of Detail that is currently displayed. * * The fixed size algorithm displays all points with the same size, either * in screen space or real world units. * * When `pointSizeAlgorithm` is not set, the default is `splat`. */ pointSizeAlgorithm?: (PointSizeFixedSizeAlgorithmProperties & { type: "fixed-size" }) | (PointSizeSplatAlgorithmProperties & { type: "splat" }); } /** * A PointCloudRenderer allows you to specify how points in a * [PointCloudLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/PointCloudLayer/) are rendered. Because * [PointCloudLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/PointCloudLayer/)s are designed to render millions of * points, the point cloud renderers are much simpler than other * [Renderer](https://developers.arcgis.com/javascript/latest/references/core/renderers/Renderer/) classes. * * @since 4.2 * @see [Sample - PointCloudLayer](https://developers.arcgis.com/javascript/latest/sample-code/layers-pointcloud-portal/) * @see [Sample - PointCloudLayer with renderer](https://developers.arcgis.com/javascript/latest/sample-code/layers-pointcloud/) */ export default class PointCloudRenderer extends JSONSupport { constructor(properties?: PointCloudRendererProperties); /** * Reduces the brightness of the point's color, based on the value of another field, usually `intensity`. * High values leave the color unchanged, while low values darken the color of the point. This helps to * display the scanned surface in a more realistic way. * * @since 4.4 * @see [Sample: PointCloudLayer - intensity color modulation](https://developers.arcgis.com/javascript/latest/sample-code/layers-pointcloud-color-modulation/) */ get colorModulation(): ColorModulation; set colorModulation(value: ColorModulationProperties); /** * Specifies how the size of the points in the point cloud is computed for * rendering. * * The splat algorithm automatically computes a size based on the density, * which varies with the Level of Detail that is currently displayed. * * The fixed size algorithm displays all points with the same size, either * in screen space or real world units. * * When `pointSizeAlgorithm` is not set, the default is `splat`. */ get pointSizeAlgorithm(): PointSizeFixedSizeAlgorithm | PointSizeSplatAlgorithm; set pointSizeAlgorithm(value: (PointSizeFixedSizeAlgorithmProperties & { type: "fixed-size" }) | (PointSizeSplatAlgorithmProperties & { type: "splat" })); /** * The number of points to draw per display inch. This property determines the level of * detail in the visualization. * * @default 10 */ accessor pointsPerInch: number; /** The point cloud renderer type. */ get type(): PointCloudRendererType; /** * Creates a deep clone of the renderer. * * @returns A deep clone of the * object that invoked this method. */ clone(): PointCloudRenderer; }