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