@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
78 lines (76 loc) • 6 kB
TypeScript
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