@itwin/linear-referencing-backend 5.9.2 → 5.10.0-dev.10
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 +1 -1
- 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.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.map +1 -1
- package/lib/esm/LinearReferencingElementAspects.js +15 -5
- package/lib/esm/LinearReferencingElementAspects.js.map +1 -1
- 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,6 @@
|
|
|
1
1
|
# Change Log - @itwin/linear-referencing-backend
|
|
2
2
|
|
|
3
|
-
This log was last generated on Fri, 08 May 2026 20:
|
|
3
|
+
This log was last generated on Fri, 08 May 2026 20:37:55 GMT and should not be manually modified.
|
|
4
4
|
|
|
5
5
|
## 5.9.2
|
|
6
6
|
Fri, 08 May 2026 20:36:41 GMT
|
|
@@ -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.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.\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.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.\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"]}
|
|
@@ -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":"AAIA;;GAEG;AAEH,OAAO,EAAoB,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAkB,OAAO,EAAiB,QAAQ,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAChI,OAAO,EAAQ,YAAY,EAAE,uBAAuB,EAAe,oBAAoB,EAAkB,MAAM,oBAAoB,CAAC;AACpI,OAAO,EACa,uBAAuB,EAAE,+BAA+B,EAC1E,iCAAiC,EAA+C,qCAAqC,EACrF,WAAW,EAAE,oBAAoB,EAClE,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,4BAA4B,EAAE,gCAAgC,EAAE,MAAM,mCAAmC,CAAC;AACnH,OAAO,EAC+D,iCAAiC,EAAE,0BAA0B,EAClI,MAAM,kCAAkC,CAAC;AAE1C;;GAEG;AACH,8BAAsB,0BAA2B,SAAQ,sBAAsB;IAC7E,gBAAgB;IAChB,WAA2B,SAAS,IAAI,MAAM,CAAyC;IAEhF,iBAAiB,CAAC,EAAE,iCAAiC,CAAC;gBAE1C,KAAK,EAAE,+BAA+B,EAAE,MAAM,EAAE,QAAQ;IAKpE,kBAAkB,IAAI,UAAU,GAAG,SAAS;CAGpD;AAED;;GAEG;AACH,8BAAsB,qBAAsB,SAAQ,sBAAuB,YAAW,mBAAmB;IACvG,gBAAgB;IAChB,WAA2B,SAAS,IAAI,MAAM,CAAoC;gBAE/D,KAAK,EAAE,uBAAuB,EAAE,MAAM,EAAE,QAAQ;IAI5D,kBAAkB,IAAI,UAAU,GAAG,SAAS;CAGpD;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,qBAAsB,YAAW,mBAAmB;IACtF,gBAAgB;IAChB,WAA2B,SAAS,IAAI,MAAM,CAA6B;gBACxD,KAAK,EAAE,uBAAuB,EAAE,MAAM,EAAE,QAAQ;IAInE,OAAO,CAAC,MAAM,CAAC,OAAO;WAWR,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,GAAG,cAAc;IAInG;;OAEG;WACW,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,UAAU,EAC/G,cAAc,EAAE,qCAAqC,EAAE,gBAAgB,EAAE,UAAU,GAAG,UAAU;IAClG;;OAEG;WACW,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,UAAU,EACnH,cAAc,EAAE,qCAAqC,EAAE,gBAAgB,EAAE,UAAU,GAAG,UAAU;IAgBlG;;OAEG;IACI,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,cAAc,EAAE,qCAAqC,EAAE,gBAAgB,EAAE,UAAU,GAAG,UAAU;IAC/J;;OAEG;IACI,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE,cAAc,EAAE,qCAAqC,EAAE,gBAAgB,EAAE,UAAU,GAAG,UAAU;IAenK;;OAEG;WACW,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,UAAU,EAC3G,UAAU,EAAE,iCAAiC,EAAE,gBAAgB,EAAE,UAAU,GAAG,UAAU;IAC1F;;OAEG;WACW,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,UAAU,EAC/G,UAAU,EAAE,iCAAiC,EAAE,gBAAgB,EAAE,UAAU,GAAG,UAAU;IAgB1F;;OAEG;IACI,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,EAAE,iCAAiC,EAAE,gBAAgB,EAAE,UAAU,GAAG,UAAU;IACnJ;;OAEG;IACI,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,EAAE,iCAAiC,EAAE,gBAAgB,EAAE,UAAU,GAAG,UAAU;CAcxJ;AAED;;GAEG;AACH,8BAAsB,qBAAsB,SAAQ,eAAe;IACjE,gBAAgB;IAChB,WAA2B,SAAS,IAAI,MAAM,CAAoC;gBAE/D,KAAK,EAAE,oBAAoB,EAAE,MAAM,EAAE,QAAQ;CAGjE;AAED;;GAEG;AACH,8BAAsB,eAAgB,SAAQ,sBAAuB,YAAW,mBAAmB;IACjG,gBAAgB;IAChB,WAA2B,SAAS,IAAI,MAAM,CAA8B;IAErE,iBAAiB,CAAC,EAAE,0BAA0B,CAAC;gBAEnC,KAAK,EAAE,oBAAoB,EAAE,MAAM,EAAE,QAAQ;IAKzD,kBAAkB,IAAI,UAAU,GAAG,SAAS;CAGpD;AAED;;GAEG;AACH,qBAAa,QAAS,SAAQ,eAAe;IAC3C,gBAAgB;IAChB,WAA2B,SAAS,IAAI,MAAM,CAAuB;gBAClD,KAAK,EAAE,oBAAoB,EAAE,MAAM,EAAE,QAAQ;IAIhE,OAAO,CAAC,MAAM,CAAC,OAAO;WAYR,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,mBAAmB,EAAE,UAAU,GAAG,QAAQ;IAI9H;;OAEG;WACW,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,UAAU,EAC3G,UAAU,EAAE,iCAAiC,EAAE,mBAAmB,EAAE,UAAU,GAAG,UAAU;IAC7F;;OAEG;WACW,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,UAAU,EAC/G,UAAU,EAAE,iCAAiC,EAAE,mBAAmB,EAAE,UAAU,GAAG,UAAU;IAU7F;;OAEG;IACI,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,EAAE,iCAAiC,GAAG,UAAU;IACrH;;OAEG;IACI,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,EAAE,iCAAiC,GAAG,UAAU;CAQ1H;AAwTD;;GAEG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAC,WAAW;IAkB1B;;;;;;;OAOG;WACW,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,UAAU,EACrF,UAAU,EAAE,iCAAiC,GAAG,UAAU;IAC5D;;;;;;;;OAQG;WACW,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,UAAU,EACzF,UAAU,EAAE,iCAAiC,GAAG,UAAU;IAe5D;;;;;;;OAOG;WACW,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,UAAU,EACzF,cAAc,EAAE,qCAAqC,GAAG,UAAU;IACpE;;;;;;;;OAQG;WACW,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,UAAU,EAC7F,cAAc,EAAE,qCAAqC,GAAG,UAAU;IAmBpE,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAgBjC,OAAO,CAAC,MAAM,CAAC,gCAAgC;IAY/C;;;;;OAKG;WACW,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE,wBAAwB,EAAE,UAAU,GAAG,4BAA4B,EAAE;IAKpH;;;;;OAKG;WACW,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,wBAAwB,EAAE,UAAU,GAAG,4BAA4B,GAAG,SAAS;IAU7H;;;;;;;OAOG;WACW,gBAAgB,CAAC,MAAM,EAAE,QAAQ,EAAE,wBAAwB,EAAE,UAAU,EAAE,mBAAmB,EAAE,iCAAiC,EAC3I,QAAQ,CAAC,EAAE,UAAU,GAAG,IAAI;WAEhB,gBAAgB,CAAC,GAAG,EAAE,OAAO,EAAE,wBAAwB,EAAE,UAAU,EAAE,mBAAmB,EAAE,iCAAiC,EACvI,QAAQ,CAAC,EAAE,UAAU,GAAG,IAAI;IA+B9B;;;;;;;OAOG;WACW,oBAAoB,CAAC,MAAM,EAAE,QAAQ,EAAE,wBAAwB,EAAE,UAAU,EAAE,mBAAmB,EAAE,qCAAqC,EACnJ,QAAQ,CAAC,EAAE,UAAU,GAAG,IAAI;WAEhB,oBAAoB,CAAC,GAAG,EAAE,OAAO,EAAE,wBAAwB,EAAE,UAAU,EAAE,mBAAmB,EAAE,qCAAqC,EAC/I,QAAQ,CAAC,EAAE,UAAU,GAAG,IAAI;IAiC9B;;;;OAIG;WACW,kBAAkB,CAAC,MAAM,EAAE,QAAQ,EAAE,wBAAwB,EAAE,UAAU,GAAG,UAAU,GAAG,SAAS;IAehH;;;;;OAKG;WACW,kBAAkB,CAAC,MAAM,EAAE,QAAQ,EAAE,wBAAwB,EAAE,UAAU,GAAG,gCAAgC,EAAE;IAK5H;;;;;OAKG;WACW,iBAAiB,CAAC,MAAM,EAAE,QAAQ,EAAE,wBAAwB,EAAE,UAAU,GAAG,gCAAgC,GAAG,SAAS;CAStI;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,kBAAkB,IAAI,UAAU,GAAG,SAAS,CAAC;CAC9C;AAED;;;;GAIG;AACH,MAAM,WAAW,uBAAwB,SAAQ,mBAAmB;IAClE,aAAa,IAAI,4BAA4B,GAAG,SAAS,CAAC;IAC1D,gBAAgB,CAAC,cAAc,EAAE,iCAAiC,EAAE,QAAQ,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;CAClG;AAED;;;;GAIG;AACH,MAAM,WAAW,yBAA0B,SAAQ,mBAAmB;IACpE,cAAc,IAAI,4BAA4B,EAAE,CAAC;IACjD,gBAAgB,CAAC,cAAc,EAAE,iCAAiC,EAAE,QAAQ,EAAE,UAAU,GAAG,IAAI,CAAC;CACjG;AAED;;;;GAIG;AACH,MAAM,WAAW,2BAA4B,SAAQ,mBAAmB;IACtE,iBAAiB,IAAI,gCAAgC,GAAG,SAAS,CAAC;IAClE,oBAAoB,CAAC,cAAc,EAAE,qCAAqC,EAAE,QAAQ,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;CAC1G;AAED;;;;GAIG;AACH,MAAM,WAAW,6BAA8B,SAAQ,mBAAmB;IACxE,kBAAkB,IAAI,gCAAgC,EAAE,CAAC;IACzD,oBAAoB,CAAC,cAAc,EAAE,qCAAqC,EAAE,QAAQ,EAAE,UAAU,GAAG,IAAI,CAAC;CACzG;AAED;;GAEG;AACH,qBAAa,aAAa;IACxB;;;OAGG;WACW,oBAAoB,CAAC,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,GAAG,uBAAuB,EAAE;CAwBvI"}
|
|
@@ -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.
|