@itwin/linear-referencing-backend 5.10.0-dev.8 → 5.11.0-dev.1
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.
- package/CHANGELOG.md +16 -1
- package/lib/cjs/LinearReferencingElementAspects.d.ts +2 -2
- package/lib/cjs/LinearReferencingElementAspects.d.ts.map +1 -1
- package/lib/cjs/LinearReferencingElementAspects.js +14 -4
- package/lib/cjs/LinearReferencingElementAspects.js.map +1 -1
- package/lib/cjs/LinearReferencingElements.d.ts +10 -10
- package/lib/cjs/LinearReferencingElements.d.ts.map +1 -1
- package/lib/cjs/LinearReferencingElements.js +89 -36
- package/lib/cjs/LinearReferencingElements.js.map +1 -1
- package/lib/cjs/LinearReferencingRelationships.js.map +1 -1
- package/lib/cjs/LinearReferencingSchema.js.map +1 -1
- package/lib/cjs/linear-referencing-backend.js.map +1 -1
- package/lib/esm/LinearReferencingElementAspects.d.ts +2 -2
- package/lib/esm/LinearReferencingElementAspects.d.ts.map +1 -1
- package/lib/esm/LinearReferencingElementAspects.js +15 -5
- package/lib/esm/LinearReferencingElementAspects.js.map +1 -1
- package/lib/esm/LinearReferencingElements.d.ts +10 -10
- package/lib/esm/LinearReferencingElements.d.ts.map +1 -1
- package/lib/esm/LinearReferencingElements.js +90 -37
- package/lib/esm/LinearReferencingElements.js.map +1 -1
- package/lib/esm/LinearReferencingRelationships.js.map +1 -1
- package/lib/esm/LinearReferencingSchema.js.map +1 -1
- package/lib/esm/linear-referencing-backend.js.map +1 -1
- package/package.json +10 -10
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,16 @@
|
|
|
1
1
|
# Change Log - @itwin/linear-referencing-backend
|
|
2
2
|
|
|
3
|
-
This log was last generated on
|
|
3
|
+
This log was last generated on Tue, 19 May 2026 19:47:05 GMT and should not be manually modified.
|
|
4
|
+
|
|
5
|
+
## 5.9.4
|
|
6
|
+
Tue, 19 May 2026 19:45:27 GMT
|
|
7
|
+
|
|
8
|
+
_Version update only_
|
|
9
|
+
|
|
10
|
+
## 5.9.3
|
|
11
|
+
Fri, 15 May 2026 11:25:54 GMT
|
|
12
|
+
|
|
13
|
+
_Version update only_
|
|
4
14
|
|
|
5
15
|
## 5.9.2
|
|
6
16
|
Fri, 08 May 2026 20:36:41 GMT
|
|
@@ -19,6 +29,11 @@ Mon, 04 May 2026 16:32:08 GMT
|
|
|
19
29
|
|
|
20
30
|
- added EditTxn apis
|
|
21
31
|
|
|
32
|
+
## 5.8.5
|
|
33
|
+
Thu, 14 May 2026 19:12:21 GMT
|
|
34
|
+
|
|
35
|
+
_Version update only_
|
|
36
|
+
|
|
22
37
|
## 5.8.4
|
|
23
38
|
Thu, 23 Apr 2026 18:05:14 GMT
|
|
24
39
|
|
|
@@ -39,7 +39,7 @@ export declare class LinearlyReferencedAtLocation extends LinearlyReferencedLoca
|
|
|
39
39
|
*/
|
|
40
40
|
static insert(txn: EditTxn, locatedElementId: Id64String, at: DistanceExpression, fromReferentId?: Id64String): void;
|
|
41
41
|
/** Insert a new aspect.
|
|
42
|
-
* @deprecated in 5.
|
|
42
|
+
* @deprecated in 5.9.0 - will not be removed until after 2027-05-04. Use LinearlyReferencedAtLocation.insert(txn, ...) instead, within an explicit EditTxn scope (or via withEditTxn). See EditTxn documentation for migration help.
|
|
43
43
|
*/
|
|
44
44
|
static insert(iModel: IModelDb, locatedElementId: Id64String, at: DistanceExpression, fromReferentId?: Id64String): void;
|
|
45
45
|
}
|
|
@@ -61,7 +61,7 @@ export declare class LinearlyReferencedFromToLocation extends LinearlyReferenced
|
|
|
61
61
|
*/
|
|
62
62
|
static insert(txn: EditTxn, locatedElementId: Id64String, from: DistanceExpression, to: DistanceExpression, fromReferentId?: Id64String, toReferentId?: Id64String): void;
|
|
63
63
|
/** Insert a new aspect.
|
|
64
|
-
* @deprecated in 5.
|
|
64
|
+
* @deprecated in 5.9.0 - will not be removed until after 2027-05-04. Use LinearlyReferencedFromToLocation.insert(txn, ...) instead, within an explicit EditTxn scope (or via withEditTxn). See EditTxn documentation for migration help.
|
|
65
65
|
*/
|
|
66
66
|
static insert(iModel: IModelDb, locatedElementId: Id64String, from: DistanceExpression, to: DistanceExpression, fromReferentId?: Id64String, toReferentId?: Id64String): void;
|
|
67
67
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinearReferencingElementAspects.d.ts","sourceRoot":"","sources":["../../src/LinearReferencingElementAspects.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAa,MAAM,qBAAqB,CAAC;AAC5D,OAAO,
|
|
1
|
+
{"version":3,"file":"LinearReferencingElementAspects.d.ts","sourceRoot":"","sources":["../../src/LinearReferencingElementAspects.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAa,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE5E,OAAO,EACL,uBAAuB,EAAE,uCAAuC,EAAE,2CAA2C,EAC9G,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,4CAA4C,EAAE,8CAA8C,EAAE,4CAA4C,EAC3I,MAAM,kCAAkC,CAAC;AAE1C;;GAEG;AACH,qBAAa,kBAAmB,YAAW,uBAAuB;IACzD,sBAAsB,EAAE,MAAM,CAAC;IAC/B,+BAA+B,CAAC,EAAE,MAAM,CAAC;IACzC,gCAAgC,CAAC,EAAE,MAAM,CAAC;IAC1C,yBAAyB,CAAC,EAAE,MAAM,CAAC;gBAE9B,KAAK,EAAE,uBAAuB;WAO5B,QAAQ,CAAC,IAAI,EAAE,uBAAuB,GAAG,kBAAkB;CAC1E;AAED;;GAEG;AACH,qBAAa,0BAA2B,SAAQ,kBAAkB;IAChE,gBAAgB;IAChB,WAA2B,SAAS,IAAI,MAAM,CAAyC;CACxF;AAED;;GAEG;AACH,qBAAa,4BAA6B,SAAQ,0BAA0B;IAC1E,gBAAgB;IAChB,WAA2B,SAAS,IAAI,MAAM,CAA2C;IAElF,UAAU,EAAE,kBAAkB,CAAC;IAC/B,YAAY,CAAC,EAAE,4CAA4C,CAAC;gBAEvD,KAAK,EAAE,uCAAuC,EAAE,MAAM,EAAE,QAAQ;IAM5E,OAAO,CAAC,MAAM,CAAC,OAAO;WAWR,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,UAAU,EACjE,EAAE,EAAE,kBAAkB,EAAE,cAAc,CAAC,EAAE,UAAU,GAAG,4BAA4B;IAIpF;;OAEG;WACW,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAC7D,EAAE,EAAE,kBAAkB,EAAE,cAAc,CAAC,EAAE,UAAU,GAAG,IAAI;IAE5D;;OAEG;WACW,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,UAAU,EACjE,EAAE,EAAE,kBAAkB,EAAE,cAAc,CAAC,EAAE,UAAU,GAAG,IAAI;CAY7D;AAED;;GAEG;AACH,qBAAa,gCAAiC,SAAQ,0BAA0B;IAC9E,gBAAgB;IAChB,WAA2B,SAAS,IAAI,MAAM,CAA+C;IAEtF,YAAY,EAAE,kBAAkB,CAAC;IACjC,wBAAwB,CAAC,EAAE,8CAA8C,CAAC;IAC1E,UAAU,EAAE,kBAAkB,CAAC;IAC/B,sBAAsB,CAAC,EAAE,4CAA4C,CAAC;gBAEjE,KAAK,EAAE,2CAA2C,EAAE,MAAM,EAAE,QAAQ;IAQhF,OAAO,CAAC,MAAM,CAAC,OAAO;WAcR,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,UAAU,EACjE,IAAI,EAAE,kBAAkB,EAAE,EAAE,EAAE,kBAAkB,EAAE,cAAc,CAAC,EAAE,UAAU,EAAE,YAAY,CAAC,EAAE,UAAU,GAAG,gCAAgC;IAI7I;;OAEG;WACW,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAC7D,IAAI,EAAE,kBAAkB,EAAE,EAAE,EAAE,kBAAkB,EAAE,cAAc,CAAC,EAAE,UAAU,EAAE,YAAY,CAAC,EAAE,UAAU,GAAG,IAAI;IAEjH;;OAEG;WACW,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,UAAU,EACjE,IAAI,EAAE,kBAAkB,EAAE,EAAE,EAAE,kBAAkB,EAAE,cAAc,CAAC,EAAE,UAAU,EAAE,YAAY,CAAC,EAAE,UAAU,GAAG,IAAI;CAYlH"}
|
|
@@ -63,8 +63,13 @@ class LinearlyReferencedAtLocation extends LinearlyReferencedLocation {
|
|
|
63
63
|
return new LinearlyReferencedAtLocation(this.toProps(locatedElementId, at, fromReferentId), iModel);
|
|
64
64
|
}
|
|
65
65
|
static insert(txnOrIModel, locatedElementId, at, fromReferentId) {
|
|
66
|
-
const
|
|
67
|
-
|
|
66
|
+
const aspectProps = this.toProps(locatedElementId, at, fromReferentId);
|
|
67
|
+
if (txnOrIModel instanceof core_backend_1.EditTxn)
|
|
68
|
+
txnOrIModel.insertAspect(aspectProps);
|
|
69
|
+
else {
|
|
70
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated -- deprecated IModelDb overload is intentionally preserved for backward compatibility.
|
|
71
|
+
txnOrIModel.elements.insertAspect(aspectProps);
|
|
72
|
+
}
|
|
68
73
|
}
|
|
69
74
|
}
|
|
70
75
|
exports.LinearlyReferencedAtLocation = LinearlyReferencedAtLocation;
|
|
@@ -100,8 +105,13 @@ class LinearlyReferencedFromToLocation extends LinearlyReferencedLocation {
|
|
|
100
105
|
return new LinearlyReferencedFromToLocation(this.toProps(locatedElementId, from, to, fromReferentId, toReferentId), iModel);
|
|
101
106
|
}
|
|
102
107
|
static insert(txnOrIModel, locatedElementId, from, to, fromReferentId, toReferentId) {
|
|
103
|
-
const
|
|
104
|
-
|
|
108
|
+
const aspectProps = this.toProps(locatedElementId, from, to, fromReferentId, toReferentId);
|
|
109
|
+
if (txnOrIModel instanceof core_backend_1.EditTxn)
|
|
110
|
+
txnOrIModel.insertAspect(aspectProps);
|
|
111
|
+
else {
|
|
112
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated -- deprecated IModelDb overload is intentionally preserved for backward compatibility.
|
|
113
|
+
txnOrIModel.elements.insertAspect(aspectProps);
|
|
114
|
+
}
|
|
105
115
|
}
|
|
106
116
|
}
|
|
107
117
|
exports.LinearlyReferencedFromToLocation = LinearlyReferencedFromToLocation;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinearReferencingElementAspects.js","sourceRoot":"","sources":["../../src/LinearReferencingElementAspects.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module LinearReferencing\n */\n\nimport { Id64String, JsonUtils } from \"@itwin/core-bentley\";\nimport { _implicitTxn, EditTxn, ElementMultiAspect, IModelDb } from \"@itwin/core-backend\";\nimport { RelatedElement } from \"@itwin/core-common\";\nimport {\n DistanceExpressionProps, LinearlyReferencedAtLocationAspectProps, LinearlyReferencedFromToLocationAspectProps,\n} from \"@itwin/linear-referencing-common\";\nimport {\n LinearlyReferencedAtPositionRefersToReferent, LinearlyReferencedFromPositionRefersToReferent, LinearlyReferencedToPositionRefersToReferent,\n} from \"./LinearReferencingRelationships\";\n\n/** Core structure carrying linearly-referenced information.\n * @beta\n */\nexport class DistanceExpression implements DistanceExpressionProps {\n public distanceAlongFromStart: number;\n public lateralOffsetFromILinearElement?: number;\n public verticalOffsetFromILinearElement?: number;\n public distanceAlongFromReferent?: number;\n\n constructor(props: DistanceExpressionProps) {\n this.distanceAlongFromStart = JsonUtils.asDouble(props.distanceAlongFromStart);\n this.lateralOffsetFromILinearElement = JsonUtils.asDouble(props.lateralOffsetFromILinearElement);\n this.verticalOffsetFromILinearElement = JsonUtils.asDouble(props.verticalOffsetFromILinearElement);\n this.distanceAlongFromReferent = JsonUtils.asDouble(props.distanceAlongFromReferent);\n }\n\n public static fromJSON(json: DistanceExpressionProps): DistanceExpression { return new DistanceExpression(json); }\n}\n\n/** Base class for multi-aspects carrying linearly-referenced locations.\n * @beta\n */\nexport class LinearlyReferencedLocation extends ElementMultiAspect {\n /** @internal */\n public static override get className(): string { return \"LinearlyReferencedLocation\"; }\n}\n\n/** Concrete multi-aspect class carrying 'at' linearly-referenced positions along a Linear-Element.\n * @beta\n */\nexport class LinearlyReferencedAtLocation extends LinearlyReferencedLocation {\n /** @internal */\n public static override get className(): string { return \"LinearlyReferencedAtLocation\"; }\n\n public atPosition: DistanceExpression;\n public fromReferent?: LinearlyReferencedAtPositionRefersToReferent;\n\n constructor(props: LinearlyReferencedAtLocationAspectProps, iModel: IModelDb) {\n super(props, iModel);\n this.atPosition = DistanceExpression.fromJSON(props.atPosition);\n this.fromReferent = RelatedElement.fromJSON(props.fromReferent);\n }\n\n private static toProps(locatedElementId: Id64String, at: DistanceExpression, fromReferentId?: Id64String): LinearlyReferencedAtLocationAspectProps {\n const props: LinearlyReferencedAtLocationAspectProps = {\n classFullName: LinearlyReferencedAtLocation.classFullName,\n element: { id: locatedElementId },\n atPosition: at,\n fromReferent: (fromReferentId === undefined) ? undefined : new LinearlyReferencedAtPositionRefersToReferent(fromReferentId),\n };\n\n return props;\n }\n\n public static create(iModel: IModelDb, locatedElementId: Id64String,\n at: DistanceExpression, fromReferentId?: Id64String): LinearlyReferencedAtLocation {\n return new LinearlyReferencedAtLocation(this.toProps(locatedElementId, at, fromReferentId), iModel);\n }\n\n /** Insert a new aspect using an explicit transaction.\n * @beta\n */\n public static insert(txn: EditTxn, locatedElementId: Id64String,\n at: DistanceExpression, fromReferentId?: Id64String): void;\n\n /** Insert a new aspect.\n * @deprecated in 5.1.9 - will not be removed until after 2027-05-04. Use LinearlyReferencedAtLocation.insert(txn, ...) instead, within an explicit EditTxn scope (or via withEditTxn). See EditTxn documentation for migration help.\n */\n public static insert(iModel: IModelDb, locatedElementId: Id64String,\n at: DistanceExpression, fromReferentId?: Id64String): void;\n\n public static insert(txnOrIModel: EditTxn | IModelDb, locatedElementId: Id64String,\n at: DistanceExpression, fromReferentId?: Id64String): void {\n const txn = txnOrIModel instanceof EditTxn ? txnOrIModel : txnOrIModel[_implicitTxn];\n txn.insertAspect(this.toProps(locatedElementId, at, fromReferentId));\n }\n}\n\n/** Concrete multi-aspect class carrying 'from-to' linearly-referenced positions along a Linear-Element.\n * @beta\n */\nexport class LinearlyReferencedFromToLocation extends LinearlyReferencedLocation {\n /** @internal */\n public static override get className(): string { return \"LinearlyReferencedFromToLocation\"; }\n\n public fromPosition: DistanceExpression;\n public fromPositionFromReferent?: LinearlyReferencedFromPositionRefersToReferent;\n public toPosition: DistanceExpression;\n public toPositionFromReferent?: LinearlyReferencedToPositionRefersToReferent;\n\n constructor(props: LinearlyReferencedFromToLocationAspectProps, iModel: IModelDb) {\n super(props, iModel);\n this.fromPosition = DistanceExpression.fromJSON(props.fromPosition);\n this.toPosition = DistanceExpression.fromJSON(props.toPosition);\n this.fromPositionFromReferent = RelatedElement.fromJSON(props.fromPositionFromReferent);\n this.toPositionFromReferent = RelatedElement.fromJSON(props.toPositionFromReferent);\n }\n\n private static toProps(locatedElementId: Id64String,\n from: DistanceExpression, to: DistanceExpression, fromReferentId?: Id64String, toReferentId?: Id64String): LinearlyReferencedFromToLocationAspectProps {\n const props: LinearlyReferencedFromToLocationAspectProps = {\n classFullName: LinearlyReferencedFromToLocation.classFullName,\n element: { id: locatedElementId },\n fromPosition: from,\n fromPositionFromReferent: (fromReferentId === undefined) ? undefined : new LinearlyReferencedFromPositionRefersToReferent(fromReferentId),\n toPosition: to,\n toPositionFromReferent: (toReferentId === undefined) ? undefined : new LinearlyReferencedToPositionRefersToReferent(toReferentId),\n };\n\n return props;\n }\n\n public static create(iModel: IModelDb, locatedElementId: Id64String,\n from: DistanceExpression, to: DistanceExpression, fromReferentId?: Id64String, toReferentId?: Id64String): LinearlyReferencedFromToLocation {\n return new LinearlyReferencedFromToLocation(this.toProps(locatedElementId, from, to, fromReferentId, toReferentId), iModel);\n }\n\n /** Insert a new aspect using an explicit transaction.\n * @beta\n */\n public static insert(txn: EditTxn, locatedElementId: Id64String,\n from: DistanceExpression, to: DistanceExpression, fromReferentId?: Id64String, toReferentId?: Id64String): void;\n\n /** Insert a new aspect.\n * @deprecated in 5.1.9 - will not be removed until after 2027-05-04. Use LinearlyReferencedFromToLocation.insert(txn, ...) instead, within an explicit EditTxn scope (or via withEditTxn). See EditTxn documentation for migration help.\n */\n public static insert(iModel: IModelDb, locatedElementId: Id64String,\n from: DistanceExpression, to: DistanceExpression, fromReferentId?: Id64String, toReferentId?: Id64String): void;\n\n public static insert(txnOrIModel: EditTxn | IModelDb, locatedElementId: Id64String,\n from: DistanceExpression, to: DistanceExpression, fromReferentId?: Id64String, toReferentId?: Id64String): void {\n const txn = txnOrIModel instanceof EditTxn ? txnOrIModel : txnOrIModel[_implicitTxn];\n txn.insertAspect(this.toProps(locatedElementId, from, to, fromReferentId, toReferentId));\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"LinearReferencingElementAspects.js","sourceRoot":"","sources":["../../src/LinearReferencingElementAspects.ts"],"names":[],"mappings":"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","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 LinearReferencing\r\n */\r\n\r\nimport { Id64String, JsonUtils } from \"@itwin/core-bentley\";\r\nimport { EditTxn, ElementMultiAspect, IModelDb } from \"@itwin/core-backend\";\r\nimport { RelatedElement } from \"@itwin/core-common\";\r\nimport {\r\n DistanceExpressionProps, LinearlyReferencedAtLocationAspectProps, LinearlyReferencedFromToLocationAspectProps,\r\n} from \"@itwin/linear-referencing-common\";\r\nimport {\r\n LinearlyReferencedAtPositionRefersToReferent, LinearlyReferencedFromPositionRefersToReferent, LinearlyReferencedToPositionRefersToReferent,\r\n} from \"./LinearReferencingRelationships\";\r\n\r\n/** Core structure carrying linearly-referenced information.\r\n * @beta\r\n */\r\nexport class DistanceExpression implements DistanceExpressionProps {\r\n public distanceAlongFromStart: number;\r\n public lateralOffsetFromILinearElement?: number;\r\n public verticalOffsetFromILinearElement?: number;\r\n public distanceAlongFromReferent?: number;\r\n\r\n constructor(props: DistanceExpressionProps) {\r\n this.distanceAlongFromStart = JsonUtils.asDouble(props.distanceAlongFromStart);\r\n this.lateralOffsetFromILinearElement = JsonUtils.asDouble(props.lateralOffsetFromILinearElement);\r\n this.verticalOffsetFromILinearElement = JsonUtils.asDouble(props.verticalOffsetFromILinearElement);\r\n this.distanceAlongFromReferent = JsonUtils.asDouble(props.distanceAlongFromReferent);\r\n }\r\n\r\n public static fromJSON(json: DistanceExpressionProps): DistanceExpression { return new DistanceExpression(json); }\r\n}\r\n\r\n/** Base class for multi-aspects carrying linearly-referenced locations.\r\n * @beta\r\n */\r\nexport class LinearlyReferencedLocation extends ElementMultiAspect {\r\n /** @internal */\r\n public static override get className(): string { return \"LinearlyReferencedLocation\"; }\r\n}\r\n\r\n/** Concrete multi-aspect class carrying 'at' linearly-referenced positions along a Linear-Element.\r\n * @beta\r\n */\r\nexport class LinearlyReferencedAtLocation extends LinearlyReferencedLocation {\r\n /** @internal */\r\n public static override get className(): string { return \"LinearlyReferencedAtLocation\"; }\r\n\r\n public atPosition: DistanceExpression;\r\n public fromReferent?: LinearlyReferencedAtPositionRefersToReferent;\r\n\r\n constructor(props: LinearlyReferencedAtLocationAspectProps, iModel: IModelDb) {\r\n super(props, iModel);\r\n this.atPosition = DistanceExpression.fromJSON(props.atPosition);\r\n this.fromReferent = RelatedElement.fromJSON(props.fromReferent);\r\n }\r\n\r\n private static toProps(locatedElementId: Id64String, at: DistanceExpression, fromReferentId?: Id64String): LinearlyReferencedAtLocationAspectProps {\r\n const props: LinearlyReferencedAtLocationAspectProps = {\r\n classFullName: LinearlyReferencedAtLocation.classFullName,\r\n element: { id: locatedElementId },\r\n atPosition: at,\r\n fromReferent: (fromReferentId === undefined) ? undefined : new LinearlyReferencedAtPositionRefersToReferent(fromReferentId),\r\n };\r\n\r\n return props;\r\n }\r\n\r\n public static create(iModel: IModelDb, locatedElementId: Id64String,\r\n at: DistanceExpression, fromReferentId?: Id64String): LinearlyReferencedAtLocation {\r\n return new LinearlyReferencedAtLocation(this.toProps(locatedElementId, at, fromReferentId), iModel);\r\n }\r\n\r\n /** Insert a new aspect using an explicit transaction.\r\n * @beta\r\n */\r\n public static insert(txn: EditTxn, locatedElementId: Id64String,\r\n at: DistanceExpression, fromReferentId?: Id64String): void;\r\n\r\n /** Insert a new aspect.\r\n * @deprecated in 5.9.0 - will not be removed until after 2027-05-04. Use LinearlyReferencedAtLocation.insert(txn, ...) instead, within an explicit EditTxn scope (or via withEditTxn). See EditTxn documentation for migration help.\r\n */\r\n public static insert(iModel: IModelDb, locatedElementId: Id64String,\r\n at: DistanceExpression, fromReferentId?: Id64String): void;\r\n\r\n public static insert(txnOrIModel: EditTxn | IModelDb, locatedElementId: Id64String,\r\n at: DistanceExpression, fromReferentId?: Id64String): void {\r\n const aspectProps = this.toProps(locatedElementId, at, fromReferentId);\r\n if (txnOrIModel instanceof EditTxn)\r\n txnOrIModel.insertAspect(aspectProps);\r\n else {\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated -- deprecated IModelDb overload is intentionally preserved for backward compatibility.\r\n txnOrIModel.elements.insertAspect(aspectProps);\r\n }\r\n }\r\n}\r\n\r\n/** Concrete multi-aspect class carrying 'from-to' linearly-referenced positions along a Linear-Element.\r\n * @beta\r\n */\r\nexport class LinearlyReferencedFromToLocation extends LinearlyReferencedLocation {\r\n /** @internal */\r\n public static override get className(): string { return \"LinearlyReferencedFromToLocation\"; }\r\n\r\n public fromPosition: DistanceExpression;\r\n public fromPositionFromReferent?: LinearlyReferencedFromPositionRefersToReferent;\r\n public toPosition: DistanceExpression;\r\n public toPositionFromReferent?: LinearlyReferencedToPositionRefersToReferent;\r\n\r\n constructor(props: LinearlyReferencedFromToLocationAspectProps, iModel: IModelDb) {\r\n super(props, iModel);\r\n this.fromPosition = DistanceExpression.fromJSON(props.fromPosition);\r\n this.toPosition = DistanceExpression.fromJSON(props.toPosition);\r\n this.fromPositionFromReferent = RelatedElement.fromJSON(props.fromPositionFromReferent);\r\n this.toPositionFromReferent = RelatedElement.fromJSON(props.toPositionFromReferent);\r\n }\r\n\r\n private static toProps(locatedElementId: Id64String,\r\n from: DistanceExpression, to: DistanceExpression, fromReferentId?: Id64String, toReferentId?: Id64String): LinearlyReferencedFromToLocationAspectProps {\r\n const props: LinearlyReferencedFromToLocationAspectProps = {\r\n classFullName: LinearlyReferencedFromToLocation.classFullName,\r\n element: { id: locatedElementId },\r\n fromPosition: from,\r\n fromPositionFromReferent: (fromReferentId === undefined) ? undefined : new LinearlyReferencedFromPositionRefersToReferent(fromReferentId),\r\n toPosition: to,\r\n toPositionFromReferent: (toReferentId === undefined) ? undefined : new LinearlyReferencedToPositionRefersToReferent(toReferentId),\r\n };\r\n\r\n return props;\r\n }\r\n\r\n public static create(iModel: IModelDb, locatedElementId: Id64String,\r\n from: DistanceExpression, to: DistanceExpression, fromReferentId?: Id64String, toReferentId?: Id64String): LinearlyReferencedFromToLocation {\r\n return new LinearlyReferencedFromToLocation(this.toProps(locatedElementId, from, to, fromReferentId, toReferentId), iModel);\r\n }\r\n\r\n /** Insert a new aspect using an explicit transaction.\r\n * @beta\r\n */\r\n public static insert(txn: EditTxn, locatedElementId: Id64String,\r\n from: DistanceExpression, to: DistanceExpression, fromReferentId?: Id64String, toReferentId?: Id64String): void;\r\n\r\n /** Insert a new aspect.\r\n * @deprecated in 5.9.0 - will not be removed until after 2027-05-04. Use LinearlyReferencedFromToLocation.insert(txn, ...) instead, within an explicit EditTxn scope (or via withEditTxn). See EditTxn documentation for migration help.\r\n */\r\n public static insert(iModel: IModelDb, locatedElementId: Id64String,\r\n from: DistanceExpression, to: DistanceExpression, fromReferentId?: Id64String, toReferentId?: Id64String): void;\r\n\r\n public static insert(txnOrIModel: EditTxn | IModelDb, locatedElementId: Id64String,\r\n from: DistanceExpression, to: DistanceExpression, fromReferentId?: Id64String, toReferentId?: Id64String): void {\r\n const aspectProps = this.toProps(locatedElementId, from, to, fromReferentId, toReferentId);\r\n if (txnOrIModel instanceof EditTxn)\r\n txnOrIModel.insertAspect(aspectProps);\r\n else {\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated -- deprecated IModelDb overload is intentionally preserved for backward compatibility.\r\n txnOrIModel.elements.insertAspect(aspectProps);\r\n }\r\n }\r\n}\r\n"]}
|
|
@@ -40,7 +40,7 @@ export declare class LinearLocation extends LinearLocationElement implements Lin
|
|
|
40
40
|
*/
|
|
41
41
|
static insertFromTo(txn: EditTxn, modelId: Id64String, categoryId: Id64String, linearElementId: Id64String, fromToPosition: LinearlyReferencedFromToLocationProps, locatedElementId: Id64String): Id64String;
|
|
42
42
|
/** Insert a new `LinearLocation`.
|
|
43
|
-
* @deprecated in 5.
|
|
43
|
+
* @deprecated in 5.9.0 - will not be removed until after 2027-05-04. Use LinearLocation.insertFromTo(txn, ...) instead, within an explicit EditTxn scope (or via withEditTxn). See EditTxn documentation for migration help.
|
|
44
44
|
*/
|
|
45
45
|
static insertFromTo(iModel: IModelDb, modelId: Id64String, categoryId: Id64String, linearElementId: Id64String, fromToPosition: LinearlyReferencedFromToLocationProps, locatedElementId: Id64String): Id64String;
|
|
46
46
|
/** Insert this `LinearLocation` using an explicit transaction.
|
|
@@ -48,7 +48,7 @@ export declare class LinearLocation extends LinearLocationElement implements Lin
|
|
|
48
48
|
*/
|
|
49
49
|
insertFromTo(txn: EditTxn, linearElementId: Id64String, fromToPosition: LinearlyReferencedFromToLocationProps, locatedElementId: Id64String): Id64String;
|
|
50
50
|
/** Insert this `LinearLocation`.
|
|
51
|
-
* @deprecated in 5.
|
|
51
|
+
* @deprecated in 5.9.0 - will not be removed until after 2027-05-04. Use LinearLocation.insertFromTo(txn, ...) instead, within an explicit EditTxn scope (or via withEditTxn). See EditTxn documentation for migration help.
|
|
52
52
|
*/
|
|
53
53
|
insertFromTo(iModel: IModelDb, linearElementId: Id64String, fromToPosition: LinearlyReferencedFromToLocationProps, locatedElementId: Id64String): Id64String;
|
|
54
54
|
/** Insert a new `LinearLocation` using an explicit transaction.
|
|
@@ -56,7 +56,7 @@ export declare class LinearLocation extends LinearLocationElement implements Lin
|
|
|
56
56
|
*/
|
|
57
57
|
static insertAt(txn: EditTxn, modelId: Id64String, categoryId: Id64String, linearElementId: Id64String, atPosition: LinearlyReferencedAtLocationProps, locatedElementId: Id64String): Id64String;
|
|
58
58
|
/** Insert a new `LinearLocation`.
|
|
59
|
-
* @deprecated in 5.
|
|
59
|
+
* @deprecated in 5.9.0 - will not be removed until after 2027-05-04. Use LinearLocation.insertAt(txn, ...) instead, within an explicit EditTxn scope (or via withEditTxn). See EditTxn documentation for migration help.
|
|
60
60
|
*/
|
|
61
61
|
static insertAt(iModel: IModelDb, modelId: Id64String, categoryId: Id64String, linearElementId: Id64String, atPosition: LinearlyReferencedAtLocationProps, locatedElementId: Id64String): Id64String;
|
|
62
62
|
/** Insert this `LinearLocation` using an explicit transaction.
|
|
@@ -64,7 +64,7 @@ export declare class LinearLocation extends LinearLocationElement implements Lin
|
|
|
64
64
|
*/
|
|
65
65
|
insertAt(txn: EditTxn, linearElementId: Id64String, atPosition: LinearlyReferencedAtLocationProps, locatedElementId: Id64String): Id64String;
|
|
66
66
|
/** Insert this `LinearLocation`.
|
|
67
|
-
* @deprecated in 5.
|
|
67
|
+
* @deprecated in 5.9.0 - will not be removed until after 2027-05-04. Use LinearLocation.insertAt(txn, ...) instead, within an explicit EditTxn scope (or via withEditTxn). See EditTxn documentation for migration help.
|
|
68
68
|
*/
|
|
69
69
|
insertAt(iModel: IModelDb, linearElementId: Id64String, atPosition: LinearlyReferencedAtLocationProps, locatedElementId: Id64String): Id64String;
|
|
70
70
|
}
|
|
@@ -100,7 +100,7 @@ export declare class Referent extends ReferentElement {
|
|
|
100
100
|
*/
|
|
101
101
|
static insertAt(txn: EditTxn, modelId: Id64String, categoryId: Id64String, linearElementId: Id64String, atPosition: LinearlyReferencedAtLocationProps, referencedElementId: Id64String): Id64String;
|
|
102
102
|
/** Insert a new `Referent`.
|
|
103
|
-
* @deprecated in 5.
|
|
103
|
+
* @deprecated in 5.9.0 - will not be removed until after 2027-05-04. Use Referent.insertAt(txn, ...) instead, within an explicit EditTxn scope (or via withEditTxn). See EditTxn documentation for migration help.
|
|
104
104
|
*/
|
|
105
105
|
static insertAt(iModel: IModelDb, modelId: Id64String, categoryId: Id64String, linearElementId: Id64String, atPosition: LinearlyReferencedAtLocationProps, referencedElementId: Id64String): Id64String;
|
|
106
106
|
/** Insert this `Referent` using an explicit transaction.
|
|
@@ -108,7 +108,7 @@ export declare class Referent extends ReferentElement {
|
|
|
108
108
|
*/
|
|
109
109
|
insertAt(txn: EditTxn, linearElementId: Id64String, atPosition: LinearlyReferencedAtLocationProps): Id64String;
|
|
110
110
|
/** Insert this `Referent`.
|
|
111
|
-
* @deprecated in 5.
|
|
111
|
+
* @deprecated in 5.9.0 - will not be removed until after 2027-05-04. Use Referent.insertAt(txn, ...) instead, within an explicit EditTxn scope (or via withEditTxn). See EditTxn documentation for migration help.
|
|
112
112
|
*/
|
|
113
113
|
insertAt(iModel: IModelDb, linearElementId: Id64String, atPosition: LinearlyReferencedAtLocationProps): Id64String;
|
|
114
114
|
}
|
|
@@ -133,7 +133,7 @@ export declare class LinearlyLocated {
|
|
|
133
133
|
* @param atPosition Linear position.
|
|
134
134
|
* @returns The newly inserted element's Id.
|
|
135
135
|
* @throws [[IModelError]] if unable to insert the element.
|
|
136
|
-
* @deprecated in 5.
|
|
136
|
+
* @deprecated in 5.9.0 - will not be removed until after 2027-05-04. Use LinearlyLocated.insertAt(txn, ...) instead, within an explicit EditTxn scope (or via withEditTxn). See EditTxn documentation for migration help.
|
|
137
137
|
*/
|
|
138
138
|
static insertAt(iModel: IModelDb, elProps: ElementProps, linearElementId: Id64String, atPosition: LinearlyReferencedAtLocationProps): Id64String;
|
|
139
139
|
/** Insert a new LinearlyLocated element into an iModel at a specific from-to location along an existing Linear-Element.
|
|
@@ -152,7 +152,7 @@ export declare class LinearlyLocated {
|
|
|
152
152
|
* @param fromToPosition Linear position.
|
|
153
153
|
* @returns The newly inserted element's Id.
|
|
154
154
|
* @throws [[IModelError]] if unable to insert the element.
|
|
155
|
-
* @deprecated in 5.
|
|
155
|
+
* @deprecated in 5.9.0 - will not be removed until after 2027-05-04. Use LinearlyLocated.insertFromTo(txn, ...) instead, within an explicit EditTxn scope (or via withEditTxn). See EditTxn documentation for migration help.
|
|
156
156
|
*/
|
|
157
157
|
static insertFromTo(iModel: IModelDb, elProps: ElementProps, linearElementId: Id64String, fromToPosition: LinearlyReferencedFromToLocationProps): Id64String;
|
|
158
158
|
private static getLinearLocations;
|
|
@@ -177,7 +177,7 @@ export declare class LinearlyLocated {
|
|
|
177
177
|
* @param linearLocationProps The properties to use to update the LinearlyReferencedAtLocation aspect.
|
|
178
178
|
* @param aspectId The Id of the aspect to update. If not known, the first aspectId will be looked-up.
|
|
179
179
|
* @throws [[IModelError]]
|
|
180
|
-
* @deprecated in 5.
|
|
180
|
+
* @deprecated in 5.9.0 - will not be removed until after 2027-05-04. Use LinearlyLocated.updateAtLocation(txn, ...) instead, within an explicit EditTxn scope (or via withEditTxn). See EditTxn documentation for migration help.
|
|
181
181
|
*/
|
|
182
182
|
static updateAtLocation(iModel: IModelDb, linearlyLocatedElementId: Id64String, linearLocationProps: LinearlyReferencedAtLocationProps, aspectId?: Id64String): void;
|
|
183
183
|
static updateAtLocation(txn: EditTxn, linearlyLocatedElementId: Id64String, linearLocationProps: LinearlyReferencedAtLocationProps, aspectId?: Id64String): void;
|
|
@@ -187,7 +187,7 @@ export declare class LinearlyLocated {
|
|
|
187
187
|
* @param linearLocationProps The properties to use to update the LinearlyReferencedFromToLocation aspect.
|
|
188
188
|
* @param aspectId The Id of the aspect to update. If not known, the first aspectId will be looked-up.
|
|
189
189
|
* @throws [[IModelError]]
|
|
190
|
-
* @deprecated in 5.
|
|
190
|
+
* @deprecated in 5.9.0 - will not be removed until after 2027-05-04. Use LinearlyLocated.updateFromToLocation(txn, ...) instead, within an explicit EditTxn scope (or via withEditTxn). See EditTxn documentation for migration help.
|
|
191
191
|
*/
|
|
192
192
|
static updateFromToLocation(iModel: IModelDb, linearlyLocatedElementId: Id64String, linearLocationProps: LinearlyReferencedFromToLocationProps, aspectId?: Id64String): void;
|
|
193
193
|
static updateFromToLocation(txn: EditTxn, linearlyLocatedElementId: Id64String, linearLocationProps: LinearlyReferencedFromToLocationProps, aspectId?: Id64String): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinearReferencingElements.d.ts","sourceRoot":"","sources":["../../src/LinearReferencingElements.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAoB,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,
|
|
1
|
+
{"version":3,"file":"LinearReferencingElements.d.ts","sourceRoot":"","sources":["../../src/LinearReferencingElements.ts"],"names":[],"mappings":"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"}
|
|
@@ -66,28 +66,52 @@ class LinearLocation extends LinearLocationElement {
|
|
|
66
66
|
return new LinearLocation(this.toProps(modelId, categoryId), iModel);
|
|
67
67
|
}
|
|
68
68
|
static insertFromTo(txnOrIModel, modelId, categoryId, linearElementId, fromToPosition, locatedElementId) {
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
69
|
+
if (txnOrIModel instanceof core_backend_1.EditTxn) {
|
|
70
|
+
const newId = LinearlyLocated.insertFromTo(txnOrIModel, this.toProps(modelId, categoryId), linearElementId, fromToPosition);
|
|
71
|
+
LinearReferencingRelationships_1.ILinearLocationLocatesElement.insert(txnOrIModel, newId, locatedElementId);
|
|
72
|
+
return newId;
|
|
73
|
+
}
|
|
74
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated -- deprecated IModelDb overload is intentionally preserved for backward compatibility.
|
|
75
|
+
const iModelNewId = LinearlyLocated.insertFromTo(txnOrIModel, this.toProps(modelId, categoryId), linearElementId, fromToPosition);
|
|
76
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated -- deprecated IModelDb overload is intentionally preserved for backward compatibility.
|
|
77
|
+
LinearReferencingRelationships_1.ILinearLocationLocatesElement.insert(txnOrIModel, iModelNewId, locatedElementId);
|
|
78
|
+
return iModelNewId;
|
|
73
79
|
}
|
|
74
80
|
insertFromTo(txnOrIModel, linearElementId, fromToPosition, locatedElementId) {
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
81
|
+
if (txnOrIModel instanceof core_backend_1.EditTxn) {
|
|
82
|
+
const newId = LinearlyLocated.insertFromTo(txnOrIModel, this.toJSON(), linearElementId, fromToPosition);
|
|
83
|
+
LinearReferencingRelationships_1.ILinearLocationLocatesElement.insert(txnOrIModel, newId, locatedElementId);
|
|
84
|
+
return newId;
|
|
85
|
+
}
|
|
86
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated -- deprecated IModelDb overload is intentionally preserved for backward compatibility.
|
|
87
|
+
const iModelNewId = LinearlyLocated.insertFromTo(txnOrIModel, this.toJSON(), linearElementId, fromToPosition);
|
|
88
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated -- deprecated IModelDb overload is intentionally preserved for backward compatibility.
|
|
89
|
+
LinearReferencingRelationships_1.ILinearLocationLocatesElement.insert(txnOrIModel, iModelNewId, locatedElementId);
|
|
90
|
+
return iModelNewId;
|
|
79
91
|
}
|
|
80
92
|
static insertAt(txnOrIModel, modelId, categoryId, linearElementId, atPosition, locatedElementId) {
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
93
|
+
if (txnOrIModel instanceof core_backend_1.EditTxn) {
|
|
94
|
+
const newId = LinearlyLocated.insertAt(txnOrIModel, this.toProps(modelId, categoryId), linearElementId, atPosition);
|
|
95
|
+
LinearReferencingRelationships_1.ILinearLocationLocatesElement.insert(txnOrIModel, newId, locatedElementId);
|
|
96
|
+
return newId;
|
|
97
|
+
}
|
|
98
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated -- deprecated IModelDb overload is intentionally preserved for backward compatibility.
|
|
99
|
+
const iModelNewId = LinearlyLocated.insertAt(txnOrIModel, this.toProps(modelId, categoryId), linearElementId, atPosition);
|
|
100
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated -- deprecated IModelDb overload is intentionally preserved for backward compatibility.
|
|
101
|
+
LinearReferencingRelationships_1.ILinearLocationLocatesElement.insert(txnOrIModel, iModelNewId, locatedElementId);
|
|
102
|
+
return iModelNewId;
|
|
85
103
|
}
|
|
86
104
|
insertAt(txnOrIModel, linearElementId, atPosition, locatedElementId) {
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
105
|
+
if (txnOrIModel instanceof core_backend_1.EditTxn) {
|
|
106
|
+
const newId = LinearlyLocated.insertAt(txnOrIModel, this.toJSON(), linearElementId, atPosition);
|
|
107
|
+
LinearReferencingRelationships_1.ILinearLocationLocatesElement.insert(txnOrIModel, newId, locatedElementId);
|
|
108
|
+
return newId;
|
|
109
|
+
}
|
|
110
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated -- deprecated IModelDb overload is intentionally preserved for backward compatibility.
|
|
111
|
+
const iModelNewId = LinearlyLocated.insertAt(txnOrIModel, this.toJSON(), linearElementId, atPosition);
|
|
112
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated -- deprecated IModelDb overload is intentionally preserved for backward compatibility.
|
|
113
|
+
LinearReferencingRelationships_1.ILinearLocationLocatesElement.insert(txnOrIModel, iModelNewId, locatedElementId);
|
|
114
|
+
return iModelNewId;
|
|
91
115
|
}
|
|
92
116
|
}
|
|
93
117
|
exports.LinearLocation = LinearLocation;
|
|
@@ -141,12 +165,16 @@ class Referent extends ReferentElement {
|
|
|
141
165
|
return new Referent(this.toProps(modelId, categoryId, referencedElementId), iModel);
|
|
142
166
|
}
|
|
143
167
|
static insertAt(txnOrIModel, modelId, categoryId, linearElementId, atPosition, referencedElementId) {
|
|
144
|
-
|
|
145
|
-
|
|
168
|
+
if (txnOrIModel instanceof core_backend_1.EditTxn)
|
|
169
|
+
return LinearlyLocated.insertAt(txnOrIModel, this.toProps(modelId, categoryId, referencedElementId), linearElementId, atPosition);
|
|
170
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated -- deprecated IModelDb overload is intentionally preserved for backward compatibility.
|
|
171
|
+
return LinearlyLocated.insertAt(txnOrIModel, this.toProps(modelId, categoryId, referencedElementId), linearElementId, atPosition);
|
|
146
172
|
}
|
|
147
173
|
insertAt(txnOrIModel, linearElementId, atPosition) {
|
|
148
|
-
|
|
149
|
-
|
|
174
|
+
if (txnOrIModel instanceof core_backend_1.EditTxn)
|
|
175
|
+
return LinearlyLocated.insertAt(txnOrIModel, this.toJSON(), linearElementId, atPosition);
|
|
176
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated -- deprecated IModelDb overload is intentionally preserved for backward compatibility.
|
|
177
|
+
return LinearlyLocated.insertAt(txnOrIModel, this.toJSON(), linearElementId, atPosition);
|
|
150
178
|
}
|
|
151
179
|
}
|
|
152
180
|
exports.Referent = Referent;
|
|
@@ -422,22 +450,39 @@ class QueryLinearLocationsECSQLGen {
|
|
|
422
450
|
* @beta
|
|
423
451
|
*/
|
|
424
452
|
class LinearlyLocated {
|
|
425
|
-
static insertBasic(
|
|
426
|
-
const newId =
|
|
427
|
-
|
|
428
|
-
|
|
453
|
+
static insertBasic(txnOrIModel, elProps, linearElementId) {
|
|
454
|
+
const newId = txnOrIModel instanceof core_backend_1.EditTxn
|
|
455
|
+
? txnOrIModel.insertElement(elProps)
|
|
456
|
+
: (() => {
|
|
457
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated -- deprecated IModelDb overload is intentionally preserved for backward compatibility.
|
|
458
|
+
return txnOrIModel.elements.insertElement(elProps);
|
|
459
|
+
})();
|
|
460
|
+
if (txnOrIModel instanceof core_backend_1.EditTxn)
|
|
461
|
+
LinearReferencingRelationships_1.ILinearlyLocatedAlongILinearElement.insert(txnOrIModel, newId, linearElementId);
|
|
462
|
+
else {
|
|
463
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated -- deprecated IModelDb overload is intentionally preserved for backward compatibility.
|
|
464
|
+
LinearReferencingRelationships_1.ILinearlyLocatedAlongILinearElement.insert(txnOrIModel, newId, linearElementId);
|
|
465
|
+
}
|
|
429
466
|
return newId;
|
|
430
467
|
}
|
|
431
468
|
static insertAt(txnOrIModel, elProps, linearElementId, atPosition) {
|
|
432
|
-
const
|
|
433
|
-
|
|
434
|
-
|
|
469
|
+
const newId = this.insertBasic(txnOrIModel, elProps, linearElementId);
|
|
470
|
+
if (txnOrIModel instanceof core_backend_1.EditTxn)
|
|
471
|
+
LinearReferencingElementAspects_1.LinearlyReferencedAtLocation.insert(txnOrIModel, newId, atPosition.atPosition, atPosition.fromReferent === undefined ? undefined : atPosition.fromReferent.id);
|
|
472
|
+
else {
|
|
473
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated -- deprecated IModelDb overload is intentionally preserved for backward compatibility.
|
|
474
|
+
LinearReferencingElementAspects_1.LinearlyReferencedAtLocation.insert(txnOrIModel, newId, atPosition.atPosition, atPosition.fromReferent === undefined ? undefined : atPosition.fromReferent.id);
|
|
475
|
+
}
|
|
435
476
|
return newId;
|
|
436
477
|
}
|
|
437
478
|
static insertFromTo(txnOrIModel, elProps, linearElementId, fromToPosition) {
|
|
438
|
-
const
|
|
439
|
-
|
|
440
|
-
|
|
479
|
+
const newId = this.insertBasic(txnOrIModel, elProps, linearElementId);
|
|
480
|
+
if (txnOrIModel instanceof core_backend_1.EditTxn)
|
|
481
|
+
LinearReferencingElementAspects_1.LinearlyReferencedFromToLocation.insert(txnOrIModel, newId, fromToPosition.fromPosition, fromToPosition.toPosition, fromToPosition.fromPositionFromReferent === undefined ? undefined : fromToPosition.fromPositionFromReferent.id, fromToPosition.toPositionFromReferent === undefined ? undefined : fromToPosition.toPositionFromReferent.id);
|
|
482
|
+
else {
|
|
483
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated -- deprecated IModelDb overload is intentionally preserved for backward compatibility.
|
|
484
|
+
LinearReferencingElementAspects_1.LinearlyReferencedFromToLocation.insert(txnOrIModel, newId, fromToPosition.fromPosition, fromToPosition.toPosition, fromToPosition.fromPositionFromReferent === undefined ? undefined : fromToPosition.fromPositionFromReferent.id, fromToPosition.toPositionFromReferent === undefined ? undefined : fromToPosition.toPositionFromReferent.id);
|
|
485
|
+
}
|
|
441
486
|
return newId;
|
|
442
487
|
}
|
|
443
488
|
static getLinearLocations(iModel, linearlyLocatedElementId, fullClassName) {
|
|
@@ -486,8 +531,7 @@ class LinearlyLocated {
|
|
|
486
531
|
}
|
|
487
532
|
}
|
|
488
533
|
static updateAtLocation(txnOrIModel, linearlyLocatedElementId, linearLocationProps, aspectId) {
|
|
489
|
-
const
|
|
490
|
-
const iModel = txn.iModel;
|
|
534
|
+
const iModel = txnOrIModel instanceof core_backend_1.EditTxn ? txnOrIModel.iModel : txnOrIModel;
|
|
491
535
|
let linearLocAspectId;
|
|
492
536
|
if (aspectId !== undefined)
|
|
493
537
|
linearLocAspectId = aspectId;
|
|
@@ -504,11 +548,15 @@ class LinearlyLocated {
|
|
|
504
548
|
atPosition: linearLocationProps.atPosition,
|
|
505
549
|
fromReferent: linearLocationProps.fromReferent,
|
|
506
550
|
};
|
|
507
|
-
|
|
551
|
+
if (txnOrIModel instanceof core_backend_1.EditTxn)
|
|
552
|
+
txnOrIModel.updateAspect(linearLocationAspectProps);
|
|
553
|
+
else {
|
|
554
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated -- deprecated IModelDb overload is intentionally preserved for backward compatibility.
|
|
555
|
+
txnOrIModel.elements.updateAspect(linearLocationAspectProps);
|
|
556
|
+
}
|
|
508
557
|
}
|
|
509
558
|
static updateFromToLocation(txnOrIModel, linearlyLocatedElementId, linearLocationProps, aspectId) {
|
|
510
|
-
const
|
|
511
|
-
const iModel = txn.iModel;
|
|
559
|
+
const iModel = txnOrIModel instanceof core_backend_1.EditTxn ? txnOrIModel.iModel : txnOrIModel;
|
|
512
560
|
let linearLocAspectId;
|
|
513
561
|
if (aspectId !== undefined)
|
|
514
562
|
linearLocAspectId = aspectId;
|
|
@@ -527,7 +575,12 @@ class LinearlyLocated {
|
|
|
527
575
|
toPosition: linearLocationProps.toPosition,
|
|
528
576
|
toPositionFromReferent: linearLocationProps.toPositionFromReferent,
|
|
529
577
|
};
|
|
530
|
-
|
|
578
|
+
if (txnOrIModel instanceof core_backend_1.EditTxn)
|
|
579
|
+
txnOrIModel.updateAspect(linearLocationAspectProps);
|
|
580
|
+
else {
|
|
581
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated -- deprecated IModelDb overload is intentionally preserved for backward compatibility.
|
|
582
|
+
txnOrIModel.elements.updateAspect(linearLocationAspectProps);
|
|
583
|
+
}
|
|
531
584
|
}
|
|
532
585
|
/** Query for the Id of the Linear-Element along which the specified LinearlyLocated Element is located.
|
|
533
586
|
* @param iModel The iModel to query from.
|