@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
TypeScript
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;
}