@itwin/core-backend 5.15.0-dev.5 → 5.15.0-dev.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  /** @packageDocumentation
2
2
  * @module iModels
3
3
  */
4
- import { Range2dProps } from "@itwin/core-geometry";
4
+ import { Range2dProps, XAndY } from "@itwin/core-geometry";
5
5
  /** Describes a coordinate reference system produced by [[getAvailableCoordinateReferenceSystems]].
6
6
  * @beta
7
7
  */
@@ -45,13 +45,61 @@ export interface GetAvailableCoordinateReferenceSystemsArgs {
45
45
  */
46
46
  unit?: string;
47
47
  }
48
+ /** Describes a vertical coordinate reference system produced by [[getAvailableVerticalCoordinateReferenceSystems]].
49
+ * @beta
50
+ */
51
+ export interface AvailableVerticalCoordinateReferenceSystemProps {
52
+ /** Name in the Bentley Vertical Datum dictionary. */
53
+ crsName: string;
54
+ /** Backward-compatible approximation used by older readers. */
55
+ id: "GEOID" | "ELLIPSOID" | "NGVD29" | "NAVD88" | "LOCAL_ELLIPSOID";
56
+ /** EPSG code identifying the vertical coordinate reference system, when one is defined. */
57
+ epsg?: number;
58
+ /** Description of the vertical coordinate reference system. */
59
+ description: string;
60
+ /** Whether the vertical coordinate reference system is deprecated. */
61
+ deprecated: boolean;
62
+ /** The vertical coordinate reference system type. */
63
+ type: string;
64
+ /** The name of the linear unit used by the vertical coordinate reference system.
65
+ * The value uses the canonical casing returned by [[getAvailableCRSUnits]].
66
+ */
67
+ unit: string;
68
+ /** The geographic extent where the vertical coordinate reference system applies. */
69
+ extent: Range2dProps;
70
+ }
71
+ /** Arguments supplied to [[getAvailableVerticalCoordinateReferenceSystems]].
72
+ * @beta
73
+ */
74
+ export interface GetAvailableVerticalCoordinateReferenceSystemsArgs {
75
+ /** If provided, only return vertical coordinate reference systems applicable at this geographic point in degrees.
76
+ * The x coordinate is longitude and the y coordinate is latitude.
77
+ */
78
+ point?: XAndY;
79
+ /** If provided, only return vertical coordinate reference systems whose extent contains this extent. */
80
+ extent?: Range2dProps;
81
+ /** If true, include vertical coordinate reference systems whose extent intersects, but does not contain, [[extent]].
82
+ * @default false
83
+ */
84
+ includeIntersecting?: boolean;
85
+ /** If provided, filter vertical coordinate reference systems by unit name.
86
+ * Matching is case-insensitive. Use [[getAvailableCRSUnits]] to get a list of canonical unit names.
87
+ */
88
+ unit?: string;
89
+ }
48
90
  /** Get a list of Geographic Coordinate Reference Systems.
49
91
  * @param options Specifies the parameters to filter the returned list.
50
92
  * @returns The list of Geographic Coordinate Reference Systems, according to the supplied parameters.
51
93
  * @beta
52
94
  */
53
95
  export declare function getAvailableCoordinateReferenceSystems(args: GetAvailableCoordinateReferenceSystemsArgs): Promise<AvailableCoordinateReferenceSystemProps[]>;
54
- /** Get a list of units used by Geographic Coordinate Reference Systems in iTwin.js.
96
+ /** Get a list of Vertical Coordinate Reference Systems.
97
+ * @param args Specifies the parameters used to filter the returned list. Point and extent filters are mutually exclusive.
98
+ * @returns The list of Vertical Coordinate Reference Systems according to the supplied parameters.
99
+ * @beta
100
+ */
101
+ export declare function getAvailableVerticalCoordinateReferenceSystems(args?: GetAvailableVerticalCoordinateReferenceSystemsArgs): AvailableVerticalCoordinateReferenceSystemProps[];
102
+ /** Get a list of units used by horizontal and vertical coordinate reference systems in iTwin.js.
55
103
  * @returns An array of canonical unit names.
56
104
  * @beta
57
105
  */
