UNPKG

@arcgis/core

Version:

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

43 lines (40 loc) 2.78 kB
import type Terminal from "./Terminal.js"; import type { JSONSupport } from "../../core/JSONSupport.js"; import type { TerminalProperties } from "./Terminal.js"; export interface TerminalConfigurationProperties extends Partial<Pick<TerminalConfiguration, "defaultConfiguration" | "id" | "name" | "traversabilityModel">> { /** An array of [terminals](https://developers.arcgis.com/javascript/latest/references/core/networks/support/Terminal/) defined in this configuration. */ terminals?: TerminalProperties[]; } export type TraversabilityModelType = "directional" | "bidirectional"; /** * A device feature can be assigned a terminal configuration which could have one or more terminals. The terminal configuration defines the terminals and the permissable paths between them. * For example, a device feature could have a Dual Terminal configuration which has a High and a Low terminal. A downstream trace starting from High side terminal will return the Low side terminal however the same trace starting from the Low side terminal won't return the High side terminal. * * Another example, a transformer with tri-state terminal configuration (3 terminals) H, X1, X2. The allowed paths are H->X1 and H->X2 with a default path H->X1. Running a downstream trace from the H terminal will select X1 and anything underneath it but not X2. The device path can be altered with the terminalConfiguration field. * ```js * H * * / \ * * X1 X2 * ``` * The terminal class defines terminal properties. * * @since 4.20 * @see [Learn more about terminal management](https://pro.arcgis.com/en/pro-app/latest/help/data/utility-network/about-terminal-management.htm) * @see [UtilityNetwork](https://developers.arcgis.com/javascript/latest/references/core/networks/UtilityNetwork/) */ export default class TerminalConfiguration extends JSONSupport { constructor(properties?: TerminalConfigurationProperties); /** The default terminal configuration path defined. */ accessor defaultConfiguration: string | null | undefined; /** A unique numeric identifier of the terminal configuration. */ accessor id: number | null | undefined; /** The name of the terminal configuration. */ accessor name: string | null | undefined; /** An array of [terminals](https://developers.arcgis.com/javascript/latest/references/core/networks/support/Terminal/) defined in this configuration. */ get terminals(): Terminal[]; set terminals(value: TerminalProperties[]); /** Terminal configurations can be defined as directional or bidirectional. In a directional traversability model, one or more terminals can be defined as `upstream` where the flow of commodity enters or leaves. */ accessor traversabilityModel: TraversabilityModelType | null | undefined; }