UNPKG

@arcgis/core

Version:

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

78 lines (76 loc) 6 kB
import type Accessor from "../core/Accessor.js"; import type Point from "../geometry/Point.js"; import type ElevationInfo from "../symbols/support/ElevationInfo.js"; import type { FeatureReference } from "./types.js"; import type { ClonableMixin } from "../core/Clonable.js"; import type { JSONSupportMixin } from "../core/JSONSupport.js"; import type { PointProperties } from "../geometry/Point.js"; import type { ElevationInfoProperties } from "../symbols/support/ElevationInfo.js"; export interface LineOfSightAnalysisObserverProperties extends Partial<Pick<LineOfSightAnalysisObserver, "feature">> { /** * Specifies how the observer is placed on the vertical axis (z). See the [ElevationInfo sample](https://developers.arcgis.com/javascript/latest/sample-code/scene-elevationinfo/) * for an example of how this property may be used. * * > [!WARNING] * > * > [ElevationInfo.featureExpressionInfo](https://developers.arcgis.com/javascript/latest/references/core/symbols/support/ElevationInfo/#featureExpressionInfo) and [ElevationInfo.unit](https://developers.arcgis.com/javascript/latest/references/core/symbols/support/ElevationInfo/#unit) are not supported when the elevation info is specified for this class. * > If the elevation info is not specified, the effective elevation depends on the [position](https://developers.arcgis.com/javascript/latest/references/core/analysis/LineOfSightAnalysisObserver/#position) properties of the observer. */ elevationInfo?: ElevationInfoProperties | null; /** * A [Point](https://developers.arcgis.com/javascript/latest/references/core/geometry/Point/) representing the position of the observer. Once the position is set, a new line of * sight analysis will synchronously calculate the intersection and the visibility to each target of the associated * [LineOfSightAnalysis](https://developers.arcgis.com/javascript/latest/references/core/analysis/LineOfSightAnalysis/). * * If the observer is assigned to a [LineOfSightLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/LineOfSightLayer/) then this property * must be defined before the layer can be saved to a [WebScene](https://developers.arcgis.com/javascript/latest/references/core/WebScene/). */ position?: PointProperties | null; } /** * The LineOfSightAnalysisObserver represents an observer of a [LineOfSightAnalysis](https://developers.arcgis.com/javascript/latest/references/core/analysis/LineOfSightAnalysis/). * * Use the position property to specify the position of the observer. * * @since 4.23 * @see [LineOfSightAnalysis](https://developers.arcgis.com/javascript/latest/references/core/analysis/LineOfSightAnalysis/) * @see [LineOfSightAnalysisView3D](https://developers.arcgis.com/javascript/latest/references/core/views/3d/analysis/LineOfSightAnalysisView3D/) * @see [Line Of Sight component](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-line-of-sight/) * @see [Sample - Analysis objects](https://developers.arcgis.com/javascript/latest/sample-code/analysis-objects/) * @see [Sample - Line of sight component](https://developers.arcgis.com/javascript/latest/sample-code/line-of-sight/) */ export default class LineOfSightAnalysisObserver extends LineOfSightAnalysisObserverSuperclass { constructor(properties?: LineOfSightAnalysisObserverProperties); /** * Specifies how the observer is placed on the vertical axis (z). See the [ElevationInfo sample](https://developers.arcgis.com/javascript/latest/sample-code/scene-elevationinfo/) * for an example of how this property may be used. * * > [!WARNING] * > * > [ElevationInfo.featureExpressionInfo](https://developers.arcgis.com/javascript/latest/references/core/symbols/support/ElevationInfo/#featureExpressionInfo) and [ElevationInfo.unit](https://developers.arcgis.com/javascript/latest/references/core/symbols/support/ElevationInfo/#unit) are not supported when the elevation info is specified for this class. * > If the elevation info is not specified, the effective elevation depends on the [position](https://developers.arcgis.com/javascript/latest/references/core/analysis/LineOfSightAnalysisObserver/#position) properties of the observer. */ get elevationInfo(): ElevationInfo | null | undefined; set elevationInfo(value: ElevationInfoProperties | null | undefined); /** * References a feature which is excluded from the intersection testing. * It is used to ensure that the analysis results remain independent of changes in the level of detail (LOD) of this feature's geometry. * * When creating or editing the observer interactively, this property is populated automatically. * * Note that you can assign client side graphics which will be taken into account accordingly. However, information about * client side graphic will not be persisted and results in an empty reference after de-serialization. */ accessor feature: FeatureReference | null | undefined; /** * A [Point](https://developers.arcgis.com/javascript/latest/references/core/geometry/Point/) representing the position of the observer. Once the position is set, a new line of * sight analysis will synchronously calculate the intersection and the visibility to each target of the associated * [LineOfSightAnalysis](https://developers.arcgis.com/javascript/latest/references/core/analysis/LineOfSightAnalysis/). * * If the observer is assigned to a [LineOfSightLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/LineOfSightLayer/) then this property * must be defined before the layer can be saved to a [WebScene](https://developers.arcgis.com/javascript/latest/references/core/WebScene/). */ get position(): Point | null | undefined; set position(value: PointProperties | null | undefined); } declare const LineOfSightAnalysisObserverSuperclass: typeof Accessor & typeof ClonableMixin & typeof JSONSupportMixin