@@ -1 +1 @@
1
- {"version":3,"file":"GeographicCRSServices.d.ts","sourceRoot":"","sources":["../../src/GeographicCRSServices.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAIpD;;GAEG;AACH,MAAM,WAAW,uCAAuC;IACtD,mJAAmJ;IACnJ,IAAI,EAAE,MAAM,CAAC;IACb,8JAA8J;IAC9J,WAAW,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,UAAU,EAAE,OAAO,CAAC;IACpB;;;;OAIG;IACH,SAAS,EAAE,YAAY,CAAC;IACxB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,0CAA0C;IACzD;;OAEG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,wBAAsB,sCAAsC,CAC1D,IAAI,EAAE,0CAA0C,GAC/C,OAAO,CAAC,uCAAuC,EAAE,CAAC,CAOpD;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,EAAE,CAG/C"}
1
+ {"version":3,"file":"GeographicCRSServices.d.ts","sourceRoot":"","sources":["../../src/GeographicCRSServices.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAI3D;;GAEG;AACH,MAAM,WAAW,uCAAuC;IACtD,mJAAmJ;IACnJ,IAAI,EAAE,MAAM,CAAC;IACb,8JAA8J;IAC9J,WAAW,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,UAAU,EAAE,OAAO,CAAC;IACpB;;;;OAIG;IACH,SAAS,EAAE,YAAY,CAAC;IACxB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,0CAA0C;IACzD;;OAEG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,+CAA+C;IAC9D,qDAAqD;IACrD,OAAO,EAAE,MAAM,CAAC;IAChB,+DAA+D;IAC/D,EAAE,EAAE,OAAO,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,iBAAiB,CAAC;IACpE,2FAA2F;IAC3F,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+DAA+D;IAC/D,WAAW,EAAE,MAAM,CAAC;IACpB,sEAAsE;IACtE,UAAU,EAAE,OAAO,CAAC;IACpB,qDAAqD;IACrD,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb,oFAAoF;IACpF,MAAM,EAAE,YAAY,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,kDAAkD;IACjE;;OAEG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,wGAAwG;IACxG,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,wBAAsB,sCAAsC,CAC1D,IAAI,EAAE,0CAA0C,GAC/C,OAAO,CAAC,uCAAuC,EAAE,CAAC,CAOpD;AAED;;;;GAIG;AACH,wBAAgB,8CAA8C,CAC5D,IAAI,GAAE,kDAAuD,GAC5D,+CAA+C,EAAE,CAGnD;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,EAAE,CAG/C"}
@@ -8,6 +8,7 @@
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.getAvailableCoordinateReferenceSystems = getAvailableCoordinateReferenceSystems;
11
+ exports.getAvailableVerticalCoordinateReferenceSystems = getAvailableVerticalCoordinateReferenceSystems;
11
12
  exports.getAvailableCRSUnits = getAvailableCRSUnits;
12
13
  const NativePlatform_1 = require("./internal/NativePlatform");
13
14
  const GeoCoordConfig_1 = require("./GeoCoordConfig");
@@ -20,7 +21,16 @@ async function getAvailableCoordinateReferenceSystems(args) {
20
21
  GeoCoordConfig_1.GeoCoordConfig.loadDefaultDatabases();
21
22
  return NativePlatform_1.IModelNative.platform.GeoServices.getListOfCRS(args.extent, args.includeWorld, args.unit);
22
23
  }
23
- /** Get a list of units used by Geographic Coordinate Reference Systems in iTwin.js.
24
+ /** Get a list of Vertical Coordinate Reference Systems.
25
+ * @param args Specifies the parameters used to filter the returned list. Point and extent filters are mutually exclusive.
26
+ * @returns The list of Vertical Coordinate Reference Systems according to the supplied parameters.
27
+ * @beta
28
+ */
29
+ function getAvailableVerticalCoordinateReferenceSystems(args = {}) {
30
+ GeoCoordConfig_1.GeoCoordConfig.loadDefaultDatabases();
31
+ return NativePlatform_1.IModelNative.platform.GeoServices.getListOfVerticalCRS(args);
32
+ }
33
+ /** Get a list of units used by horizontal and vertical coordinate reference systems in iTwin.js.
24
34
  * @returns An array of canonical unit names.
25
35
  * @beta
26
36
  */
@@ -1 +1 @@
1
- {"version":3,"file":"GeographicCRSServices.js","sourceRoot":"","sources":["../../src/GeographicCRSServices.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;AAwDH,wFASC;AAMD,oDAGC;AAvED,8DAAyD;AACzD,qDAAkD;AA+ClD;;;;GAIG;AACI,KAAK,UAAU,sCAAsC,CAC1D,IAAgD;IAEhD,+BAAc,CAAC,oBAAoB,EAAE,CAAC;IACtC,OAAO,6BAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,YAAY,CACnD,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,IAAI,CACV,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAgB,oBAAoB;IAClC,+BAAc,CAAC,oBAAoB,EAAE,CAAC;IACtC,OAAO,6BAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,qBAAqB,EAAE,CAAC;AACnE,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n * See LICENSE.md in the project root for license terms and full copyright notice.\r\n *--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module iModels\r\n */\r\n\r\nimport { Range2dProps } from \"@itwin/core-geometry\";\r\nimport { IModelNative } from \"./internal/NativePlatform\";\r\nimport { GeoCoordConfig } from \"./GeoCoordConfig\";\r\n\r\n/** Describes a coordinate reference system produced by [[getAvailableCoordinateReferenceSystems]].\r\n * @beta\r\n */\r\nexport interface AvailableCoordinateReferenceSystemProps {\r\n /** The name of the coordinate reference system. It can be presented to the user in the UI as an identifier for the coordinate reference system. */\r\n name: string;\r\n /** The description of the coordinate reference system. It can be presented to the user in the UI as extra information for the coordinate reference system. */\r\n description: string;\r\n /** Indicate if the coordinate reference system is deprecated. A coordinate reference system is deprecated if it is no longer recommended for use.\r\n * A deprecated coordinate reference system can usually be substituted by a more accurate one. It is possible that an existing project uses a deprecated coordinate reference system.\r\n * However, for new projects, it is recommended to use a non-deprecated coordinate reference system.\r\n */\r\n deprecated: boolean;\r\n /** Extent of the coordinate reference system. This is the area where the coordinate reference system can be used.\r\n * Outside of this area, the coordinate reference system may not be accurate. The extent is defined by a range of longitude and latitude values.\r\n * Minimum longitude and latitude correspond to crsExtent.low.x and crsExtent.low.y, respectively.\r\n * Maximum longitude and latitude correspond to crsExtent.high.x and crsExtent.high.y, respectively.\r\n */\r\n crsExtent: Range2dProps;\r\n /** The name of the linear unit used by the coordinate reference system.\r\n * When returned by [[getAvailableCoordinateReferenceSystems]], the value uses the canonical casing returned by [[getAvailableCRSUnits]].\r\n */\r\n unit?: string;\r\n}\r\n\r\n/** Arguments supplied to [[getAvailableCoordinateReferenceSystems]].\r\n * @beta\r\n */\r\nexport interface GetAvailableCoordinateReferenceSystemsArgs {\r\n /** If provided, only return coordinate reference systems that contain the given extent. Minimum longitude and latitude correspond to extent.low.x and extent.low.y, respectively.\r\n * Maximum longitude and latitude correspond to extent.high.x and extent.high.y, respectively.\r\n */\r\n extent?: Range2dProps;\r\n /** If true, returns additional coordinate reference systems with extents spanning the entire Earth's surface.\r\n * @default false\r\n */\r\n includeWorld?: boolean;\r\n /**\r\n * If provided, filter coordinate reference systems by unit name.\r\n * Matching is case-insensitive.\r\n * Use [[getAvailableCRSUnits]] to get a list of canonical unit names.\r\n */\r\n unit?: string;\r\n}\r\n\r\n/** Get a list of Geographic Coordinate Reference Systems.\r\n * @param options Specifies the parameters to filter the returned list.\r\n * @returns The list of Geographic Coordinate Reference Systems, according to the supplied parameters.\r\n * @beta\r\n */\r\nexport async function getAvailableCoordinateReferenceSystems(\r\n args: GetAvailableCoordinateReferenceSystemsArgs\r\n): Promise<AvailableCoordinateReferenceSystemProps[]> {\r\n GeoCoordConfig.loadDefaultDatabases();\r\n return IModelNative.platform.GeoServices.getListOfCRS(\r\n args.extent,\r\n args.includeWorld,\r\n args.unit\r\n );\r\n}\r\n\r\n/** Get a list of units used by Geographic Coordinate Reference Systems in iTwin.js.\r\n * @returns An array of canonical unit names.\r\n * @beta\r\n */\r\nexport function getAvailableCRSUnits(): string[] {\r\n GeoCoordConfig.loadDefaultDatabases();\r\n return IModelNative.platform.GeoServices.getAvailableUnitNames();\r\n}\r\n"]}
1
+ {"version":3,"file":"GeographicCRSServices.js","sourceRoot":"","sources":["../../src/GeographicCRSServices.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;AAoGH,wFASC;AAOD,wGAKC;AAMD,oDAGC;AA/HD,8DAAyD;AACzD,qDAAkD;AA2FlD;;;;GAIG;AACI,KAAK,UAAU,sCAAsC,CAC1D,IAAgD;IAEhD,+BAAc,CAAC,oBAAoB,EAAE,CAAC;IACtC,OAAO,6BAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,YAAY,CACnD,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,IAAI,CACV,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAgB,8CAA8C,CAC5D,OAA2D,EAAE;IAE7D,+BAAc,CAAC,oBAAoB,EAAE,CAAC;IACtC,OAAO,6BAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;AACtE,CAAC;AAED;;;GAGG;AACH,SAAgB,oBAAoB;IAClC,+BAAc,CAAC,oBAAoB,EAAE,CAAC;IACtC,OAAO,6BAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,qBAAqB,EAAE,CAAC;AACnE,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n * See LICENSE.md in the project root for license terms and full copyright notice.\r\n *--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module iModels\r\n */\r\n\r\nimport { Range2dProps, XAndY } from \"@itwin/core-geometry\";\r\nimport { IModelNative } from \"./internal/NativePlatform\";\r\nimport { GeoCoordConfig } from \"./GeoCoordConfig\";\r\n\r\n/** Describes a coordinate reference system produced by [[getAvailableCoordinateReferenceSystems]].\r\n * @beta\r\n */\r\nexport interface AvailableCoordinateReferenceSystemProps {\r\n /** The name of the coordinate reference system. It can be presented to the user in the UI as an identifier for the coordinate reference system. */\r\n name: string;\r\n /** The description of the coordinate reference system. It can be presented to the user in the UI as extra information for the coordinate reference system. */\r\n description: string;\r\n /** Indicate if the coordinate reference system is deprecated. A coordinate reference system is deprecated if it is no longer recommended for use.\r\n * A deprecated coordinate reference system can usually be substituted by a more accurate one. It is possible that an existing project uses a deprecated coordinate reference system.\r\n * However, for new projects, it is recommended to use a non-deprecated coordinate reference system.\r\n */\r\n deprecated: boolean;\r\n /** Extent of the coordinate reference system. This is the area where the coordinate reference system can be used.\r\n * Outside of this area, the coordinate reference system may not be accurate. The extent is defined by a range of longitude and latitude values.\r\n * Minimum longitude and latitude correspond to crsExtent.low.x and crsExtent.low.y, respectively.\r\n * Maximum longitude and latitude correspond to crsExtent.high.x and crsExtent.high.y, respectively.\r\n */\r\n crsExtent: Range2dProps;\r\n /** The name of the linear unit used by the coordinate reference system.\r\n * When returned by [[getAvailableCoordinateReferenceSystems]], the value uses the canonical casing returned by [[getAvailableCRSUnits]].\r\n */\r\n unit?: string;\r\n}\r\n\r\n/** Arguments supplied to [[getAvailableCoordinateReferenceSystems]].\r\n * @beta\r\n */\r\nexport interface GetAvailableCoordinateReferenceSystemsArgs {\r\n /** If provided, only return coordinate reference systems that contain the given extent. Minimum longitude and latitude correspond to extent.low.x and extent.low.y, respectively.\r\n * Maximum longitude and latitude correspond to extent.high.x and extent.high.y, respectively.\r\n */\r\n extent?: Range2dProps;\r\n /** If true, returns additional coordinate reference systems with extents spanning the entire Earth's surface.\r\n * @default false\r\n */\r\n includeWorld?: boolean;\r\n /**\r\n * If provided, filter coordinate reference systems by unit name.\r\n * Matching is case-insensitive.\r\n * Use [[getAvailableCRSUnits]] to get a list of canonical unit names.\r\n */\r\n unit?: string;\r\n}\r\n\r\n/** Describes a vertical coordinate reference system produced by [[getAvailableVerticalCoordinateReferenceSystems]].\r\n * @beta\r\n */\r\nexport interface AvailableVerticalCoordinateReferenceSystemProps {\r\n /** Name in the Bentley Vertical Datum dictionary. */\r\n crsName: string;\r\n /** Backward-compatible approximation used by older readers. */\r\n id: \"GEOID\" | \"ELLIPSOID\" | \"NGVD29\" | \"NAVD88\" | \"LOCAL_ELLIPSOID\";\r\n /** EPSG code identifying the vertical coordinate reference system, when one is defined. */\r\n epsg?: number;\r\n /** Description of the vertical coordinate reference system. */\r\n description: string;\r\n /** Whether the vertical coordinate reference system is deprecated. */\r\n deprecated: boolean;\r\n /** The vertical coordinate reference system type. */\r\n type: string;\r\n /** The name of the linear unit used by the vertical coordinate reference system.\r\n * The value uses the canonical casing returned by [[getAvailableCRSUnits]].\r\n */\r\n unit: string;\r\n /** The geographic extent where the vertical coordinate reference system applies. */\r\n extent: Range2dProps;\r\n}\r\n\r\n/** Arguments supplied to [[getAvailableVerticalCoordinateReferenceSystems]].\r\n * @beta\r\n */\r\nexport interface GetAvailableVerticalCoordinateReferenceSystemsArgs {\r\n /** If provided, only return vertical coordinate reference systems applicable at this geographic point in degrees.\r\n * The x coordinate is longitude and the y coordinate is latitude.\r\n */\r\n point?: XAndY;\r\n /** If provided, only return vertical coordinate reference systems whose extent contains this extent. */\r\n extent?: Range2dProps;\r\n /** If true, include vertical coordinate reference systems whose extent intersects, but does not contain, [[extent]].\r\n * @default false\r\n */\r\n includeIntersecting?: boolean;\r\n /** If provided, filter vertical coordinate reference systems by unit name.\r\n * Matching is case-insensitive. Use [[getAvailableCRSUnits]] to get a list of canonical unit names.\r\n */\r\n unit?: string;\r\n}\r\n\r\n/** Get a list of Geographic Coordinate Reference Systems.\r\n * @param options Specifies the parameters to filter the returned list.\r\n * @returns The list of Geographic Coordinate Reference Systems, according to the supplied parameters.\r\n * @beta\r\n */\r\nexport async function getAvailableCoordinateReferenceSystems(\r\n args: GetAvailableCoordinateReferenceSystemsArgs\r\n): Promise<AvailableCoordinateReferenceSystemProps[]> {\r\n GeoCoordConfig.loadDefaultDatabases();\r\n return IModelNative.platform.GeoServices.getListOfCRS(\r\n args.extent,\r\n args.includeWorld,\r\n args.unit\r\n );\r\n}\r\n\r\n/** Get a list of Vertical Coordinate Reference Systems.\r\n * @param args Specifies the parameters used to filter the returned list. Point and extent filters are mutually exclusive.\r\n * @returns The list of Vertical Coordinate Reference Systems according to the supplied parameters.\r\n * @beta\r\n */\r\nexport function getAvailableVerticalCoordinateReferenceSystems(\r\n args: GetAvailableVerticalCoordinateReferenceSystemsArgs = {}\r\n): AvailableVerticalCoordinateReferenceSystemProps[] {\r\n GeoCoordConfig.loadDefaultDatabases();\r\n return IModelNative.platform.GeoServices.getListOfVerticalCRS(args);\r\n}\r\n\r\n/** Get a list of units used by horizontal and vertical coordinate reference systems in iTwin.js.\r\n * @returns An array of canonical unit names.\r\n * @beta\r\n */\r\nexport function getAvailableCRSUnits(): string[] {\r\n GeoCoordConfig.loadDefaultDatabases();\r\n return IModelNative.platform.GeoServices.getAvailableUnitNames();\r\n}\r\n"]}
@@ -4,10 +4,11 @@
4
4
  import { GuidString, Id64String } from "@itwin/core-bentley";
5
5
  import { AxisAlignedBox3d, Code, CodeScopeProps, ConcreteEntityTypes, DefinitionElementProps, DefinitionSetProps, DrawingProps, ElementAlignedBox3d, ElementProps, EntityMetaData, EntityReferenceSet, GeometricElement2dProps, GeometricElement3dProps, GeometricElementProps, GeometryPartProps, GeometryStreamProps, InformationPartitionElementProps, LineStyleProps, ModelProps, PhysicalElementProps, PhysicalTypeProps, Placement2d, Placement3d, ProjectInformation, ProjectInformationRecordProps, Rank, RelatedElement, RenderSchedule, RenderTimelineProps, RepositoryLinkProps, SectionDrawingLocationProps, SectionDrawingProps, SectionType, SheetBorderTemplateProps, SheetProps, SheetTemplateProps, SubjectProps, TypeDefinition, TypeDefinitionElementProps, UrlLinkProps } from "@itwin/core-common";
6
6
  import { ClipVector, Transform } from "@itwin/core-geometry";
7
- import { CustomHandledProperty, DeserializeEntityArgs, ECSqlRow, Entity } from "./Entity";
7
+ import { CustomHandledProperty, DeserializeEntityArgs, ECSqlRow, Entity, EntityClassType } from "./Entity";
8
8
  import { EditTxn } from "./EditTxn";
9
9
  import { IModelDb, InsertElementOptions } from "./IModelDb";
10
10
  import { IModelElementCloneContext } from "./IModelElementCloneContext";
11
+ import { Model } from "./Model";
11
12
  import { EntityClass } from "@itwin/ecschema-metadata";
12
13
  /** Argument for the `Element.onXxx` static methods
13
14
  * @beta
@@ -309,12 +310,22 @@ export declare class Element extends Entity {
309
310
  * @beta
310
311
  */
311
312
  protected static onChildDropped(arg: OnChildElementIdArg): void;
313
+ /** The [[Model]] classes that may *sub-model* an instance of this class.
314
+ * A sub-model is accepted if its class is, or derives from, one of these classes, including generated JavaScript classes for unregistered EC subclasses.
315
+ * The default is `undefined`, which permits any Model class.
316
+ * Domain classes implementing `bis:ISubModeledElement` should override this to restrict their sub-model class.
317
+ * @note `this` is the class of Element to be sub-modeled.
318
+ * @beta
319
+ */
320
+ protected static get allowedSubModelClasses(): Array<EntityClassType<Model>> | undefined;
312
321
  /** Called when an instance of this class is being *sub-modeled* by a new Model.
322
+ * The default implementation rejects the model unless its class is one of [[allowedSubModelClasses]] or [[allowedSubModelClasses]] returns undefined.
313
323
  * @note throw an exception if model should not be inserted
314
324
  * @note `this` is the class of Element to be sub-modeled.
325
+ * @note Overrides must call `super.onSubModelInsert(arg)` to retain inherited class validation.
315
326
  * @beta
316
327
  */
317
- protected static onSubModelInsert(_arg: OnSubModelPropsArg): void;
328
+ protected static onSubModelInsert(arg: OnSubModelPropsArg): void;
318
329
  /** Called after an instance of this class was *sub-modeled* by a new Model.
319
330
  * @note `this` is the class of Element that is now sub-modeled.
320
331
  * @beta
@@ -746,6 +757,10 @@ export declare class Drawing extends Document {
746
757
  toJSON(): DrawingProps;
747
758
  /** The name of the DrawingModel class modeled by this element type. */
748
759
  protected static get drawingModelFullClassName(): string;
760
+ /** A Drawing must be sub-modeled by a [[DrawingModel]].
761
+ * @beta
762
+ */
763
+ protected static get allowedSubModelClasses(): Array<EntityClassType<Model>>;
749
764
  /** Create a Code for a Drawing given a name that is meant to be unique within the scope of the specified DocumentListModel.
750
765
  * @param iModel The IModelDb
751
766
  * @param scopeModelId The Id of the DocumentListModel that contains the Drawing and provides the scope for its name.
@@ -789,6 +804,10 @@ export declare class SectionDrawing extends Drawing {
789
804
  displaySpatialView: boolean;
790
805
  static get className(): string;
791
806
  protected static get drawingModelFullClassName(): string;
807
+ /** A SectionDrawing may be sub-modeled by a [[DrawingModel]] (including [[SectionDrawingModel]]) or a [[GraphicalModel3d]].
808
+ * @beta
809
+ */
810
+ protected static get allowedSubModelClasses(): Array<EntityClassType<Model>>;
792
811
  protected constructor(props: SectionDrawingProps, iModel: IModelDb);
793
812
  toJSON(): SectionDrawingProps;
794
813
  }
@@ -823,6 +842,10 @@ export declare class Sheet extends Document {
823
842
  sheetTemplate?: Id64String;
824
843
  protected constructor(props: SheetProps, iModel: IModelDb);
825
844
  protected collectReferenceIds(referenceIds: EntityReferenceSet): void;
845
+ /** A Sheet must be sub-modeled by a [[SheetModel]].
846
+ * @beta
847
+ */
848
+ protected static get allowedSubModelClasses(): Array<EntityClassType<Model>>;
826
849
  /** Create a Code for a Sheet given a name that is meant to be unique within the scope of the specified DocumentListModel.
827
850
  * @param iModel The IModelDb
828
851
  * @param scopeModelId The Id of the DocumentListModel that contains the Sheet and provides the scope for its name.
@@ -1041,6 +1064,10 @@ export declare abstract class GraphicalType2d extends TypeDefinitionElement {
1041
1064
  export declare class TemplateRecipe2d extends RecipeDefinitionElement {
1042
1065
  static get className(): string;
1043
1066
  protected constructor(props: ElementProps, iModel: IModelDb);
1067
+ /** A TemplateRecipe2d must be sub-modeled by a [[DrawingModel]].
1068
+ * @beta
1069
+ */
1070
+ protected static get allowedSubModelClasses(): Array<EntityClassType<Model>>;
1044
1071
  /** Create a Code for a TemplateRecipe2d given a name that is meant to be unique within the scope of its Model.
1045
1072
  * @param iModelDb The IModelDb
1046
1073
  * @param definitionModelId The Id of the [DefinitionModel]($backend) that contains this TemplateRecipe2d element.
@@ -1 +1 @@
1
- {"version":3,"file":"Element.d.ts","sourceRoot":"","sources":["../../src/Element.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Element.d.ts","sourceRoot":"","sources":["../../src/Element.ts"],"names":[],"mappings":"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"}
@@ -5,12 +5,12 @@
5
5
  /** @packageDocumentation
6
6
  * @module Elements
7
7
  */
8
- import { CompressedId64Set, Id64, JsonUtils, OrderedId64Array } from "@itwin/core-bentley";
9
- import { BisCodeSpec, Code, ConcreteEntityTypes, IModel, Placement2d, Placement3d, RelatedElement, RenderSchedule, SectionType, TypeDefinition } from "@itwin/core-common";
8
+ import { CompressedId64Set, Id64, IModelStatus, JsonUtils, OrderedId64Array } from "@itwin/core-bentley";
9
+ import { BisCodeSpec, Code, ConcreteEntityTypes, IModel, IModelError, Placement2d, Placement3d, RelatedElement, RenderSchedule, SectionType, TypeDefinition } from "@itwin/core-common";
10
10
  import { ClipVector, Range3d, Transform, YawPitchRollAngles } from "@itwin/core-geometry";
11
11
  import { Entity } from "./Entity";
12
12
  import { EditTxn } from "./EditTxn";
13
- import { DefinitionModel, DrawingModel, PhysicalModel, SectionDrawingModel } from "./Model";
13
+ import { DefinitionModel, DrawingModel, GraphicalModel3d, PhysicalModel, SectionDrawingModel, SheetModel } from "./Model";
14
14
  import { SubjectOwnsProjectInformationRecord, SubjectOwnsSubjects } from "./NavigationRelationship";
15
15
  import { _cache, _elementWasCreated, _implicitTxn, _nativeDb, _onReservedElementInsert, _verifyChannel } from "./internal/Symbols";
16
16
  import { ECVersion, EntityClass } from "@itwin/ecschema-metadata";
@@ -44,7 +44,7 @@ function escapeHtml(text) {
44
44
  export class Element extends Entity {
45
45
  static get className() { return "Element"; }
46
46
  /** @internal */
47
- static get protectedOperations() { return ["onInsert", "onUpdate", "onDelete"]; }
47
+ static get protectedOperations() { return ["onInsert", "onUpdate", "onDelete", "onSubModelInsert"]; }
48
48
  /** The ModelId of the [Model]($docs/bis/guide/fundamentals/model-fundamentals.md) containing this element */
49
49
  model;
50
50
  /** The [Code]($docs/bis/guide/fundamentals/codes.md) for this element */
@@ -285,12 +285,32 @@ export class Element extends Entity {
285
285
  static onChildDropped(arg) {
286
286
  arg.iModel.elements[_cache].delete({ id: arg.parentId });
287
287
  }
288
+ /** The [[Model]] classes that may *sub-model* an instance of this class.
289
+ * A sub-model is accepted if its class is, or derives from, one of these classes, including generated JavaScript classes for unregistered EC subclasses.
290
+ * The default is `undefined`, which permits any Model class.
291
+ * Domain classes implementing `bis:ISubModeledElement` should override this to restrict their sub-model class.
292
+ * @note `this` is the class of Element to be sub-modeled.
293
+ * @beta
294
+ */
295
+ static get allowedSubModelClasses() { return undefined; }
288
296
  /** Called when an instance of this class is being *sub-modeled* by a new Model.
297
+ * The default implementation rejects the model unless its class is one of [[allowedSubModelClasses]] or [[allowedSubModelClasses]] returns undefined.
289
298
  * @note throw an exception if model should not be inserted
290
299
  * @note `this` is the class of Element to be sub-modeled.
300
+ * @note Overrides must call `super.onSubModelInsert(arg)` to retain inherited class validation.
291
301
  * @beta
292
302
  */
293
- static onSubModelInsert(_arg) { }
303
+ static onSubModelInsert(arg) {
304
+ const allowed = this.allowedSubModelClasses;
305
+ if (!allowed)
306
+ return;
307
+ const modelClassName = arg.subModelProps.classFullName.replace(".", ":");
308
+ const modelClass = arg.iModel.getJsClass(modelClassName);
309
+ if (!allowed.some((allowedClass) => modelClass === allowedClass || modelClass.prototype instanceof allowedClass)) {
310
+ const allowedNames = allowed.map((allowedClass) => allowedClass.name).join(" or ");
311
+ throw new IModelError(IModelStatus.WrongModel, `A ${this.className} must be sub-modeled by a ${allowedNames}, not a ${modelClassName}`);
312
+ }
313
+ }
294
314
  /** Called after an instance of this class was *sub-modeled* by a new Model.
295
315
  * @note `this` is the class of Element that is now sub-modeled.
296
316
  * @beta
@@ -1085,6 +1105,10 @@ export class Drawing extends Document {
1085
1105
  }
1086
1106
  /** The name of the DrawingModel class modeled by this element type. */
1087
1107
  static get drawingModelFullClassName() { return DrawingModel.classFullName; }
1108
+ /** A Drawing must be sub-modeled by a [[DrawingModel]].
1109
+ * @beta
1110
+ */
1111
+ static get allowedSubModelClasses() { return [DrawingModel]; }
1088
1112
  /** Create a Code for a Drawing given a name that is meant to be unique within the scope of the specified DocumentListModel.
1089
1113
  * @param iModel The IModelDb
1090
1114
  * @param scopeModelId The Id of the DocumentListModel that contains the Drawing and provides the scope for its name.
@@ -1138,6 +1162,10 @@ export class SectionDrawing extends Drawing {
1138
1162
  displaySpatialView;
1139
1163
  static get className() { return "SectionDrawing"; }
1140
1164
  static get drawingModelFullClassName() { return SectionDrawingModel.classFullName; }
1165
+ /** A SectionDrawing may be sub-modeled by a [[DrawingModel]] (including [[SectionDrawingModel]]) or a [[GraphicalModel3d]].
1166
+ * @beta
1167
+ */
1168
+ static get allowedSubModelClasses() { return [DrawingModel, GraphicalModel3d]; }
1141
1169
  constructor(props, iModel) {
1142
1170
  super(props, iModel);
1143
1171
  this.sectionType = JsonUtils.asInt(props.sectionType, SectionType.Section);
@@ -1222,6 +1250,10 @@ export class Sheet extends Document {
1222
1250
  if (undefined !== this.sheetTemplate)
1223
1251
  referenceIds.addElement(this.sheetTemplate);
1224
1252
  }
1253
+ /** A Sheet must be sub-modeled by a [[SheetModel]].
1254
+ * @beta
1255
+ */
1256
+ static get allowedSubModelClasses() { return [SheetModel]; }
1225
1257
  /** Create a Code for a Sheet given a name that is meant to be unique within the scope of the specified DocumentListModel.
1226
1258
  * @param iModel The IModelDb
1227
1259
  * @param scopeModelId The Id of the DocumentListModel that contains the Sheet and provides the scope for its name.
@@ -1534,6 +1566,10 @@ export class GraphicalType2d extends TypeDefinitionElement {
1534
1566
  export class TemplateRecipe2d extends RecipeDefinitionElement {
1535
1567
  static get className() { return "TemplateRecipe2d"; }
1536
1568
  constructor(props, iModel) { super(props, iModel); }
1569
+ /** A TemplateRecipe2d must be sub-modeled by a [[DrawingModel]].
1570
+ * @beta
1571
+ */
1572
+ static get allowedSubModelClasses() { return [DrawingModel]; }
1537
1573
  /** Create a Code for a TemplateRecipe2d given a name that is meant to be unique within the scope of its Model.
1538
1574
  * @param iModelDb The IModelDb
1539
1575
  * @param definitionModelId The Id of the [DefinitionModel]($backend) that contains this TemplateRecipe2d element.