@itwin/rpcinterface-full-stack-tests 5.1.0-dev.54 → 5.1.0-dev.56
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/lib/backend/BackendInit.js.map +1 -1
- package/lib/common/Settings.js +12 -12
- package/lib/common/Settings.js.map +1 -1
- package/lib/common/SideChannels.js.map +1 -1
- package/lib/dist/bundled-tests.js +448 -45
- package/lib/dist/bundled-tests.js.map +1 -1
- package/lib/frontend/DevToolsRpc.test.js.map +1 -1
- package/lib/frontend/Elements.test.js.map +1 -1
- package/lib/frontend/IModel.test.js.map +1 -1
- package/lib/frontend/IModelConnection.test.js.map +1 -1
- package/lib/frontend/Models.test.js.map +1 -1
- package/lib/frontend/PresentationRpc.test.js.map +1 -1
- package/lib/frontend/Views.test.js.map +1 -1
- package/lib/frontend/setup/IModelSession.js.map +1 -1
- package/lib/frontend/setup/TestContext.js.map +1 -1
- package/lib/frontend/workflows/BasicScenarios.test.js.map +1 -1
- package/package.json +14 -14
|
@@ -68072,6 +68072,10 @@ var RenderSchedule;
|
|
|
68072
68072
|
cuttingPlane;
|
|
68073
68073
|
/** The total time period represented by this timeline. */
|
|
68074
68074
|
duration;
|
|
68075
|
+
/** Indicates whether the schedule editing session has been finalized and is no longer active.
|
|
68076
|
+
* @internal
|
|
68077
|
+
*/
|
|
68078
|
+
isEditingCommitted = false;
|
|
68075
68079
|
constructor(props) {
|
|
68076
68080
|
this.duration = _itwin_core_geometry__WEBPACK_IMPORTED_MODULE_1__.Range1d.createNull();
|
|
68077
68081
|
if (props.visibilityTimeline) {
|
|
@@ -99678,6 +99682,20 @@ class SchemaFormatsProvider {
|
|
|
99678
99682
|
this._formatsRetrieved.clear();
|
|
99679
99683
|
this.onFormatsChanged.raiseEvent({ formatsChanged });
|
|
99680
99684
|
}
|
|
99685
|
+
/** When using a presentation unit from a KindOfQuantity, the label and description should come from the KindOfQuantity */
|
|
99686
|
+
convertToFormatDefinition(format, kindOfQuantity) {
|
|
99687
|
+
// Destructure all properties except 'rest'
|
|
99688
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
99689
|
+
const { name, label, description, $schema, schema, schemaVersion, schemaItemType,
|
|
99690
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
99691
|
+
customAttributes, originalECSpecMajorVersion, originalECSpecMinorVersion, ...rest } = format;
|
|
99692
|
+
return {
|
|
99693
|
+
...rest,
|
|
99694
|
+
name: kindOfQuantity.fullName,
|
|
99695
|
+
label: kindOfQuantity.label ?? format.label,
|
|
99696
|
+
description: kindOfQuantity.description ?? format.description,
|
|
99697
|
+
};
|
|
99698
|
+
}
|
|
99681
99699
|
async getKindOfQuantityFormatFromSchema(itemKey) {
|
|
99682
99700
|
let kindOfQuantity;
|
|
99683
99701
|
try {
|
|
@@ -99703,7 +99721,8 @@ class SchemaFormatsProvider {
|
|
|
99703
99721
|
const currentUnitSystem = await unit.unitSystem;
|
|
99704
99722
|
if (currentUnitSystem && matcher(currentUnitSystem)) {
|
|
99705
99723
|
this._formatsRetrieved.add(itemKey.fullName);
|
|
99706
|
-
|
|
99724
|
+
const props = (0,_Metadata_OverrideFormat__WEBPACK_IMPORTED_MODULE_6__.getFormatProps)(format);
|
|
99725
|
+
return this.convertToFormatDefinition(props, kindOfQuantity);
|
|
99707
99726
|
}
|
|
99708
99727
|
}
|
|
99709
99728
|
}
|
|
@@ -99712,14 +99731,16 @@ class SchemaFormatsProvider {
|
|
|
99712
99731
|
const persistenceUnitSystem = await persistenceUnit?.unitSystem;
|
|
99713
99732
|
if (persistenceUnitSystem && unitSystemMatchers.some((matcher) => matcher(persistenceUnitSystem))) {
|
|
99714
99733
|
this._formatsRetrieved.add(itemKey.fullName);
|
|
99715
|
-
|
|
99734
|
+
const props = getPersistenceUnitFormatProps(persistenceUnit);
|
|
99735
|
+
return this.convertToFormatDefinition(props, kindOfQuantity);
|
|
99716
99736
|
}
|
|
99717
99737
|
const defaultFormat = kindOfQuantity.defaultPresentationFormat;
|
|
99718
99738
|
if (!defaultFormat) {
|
|
99719
99739
|
return undefined;
|
|
99720
99740
|
}
|
|
99721
99741
|
this._formatsRetrieved.add(itemKey.fullName);
|
|
99722
|
-
|
|
99742
|
+
const defaultProps = (0,_Metadata_OverrideFormat__WEBPACK_IMPORTED_MODULE_6__.getFormatProps)(await defaultFormat);
|
|
99743
|
+
return this.convertToFormatDefinition(defaultProps, kindOfQuantity);
|
|
99723
99744
|
}
|
|
99724
99745
|
/**
|
|
99725
99746
|
* Retrieves a Format from a SchemaContext. If the format is part of a KindOfQuantity, the first presentation format in the KindOfQuantity that matches the current unit system will be retrieved.
|
|
@@ -108828,6 +108849,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
108828
108849
|
/* harmony import */ var _PlanarClipMaskState__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./PlanarClipMaskState */ "../../core/frontend/lib/esm/PlanarClipMaskState.js");
|
|
108829
108850
|
/* harmony import */ var _tile_internal__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./tile/internal */ "../../core/frontend/lib/esm/tile/internal.js");
|
|
108830
108851
|
/* harmony import */ var _common_internal_Symbols__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./common/internal/Symbols */ "../../core/frontend/lib/esm/common/internal/Symbols.js");
|
|
108852
|
+
/* harmony import */ var _internal_ScriptUtils__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./internal/ScriptUtils */ "../../core/frontend/lib/esm/internal/ScriptUtils.js");
|
|
108831
108853
|
/*---------------------------------------------------------------------------------------------
|
|
108832
108854
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
108833
108855
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
@@ -108846,6 +108868,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
108846
108868
|
|
|
108847
108869
|
|
|
108848
108870
|
|
|
108871
|
+
|
|
108849
108872
|
/** @internal */
|
|
108850
108873
|
class TerrainDisplayOverrides {
|
|
108851
108874
|
wantSkirts;
|
|
@@ -108868,6 +108891,14 @@ class DisplayStyleState extends _EntityState__WEBPACK_IMPORTED_MODULE_6__.Elemen
|
|
|
108868
108891
|
*/
|
|
108869
108892
|
[_common_internal_Symbols__WEBPACK_IMPORTED_MODULE_10__._onScheduleScriptReferenceChanged] = new _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BeEvent();
|
|
108870
108893
|
_scriptReference;
|
|
108894
|
+
/** Event raised when schedule script edits are made, providing changed element IDs and the editing scope.
|
|
108895
|
+
* @beta
|
|
108896
|
+
*/
|
|
108897
|
+
onScheduleEditingChanged = new _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BeEvent();
|
|
108898
|
+
/** Event raised when schedule script edits are committed (finalized).
|
|
108899
|
+
* @beta
|
|
108900
|
+
*/
|
|
108901
|
+
onScheduleEditingCommitted = new _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BeEvent();
|
|
108871
108902
|
/** Event raised just before the [[scheduleScript]] property is changed. */
|
|
108872
108903
|
onScheduleScriptChanged = new _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.BeEvent();
|
|
108873
108904
|
/** Event raised just after [[setOSMBuildingDisplay]] changes the enabled state of the OSM buildings. */
|
|
@@ -109070,6 +109101,62 @@ class DisplayStyleState extends _EntityState__WEBPACK_IMPORTED_MODULE_6__.Elemen
|
|
|
109070
109101
|
if (this._queryRenderTimelinePropsPromise)
|
|
109071
109102
|
await this._queryRenderTimelinePropsPromise;
|
|
109072
109103
|
}
|
|
109104
|
+
/**
|
|
109105
|
+
* Begins or updates a schedule script editing session for the current display style.
|
|
109106
|
+
* During an editing session, changes to the schedule script are applied incrementally
|
|
109107
|
+
* using temporary dynamic tiles, allowing for interactive preview of visual changes like color,
|
|
109108
|
+
* transforms, visibility, and cutting planes — without requiring a full tile tree reload.
|
|
109109
|
+
*
|
|
109110
|
+
* Calling this method multiple times will update the current editing session with new script changes.
|
|
109111
|
+
* When all edits are complete, you must invoke [[commitScheduleEditing]] to finalize the session and
|
|
109112
|
+
* trigger a full tile tree refresh with the committed script.
|
|
109113
|
+
*
|
|
109114
|
+
* @note You cannot use schedule script editing while a @see [[GraphicalEditingScope]] is active.
|
|
109115
|
+
*
|
|
109116
|
+
* Example:
|
|
109117
|
+
* ```ts
|
|
109118
|
+
* [[include:ScheduleScript_editingMode]]
|
|
109119
|
+
* ```
|
|
109120
|
+
*
|
|
109121
|
+
* @beta
|
|
109122
|
+
*/
|
|
109123
|
+
setScheduleEditing(newScript) {
|
|
109124
|
+
const prevScript = this.scheduleScript;
|
|
109125
|
+
const changes = [];
|
|
109126
|
+
const globalDelta = (0,_internal_ScriptUtils__WEBPACK_IMPORTED_MODULE_11__.getScriptDelta)(prevScript, newScript);
|
|
109127
|
+
for (const timeline of newScript.modelTimelines) {
|
|
109128
|
+
const ids = new Set();
|
|
109129
|
+
for (const et of timeline.elementTimelines) {
|
|
109130
|
+
for (const id of et.elementIds) {
|
|
109131
|
+
if (globalDelta.has(id))
|
|
109132
|
+
ids.add(id);
|
|
109133
|
+
}
|
|
109134
|
+
}
|
|
109135
|
+
if (ids.size > 0)
|
|
109136
|
+
changes.push({ timeline, elements: ids });
|
|
109137
|
+
}
|
|
109138
|
+
this.scheduleScript = newScript;
|
|
109139
|
+
this.onScheduleEditingChanged.raiseEvent(changes);
|
|
109140
|
+
for (const modelTimeline of this.scheduleScript.modelTimelines) {
|
|
109141
|
+
modelTimeline.isEditingCommitted = false;
|
|
109142
|
+
}
|
|
109143
|
+
}
|
|
109144
|
+
/**
|
|
109145
|
+
* Finalizes a script editing session previously started with [[setScheduleEditing]].
|
|
109146
|
+
* This applies all pending script changes and triggers a full tile tree reload to reflect them in the viewport.
|
|
109147
|
+
* After this call, the schedule script is considered committed and editing mode ends.
|
|
109148
|
+
*
|
|
109149
|
+
* @see [[setScheduleEditing]] to begin a schedule script editing session.
|
|
109150
|
+
* @beta
|
|
109151
|
+
*/
|
|
109152
|
+
commitScheduleEditing() {
|
|
109153
|
+
this.onScheduleEditingCommitted.raiseEvent();
|
|
109154
|
+
if (!this.scheduleScript)
|
|
109155
|
+
return;
|
|
109156
|
+
for (const modelTimeline of this.scheduleScript.modelTimelines) {
|
|
109157
|
+
modelTimeline.isEditingCommitted = true;
|
|
109158
|
+
}
|
|
109159
|
+
}
|
|
109073
109160
|
/** The [RenderSchedule.Script]($common) that animates the contents of the view, if any.
|
|
109074
109161
|
* @see [[changeRenderTimeline]] to change the script.
|
|
109075
109162
|
*/
|
|
@@ -126642,6 +126729,22 @@ class Viewport {
|
|
|
126642
126729
|
};
|
|
126643
126730
|
removals.push(settings.onTimePointChanged.addListener(scheduleChanged));
|
|
126644
126731
|
removals.push(style.onScheduleScriptChanged.addListener(scriptChanged));
|
|
126732
|
+
const scheduleEditingChanged = async (changes) => {
|
|
126733
|
+
for (const ref of this.getTileTreeRefs()) {
|
|
126734
|
+
const tree = ref.treeOwner.tileTree;
|
|
126735
|
+
await tree?.onScheduleEditingChanged(changes);
|
|
126736
|
+
}
|
|
126737
|
+
};
|
|
126738
|
+
const scheduleEditingCommitted = () => {
|
|
126739
|
+
for (const ref of this.getTileTreeRefs()) {
|
|
126740
|
+
const tree = ref.treeOwner.tileTree;
|
|
126741
|
+
tree?.onScheduleEditingCommitted();
|
|
126742
|
+
}
|
|
126743
|
+
};
|
|
126744
|
+
removals.push(style.onScheduleEditingChanged.addListener((changes) => {
|
|
126745
|
+
void scheduleEditingChanged(changes);
|
|
126746
|
+
}));
|
|
126747
|
+
removals.push(style.onScheduleEditingCommitted.addListener(scheduleEditingCommitted));
|
|
126645
126748
|
removals.push(settings.onViewFlagsChanged.addListener((vf) => {
|
|
126646
126749
|
if (vf.backgroundMap !== this.viewFlags.backgroundMap)
|
|
126647
126750
|
this.invalidateController();
|
|
@@ -129734,6 +129837,7 @@ var GltfMeshMode;
|
|
|
129734
129837
|
(function (GltfMeshMode) {
|
|
129735
129838
|
GltfMeshMode[GltfMeshMode["Points"] = 0] = "Points";
|
|
129736
129839
|
GltfMeshMode[GltfMeshMode["Lines"] = 1] = "Lines";
|
|
129840
|
+
GltfMeshMode[GltfMeshMode["LineLoop"] = 2] = "LineLoop";
|
|
129737
129841
|
GltfMeshMode[GltfMeshMode["LineStrip"] = 3] = "LineStrip";
|
|
129738
129842
|
GltfMeshMode[GltfMeshMode["Triangles"] = 4] = "Triangles";
|
|
129739
129843
|
/** Not currently supported. */
|
|
@@ -137612,7 +137716,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
137612
137716
|
/**
|
|
137613
137717
|
* @docs-group-description TileStorage
|
|
137614
137718
|
* Class for working with cloud storage using iTwin/object-storage cloud providers
|
|
137615
|
-
*/
|
|
137719
|
+
*/
|
|
137616
137720
|
|
|
137617
137721
|
|
|
137618
137722
|
/***/ }),
|
|
@@ -138599,6 +138703,137 @@ class RealityDataSourceGoogle3dTilesImpl {
|
|
|
138599
138703
|
}
|
|
138600
138704
|
|
|
138601
138705
|
|
|
138706
|
+
/***/ }),
|
|
138707
|
+
|
|
138708
|
+
/***/ "../../core/frontend/lib/esm/internal/ScriptUtils.js":
|
|
138709
|
+
/*!***********************************************************!*\
|
|
138710
|
+
!*** ../../core/frontend/lib/esm/internal/ScriptUtils.js ***!
|
|
138711
|
+
\***********************************************************/
|
|
138712
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
138713
|
+
|
|
138714
|
+
"use strict";
|
|
138715
|
+
__webpack_require__.r(__webpack_exports__);
|
|
138716
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
138717
|
+
/* harmony export */ getScriptDelta: () => (/* binding */ getScriptDelta)
|
|
138718
|
+
/* harmony export */ });
|
|
138719
|
+
/** @internal */
|
|
138720
|
+
function getScriptDelta(prev, next) {
|
|
138721
|
+
if (!prev || !prev.modelTimelines || prev.modelTimelines.length === 0) {
|
|
138722
|
+
return getAllElementIdsFromScript(next);
|
|
138723
|
+
}
|
|
138724
|
+
const changed = new Set();
|
|
138725
|
+
const prevModels = new Map(prev.modelTimelines.map(m => [m.modelId, m]));
|
|
138726
|
+
const nextModels = new Map(next.modelTimelines.map(m => [m.modelId, m]));
|
|
138727
|
+
for (const modelId of new Set([...prevModels.keys(), ...nextModels.keys()])) {
|
|
138728
|
+
const prevModel = prevModels.get(modelId);
|
|
138729
|
+
const nextModel = nextModels.get(modelId);
|
|
138730
|
+
if (!prevModel || !nextModel) {
|
|
138731
|
+
const timelines = (prevModel ?? nextModel)?.elementTimelines ?? [];
|
|
138732
|
+
for (const timeline of timelines)
|
|
138733
|
+
for (const id of timeline.elementIds)
|
|
138734
|
+
changed.add(id);
|
|
138735
|
+
continue;
|
|
138736
|
+
}
|
|
138737
|
+
const prevTimelineMap = new Map(prevModel.elementTimelines.map(et => [et.batchId, et]));
|
|
138738
|
+
const nextTimelineMap = new Map(nextModel.elementTimelines.map(et => [et.batchId, et]));
|
|
138739
|
+
const allBatchIds = new Set([...prevTimelineMap.keys(), ...nextTimelineMap.keys()]);
|
|
138740
|
+
for (const batchId of allBatchIds) {
|
|
138741
|
+
const prevTimeline = prevTimelineMap.get(batchId);
|
|
138742
|
+
const nextTimeline = nextTimelineMap.get(batchId);
|
|
138743
|
+
if (!prevTimeline || !nextTimeline) {
|
|
138744
|
+
const ids = (prevTimeline ?? nextTimeline)?.elementIds ?? [];
|
|
138745
|
+
for (const id of ids)
|
|
138746
|
+
changed.add(id);
|
|
138747
|
+
continue;
|
|
138748
|
+
}
|
|
138749
|
+
if (!isTimelineEntryEqual(prevTimeline, nextTimeline)) {
|
|
138750
|
+
for (const id of nextTimeline.elementIds)
|
|
138751
|
+
changed.add(id);
|
|
138752
|
+
}
|
|
138753
|
+
}
|
|
138754
|
+
}
|
|
138755
|
+
return changed;
|
|
138756
|
+
}
|
|
138757
|
+
function collectTimelineEntryTimes(timeline) {
|
|
138758
|
+
const result = new Set();
|
|
138759
|
+
if (timeline.cuttingPlane) {
|
|
138760
|
+
for (const entry of timeline.cuttingPlane) {
|
|
138761
|
+
result.add(entry.time);
|
|
138762
|
+
}
|
|
138763
|
+
}
|
|
138764
|
+
if (timeline.visibility) {
|
|
138765
|
+
for (const entry of timeline.visibility) {
|
|
138766
|
+
result.add(entry.time);
|
|
138767
|
+
}
|
|
138768
|
+
}
|
|
138769
|
+
if (timeline.transform) {
|
|
138770
|
+
for (const entry of timeline.transform) {
|
|
138771
|
+
result.add(entry.time);
|
|
138772
|
+
}
|
|
138773
|
+
}
|
|
138774
|
+
if (timeline.color) {
|
|
138775
|
+
for (const entry of timeline.color) {
|
|
138776
|
+
result.add(entry.time);
|
|
138777
|
+
}
|
|
138778
|
+
}
|
|
138779
|
+
return Array.from(result);
|
|
138780
|
+
}
|
|
138781
|
+
function isTimelineEntryEqual(a, b) {
|
|
138782
|
+
const timesSet = new Set([
|
|
138783
|
+
...collectTimelineEntryTimes(a),
|
|
138784
|
+
...collectTimelineEntryTimes(b),
|
|
138785
|
+
]);
|
|
138786
|
+
let times = Array.from(timesSet).sort((x, y) => x - y);
|
|
138787
|
+
if (times.length === 0) {
|
|
138788
|
+
times = [0, 0.25, 0.5, 0.75, 1];
|
|
138789
|
+
}
|
|
138790
|
+
for (const [] of a.elementIds) {
|
|
138791
|
+
for (const t of times) {
|
|
138792
|
+
// Check visibility
|
|
138793
|
+
const v1 = a.getVisibility(t);
|
|
138794
|
+
const v2 = b.getVisibility(t);
|
|
138795
|
+
if (Math.abs(v1 - v2) > 0.01)
|
|
138796
|
+
return false;
|
|
138797
|
+
// Check Transform
|
|
138798
|
+
const tf1 = a.getAnimationTransform(t);
|
|
138799
|
+
const tf2 = b.getAnimationTransform(t);
|
|
138800
|
+
if (!tf1.isAlmostEqual(tf2))
|
|
138801
|
+
return false;
|
|
138802
|
+
// Check Color
|
|
138803
|
+
const c1 = a.getColor(t);
|
|
138804
|
+
const c2 = b.getColor(t);
|
|
138805
|
+
if ((c1 === undefined) !== (c2 === undefined))
|
|
138806
|
+
return false;
|
|
138807
|
+
if (c1 !== undefined && !c1.equals(c2))
|
|
138808
|
+
return false;
|
|
138809
|
+
// Cutting Plane (CLIPPING)
|
|
138810
|
+
const clip1 = a.getCuttingPlane?.(t);
|
|
138811
|
+
const clip2 = b.getCuttingPlane?.(t);
|
|
138812
|
+
const oneUndefined = (clip1 === undefined) !== (clip2 === undefined);
|
|
138813
|
+
if (oneUndefined)
|
|
138814
|
+
return false;
|
|
138815
|
+
if (clip1 && clip2) {
|
|
138816
|
+
if (!clip1.getOriginRef().isAlmostEqual(clip2.getOriginRef(), 1e-6) ||
|
|
138817
|
+
!clip1.getNormalRef().isAlmostEqual(clip2.getNormalRef(), 1e-6)) {
|
|
138818
|
+
return false;
|
|
138819
|
+
}
|
|
138820
|
+
}
|
|
138821
|
+
}
|
|
138822
|
+
}
|
|
138823
|
+
return true;
|
|
138824
|
+
}
|
|
138825
|
+
function getAllElementIdsFromScript(script) {
|
|
138826
|
+
const ids = new Set();
|
|
138827
|
+
for (const modelTimeline of script.modelTimelines) {
|
|
138828
|
+
for (const elementTimeline of modelTimeline.elementTimelines) {
|
|
138829
|
+
for (const id of elementTimeline.elementIds)
|
|
138830
|
+
ids.add(id);
|
|
138831
|
+
}
|
|
138832
|
+
}
|
|
138833
|
+
return ids;
|
|
138834
|
+
}
|
|
138835
|
+
|
|
138836
|
+
|
|
138602
138837
|
/***/ }),
|
|
138603
138838
|
|
|
138604
138839
|
/***/ "../../core/frontend/lib/esm/internal/cross-package.js":
|
|
@@ -172222,6 +172457,19 @@ class DynamicState {
|
|
|
172222
172457
|
};
|
|
172223
172458
|
}
|
|
172224
172459
|
}
|
|
172460
|
+
class ScheduleScriptDynamicState {
|
|
172461
|
+
type = "dynamic";
|
|
172462
|
+
rootTile;
|
|
172463
|
+
_dispose;
|
|
172464
|
+
[Symbol.dispose]() {
|
|
172465
|
+
this._dispose();
|
|
172466
|
+
this.rootTile[Symbol.dispose]();
|
|
172467
|
+
}
|
|
172468
|
+
constructor(root, elemChanges) {
|
|
172469
|
+
this.rootTile = _tile_internal__WEBPACK_IMPORTED_MODULE_6__.DynamicIModelTile.create(root, elemChanges);
|
|
172470
|
+
this._dispose = () => { };
|
|
172471
|
+
}
|
|
172472
|
+
}
|
|
172225
172473
|
/** The tile tree has been disposed. */
|
|
172226
172474
|
class DisposedState {
|
|
172227
172475
|
type = "disposed";
|
|
@@ -172460,6 +172708,51 @@ class IModelTileTree extends _tile_internal__WEBPACK_IMPORTED_MODULE_6__.TileTre
|
|
|
172460
172708
|
get containsTransformNodes() {
|
|
172461
172709
|
return undefined !== this._transformNodeRanges;
|
|
172462
172710
|
}
|
|
172711
|
+
async onScheduleEditingChanged(changes) {
|
|
172712
|
+
const displayStyle = _IModelApp__WEBPACK_IMPORTED_MODULE_3__.IModelApp.viewManager.selectedView?.displayStyle;
|
|
172713
|
+
const newScript = displayStyle?.scheduleScript;
|
|
172714
|
+
const scriptRef = newScript ? new _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.RenderSchedule.ScriptReference(displayStyle.id, newScript) : undefined;
|
|
172715
|
+
const scriptInfo = _IModelApp__WEBPACK_IMPORTED_MODULE_3__.IModelApp.tileAdmin.getScriptInfoForTreeId(this.modelId, scriptRef);
|
|
172716
|
+
if (scriptInfo?.timeline && this.timeline !== scriptInfo.timeline) {
|
|
172717
|
+
this.decoder = (0,_tile_internal__WEBPACK_IMPORTED_MODULE_6__.acquireImdlDecoder)({
|
|
172718
|
+
type: this.batchType,
|
|
172719
|
+
omitEdges: this.edgeOptions === false,
|
|
172720
|
+
timeline: scriptInfo.timeline,
|
|
172721
|
+
iModel: this.iModel,
|
|
172722
|
+
batchModelId: this.modelId,
|
|
172723
|
+
is3d: this.is3d,
|
|
172724
|
+
containsTransformNodes: this.containsTransformNodes,
|
|
172725
|
+
noWorker: !_IModelApp__WEBPACK_IMPORTED_MODULE_3__.IModelApp.tileAdmin.decodeImdlInWorker,
|
|
172726
|
+
});
|
|
172727
|
+
this._options.timeline = scriptInfo.timeline;
|
|
172728
|
+
}
|
|
172729
|
+
const relevantChange = changes.find((c) => c.timeline.modelId === this.modelId);
|
|
172730
|
+
if (!relevantChange || relevantChange.elements.size === 0)
|
|
172731
|
+
return;
|
|
172732
|
+
const elementIds = Array.from(relevantChange.elements);
|
|
172733
|
+
const placements = await this.iModel.elements.getPlacements(elementIds, {
|
|
172734
|
+
type: this.is3d ? "3d" : "2d",
|
|
172735
|
+
});
|
|
172736
|
+
if (placements.length === 0)
|
|
172737
|
+
return;
|
|
172738
|
+
const changedElements = placements.map((x) => {
|
|
172739
|
+
return {
|
|
172740
|
+
id: x.elementId,
|
|
172741
|
+
type: _itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.DbOpcode.Update,
|
|
172742
|
+
range: x.calculateRange(),
|
|
172743
|
+
};
|
|
172744
|
+
});
|
|
172745
|
+
if (changedElements.length === 0)
|
|
172746
|
+
return;
|
|
172747
|
+
if (this._rootTile.tileState.type === "dynamic") {
|
|
172748
|
+
this._rootTile.transition(new StaticState(this._rootTile));
|
|
172749
|
+
}
|
|
172750
|
+
this._rootTile.transition(new ScheduleScriptDynamicState(this._rootTile, changedElements));
|
|
172751
|
+
}
|
|
172752
|
+
onScheduleEditingCommitted() {
|
|
172753
|
+
if (this._rootTile.tileState.type !== "static")
|
|
172754
|
+
this._rootTile.transition(new StaticState(this._rootTile));
|
|
172755
|
+
}
|
|
172463
172756
|
}
|
|
172464
172757
|
|
|
172465
172758
|
|
|
@@ -174839,7 +175132,7 @@ class PrimaryTreeReference extends _tile_internal__WEBPACK_IMPORTED_MODULE_6__.T
|
|
|
174839
175132
|
get treeOwner() {
|
|
174840
175133
|
const newId = this.createTreeId(this.view, this._id.modelId);
|
|
174841
175134
|
const timeline = _IModelApp__WEBPACK_IMPORTED_MODULE_3__.IModelApp.tileAdmin.getScriptInfoForTreeId(this._id.modelId, this.view.displayStyle[_common_internal_Symbols__WEBPACK_IMPORTED_MODULE_7__._scheduleScriptReference])?.timeline;
|
|
174842
|
-
if (0 !== (0,_itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.compareIModelTileTreeIds)(newId, this._id.treeId) || timeline
|
|
175135
|
+
if (0 !== (0,_itwin_core_common__WEBPACK_IMPORTED_MODULE_1__.compareIModelTileTreeIds)(newId, this._id.treeId) || timeline?.isEditingCommitted) {
|
|
174843
175136
|
this._id = {
|
|
174844
175137
|
modelId: this._id.modelId,
|
|
174845
175138
|
is3d: this._id.is3d,
|
|
@@ -184955,6 +185248,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
184955
185248
|
/* harmony export */ GltfMeshData: () => (/* binding */ GltfMeshData),
|
|
184956
185249
|
/* harmony export */ GltfReader: () => (/* binding */ GltfReader),
|
|
184957
185250
|
/* harmony export */ GltfReaderProps: () => (/* binding */ GltfReaderProps),
|
|
185251
|
+
/* harmony export */ getMeshPrimitives: () => (/* binding */ getMeshPrimitives),
|
|
184958
185252
|
/* harmony export */ readGltf: () => (/* binding */ readGltf),
|
|
184959
185253
|
/* harmony export */ readGltfGraphics: () => (/* binding */ readGltfGraphics),
|
|
184960
185254
|
/* harmony export */ readGltfTemplate: () => (/* binding */ readGltfTemplate)
|
|
@@ -185269,6 +185563,48 @@ function compareTextureKeys(lhs, rhs) {
|
|
|
185269
185563
|
}
|
|
185270
185564
|
;
|
|
185271
185565
|
;
|
|
185566
|
+
/** @internal exported strictly for testing */
|
|
185567
|
+
function getMeshPrimitives(mesh) {
|
|
185568
|
+
const ext = mesh?.extensions?.EXT_mesh_primitive_restart;
|
|
185569
|
+
const meshPrimitives = mesh?.primitives;
|
|
185570
|
+
if (!meshPrimitives || meshPrimitives.length === 0 || !ext?.primitiveGroups || ext.primitiveGroups.length === 0) {
|
|
185571
|
+
return meshPrimitives;
|
|
185572
|
+
}
|
|
185573
|
+
// Note: per the spec, any violation of the extension's specification should cause us to fall back to mesh.primitives, if detecting the violation is feasible.
|
|
185574
|
+
// Start with a copy of mesh.primitives. For each group, replace the first primitive in the group with a primitive representing the entire group,
|
|
185575
|
+
// and set the rest of the primitives in the group to `undefined`.
|
|
185576
|
+
// This allows us to identify which remaining primitives do not use primitive restart, and any errors involving a primitive appearing in more than one group.
|
|
185577
|
+
const primitives = [...meshPrimitives];
|
|
185578
|
+
for (const group of ext.primitiveGroups) {
|
|
185579
|
+
// Spec: the group must not be empty and all indices must be valid array indices into mesh.primitives.
|
|
185580
|
+
const firstPrimitiveIndex = group.primitives[0];
|
|
185581
|
+
if (undefined === firstPrimitiveIndex || !meshPrimitives[firstPrimitiveIndex]) {
|
|
185582
|
+
return meshPrimitives;
|
|
185583
|
+
}
|
|
185584
|
+
const primitive = { ...meshPrimitives[firstPrimitiveIndex], indices: group.indices };
|
|
185585
|
+
// Spec: primitive restart only supported for these topologies.
|
|
185586
|
+
switch (primitive.mode) {
|
|
185587
|
+
case _common_gltf_GltfSchema__WEBPACK_IMPORTED_MODULE_12__.GltfMeshMode.TriangleFan:
|
|
185588
|
+
case _common_gltf_GltfSchema__WEBPACK_IMPORTED_MODULE_12__.GltfMeshMode.TriangleStrip:
|
|
185589
|
+
case _common_gltf_GltfSchema__WEBPACK_IMPORTED_MODULE_12__.GltfMeshMode.LineStrip:
|
|
185590
|
+
case _common_gltf_GltfSchema__WEBPACK_IMPORTED_MODULE_12__.GltfMeshMode.LineLoop:
|
|
185591
|
+
break;
|
|
185592
|
+
default:
|
|
185593
|
+
return meshPrimitives;
|
|
185594
|
+
}
|
|
185595
|
+
for (const primitiveIndex of group.primitives) {
|
|
185596
|
+
const thisPrimitive = primitives[primitiveIndex];
|
|
185597
|
+
// Spec: all primitives must use indexed geometry and a given primitive may appear in at most one group.
|
|
185598
|
+
// Spec: all primitives must have same topology.
|
|
185599
|
+
if (undefined === thisPrimitive?.indices || thisPrimitive.mode !== primitive.mode) {
|
|
185600
|
+
return meshPrimitives;
|
|
185601
|
+
}
|
|
185602
|
+
primitives[primitiveIndex] = undefined;
|
|
185603
|
+
}
|
|
185604
|
+
primitives[firstPrimitiveIndex] = primitive;
|
|
185605
|
+
}
|
|
185606
|
+
return primitives.filter((x) => x !== undefined);
|
|
185607
|
+
}
|
|
185272
185608
|
/** Deserializes [glTF](https://www.khronos.org/gltf/).
|
|
185273
185609
|
* @internal
|
|
185274
185610
|
*/
|
|
@@ -185856,8 +186192,9 @@ class GltfReader {
|
|
|
185856
186192
|
const meshes = [];
|
|
185857
186193
|
for (const meshKey of (0,_common_gltf_GltfSchema__WEBPACK_IMPORTED_MODULE_12__.getGltfNodeMeshIds)(node)) {
|
|
185858
186194
|
const nodeMesh = this._meshes[meshKey];
|
|
185859
|
-
|
|
185860
|
-
|
|
186195
|
+
const primitives = getMeshPrimitives(nodeMesh);
|
|
186196
|
+
if (primitives) {
|
|
186197
|
+
for (const primitive of primitives) {
|
|
185861
186198
|
const mesh = this.readMeshPrimitive(primitive, featureTable, thisBias);
|
|
185862
186199
|
if (mesh) {
|
|
185863
186200
|
meshes.push(mesh);
|
|
@@ -185911,6 +186248,7 @@ class GltfReader {
|
|
|
185911
186248
|
let primitiveType = -1;
|
|
185912
186249
|
switch (meshMode) {
|
|
185913
186250
|
case _common_gltf_GltfSchema__WEBPACK_IMPORTED_MODULE_12__.GltfMeshMode.Lines:
|
|
186251
|
+
case _common_gltf_GltfSchema__WEBPACK_IMPORTED_MODULE_12__.GltfMeshMode.LineStrip:
|
|
185914
186252
|
primitiveType = _common_internal_render_MeshPrimitive__WEBPACK_IMPORTED_MODULE_11__.MeshPrimitiveType.Polyline;
|
|
185915
186253
|
break;
|
|
185916
186254
|
case _common_gltf_GltfSchema__WEBPACK_IMPORTED_MODULE_12__.GltfMeshMode.Points:
|
|
@@ -185992,7 +186330,8 @@ class GltfReader {
|
|
|
185992
186330
|
}
|
|
185993
186331
|
case _common_internal_render_MeshPrimitive__WEBPACK_IMPORTED_MODULE_11__.MeshPrimitiveType.Polyline:
|
|
185994
186332
|
case _common_internal_render_MeshPrimitive__WEBPACK_IMPORTED_MODULE_11__.MeshPrimitiveType.Point: {
|
|
185995
|
-
|
|
186333
|
+
(0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.assert)(meshMode === _common_gltf_GltfSchema__WEBPACK_IMPORTED_MODULE_12__.GltfMeshMode.Points || meshMode === _common_gltf_GltfSchema__WEBPACK_IMPORTED_MODULE_12__.GltfMeshMode.Lines || meshMode === _common_gltf_GltfSchema__WEBPACK_IMPORTED_MODULE_12__.GltfMeshMode.LineStrip);
|
|
186334
|
+
if (undefined !== mesh.primitive.polylines && !this.readPolylines(mesh.primitive.polylines, primitive, "indices", meshMode))
|
|
185996
186335
|
return undefined;
|
|
185997
186336
|
break;
|
|
185998
186337
|
}
|
|
@@ -186461,27 +186800,48 @@ class GltfReader {
|
|
|
186461
186800
|
}
|
|
186462
186801
|
return true;
|
|
186463
186802
|
}
|
|
186464
|
-
readPolylines(polylines, json, accessorName,
|
|
186465
|
-
const
|
|
186803
|
+
readPolylines(polylines, json, accessorName, mode) {
|
|
186804
|
+
const bufferView = this.getBufferView(json, accessorName);
|
|
186805
|
+
const data = bufferView?.toBufferData(_common_gltf_GltfSchema__WEBPACK_IMPORTED_MODULE_12__.GltfDataType.UInt32);
|
|
186466
186806
|
if (undefined === data)
|
|
186467
186807
|
return false;
|
|
186468
186808
|
const indices = new Array();
|
|
186469
|
-
|
|
186470
|
-
|
|
186471
|
-
|
|
186472
|
-
|
|
186473
|
-
|
|
186474
|
-
|
|
186475
|
-
|
|
186476
|
-
|
|
186477
|
-
|
|
186478
|
-
|
|
186479
|
-
|
|
186809
|
+
switch (mode) {
|
|
186810
|
+
case _common_gltf_GltfSchema__WEBPACK_IMPORTED_MODULE_12__.GltfMeshMode.Points: {
|
|
186811
|
+
for (let i = 0; i < data.count;)
|
|
186812
|
+
indices.push(data.buffer[i++]);
|
|
186813
|
+
break;
|
|
186814
|
+
}
|
|
186815
|
+
case _common_gltf_GltfSchema__WEBPACK_IMPORTED_MODULE_12__.GltfMeshMode.Lines: {
|
|
186816
|
+
for (let i = 0; i < data.count;) {
|
|
186817
|
+
const index0 = data.buffer[i++];
|
|
186818
|
+
const index1 = data.buffer[i++];
|
|
186819
|
+
if (0 === indices.length || index0 !== indices[indices.length - 1]) {
|
|
186820
|
+
if (indices.length !== 0) {
|
|
186821
|
+
polylines.push(new _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.MeshPolyline(indices));
|
|
186822
|
+
indices.length = 0;
|
|
186823
|
+
}
|
|
186824
|
+
indices.push(index0);
|
|
186825
|
+
}
|
|
186826
|
+
indices.push(index1);
|
|
186827
|
+
}
|
|
186828
|
+
break;
|
|
186829
|
+
}
|
|
186830
|
+
case _common_gltf_GltfSchema__WEBPACK_IMPORTED_MODULE_12__.GltfMeshMode.LineStrip: {
|
|
186831
|
+
(0,_itwin_core_bentley__WEBPACK_IMPORTED_MODULE_0__.assert)(undefined !== bufferView); // compiler can't seem to infer this...
|
|
186832
|
+
const restart = _common_gltf_GltfSchema__WEBPACK_IMPORTED_MODULE_12__.GltfDataType.UnsignedByte === bufferView.type ? 0xff : (_common_gltf_GltfSchema__WEBPACK_IMPORTED_MODULE_12__.GltfDataType.UnsignedShort === bufferView.type ? 0xffff : 0xffffffff);
|
|
186833
|
+
for (const index of data.buffer) {
|
|
186834
|
+
if (index === restart) {
|
|
186835
|
+
if (indices.length > 1) {
|
|
186836
|
+
polylines.push(new _itwin_core_common__WEBPACK_IMPORTED_MODULE_2__.MeshPolyline(indices));
|
|
186837
|
+
}
|
|
186480
186838
|
indices.length = 0;
|
|
186481
186839
|
}
|
|
186482
|
-
|
|
186840
|
+
else {
|
|
186841
|
+
indices.push(index);
|
|
186842
|
+
}
|
|
186483
186843
|
}
|
|
186484
|
-
|
|
186844
|
+
break;
|
|
186485
186845
|
}
|
|
186486
186846
|
}
|
|
186487
186847
|
if (indices.length !== 0)
|
|
@@ -191092,6 +191452,19 @@ class TileTree {
|
|
|
191092
191452
|
*/
|
|
191093
191453
|
collectTileGeometry(_collector) {
|
|
191094
191454
|
}
|
|
191455
|
+
/**
|
|
191456
|
+
* Invoked when a schedule script is edited.
|
|
191457
|
+
* Override to handle updates for affected elements or timelines.
|
|
191458
|
+
*
|
|
191459
|
+
* @internal
|
|
191460
|
+
*/
|
|
191461
|
+
async onScheduleEditingChanged(_changes) { }
|
|
191462
|
+
/**
|
|
191463
|
+
* Invoked when a schedule script is committed during editing.
|
|
191464
|
+
* Override in specific tile tree types to handle the change.
|
|
191465
|
+
* @internal
|
|
191466
|
+
*/
|
|
191467
|
+
onScheduleEditingCommitted() { }
|
|
191095
191468
|
}
|
|
191096
191469
|
|
|
191097
191470
|
|
|
@@ -191778,6 +192151,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
191778
192151
|
/* harmony export */ getCesiumOSMBuildingsUrl: () => (/* reexport safe */ _map_CesiumTerrainProvider__WEBPACK_IMPORTED_MODULE_69__.getCesiumOSMBuildingsUrl),
|
|
191779
192152
|
/* harmony export */ getCesiumTerrainProvider: () => (/* reexport safe */ _map_CesiumTerrainProvider__WEBPACK_IMPORTED_MODULE_69__.getCesiumTerrainProvider),
|
|
191780
192153
|
/* harmony export */ getGcsConverterAvailable: () => (/* reexport safe */ _map_MapTileTree__WEBPACK_IMPORTED_MODULE_66__.getGcsConverterAvailable),
|
|
192154
|
+
/* harmony export */ getMeshPrimitives: () => (/* reexport safe */ _GltfReader__WEBPACK_IMPORTED_MODULE_32__.getMeshPrimitives),
|
|
191781
192155
|
/* harmony export */ getMeshoptDecoder: () => (/* reexport safe */ _internal_tile_MeshoptCompression__WEBPACK_IMPORTED_MODULE_94__.getMeshoptDecoder),
|
|
191782
192156
|
/* harmony export */ iModelTileParamsFromJSON: () => (/* reexport safe */ _internal_tile_IModelTile__WEBPACK_IMPORTED_MODULE_80__.iModelTileParamsFromJSON),
|
|
191783
192157
|
/* harmony export */ iModelTileTreeParamsFromJSON: () => (/* reexport safe */ _internal_tile_IModelTileTree__WEBPACK_IMPORTED_MODULE_82__.iModelTileTreeParamsFromJSON),
|
|
@@ -301033,6 +301407,13 @@ class Box extends _SolidPrimitive__WEBPACK_IMPORTED_MODULE_0__.SolidPrimitive {
|
|
|
301033
301407
|
if (transform.matrix.isSingular())
|
|
301034
301408
|
return false;
|
|
301035
301409
|
transform.multiplyTransformTransform(this._localToWorld, this._localToWorld);
|
|
301410
|
+
if (transform.matrix.determinant() < 0.0) {
|
|
301411
|
+
// if mirror, reverse z-axis (origin and direction) to preserve outward normals
|
|
301412
|
+
this._localToWorld.origin.addInPlace(this._localToWorld.matrix.columnZ());
|
|
301413
|
+
this._localToWorld.matrix.scaleColumnsInPlace(1, 1, -1);
|
|
301414
|
+
[this._baseX, this._topX] = [this._topX, this._baseX];
|
|
301415
|
+
[this._baseY, this._topY] = [this._topY, this._baseY];
|
|
301416
|
+
}
|
|
301036
301417
|
return true;
|
|
301037
301418
|
}
|
|
301038
301419
|
/**
|
|
@@ -301308,6 +301689,12 @@ class Cone extends _SolidPrimitive__WEBPACK_IMPORTED_MODULE_0__.SolidPrimitive {
|
|
|
301308
301689
|
if (transform.matrix.isSingular())
|
|
301309
301690
|
return false;
|
|
301310
301691
|
transform.multiplyTransformTransform(this._localToWorld, this._localToWorld);
|
|
301692
|
+
if (transform.matrix.determinant() < 0.0) {
|
|
301693
|
+
// if mirror, reverse z-axis (origin and direction) to preserve outward normals
|
|
301694
|
+
this._localToWorld.origin.addInPlace(this._localToWorld.matrix.columnZ());
|
|
301695
|
+
this._localToWorld.matrix.scaleColumnsInPlace(1, 1, -1);
|
|
301696
|
+
[this._radiusA, this._radiusB] = [this._radiusB, this._radiusA];
|
|
301697
|
+
}
|
|
301311
301698
|
return true;
|
|
301312
301699
|
}
|
|
301313
301700
|
/**
|
|
@@ -301644,11 +302031,16 @@ class LinearSweep extends _SolidPrimitive__WEBPACK_IMPORTED_MODULE_0__.SolidPrim
|
|
|
301644
302031
|
tryTransformInPlace(transform) {
|
|
301645
302032
|
if (transform.matrix.isSingular())
|
|
301646
302033
|
return false;
|
|
301647
|
-
if (this._contour.tryTransformInPlace(transform))
|
|
301648
|
-
|
|
301649
|
-
|
|
302034
|
+
if (!this._contour.tryTransformInPlace(transform))
|
|
302035
|
+
return false;
|
|
302036
|
+
transform.multiplyVector(this._direction, this._direction);
|
|
302037
|
+
if (transform.matrix.determinant() < 0.0) {
|
|
302038
|
+
// if mirror, reverse the sweep (origin and direction) to preserve outward normals
|
|
302039
|
+
if (!this._contour.tryTransformInPlace(_geometry3d_Transform__WEBPACK_IMPORTED_MODULE_7__.Transform.createTranslation(this._direction)))
|
|
302040
|
+
return false;
|
|
302041
|
+
this._direction.scaleInPlace(-1.0);
|
|
301650
302042
|
}
|
|
301651
|
-
return
|
|
302043
|
+
return true;
|
|
301652
302044
|
}
|
|
301653
302045
|
/** Return a coordinate frame (right handed unit vectors)
|
|
301654
302046
|
* * origin on base contour
|
|
@@ -301933,7 +302325,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
301933
302325
|
|
|
301934
302326
|
/**
|
|
301935
302327
|
* A ruled sweep (surface) is a collection of 2 or more contours.
|
|
301936
|
-
* * All contours must have identical number and type of geometry
|
|
302328
|
+
* * All contours must have identical number and type of geometry: (paths, loops, parity regions, lines, arcs, other curves).
|
|
301937
302329
|
* @public
|
|
301938
302330
|
*/
|
|
301939
302331
|
class RuledSweep extends _SolidPrimitive__WEBPACK_IMPORTED_MODULE_0__.SolidPrimitive {
|
|
@@ -301999,6 +302391,10 @@ class RuledSweep extends _SolidPrimitive__WEBPACK_IMPORTED_MODULE_0__.SolidPrimi
|
|
|
301999
302391
|
if (!contour.tryTransformInPlace(transform))
|
|
302000
302392
|
return false;
|
|
302001
302393
|
}
|
|
302394
|
+
if (transform.matrix.determinant() < 0.0) {
|
|
302395
|
+
// if mirror, reverse the sweep order to preserve outward normals
|
|
302396
|
+
this._contours.reverse();
|
|
302397
|
+
}
|
|
302002
302398
|
return true;
|
|
302003
302399
|
}
|
|
302004
302400
|
/**
|
|
@@ -302266,8 +302662,11 @@ class Sphere extends _SolidPrimitive__WEBPACK_IMPORTED_MODULE_0__.SolidPrimitive
|
|
|
302266
302662
|
if (transform.matrix.isSingular())
|
|
302267
302663
|
return false;
|
|
302268
302664
|
transform.multiplyTransformTransform(this._localToWorld, this._localToWorld);
|
|
302269
|
-
if (transform.matrix.determinant() < 0.0)
|
|
302270
|
-
|
|
302665
|
+
if (transform.matrix.determinant() < 0.0) {
|
|
302666
|
+
// if mirror, reverse z-axis to preserve outward normals
|
|
302667
|
+
this._localToWorld.matrix.scaleColumnsInPlace(1, 1, -1);
|
|
302668
|
+
this._latitudeSweep.setStartEndRadians(-this._latitudeSweep.endRadians, -this._latitudeSweep.startRadians);
|
|
302669
|
+
}
|
|
302271
302670
|
return true;
|
|
302272
302671
|
}
|
|
302273
302672
|
/**
|
|
@@ -302923,6 +303322,10 @@ class TorusPipe extends _SolidPrimitive__WEBPACK_IMPORTED_MODULE_0__.SolidPrimit
|
|
|
302923
303322
|
if (transform.matrix.isSingular())
|
|
302924
303323
|
return false;
|
|
302925
303324
|
transform.multiplyTransformTransform(this._localToWorld, this._localToWorld);
|
|
303325
|
+
if (transform.matrix.determinant() < 0.0) {
|
|
303326
|
+
// if mirror, reverse z-axis to preserve outward normals
|
|
303327
|
+
this._localToWorld.matrix.scaleColumnsInPlace(1, 1, -1);
|
|
303328
|
+
}
|
|
302926
303329
|
return true;
|
|
302927
303330
|
}
|
|
302928
303331
|
/**
|
|
@@ -329003,7 +329406,7 @@ class Formatter {
|
|
|
329003
329406
|
let unitValue = 0.0;
|
|
329004
329407
|
if (spec.format.type === _FormatEnums__WEBPACK_IMPORTED_MODULE_2__.FormatType.Ratio) {
|
|
329005
329408
|
if (1 !== spec.format.units.length)
|
|
329006
|
-
throw new _Exception__WEBPACK_IMPORTED_MODULE_1__.QuantityError(_Exception__WEBPACK_IMPORTED_MODULE_1__.QuantityStatus.InvalidCompositeFormat, `The Format ${spec.format.name}
|
|
329409
|
+
throw new _Exception__WEBPACK_IMPORTED_MODULE_1__.QuantityError(_Exception__WEBPACK_IMPORTED_MODULE_1__.QuantityStatus.InvalidCompositeFormat, `The Format '${spec.format.name}' with type 'ratio' must have exactly one unit.`);
|
|
329007
329410
|
try {
|
|
329008
329411
|
unitValue = (0,_Quantity__WEBPACK_IMPORTED_MODULE_3__.applyConversion)(posMagnitude, unitConversion) + this.FPV_MINTHRESHOLD;
|
|
329009
329412
|
}
|
|
@@ -331501,18 +331904,18 @@ class Settings {
|
|
|
331501
331904
|
}
|
|
331502
331905
|
}
|
|
331503
331906
|
toString() {
|
|
331504
|
-
return `Configurations:
|
|
331505
|
-
backend location: ${this.Backend.location},
|
|
331506
|
-
backend name: ${this.Backend.name},
|
|
331507
|
-
backend version: ${this.Backend.version},
|
|
331508
|
-
oidc client id: ${this.oidcClientId},
|
|
331509
|
-
oidc scopes: ${this.oidcScopes},
|
|
331510
|
-
applicationId: ${this.gprid},
|
|
331511
|
-
log level: ${this.logLevel},
|
|
331512
|
-
testing iModelTileRpcTests: ${this.runiModelTileRpcTests},
|
|
331513
|
-
testing PresentationRpcTest: ${this.runPresentationRpcTests},
|
|
331514
|
-
testing iModelReadRpcTests: ${this.runiModelReadRpcTests},
|
|
331515
|
-
testing DevToolsRpcTests: ${this.runDevToolsRpcTests},
|
|
331907
|
+
return `Configurations:
|
|
331908
|
+
backend location: ${this.Backend.location},
|
|
331909
|
+
backend name: ${this.Backend.name},
|
|
331910
|
+
backend version: ${this.Backend.version},
|
|
331911
|
+
oidc client id: ${this.oidcClientId},
|
|
331912
|
+
oidc scopes: ${this.oidcScopes},
|
|
331913
|
+
applicationId: ${this.gprid},
|
|
331914
|
+
log level: ${this.logLevel},
|
|
331915
|
+
testing iModelTileRpcTests: ${this.runiModelTileRpcTests},
|
|
331916
|
+
testing PresentationRpcTest: ${this.runPresentationRpcTests},
|
|
331917
|
+
testing iModelReadRpcTests: ${this.runiModelReadRpcTests},
|
|
331918
|
+
testing DevToolsRpcTests: ${this.runDevToolsRpcTests},
|
|
331516
331919
|
testing iModelWriteRpcTests: ${this.runiModelWriteRpcTests}`;
|
|
331517
331920
|
}
|
|
331518
331921
|
}
|
|
@@ -331726,7 +332129,7 @@ class TestContext {
|
|
|
331726
332129
|
this.initializeRpcInterfaces({ title: this.settings.Backend.name, version: this.settings.Backend.version });
|
|
331727
332130
|
const iModelClient = new imodels_client_management_1.IModelsClient({ api: { baseUrl: `https://${process.env.IMJS_URL_PREFIX ?? ""}api.bentley.com/imodels` } });
|
|
331728
332131
|
await core_frontend_1.NoRenderApp.startup({
|
|
331729
|
-
applicationVersion: "5.1.0-dev.
|
|
332132
|
+
applicationVersion: "5.1.0-dev.56",
|
|
331730
332133
|
applicationId: this.settings.gprid,
|
|
331731
332134
|
authorizationClient: new frontend_1.TestFrontendAuthorizationClient(this.serviceAuthToken),
|
|
331732
332135
|
hubAccess: new imodels_access_frontend_1.FrontendIModelsAccess(iModelClient),
|
|
@@ -356813,7 +357216,7 @@ var loadLanguages = instance.loadLanguages;
|
|
|
356813
357216
|
/***/ ((module) => {
|
|
356814
357217
|
|
|
356815
357218
|
"use strict";
|
|
356816
|
-
module.exports = /*#__PURE__*/JSON.parse('{"name":"@itwin/core-frontend","version":"5.1.0-dev.
|
|
357219
|
+
module.exports = /*#__PURE__*/JSON.parse('{"name":"@itwin/core-frontend","version":"5.1.0-dev.56","description":"iTwin.js frontend components","main":"lib/cjs/core-frontend.js","module":"lib/esm/core-frontend.js","typings":"lib/cjs/core-frontend","license":"MIT","scripts":{"build":"npm run -s copy:public && npm run -s build:cjs && npm run -s build:esm && npm run -s webpackWorkers && npm run -s copy:workers","build:cjs":"npm run -s copy:js:cjs && tsc 1>&2 --outDir lib/cjs","build:esm":"npm run -s copy:js:esm && tsc 1>&2 --module ES2022 --outDir lib/esm","clean":"rimraf -g lib .rush/temp/package-deps*.json","copy:public":"cpx \\"./src/public/**/*\\" ./lib/public","copy:js:cjs":"cpx \\"./src/**/*.js\\" ./lib/cjs","copy:js:esm":"cpx \\"./src/**/*.js\\" ./lib/esm","copy:workers":"cpx \\"./lib/workers/webpack/parse-imdl-worker.js\\" ./lib/public/scripts","docs":"betools docs --json=../../generated-docs/core/core-frontend/file.json --tsIndexFile=./core-frontend.ts --onlyJson --excludes=webgl/**/*,**/map/*.d.ts,**/tile/*.d.ts,**/*-css.ts","extract-api":"betools extract-api --entry=core-frontend && npm run extract-extension-api","extract-extension-api":"eslint --no-inline-config -c extraction.eslint.config.js \\"./src/**/*.ts\\" 1>&2","lint":"eslint \\"./src/**/*.ts\\" 1>&2","lint-fix":"eslint --fix -f visualstudio \\"./src/**/*.ts\\" 1>&2","pseudolocalize":"betools pseudolocalize --englishDir ./src/public/locales/en --out ./public/locales/en-PSEUDO","test":"npm run webpackTestWorker && vitest --run","cover":"npm run webpackTestWorker && vitest --run","webpackTests":"webpack --config ./src/test/utils/webpack.config.js 1>&2 && npm run -s webpackTestWorker","webpackTestWorker":"webpack --config ./src/test/worker/webpack.config.js 1>&2 && cpx \\"./lib/test/test-worker.js\\" ./lib/test","webpackWorkers":"webpack --config ./src/workers/ImdlParser/webpack.config.js 1>&2"},"repository":{"type":"git","url":"https://github.com/iTwin/itwinjs-core.git","directory":"core/frontend"},"keywords":["Bentley","BIM","iModel","digital-twin","iTwin"],"author":{"name":"Bentley Systems, Inc.","url":"http://www.bentley.com"},"peerDependencies":{"@itwin/appui-abstract":"workspace:*","@itwin/core-bentley":"workspace:*","@itwin/core-common":"workspace:*","@itwin/core-geometry":"workspace:*","@itwin/core-orbitgt":"workspace:*","@itwin/core-quantity":"workspace:*","@itwin/ecschema-metadata":"workspace:*","@itwin/ecschema-rpcinterface-common":"workspace:*"},"//devDependencies":["NOTE: All peerDependencies should also be listed as devDependencies since peerDependencies are not considered by npm install","NOTE: All tools used by scripts in this package must be listed as devDependencies"],"devDependencies":{"@itwin/appui-abstract":"workspace:*","@itwin/build-tools":"workspace:*","@itwin/core-bentley":"workspace:*","@itwin/core-common":"workspace:*","@itwin/core-geometry":"workspace:*","@itwin/core-orbitgt":"workspace:*","@itwin/core-quantity":"workspace:*","@itwin/ecschema-metadata":"workspace:*","@itwin/ecschema-rpcinterface-common":"workspace:*","@itwin/eslint-plugin":"5.0.0-dev.1","@types/chai-as-promised":"^7","@types/sinon":"^17.0.2","@vitest/browser":"^3.0.6","@vitest/coverage-v8":"^3.0.6","cpx2":"^8.0.0","eslint":"^9.13.0","glob":"^10.3.12","playwright":"~1.47.1","rimraf":"^6.0.1","sinon":"^17.0.2","source-map-loader":"^5.0.0","typescript":"~5.6.2","typemoq":"^2.1.0","vitest":"^3.0.6","vite-multiple-assets":"^1.3.1","vite-plugin-static-copy":"2.2.0","webpack":"^5.97.1"},"//dependencies":["NOTE: these dependencies should be only for things that DO NOT APPEAR IN THE API","NOTE: core-frontend should remain UI technology agnostic, so no react/angular dependencies are allowed"],"dependencies":{"@itwin/cloud-agnostic-core":"^2.2.4","@itwin/object-storage-core":"^2.3.0","@itwin/core-i18n":"workspace:*","@itwin/webgl-compatibility":"workspace:*","@loaders.gl/core":"^3.1.6","@loaders.gl/draco":"^3.1.6","fuse.js":"^3.3.0","wms-capabilities":"0.4.0"}}');
|
|
356817
357220
|
|
|
356818
357221
|
/***/ }),
|
|
356819
357222
|
|