@itwin/core-common 3.3.0-dev.9 → 3.4.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 +45 -1
- package/lib/cjs/AmbientOcclusion.d.ts +2 -2
- package/lib/cjs/AmbientOcclusion.d.ts.map +1 -1
- package/lib/cjs/AmbientOcclusion.js +9 -9
- package/lib/cjs/AmbientOcclusion.js.map +1 -1
- package/lib/cjs/AnalysisStyle.d.ts +7 -7
- package/lib/cjs/AnalysisStyle.d.ts.map +1 -1
- package/lib/cjs/AnalysisStyle.js.map +1 -1
- package/lib/cjs/BackgroundMapProvider.d.ts +2 -2
- package/lib/cjs/BackgroundMapProvider.js +1 -1
- package/lib/cjs/BackgroundMapProvider.js.map +1 -1
- package/lib/cjs/BackgroundMapSettings.d.ts +2 -2
- package/lib/cjs/BackgroundMapSettings.d.ts.map +1 -1
- package/lib/cjs/BackgroundMapSettings.js.map +1 -1
- package/lib/cjs/BriefcaseTypes.js.map +1 -1
- package/lib/cjs/ChangedEntities.d.ts +1 -1
- package/lib/cjs/ChangedEntities.js.map +1 -1
- package/lib/cjs/Code.d.ts +7 -7
- package/lib/cjs/Code.d.ts.map +1 -1
- package/lib/cjs/Code.js +5 -5
- package/lib/cjs/Code.js.map +1 -1
- package/lib/cjs/ColorDef.d.ts +2 -0
- package/lib/cjs/ColorDef.d.ts.map +1 -1
- package/lib/cjs/ColorDef.js +4 -0
- package/lib/cjs/ColorDef.js.map +1 -1
- package/lib/cjs/ContextRealityModel.d.ts +6 -6
- package/lib/cjs/ContextRealityModel.d.ts.map +1 -1
- package/lib/cjs/ContextRealityModel.js.map +1 -1
- package/lib/cjs/DisplayStyleSettings.d.ts +58 -57
- package/lib/cjs/DisplayStyleSettings.d.ts.map +1 -1
- package/lib/cjs/DisplayStyleSettings.js +23 -26
- package/lib/cjs/DisplayStyleSettings.js.map +1 -1
- package/lib/cjs/ElementProps.d.ts +6 -6
- package/lib/cjs/ElementProps.d.ts.map +1 -1
- package/lib/cjs/ElementProps.js.map +1 -1
- package/lib/cjs/EmphasizeElementsProps.d.ts +8 -8
- package/lib/cjs/EmphasizeElementsProps.d.ts.map +1 -1
- package/lib/cjs/EmphasizeElementsProps.js.map +1 -1
- package/lib/cjs/EntityProps.d.ts +2 -2
- package/lib/cjs/EntityProps.d.ts.map +1 -1
- package/lib/cjs/EntityProps.js.map +1 -1
- package/lib/cjs/Environment.d.ts +2 -2
- package/lib/cjs/Environment.d.ts.map +1 -1
- package/lib/cjs/Environment.js.map +1 -1
- package/lib/cjs/FeatureIndex.d.ts +0 -1
- package/lib/cjs/FeatureIndex.d.ts.map +1 -1
- package/lib/cjs/FeatureIndex.js +0 -1
- package/lib/cjs/FeatureIndex.js.map +1 -1
- package/lib/cjs/FeatureSymbology.d.ts +40 -9
- package/lib/cjs/FeatureSymbology.d.ts.map +1 -1
- package/lib/cjs/FeatureSymbology.js +41 -6
- package/lib/cjs/FeatureSymbology.js.map +1 -1
- package/lib/cjs/FeatureTable.d.ts +6 -2
- package/lib/cjs/FeatureTable.d.ts.map +1 -1
- package/lib/cjs/FeatureTable.js +26 -6
- package/lib/cjs/FeatureTable.js.map +1 -1
- package/lib/cjs/Gradient.d.ts +5 -1
- package/lib/cjs/Gradient.d.ts.map +1 -1
- package/lib/cjs/Gradient.js +17 -23
- package/lib/cjs/Gradient.js.map +1 -1
- package/lib/cjs/HiddenLine.d.ts +3 -3
- package/lib/cjs/HiddenLine.d.ts.map +1 -1
- package/lib/cjs/HiddenLine.js.map +1 -1
- package/lib/cjs/IModel.d.ts +9 -6
- package/lib/cjs/IModel.d.ts.map +1 -1
- package/lib/cjs/IModel.js.map +1 -1
- package/lib/cjs/IModelError.d.ts +3 -3
- package/lib/cjs/IModelError.d.ts.map +1 -1
- package/lib/cjs/IModelError.js +1 -2
- package/lib/cjs/IModelError.js.map +1 -1
- package/lib/cjs/LightSettings.d.ts +4 -4
- package/lib/cjs/LightSettings.d.ts.map +1 -1
- package/lib/cjs/LightSettings.js.map +1 -1
- package/lib/cjs/MapImagerySettings.d.ts +7 -7
- package/lib/cjs/MapImagerySettings.d.ts.map +1 -1
- package/lib/cjs/MapImagerySettings.js +3 -3
- package/lib/cjs/MapImagerySettings.js.map +1 -1
- package/lib/cjs/MapLayerSettings.d.ts +21 -14
- package/lib/cjs/MapLayerSettings.d.ts.map +1 -1
- package/lib/cjs/MapLayerSettings.js +6 -6
- package/lib/cjs/MapLayerSettings.js.map +1 -1
- package/lib/cjs/ModelProps.d.ts +1 -1
- package/lib/cjs/ModelProps.js.map +1 -1
- package/lib/cjs/PlanProjectionSettings.d.ts +4 -4
- package/lib/cjs/PlanProjectionSettings.d.ts.map +1 -1
- package/lib/cjs/PlanProjectionSettings.js.map +1 -1
- package/lib/cjs/PlanarClipMask.d.ts +11 -11
- package/lib/cjs/PlanarClipMask.d.ts.map +1 -1
- package/lib/cjs/PlanarClipMask.js.map +1 -1
- package/lib/cjs/RenderSchedule.d.ts +66 -8
- package/lib/cjs/RenderSchedule.d.ts.map +1 -1
- package/lib/cjs/RenderSchedule.js +228 -8
- package/lib/cjs/RenderSchedule.js.map +1 -1
- package/lib/cjs/RgbColor.d.ts +1 -0
- package/lib/cjs/RgbColor.d.ts.map +1 -1
- package/lib/cjs/RgbColor.js +4 -0
- package/lib/cjs/RgbColor.js.map +1 -1
- package/lib/cjs/RpcInterface.d.ts.map +1 -1
- package/lib/cjs/RpcInterface.js +91 -4
- package/lib/cjs/RpcInterface.js.map +1 -1
- package/lib/cjs/SpatialClassification.d.ts +9 -9
- package/lib/cjs/SpatialClassification.d.ts.map +1 -1
- package/lib/cjs/SpatialClassification.js +1 -1
- package/lib/cjs/SpatialClassification.js.map +1 -1
- package/lib/cjs/SubCategoryAppearance.d.ts +10 -10
- package/lib/cjs/SubCategoryAppearance.d.ts.map +1 -1
- package/lib/cjs/SubCategoryAppearance.js.map +1 -1
- package/lib/cjs/SubCategoryOverride.d.ts +6 -6
- package/lib/cjs/SubCategoryOverride.d.ts.map +1 -1
- package/lib/cjs/SubCategoryOverride.js.map +1 -1
- package/lib/cjs/ViewFlags.d.ts +3 -3
- package/lib/cjs/ViewFlags.d.ts.map +1 -1
- package/lib/cjs/ViewFlags.js.map +1 -1
- package/lib/cjs/ViewProps.d.ts +3 -1
- package/lib/cjs/ViewProps.d.ts.map +1 -1
- package/lib/cjs/ViewProps.js.map +1 -1
- package/lib/cjs/core-common.d.ts +7 -1
- package/lib/cjs/core-common.d.ts.map +1 -1
- package/lib/cjs/core-common.js +7 -1
- package/lib/cjs/core-common.js.map +1 -1
- package/lib/cjs/ipc/IpcSession.d.ts +24 -0
- package/lib/cjs/ipc/IpcSession.d.ts.map +1 -0
- package/lib/cjs/ipc/IpcSession.js +28 -0
- package/lib/cjs/ipc/IpcSession.js.map +1 -0
- package/lib/cjs/ipc/IpcWebSocket.d.ts +3 -0
- package/lib/cjs/ipc/IpcWebSocket.d.ts.map +1 -1
- package/lib/cjs/ipc/IpcWebSocket.js +28 -14
- package/lib/cjs/ipc/IpcWebSocket.js.map +1 -1
- package/lib/cjs/rpc/IModelReadRpcInterface.d.ts +4 -2
- package/lib/cjs/rpc/IModelReadRpcInterface.d.ts.map +1 -1
- package/lib/cjs/rpc/IModelReadRpcInterface.js +42 -2
- package/lib/cjs/rpc/IModelReadRpcInterface.js.map +1 -1
- package/lib/cjs/rpc/IModelTileRpcInterface.d.ts.map +1 -1
- package/lib/cjs/rpc/IModelTileRpcInterface.js +16 -2
- package/lib/cjs/rpc/IModelTileRpcInterface.js.map +1 -1
- package/lib/cjs/rpc/core/RpcControl.d.ts +2 -0
- package/lib/cjs/rpc/core/RpcControl.d.ts.map +1 -1
- package/lib/cjs/rpc/core/RpcControl.js +13 -1
- package/lib/cjs/rpc/core/RpcControl.js.map +1 -1
- package/lib/cjs/rpc/core/RpcInvocation.d.ts.map +1 -1
- package/lib/cjs/rpc/core/RpcInvocation.js +17 -4
- package/lib/cjs/rpc/core/RpcInvocation.js.map +1 -1
- package/lib/cjs/rpc/core/RpcProtocol.d.ts +6 -2
- package/lib/cjs/rpc/core/RpcProtocol.d.ts.map +1 -1
- package/lib/cjs/rpc/core/RpcProtocol.js.map +1 -1
- package/lib/cjs/rpc/core/RpcRequest.d.ts +11 -6
- package/lib/cjs/rpc/core/RpcRequest.d.ts.map +1 -1
- package/lib/cjs/rpc/core/RpcRequest.js +12 -14
- package/lib/cjs/rpc/core/RpcRequest.js.map +1 -1
- package/lib/cjs/rpc/core/RpcSessionInvocation.d.ts +11 -0
- package/lib/cjs/rpc/core/RpcSessionInvocation.d.ts.map +1 -0
- package/lib/cjs/rpc/core/RpcSessionInvocation.js +60 -0
- package/lib/cjs/rpc/core/RpcSessionInvocation.js.map +1 -0
- package/lib/cjs/rpc/web/WebAppRpcProtocol.d.ts +0 -5
- package/lib/cjs/rpc/web/WebAppRpcProtocol.d.ts.map +1 -1
- package/lib/cjs/rpc/web/WebAppRpcProtocol.js +0 -47
- package/lib/cjs/rpc/web/WebAppRpcProtocol.js.map +1 -1
- package/lib/cjs/rpc/web/WebAppRpcRequest.d.ts +2 -3
- package/lib/cjs/rpc/web/WebAppRpcRequest.d.ts.map +1 -1
- package/lib/cjs/rpc/web/WebAppRpcRequest.js +25 -20
- package/lib/cjs/rpc/web/WebAppRpcRequest.js.map +1 -1
- package/lib/cjs/tile/ElementGraphics.d.ts +4 -0
- package/lib/cjs/tile/ElementGraphics.d.ts.map +1 -1
- package/lib/cjs/tile/ElementGraphics.js.map +1 -1
- package/lib/cjs/tile/IModelTileIO.d.ts +2 -2
- package/lib/cjs/tile/IModelTileIO.js +2 -2
- package/lib/cjs/tile/IModelTileIO.js.map +1 -1
- package/lib/esm/AmbientOcclusion.d.ts +2 -2
- package/lib/esm/AmbientOcclusion.d.ts.map +1 -1
- package/lib/esm/AmbientOcclusion.js +9 -9
- package/lib/esm/AmbientOcclusion.js.map +1 -1
- package/lib/esm/AnalysisStyle.d.ts +7 -7
- package/lib/esm/AnalysisStyle.d.ts.map +1 -1
- package/lib/esm/AnalysisStyle.js.map +1 -1
- package/lib/esm/BackgroundMapProvider.d.ts +2 -2
- package/lib/esm/BackgroundMapProvider.js +1 -1
- package/lib/esm/BackgroundMapProvider.js.map +1 -1
- package/lib/esm/BackgroundMapSettings.d.ts +2 -2
- package/lib/esm/BackgroundMapSettings.d.ts.map +1 -1
- package/lib/esm/BackgroundMapSettings.js.map +1 -1
- package/lib/esm/BriefcaseTypes.js.map +1 -1
- package/lib/esm/ChangedEntities.d.ts +1 -1
- package/lib/esm/ChangedEntities.js.map +1 -1
- package/lib/esm/Code.d.ts +7 -7
- package/lib/esm/Code.d.ts.map +1 -1
- package/lib/esm/Code.js +5 -5
- package/lib/esm/Code.js.map +1 -1
- package/lib/esm/ColorDef.d.ts +2 -0
- package/lib/esm/ColorDef.d.ts.map +1 -1
- package/lib/esm/ColorDef.js +4 -0
- package/lib/esm/ColorDef.js.map +1 -1
- package/lib/esm/ContextRealityModel.d.ts +6 -6
- package/lib/esm/ContextRealityModel.d.ts.map +1 -1
- package/lib/esm/ContextRealityModel.js.map +1 -1
- package/lib/esm/DisplayStyleSettings.d.ts +58 -57
- package/lib/esm/DisplayStyleSettings.d.ts.map +1 -1
- package/lib/esm/DisplayStyleSettings.js +23 -26
- package/lib/esm/DisplayStyleSettings.js.map +1 -1
- package/lib/esm/ElementProps.d.ts +6 -6
- package/lib/esm/ElementProps.d.ts.map +1 -1
- package/lib/esm/ElementProps.js.map +1 -1
- package/lib/esm/EmphasizeElementsProps.d.ts +8 -8
- package/lib/esm/EmphasizeElementsProps.d.ts.map +1 -1
- package/lib/esm/EmphasizeElementsProps.js.map +1 -1
- package/lib/esm/EntityProps.d.ts +2 -2
- package/lib/esm/EntityProps.d.ts.map +1 -1
- package/lib/esm/EntityProps.js.map +1 -1
- package/lib/esm/Environment.d.ts +2 -2
- package/lib/esm/Environment.d.ts.map +1 -1
- package/lib/esm/Environment.js.map +1 -1
- package/lib/esm/FeatureIndex.d.ts +0 -1
- package/lib/esm/FeatureIndex.d.ts.map +1 -1
- package/lib/esm/FeatureIndex.js +0 -1
- package/lib/esm/FeatureIndex.js.map +1 -1
- package/lib/esm/FeatureSymbology.d.ts +40 -9
- package/lib/esm/FeatureSymbology.d.ts.map +1 -1
- package/lib/esm/FeatureSymbology.js +41 -6
- package/lib/esm/FeatureSymbology.js.map +1 -1
- package/lib/esm/FeatureTable.d.ts +6 -2
- package/lib/esm/FeatureTable.d.ts.map +1 -1
- package/lib/esm/FeatureTable.js +26 -6
- package/lib/esm/FeatureTable.js.map +1 -1
- package/lib/esm/Gradient.d.ts +5 -1
- package/lib/esm/Gradient.d.ts.map +1 -1
- package/lib/esm/Gradient.js +17 -23
- package/lib/esm/Gradient.js.map +1 -1
- package/lib/esm/HiddenLine.d.ts +3 -3
- package/lib/esm/HiddenLine.d.ts.map +1 -1
- package/lib/esm/HiddenLine.js.map +1 -1
- package/lib/esm/IModel.d.ts +9 -6
- package/lib/esm/IModel.d.ts.map +1 -1
- package/lib/esm/IModel.js.map +1 -1
- package/lib/esm/IModelError.d.ts +3 -3
- package/lib/esm/IModelError.d.ts.map +1 -1
- package/lib/esm/IModelError.js +1 -1
- package/lib/esm/IModelError.js.map +1 -1
- package/lib/esm/LightSettings.d.ts +4 -4
- package/lib/esm/LightSettings.d.ts.map +1 -1
- package/lib/esm/LightSettings.js.map +1 -1
- package/lib/esm/MapImagerySettings.d.ts +7 -7
- package/lib/esm/MapImagerySettings.d.ts.map +1 -1
- package/lib/esm/MapImagerySettings.js +3 -3
- package/lib/esm/MapImagerySettings.js.map +1 -1
- package/lib/esm/MapLayerSettings.d.ts +21 -14
- package/lib/esm/MapLayerSettings.d.ts.map +1 -1
- package/lib/esm/MapLayerSettings.js +6 -6
- package/lib/esm/MapLayerSettings.js.map +1 -1
- package/lib/esm/ModelProps.d.ts +1 -1
- package/lib/esm/ModelProps.js.map +1 -1
- package/lib/esm/PlanProjectionSettings.d.ts +4 -4
- package/lib/esm/PlanProjectionSettings.d.ts.map +1 -1
- package/lib/esm/PlanProjectionSettings.js.map +1 -1
- package/lib/esm/PlanarClipMask.d.ts +11 -11
- package/lib/esm/PlanarClipMask.d.ts.map +1 -1
- package/lib/esm/PlanarClipMask.js.map +1 -1
- package/lib/esm/RenderSchedule.d.ts +66 -8
- package/lib/esm/RenderSchedule.d.ts.map +1 -1
- package/lib/esm/RenderSchedule.js +229 -9
- package/lib/esm/RenderSchedule.js.map +1 -1
- package/lib/esm/RgbColor.d.ts +1 -0
- package/lib/esm/RgbColor.d.ts.map +1 -1
- package/lib/esm/RgbColor.js +4 -0
- package/lib/esm/RgbColor.js.map +1 -1
- package/lib/esm/RpcInterface.d.ts.map +1 -1
- package/lib/esm/RpcInterface.js +91 -4
- package/lib/esm/RpcInterface.js.map +1 -1
- package/lib/esm/SpatialClassification.d.ts +9 -9
- package/lib/esm/SpatialClassification.d.ts.map +1 -1
- package/lib/esm/SpatialClassification.js +1 -1
- package/lib/esm/SpatialClassification.js.map +1 -1
- package/lib/esm/SubCategoryAppearance.d.ts +10 -10
- package/lib/esm/SubCategoryAppearance.d.ts.map +1 -1
- package/lib/esm/SubCategoryAppearance.js.map +1 -1
- package/lib/esm/SubCategoryOverride.d.ts +6 -6
- package/lib/esm/SubCategoryOverride.d.ts.map +1 -1
- package/lib/esm/SubCategoryOverride.js.map +1 -1
- package/lib/esm/ViewFlags.d.ts +3 -3
- package/lib/esm/ViewFlags.d.ts.map +1 -1
- package/lib/esm/ViewFlags.js.map +1 -1
- package/lib/esm/ViewProps.d.ts +3 -1
- package/lib/esm/ViewProps.d.ts.map +1 -1
- package/lib/esm/ViewProps.js.map +1 -1
- package/lib/esm/core-common.d.ts +7 -1
- package/lib/esm/core-common.d.ts.map +1 -1
- package/lib/esm/core-common.js +7 -1
- package/lib/esm/core-common.js.map +1 -1
- package/lib/esm/ipc/IpcSession.d.ts +24 -0
- package/lib/esm/ipc/IpcSession.d.ts.map +1 -0
- package/lib/esm/ipc/IpcSession.js +24 -0
- package/lib/esm/ipc/IpcSession.js.map +1 -0
- package/lib/esm/ipc/IpcWebSocket.d.ts +3 -0
- package/lib/esm/ipc/IpcWebSocket.d.ts.map +1 -1
- package/lib/esm/ipc/IpcWebSocket.js +28 -14
- package/lib/esm/ipc/IpcWebSocket.js.map +1 -1
- package/lib/esm/rpc/IModelReadRpcInterface.d.ts +4 -2
- package/lib/esm/rpc/IModelReadRpcInterface.d.ts.map +1 -1
- package/lib/esm/rpc/IModelReadRpcInterface.js +41 -1
- package/lib/esm/rpc/IModelReadRpcInterface.js.map +1 -1
- package/lib/esm/rpc/IModelTileRpcInterface.d.ts.map +1 -1
- package/lib/esm/rpc/IModelTileRpcInterface.js +15 -1
- package/lib/esm/rpc/IModelTileRpcInterface.js.map +1 -1
- package/lib/esm/rpc/core/RpcControl.d.ts +2 -0
- package/lib/esm/rpc/core/RpcControl.d.ts.map +1 -1
- package/lib/esm/rpc/core/RpcControl.js +13 -1
- package/lib/esm/rpc/core/RpcControl.js.map +1 -1
- package/lib/esm/rpc/core/RpcInvocation.d.ts.map +1 -1
- package/lib/esm/rpc/core/RpcInvocation.js +18 -5
- package/lib/esm/rpc/core/RpcInvocation.js.map +1 -1
- package/lib/esm/rpc/core/RpcProtocol.d.ts +6 -2
- package/lib/esm/rpc/core/RpcProtocol.d.ts.map +1 -1
- package/lib/esm/rpc/core/RpcProtocol.js.map +1 -1
- package/lib/esm/rpc/core/RpcRequest.d.ts +11 -6
- package/lib/esm/rpc/core/RpcRequest.d.ts.map +1 -1
- package/lib/esm/rpc/core/RpcRequest.js +6 -8
- package/lib/esm/rpc/core/RpcRequest.js.map +1 -1
- package/lib/esm/rpc/core/RpcSessionInvocation.d.ts +11 -0
- package/lib/esm/rpc/core/RpcSessionInvocation.d.ts.map +1 -0
- package/lib/esm/rpc/core/RpcSessionInvocation.js +56 -0
- package/lib/esm/rpc/core/RpcSessionInvocation.js.map +1 -0
- package/lib/esm/rpc/web/WebAppRpcProtocol.d.ts +0 -5
- package/lib/esm/rpc/web/WebAppRpcProtocol.d.ts.map +1 -1
- package/lib/esm/rpc/web/WebAppRpcProtocol.js +0 -47
- package/lib/esm/rpc/web/WebAppRpcProtocol.js.map +1 -1
- package/lib/esm/rpc/web/WebAppRpcRequest.d.ts +2 -3
- package/lib/esm/rpc/web/WebAppRpcRequest.d.ts.map +1 -1
- package/lib/esm/rpc/web/WebAppRpcRequest.js +25 -20
- package/lib/esm/rpc/web/WebAppRpcRequest.js.map +1 -1
- package/lib/esm/tile/ElementGraphics.d.ts +4 -0
- package/lib/esm/tile/ElementGraphics.d.ts.map +1 -1
- package/lib/esm/tile/ElementGraphics.js.map +1 -1
- package/lib/esm/tile/IModelTileIO.d.ts +2 -2
- package/lib/esm/tile/IModelTileIO.js +2 -2
- package/lib/esm/tile/IModelTileIO.js.map +1 -1
- package/package.json +13 -13
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
/** @packageDocumentation
|
|
6
6
|
* @module DisplayStyles
|
|
7
7
|
*/
|
|
8
|
-
import { assert, CompressedId64Set, Id64, OrderedId64Iterable } from "@itwin/core-bentley";
|
|
8
|
+
import { assert, compareBooleans, compareNumbers, comparePossiblyUndefined, compareStrings, compareStringsOrUndefined, CompressedId64Set, Id64, OrderedId64Iterable, } from "@itwin/core-bentley";
|
|
9
9
|
import { ClipPlane, ClipPrimitive, ClipVector, ConvexClipPlaneSet, Matrix3d, Plane3dByOriginAndUnitNormal, Point3d, Point4d, Range1d, Transform, UnionOfConvexClipPlaneSets, Vector3d, } from "@itwin/core-geometry";
|
|
10
10
|
import { RgbColor } from "./RgbColor";
|
|
11
11
|
import { FeatureAppearance } from "./FeatureSymbology";
|
|
@@ -15,6 +15,22 @@ function interpolate(start, end, fraction) {
|
|
|
15
15
|
function interpolateRgb(start, end, fraction) {
|
|
16
16
|
return new RgbColor(interpolate(start.r, end.r, fraction), interpolate(start.g, end.g, fraction), interpolate(start.b, end.b, fraction));
|
|
17
17
|
}
|
|
18
|
+
function compareXYZ(lhs, rhs) {
|
|
19
|
+
return compareNumbers(lhs.x, rhs.x) || compareNumbers(lhs.y, rhs.y) || compareNumbers(lhs.z, rhs.z);
|
|
20
|
+
}
|
|
21
|
+
function compare4d(lhs, rhs) {
|
|
22
|
+
return compareNumbers(lhs.x, rhs.x) || compareNumbers(lhs.y, rhs.y) || compareNumbers(lhs.z, rhs.z) || compareNumbers(lhs.w, rhs.w);
|
|
23
|
+
}
|
|
24
|
+
const scratchVec3a = new Vector3d();
|
|
25
|
+
const scratchVec3b = new Vector3d();
|
|
26
|
+
function compareMatrices(lhs, rhs) {
|
|
27
|
+
return compareXYZ(lhs.columnX(scratchVec3a), rhs.columnX(scratchVec3b))
|
|
28
|
+
|| compareXYZ(lhs.columnY(scratchVec3a), rhs.columnY(scratchVec3b))
|
|
29
|
+
|| compareXYZ(lhs.columnZ(scratchVec3a), rhs.columnZ(scratchVec3b));
|
|
30
|
+
}
|
|
31
|
+
function compareDurations(lhs, rhs) {
|
|
32
|
+
return compareNumbers(lhs.low, rhs.low) || compareNumbers(lhs.high, rhs.high);
|
|
33
|
+
}
|
|
18
34
|
/** Namespace containing types that collectively define a script that animates the contents of a view by adjusting the visibility, position,
|
|
19
35
|
* and/or symbology of groups of elements over time. A [[RenderSchedule.Script]] is hosted by a [RenderTimeline]($backend) element. The script
|
|
20
36
|
* can be associated with a [DisplayStyleState]($frontend) by way of its [[DisplayStyleSettings.renderTimeline]] property.
|
|
@@ -54,6 +70,12 @@ export var RenderSchedule;
|
|
|
54
70
|
props.interpolation = this.interpolation;
|
|
55
71
|
return props;
|
|
56
72
|
}
|
|
73
|
+
compareTo(other) {
|
|
74
|
+
return compareNumbers(this.interpolation, other.interpolation) || compareNumbers(this.time, other.time);
|
|
75
|
+
}
|
|
76
|
+
equals(other) {
|
|
77
|
+
return 0 === this.compareTo(other);
|
|
78
|
+
}
|
|
57
79
|
}
|
|
58
80
|
RenderSchedule.TimelineEntry = TimelineEntry;
|
|
59
81
|
/** A timeline entry that controls the visibility of the associated geometry. */
|
|
@@ -71,6 +93,10 @@ export var RenderSchedule;
|
|
|
71
93
|
props.value = this.value;
|
|
72
94
|
return props;
|
|
73
95
|
}
|
|
96
|
+
compareTo(other) {
|
|
97
|
+
assert(other instanceof VisibilityEntry);
|
|
98
|
+
return super.compareTo(other) || compareNumbers(this.value, other.value);
|
|
99
|
+
}
|
|
74
100
|
}
|
|
75
101
|
RenderSchedule.VisibilityEntry = VisibilityEntry;
|
|
76
102
|
/** A timeline entry controlling the color of the affected geometry. */
|
|
@@ -91,6 +117,10 @@ export var RenderSchedule;
|
|
|
91
117
|
}
|
|
92
118
|
return props;
|
|
93
119
|
}
|
|
120
|
+
compareTo(other) {
|
|
121
|
+
assert(other instanceof ColorEntry);
|
|
122
|
+
return super.compareTo(other) || comparePossiblyUndefined((lhs, rhs) => lhs.compareTo(rhs), this.value, other.value);
|
|
123
|
+
}
|
|
94
124
|
}
|
|
95
125
|
RenderSchedule.ColorEntry = ColorEntry;
|
|
96
126
|
/** Describes the components of a [[RenderSchedule.TransformEntry]] as a rotation around a pivot point followed by a translation. */
|
|
@@ -113,6 +143,12 @@ export var RenderSchedule;
|
|
|
113
143
|
orientation: [this.orientation.x, this.orientation.y, this.orientation.z, this.orientation.w],
|
|
114
144
|
};
|
|
115
145
|
}
|
|
146
|
+
compareTo(other) {
|
|
147
|
+
return compareXYZ(this.pivot, other.pivot) || compareXYZ(this.position, other.position) || compare4d(this.orientation, other.orientation);
|
|
148
|
+
}
|
|
149
|
+
equals(other) {
|
|
150
|
+
return this.pivot.isAlmostEqual(other.pivot) && this.position.isAlmostEqual(other.position) && this.orientation.isAlmostEqual(other.orientation);
|
|
151
|
+
}
|
|
116
152
|
}
|
|
117
153
|
RenderSchedule.TransformComponents = TransformComponents;
|
|
118
154
|
/** A timeline entry that applies rotation, scaling, and/or translation to the affected geometry. */
|
|
@@ -134,6 +170,18 @@ export var RenderSchedule;
|
|
|
134
170
|
}
|
|
135
171
|
return props;
|
|
136
172
|
}
|
|
173
|
+
compareTo(other) {
|
|
174
|
+
assert(other instanceof TransformEntry);
|
|
175
|
+
const cmp = super.compareTo(other);
|
|
176
|
+
if (0 !== cmp)
|
|
177
|
+
return cmp;
|
|
178
|
+
if (this.components || other.components) {
|
|
179
|
+
if (!this.components || !other.components)
|
|
180
|
+
return this.components ? 1 : -1;
|
|
181
|
+
return this.components.compareTo(other.components);
|
|
182
|
+
}
|
|
183
|
+
return compareXYZ(this.value.origin, other.value.origin) || compareMatrices(this.value.matrix, other.value.matrix);
|
|
184
|
+
}
|
|
137
185
|
}
|
|
138
186
|
RenderSchedule.TransformEntry = TransformEntry;
|
|
139
187
|
/** Defines a [ClipPlane]($core-geometry) associated with a [[RenderSchedule.CuttingPlaneEntry]]. */
|
|
@@ -155,6 +203,12 @@ export var RenderSchedule;
|
|
|
155
203
|
props.hidden = true;
|
|
156
204
|
return props;
|
|
157
205
|
}
|
|
206
|
+
compareTo(other) {
|
|
207
|
+
return compareXYZ(this.position, other.position) || compareXYZ(this.direction, other.direction) || compareBooleans(this.visible, other.visible) || compareBooleans(this.hidden, other.hidden);
|
|
208
|
+
}
|
|
209
|
+
equals(other) {
|
|
210
|
+
return 0 === this.compareTo(other);
|
|
211
|
+
}
|
|
158
212
|
}
|
|
159
213
|
RenderSchedule.CuttingPlane = CuttingPlane;
|
|
160
214
|
/** A timeline entry that applies a [ClipPlane]($core-geometry) to the affected geometry. */
|
|
@@ -170,6 +224,10 @@ export var RenderSchedule;
|
|
|
170
224
|
props.value = this.value.toJSON();
|
|
171
225
|
return props;
|
|
172
226
|
}
|
|
227
|
+
compareTo(other) {
|
|
228
|
+
assert(other instanceof CuttingPlaneEntry);
|
|
229
|
+
return super.compareTo(other) || comparePossiblyUndefined((x, y) => x.compareTo(y), this.value, other.value);
|
|
230
|
+
}
|
|
173
231
|
}
|
|
174
232
|
RenderSchedule.CuttingPlaneEntry = CuttingPlaneEntry;
|
|
175
233
|
/** Identifies a fractional position along a [[RenderSchedule.Timeline]] between any two [[RenderSchedule.TimelineEntry]]'s within a [[RenderSchedule.TimelineEntryList]].
|
|
@@ -220,6 +278,18 @@ export var RenderSchedule;
|
|
|
220
278
|
toJSON() {
|
|
221
279
|
return this._entries.map((x) => x.toJSON());
|
|
222
280
|
}
|
|
281
|
+
compareTo(other) {
|
|
282
|
+
let cmp = compareNumbers(this._entries.length, other._entries.length) || compareDurations(this.duration, other.duration);
|
|
283
|
+
if (0 === cmp) {
|
|
284
|
+
for (let i = 0; i < this.length; i++)
|
|
285
|
+
if (0 !== (cmp = this._entries[i].compareTo(other._entries[i])))
|
|
286
|
+
break;
|
|
287
|
+
}
|
|
288
|
+
return cmp;
|
|
289
|
+
}
|
|
290
|
+
equals(other) {
|
|
291
|
+
return 0 === this.compareTo(other);
|
|
292
|
+
}
|
|
223
293
|
/** @internal */
|
|
224
294
|
findInterval(time, interval) {
|
|
225
295
|
if (this.length === 0)
|
|
@@ -303,6 +373,25 @@ export var RenderSchedule;
|
|
|
303
373
|
cuttingPlaneTimeline: (_d = this.cuttingPlane) === null || _d === void 0 ? void 0 : _d.toJSON(),
|
|
304
374
|
};
|
|
305
375
|
}
|
|
376
|
+
compareTo(other) {
|
|
377
|
+
const cmp = compareDurations(this.duration, other.duration);
|
|
378
|
+
if (0 !== cmp)
|
|
379
|
+
return cmp;
|
|
380
|
+
// Do cheaper checks before iterating through timeline entries
|
|
381
|
+
if (!!this.visibility !== !!other.visibility)
|
|
382
|
+
return this.visibility ? 1 : -1;
|
|
383
|
+
else if (!!this.color !== !!other.color)
|
|
384
|
+
return this.color ? 1 : -1;
|
|
385
|
+
else if (!!this.transform !== !!other.transform)
|
|
386
|
+
return this.transform ? 1 : -1;
|
|
387
|
+
else if (!!this.cuttingPlane !== !!other.cuttingPlane)
|
|
388
|
+
return this.cuttingPlane ? 1 : -1;
|
|
389
|
+
return comparePossiblyUndefined((x, y) => x.compareTo(y), this.visibility, other.visibility) || comparePossiblyUndefined((x, y) => x.compareTo(y), this.color, other.color)
|
|
390
|
+
|| comparePossiblyUndefined((x, y) => x.compareTo(y), this.transform, other.transform) || comparePossiblyUndefined((x, y) => x.compareTo(y), this.cuttingPlane, other.cuttingPlane);
|
|
391
|
+
}
|
|
392
|
+
equals(other) {
|
|
393
|
+
return 0 === this.compareTo(other);
|
|
394
|
+
}
|
|
306
395
|
/** Get the visibility of the geometry at the specified time point. */
|
|
307
396
|
getVisibility(time) {
|
|
308
397
|
var _a, _b;
|
|
@@ -419,6 +508,38 @@ export var RenderSchedule;
|
|
|
419
508
|
elementIds: this._elementIds,
|
|
420
509
|
};
|
|
421
510
|
}
|
|
511
|
+
get containsElementIds() {
|
|
512
|
+
return this._elementIds.length > 0;
|
|
513
|
+
}
|
|
514
|
+
compareElementIds(other) {
|
|
515
|
+
if (typeof this._elementIds === typeof other._elementIds) {
|
|
516
|
+
const cmp = compareNumbers(this._elementIds.length, other._elementIds.length);
|
|
517
|
+
if (0 !== cmp)
|
|
518
|
+
return cmp;
|
|
519
|
+
if (typeof this._elementIds === "string") {
|
|
520
|
+
assert(typeof other._elementIds === "string");
|
|
521
|
+
return compareStrings(this._elementIds, other._elementIds);
|
|
522
|
+
}
|
|
523
|
+
}
|
|
524
|
+
// One or both are stored as arrays, in which case they might contain the same Ids in different orders. We will consider them different in that case.
|
|
525
|
+
const mine = this.elementIds[Symbol.iterator]();
|
|
526
|
+
const theirs = other.elementIds[Symbol.iterator]();
|
|
527
|
+
while (true) {
|
|
528
|
+
const a = mine.next();
|
|
529
|
+
const b = theirs.next();
|
|
530
|
+
if (a.done !== b.done)
|
|
531
|
+
return compareBooleans(!!a.done, !!b.done);
|
|
532
|
+
else if (a.done)
|
|
533
|
+
return 0;
|
|
534
|
+
const cmp = compareStrings(a.value, b.value);
|
|
535
|
+
if (0 !== cmp)
|
|
536
|
+
return cmp;
|
|
537
|
+
}
|
|
538
|
+
}
|
|
539
|
+
compareTo(other) {
|
|
540
|
+
assert(other instanceof ElementTimeline);
|
|
541
|
+
return compareNumbers(this.batchId, other.batchId) || this.compareElementIds(other) || super.compareTo(other);
|
|
542
|
+
}
|
|
422
543
|
/** @internal */
|
|
423
544
|
static getElementIds(ids) {
|
|
424
545
|
if (typeof ids === "string")
|
|
@@ -468,6 +589,8 @@ export var RenderSchedule;
|
|
|
468
589
|
class ModelTimeline extends Timeline {
|
|
469
590
|
constructor(props) {
|
|
470
591
|
super(props);
|
|
592
|
+
/** Tile tree suppliers perform **very** frequent ordered comparisons of ModelTimelines. They need to be fast. */
|
|
593
|
+
this._cachedComparisons = new WeakMap();
|
|
471
594
|
this.modelId = props.modelId;
|
|
472
595
|
this.realityModelUrl = props.realityModelUrl;
|
|
473
596
|
this.containsModelClipping = undefined !== this.cuttingPlane;
|
|
@@ -476,6 +599,7 @@ export var RenderSchedule;
|
|
|
476
599
|
let containsTransform = false;
|
|
477
600
|
const transformBatchIds = [];
|
|
478
601
|
const elementTimelines = [];
|
|
602
|
+
let containsElementIds = false;
|
|
479
603
|
for (const elProps of props.elementTimelines) {
|
|
480
604
|
const el = ElementTimeline.fromJSON(elProps);
|
|
481
605
|
elementTimelines.push(el);
|
|
@@ -487,9 +611,11 @@ export var RenderSchedule;
|
|
|
487
611
|
}
|
|
488
612
|
containsFeatureOverrides || (containsFeatureOverrides = el.containsFeatureOverrides);
|
|
489
613
|
requiresBatching || (requiresBatching = el.requiresBatching);
|
|
614
|
+
containsElementIds = containsElementIds || el.containsElementIds;
|
|
490
615
|
}
|
|
491
616
|
this.elementTimelines = elementTimelines;
|
|
492
617
|
this.transformBatchIds = transformBatchIds;
|
|
618
|
+
this.omitsElementIds = elementTimelines.length > 0 && !containsElementIds;
|
|
493
619
|
this.containsFeatureOverrides = containsFeatureOverrides;
|
|
494
620
|
this.requiresBatching = requiresBatching;
|
|
495
621
|
this.containsTransform = containsTransform;
|
|
@@ -505,6 +631,26 @@ export var RenderSchedule;
|
|
|
505
631
|
elementTimelines: this.elementTimelines.map((x) => x.toJSON()),
|
|
506
632
|
};
|
|
507
633
|
}
|
|
634
|
+
compareTo(other) {
|
|
635
|
+
if (this === other)
|
|
636
|
+
return 0;
|
|
637
|
+
const cached = this._cachedComparisons.get(other);
|
|
638
|
+
if (undefined !== cached)
|
|
639
|
+
return cached;
|
|
640
|
+
assert(other instanceof ModelTimeline);
|
|
641
|
+
let cmp = compareStrings(this.modelId, other.modelId) || compareStringsOrUndefined(this.realityModelUrl, other.realityModelUrl)
|
|
642
|
+
|| compareNumbers(this.elementTimelines.length, other.elementTimelines.length) || compareBooleans(this.containsFeatureOverrides, other.containsFeatureOverrides)
|
|
643
|
+
|| compareBooleans(this.containsModelClipping, other.containsModelClipping) || compareBooleans(this.containsTransform, other.containsTransform)
|
|
644
|
+
|| super.compareTo(other);
|
|
645
|
+
if (0 === cmp) {
|
|
646
|
+
for (let i = 0; i < this.elementTimelines.length; i++)
|
|
647
|
+
if (0 !== (cmp = this.elementTimelines[i].compareTo(other.elementTimelines[i])))
|
|
648
|
+
break;
|
|
649
|
+
}
|
|
650
|
+
this._cachedComparisons.set(other, cmp);
|
|
651
|
+
other._cachedComparisons.set(this, -cmp);
|
|
652
|
+
return cmp;
|
|
653
|
+
}
|
|
508
654
|
/** Look up the element timeline with the specified batch Id. */
|
|
509
655
|
findByBatchId(batchId) {
|
|
510
656
|
return this.elementTimelines.find((x) => x.batchId === batchId);
|
|
@@ -522,6 +668,43 @@ export var RenderSchedule;
|
|
|
522
668
|
var _a;
|
|
523
669
|
return (_a = this.findByBatchId(batchId)) === null || _a === void 0 ? void 0 : _a.getAnimationTransform(time);
|
|
524
670
|
}
|
|
671
|
+
/** Get the highest batchId of any ElementTimeline in this timeline. */
|
|
672
|
+
get maxBatchId() {
|
|
673
|
+
if (undefined === this._maxBatchId) {
|
|
674
|
+
this._maxBatchId = 0;
|
|
675
|
+
for (const elem of this.elementTimelines)
|
|
676
|
+
this._maxBatchId = Math.max(this._maxBatchId, elem.batchId);
|
|
677
|
+
}
|
|
678
|
+
return this._maxBatchId;
|
|
679
|
+
}
|
|
680
|
+
/** Given the two halves of an [Id64]($bentley) return the [[ElementTimeline]] containing the corresponding element.
|
|
681
|
+
* @note The first call to this method populates a mapping for fast lookup.
|
|
682
|
+
* @alpha
|
|
683
|
+
*/
|
|
684
|
+
getTimelineForElement(idLo, idHi) {
|
|
685
|
+
if (!this._idPairToElementTimeline) {
|
|
686
|
+
this._idPairToElementTimeline = new Id64.Uint32Map();
|
|
687
|
+
for (const timeline of this.elementTimelines) {
|
|
688
|
+
for (const elementId of timeline.elementIds) {
|
|
689
|
+
// NB: a malformed script may place the same element Id into multiple timelines. We're not going to check for such data errors here.
|
|
690
|
+
this._idPairToElementTimeline.setById(elementId, timeline);
|
|
691
|
+
}
|
|
692
|
+
}
|
|
693
|
+
}
|
|
694
|
+
return this._idPairToElementTimeline.get(idLo, idHi);
|
|
695
|
+
}
|
|
696
|
+
/** The batch Ids of the subset of [[elementTimelines]] that apply a transform and/or cutting plane.
|
|
697
|
+
* @alpha
|
|
698
|
+
*/
|
|
699
|
+
get discreteBatchIds() {
|
|
700
|
+
if (!this._discreteBatchIds) {
|
|
701
|
+
this._discreteBatchIds = new Set(this.transformBatchIds);
|
|
702
|
+
for (const timeline of this.elementTimelines)
|
|
703
|
+
if (!timeline.containsTransform && undefined !== timeline.cuttingPlane)
|
|
704
|
+
this._discreteBatchIds.add(timeline.batchId);
|
|
705
|
+
}
|
|
706
|
+
return this._discreteBatchIds;
|
|
707
|
+
}
|
|
525
708
|
}
|
|
526
709
|
RenderSchedule.ModelTimeline = ModelTimeline;
|
|
527
710
|
/** Specifies how to animate the contents of a [ViewState]($frontend) over time. The script contains any number of [[RenderSchedule.ModelTimeline]]s, each describing how
|
|
@@ -533,6 +716,8 @@ export var RenderSchedule;
|
|
|
533
716
|
*/
|
|
534
717
|
class Script {
|
|
535
718
|
constructor(props) {
|
|
719
|
+
/** Tile tree references perform **very** frequent ordered comparisons of Scripts. They need to be fast. */
|
|
720
|
+
this._cachedComparisons = new WeakMap();
|
|
536
721
|
this.duration = Range1d.createNull();
|
|
537
722
|
const transformBatchIds = new Set();
|
|
538
723
|
const modelTimelines = [];
|
|
@@ -558,6 +743,27 @@ export var RenderSchedule;
|
|
|
558
743
|
this.containsFeatureOverrides = containsFeatureOverrides;
|
|
559
744
|
this.transformBatchIds = transformBatchIds;
|
|
560
745
|
}
|
|
746
|
+
compareTo(other) {
|
|
747
|
+
if (this === other)
|
|
748
|
+
return 0;
|
|
749
|
+
const cached = this._cachedComparisons.get(other);
|
|
750
|
+
if (undefined !== cached)
|
|
751
|
+
return cached;
|
|
752
|
+
let cmp = compareNumbers(this.modelTimelines.length, other.modelTimelines.length) || compareBooleans(this.containsModelClipping, other.containsModelClipping)
|
|
753
|
+
|| compareBooleans(this.requiresBatching, other.requiresBatching) || compareBooleans(this.containsTransform, other.containsTransform)
|
|
754
|
+
|| compareBooleans(this.containsFeatureOverrides, other.containsFeatureOverrides) || compareDurations(this.duration, other.duration);
|
|
755
|
+
if (0 === cmp) {
|
|
756
|
+
for (let i = 0; i < this.modelTimelines.length; i++)
|
|
757
|
+
if (0 !== (cmp = this.modelTimelines[i].compareTo(other.modelTimelines[i])))
|
|
758
|
+
break;
|
|
759
|
+
}
|
|
760
|
+
this._cachedComparisons.set(other, cmp);
|
|
761
|
+
other._cachedComparisons.set(this, -cmp);
|
|
762
|
+
return cmp;
|
|
763
|
+
}
|
|
764
|
+
equals(other) {
|
|
765
|
+
return 0 === this.compareTo(other);
|
|
766
|
+
}
|
|
561
767
|
static fromJSON(props) {
|
|
562
768
|
if (!Array.isArray(props) || props.length === 0)
|
|
563
769
|
return undefined;
|
|
@@ -585,7 +791,7 @@ export var RenderSchedule;
|
|
|
585
791
|
for (const timeline of this.modelTimelines)
|
|
586
792
|
timeline.addSymbologyOverrides(overrides, time);
|
|
587
793
|
}
|
|
588
|
-
/** Used by
|
|
794
|
+
/** Used by the [Element.collectReferenceIds]($backend) method overrides in RenderTimeline and DisplayStyle.
|
|
589
795
|
* @internal
|
|
590
796
|
*/
|
|
591
797
|
discloseIds(ids) {
|
|
@@ -596,17 +802,31 @@ export var RenderSchedule;
|
|
|
596
802
|
ids.add(id);
|
|
597
803
|
}
|
|
598
804
|
}
|
|
805
|
+
/** @internal */
|
|
806
|
+
modelRequiresBatching(modelId) {
|
|
807
|
+
// Only if the script contains animation (cutting plane, transform or visibility by node ID) do we require separate tilesets for animations.
|
|
808
|
+
return this.requiresBatching && this.modelTimelines.some((x) => x.modelId === modelId && x.requiresBatching);
|
|
809
|
+
}
|
|
599
810
|
}
|
|
600
811
|
RenderSchedule.Script = Script;
|
|
601
|
-
/** A reference to a [[RenderSchedule.Script]]
|
|
602
|
-
*
|
|
603
|
-
*
|
|
604
|
-
*
|
|
812
|
+
/** A reference to a [[RenderSchedule.Script]], optionally identifying the source of the script.
|
|
813
|
+
* @see [DisplayStyle.loadScheduleScript]($backend) and [DisplayStyleState.scheduleScript]($frontend) to obtain the script reference for a display style on the frontend
|
|
814
|
+
* and backend respectively.
|
|
815
|
+
* @see [DisplayStyleState.scheduleScript]($frontend) or [DisplayStyleState.changeRenderTimeline]($frontend) to change a display style's script on the frontend.
|
|
605
816
|
*/
|
|
606
817
|
class ScriptReference {
|
|
607
|
-
constructor
|
|
608
|
-
|
|
609
|
-
|
|
818
|
+
/** @internal Use one of the public constructor overloads which forward to this one. */
|
|
819
|
+
constructor(sourceIdOrScript, scriptIfSourceId) {
|
|
820
|
+
if (typeof sourceIdOrScript === "string") {
|
|
821
|
+
assert(scriptIfSourceId instanceof Script);
|
|
822
|
+
this.sourceId = sourceIdOrScript;
|
|
823
|
+
this.script = scriptIfSourceId;
|
|
824
|
+
}
|
|
825
|
+
else {
|
|
826
|
+
assert(undefined === scriptIfSourceId);
|
|
827
|
+
this.script = sourceIdOrScript;
|
|
828
|
+
this.sourceId = Id64.invalid;
|
|
829
|
+
}
|
|
610
830
|
}
|
|
611
831
|
}
|
|
612
832
|
RenderSchedule.ScriptReference = ScriptReference;
|