@itwin/core-common 3.0.0-extension.0 → 3.1.0-dev.5
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 +84 -1
- package/LICENSE.md +1 -1
- package/lib/cjs/BackgroundMapSettings.d.ts +1 -1
- package/lib/cjs/BackgroundMapSettings.d.ts.map +1 -1
- package/lib/cjs/BackgroundMapSettings.js.map +1 -1
- package/lib/cjs/ConcurrentQuery.d.ts +28 -11
- package/lib/cjs/ConcurrentQuery.d.ts.map +1 -1
- package/lib/cjs/ConcurrentQuery.js +26 -12
- package/lib/cjs/ConcurrentQuery.js.map +1 -1
- package/lib/cjs/ContextRealityModel.d.ts +36 -16
- package/lib/cjs/ContextRealityModel.d.ts.map +1 -1
- package/lib/cjs/ContextRealityModel.js +46 -7
- package/lib/cjs/ContextRealityModel.js.map +1 -1
- package/lib/cjs/DisplayStyleSettings.d.ts +30 -24
- package/lib/cjs/DisplayStyleSettings.d.ts.map +1 -1
- package/lib/cjs/DisplayStyleSettings.js +43 -16
- package/lib/cjs/DisplayStyleSettings.js.map +1 -1
- package/lib/cjs/ECSqlReader.d.ts +17 -5
- package/lib/cjs/ECSqlReader.d.ts.map +1 -1
- package/lib/cjs/ECSqlReader.js +55 -22
- package/lib/cjs/ECSqlReader.js.map +1 -1
- package/lib/cjs/ECSqlTypes.d.ts +3 -3
- package/lib/cjs/ECSqlTypes.js +3 -3
- package/lib/cjs/ECSqlTypes.js.map +1 -1
- package/lib/cjs/ElementProps.d.ts +9 -0
- package/lib/cjs/ElementProps.d.ts.map +1 -1
- package/lib/cjs/ElementProps.js.map +1 -1
- package/lib/cjs/Environment.d.ts +61 -0
- package/lib/cjs/Environment.d.ts.map +1 -0
- package/lib/cjs/Environment.js +74 -0
- package/lib/cjs/Environment.js.map +1 -0
- package/lib/cjs/FeatureSymbology.d.ts +97 -18
- package/lib/cjs/FeatureSymbology.d.ts.map +1 -1
- package/lib/cjs/FeatureSymbology.js +83 -27
- package/lib/cjs/FeatureSymbology.js.map +1 -1
- package/lib/cjs/GeoCoordinateServices.d.ts +66 -1
- package/lib/cjs/GeoCoordinateServices.d.ts.map +1 -1
- package/lib/cjs/GeoCoordinateServices.js +39 -1
- package/lib/cjs/GeoCoordinateServices.js.map +1 -1
- package/lib/cjs/Gradient.d.ts.map +1 -1
- package/lib/cjs/Gradient.js +10 -0
- package/lib/cjs/Gradient.js.map +1 -1
- package/lib/cjs/GroundPlane.d.ts +26 -15
- package/lib/cjs/GroundPlane.d.ts.map +1 -1
- package/lib/cjs/GroundPlane.js +40 -39
- package/lib/cjs/GroundPlane.js.map +1 -1
- package/lib/cjs/IModel.d.ts +33 -4
- package/lib/cjs/IModel.d.ts.map +1 -1
- package/lib/cjs/IModel.js +27 -10
- package/lib/cjs/IModel.js.map +1 -1
- package/lib/cjs/LightSettings.d.ts +59 -0
- package/lib/cjs/LightSettings.d.ts.map +1 -1
- package/lib/cjs/LightSettings.js +75 -6
- package/lib/cjs/LightSettings.js.map +1 -1
- package/lib/cjs/Localization.d.ts +1 -1
- package/lib/cjs/Localization.js.map +1 -1
- package/lib/cjs/MapLayerSettings.d.ts +2 -2
- package/lib/cjs/MapLayerSettings.js +2 -2
- package/lib/cjs/MapLayerSettings.js.map +1 -1
- package/lib/cjs/NativeAppProps.d.ts +2 -36
- package/lib/cjs/NativeAppProps.d.ts.map +1 -1
- package/lib/cjs/NativeAppProps.js.map +1 -1
- package/lib/cjs/PlanarClipMask.d.ts +73 -8
- package/lib/cjs/PlanarClipMask.d.ts.map +1 -1
- package/lib/cjs/PlanarClipMask.js +17 -24
- package/lib/cjs/PlanarClipMask.js.map +1 -1
- package/lib/cjs/RealityDataAccessProps.d.ts +42 -0
- package/lib/cjs/RealityDataAccessProps.d.ts.map +1 -0
- package/lib/cjs/RealityDataAccessProps.js +20 -0
- package/lib/cjs/RealityDataAccessProps.js.map +1 -0
- package/lib/cjs/RenderMaterial.d.ts +7 -7
- package/lib/cjs/RenderMaterial.d.ts.map +1 -1
- package/lib/cjs/RenderMaterial.js +10 -5
- package/lib/cjs/RenderMaterial.js.map +1 -1
- package/lib/cjs/RenderSchedule.d.ts +4 -0
- package/lib/cjs/RenderSchedule.d.ts.map +1 -1
- package/lib/cjs/RenderSchedule.js +5 -1
- package/lib/cjs/RenderSchedule.js.map +1 -1
- package/lib/cjs/RenderTexture.d.ts +8 -1
- package/lib/cjs/RenderTexture.d.ts.map +1 -1
- package/lib/cjs/RenderTexture.js.map +1 -1
- package/lib/cjs/SkyBox.d.ts +142 -34
- package/lib/cjs/SkyBox.d.ts.map +1 -1
- package/lib/cjs/SkyBox.js +192 -6
- package/lib/cjs/SkyBox.js.map +1 -1
- package/lib/cjs/TextureMapping.d.ts +3 -1
- package/lib/cjs/TextureMapping.d.ts.map +1 -1
- package/lib/cjs/TextureMapping.js +9 -6
- package/lib/cjs/TextureMapping.js.map +1 -1
- package/lib/cjs/TextureProps.d.ts +21 -2
- package/lib/cjs/TextureProps.d.ts.map +1 -1
- package/lib/cjs/TextureProps.js +19 -0
- package/lib/cjs/TextureProps.js.map +1 -1
- package/lib/cjs/ThematicDisplay.d.ts +6 -0
- package/lib/cjs/ThematicDisplay.d.ts.map +1 -1
- package/lib/cjs/ThematicDisplay.js +26 -0
- package/lib/cjs/ThematicDisplay.js.map +1 -1
- package/lib/cjs/TileProps.d.ts +6 -0
- package/lib/cjs/TileProps.d.ts.map +1 -1
- package/lib/cjs/TileProps.js.map +1 -1
- package/lib/cjs/ViewFlags.d.ts +8 -0
- package/lib/cjs/ViewFlags.d.ts.map +1 -1
- package/lib/cjs/ViewFlags.js +30 -10
- package/lib/cjs/ViewFlags.js.map +1 -1
- package/lib/cjs/core-common.d.ts +7 -0
- package/lib/cjs/core-common.d.ts.map +1 -1
- package/lib/cjs/core-common.js +7 -0
- package/lib/cjs/core-common.js.map +1 -1
- package/lib/cjs/geometry/AdditionalTransform.d.ts +1 -1
- package/lib/cjs/geometry/AdditionalTransform.js +1 -1
- package/lib/cjs/geometry/AdditionalTransform.js.map +1 -1
- package/lib/cjs/geometry/CoordinateReferenceSystem.d.ts +25 -10
- package/lib/cjs/geometry/CoordinateReferenceSystem.d.ts.map +1 -1
- package/lib/cjs/geometry/CoordinateReferenceSystem.js +9 -7
- package/lib/cjs/geometry/CoordinateReferenceSystem.js.map +1 -1
- package/lib/cjs/geometry/ElementGeometry.d.ts +12 -8
- package/lib/cjs/geometry/ElementGeometry.d.ts.map +1 -1
- package/lib/cjs/geometry/ElementGeometry.js.map +1 -1
- package/lib/cjs/geometry/FrustumPlanes.d.ts +1 -1
- package/lib/cjs/geometry/FrustumPlanes.d.ts.map +1 -1
- package/lib/cjs/geometry/FrustumPlanes.js +26 -13
- package/lib/cjs/geometry/FrustumPlanes.js.map +1 -1
- package/lib/cjs/ipc/IpcWebSocket.d.ts +12 -5
- package/lib/cjs/ipc/IpcWebSocket.d.ts.map +1 -1
- package/lib/cjs/ipc/IpcWebSocket.js +32 -8
- package/lib/cjs/ipc/IpcWebSocket.js.map +1 -1
- package/lib/cjs/ipc/IpcWebSocketTransport.d.ts +15 -0
- package/lib/cjs/ipc/IpcWebSocketTransport.d.ts.map +1 -0
- package/lib/cjs/ipc/IpcWebSocketTransport.js +142 -0
- package/lib/cjs/ipc/IpcWebSocketTransport.js.map +1 -0
- package/lib/cjs/rpc/core/RpcInvocation.d.ts +4 -4
- package/lib/cjs/rpc/core/RpcInvocation.d.ts.map +1 -1
- package/lib/cjs/rpc/core/RpcInvocation.js +3 -1
- package/lib/cjs/rpc/core/RpcInvocation.js.map +1 -1
- package/lib/cjs/tile/ElementGraphics.d.ts +5 -1
- package/lib/cjs/tile/ElementGraphics.d.ts.map +1 -1
- package/lib/cjs/tile/ElementGraphics.js.map +1 -1
- package/lib/cjs/tile/GltfTileIO.d.ts +16 -79
- package/lib/cjs/tile/GltfTileIO.d.ts.map +1 -1
- package/lib/cjs/tile/GltfTileIO.js +72 -153
- package/lib/cjs/tile/GltfTileIO.js.map +1 -1
- package/lib/cjs/tile/TileMetadata.d.ts +20 -8
- package/lib/cjs/tile/TileMetadata.d.ts.map +1 -1
- package/lib/cjs/tile/TileMetadata.js +50 -53
- package/lib/cjs/tile/TileMetadata.js.map +1 -1
- package/lib/esm/BackgroundMapSettings.d.ts +1 -1
- package/lib/esm/BackgroundMapSettings.d.ts.map +1 -1
- package/lib/esm/BackgroundMapSettings.js.map +1 -1
- package/lib/esm/ConcurrentQuery.d.ts +28 -11
- package/lib/esm/ConcurrentQuery.d.ts.map +1 -1
- package/lib/esm/ConcurrentQuery.js +26 -12
- package/lib/esm/ConcurrentQuery.js.map +1 -1
- package/lib/esm/ContextRealityModel.d.ts +36 -16
- package/lib/esm/ContextRealityModel.d.ts.map +1 -1
- package/lib/esm/ContextRealityModel.js +45 -6
- package/lib/esm/ContextRealityModel.js.map +1 -1
- package/lib/esm/DisplayStyleSettings.d.ts +30 -24
- package/lib/esm/DisplayStyleSettings.d.ts.map +1 -1
- package/lib/esm/DisplayStyleSettings.js +43 -16
- package/lib/esm/DisplayStyleSettings.js.map +1 -1
- package/lib/esm/ECSqlReader.d.ts +17 -5
- package/lib/esm/ECSqlReader.d.ts.map +1 -1
- package/lib/esm/ECSqlReader.js +56 -23
- package/lib/esm/ECSqlReader.js.map +1 -1
- package/lib/esm/ECSqlTypes.d.ts +3 -3
- package/lib/esm/ECSqlTypes.js +3 -3
- package/lib/esm/ECSqlTypes.js.map +1 -1
- package/lib/esm/ElementProps.d.ts +9 -0
- package/lib/esm/ElementProps.d.ts.map +1 -1
- package/lib/esm/ElementProps.js.map +1 -1
- package/lib/esm/Environment.d.ts +61 -0
- package/lib/esm/Environment.d.ts.map +1 -0
- package/lib/esm/Environment.js +70 -0
- package/lib/esm/Environment.js.map +1 -0
- package/lib/esm/FeatureSymbology.d.ts +97 -18
- package/lib/esm/FeatureSymbology.d.ts.map +1 -1
- package/lib/esm/FeatureSymbology.js +84 -28
- package/lib/esm/FeatureSymbology.js.map +1 -1
- package/lib/esm/GeoCoordinateServices.d.ts +66 -1
- package/lib/esm/GeoCoordinateServices.d.ts.map +1 -1
- package/lib/esm/GeoCoordinateServices.js +39 -1
- package/lib/esm/GeoCoordinateServices.js.map +1 -1
- package/lib/esm/Gradient.d.ts.map +1 -1
- package/lib/esm/Gradient.js +10 -0
- package/lib/esm/Gradient.js.map +1 -1
- package/lib/esm/GroundPlane.d.ts +26 -15
- package/lib/esm/GroundPlane.d.ts.map +1 -1
- package/lib/esm/GroundPlane.js +40 -39
- package/lib/esm/GroundPlane.js.map +1 -1
- package/lib/esm/IModel.d.ts +33 -4
- package/lib/esm/IModel.d.ts.map +1 -1
- package/lib/esm/IModel.js +27 -10
- package/lib/esm/IModel.js.map +1 -1
- package/lib/esm/LightSettings.d.ts +59 -0
- package/lib/esm/LightSettings.d.ts.map +1 -1
- package/lib/esm/LightSettings.js +74 -6
- package/lib/esm/LightSettings.js.map +1 -1
- package/lib/esm/Localization.d.ts +1 -1
- package/lib/esm/Localization.js.map +1 -1
- package/lib/esm/MapLayerSettings.d.ts +2 -2
- package/lib/esm/MapLayerSettings.js +2 -2
- package/lib/esm/MapLayerSettings.js.map +1 -1
- package/lib/esm/NativeAppProps.d.ts +2 -36
- package/lib/esm/NativeAppProps.d.ts.map +1 -1
- package/lib/esm/NativeAppProps.js.map +1 -1
- package/lib/esm/PlanarClipMask.d.ts +73 -8
- package/lib/esm/PlanarClipMask.d.ts.map +1 -1
- package/lib/esm/PlanarClipMask.js +17 -24
- package/lib/esm/PlanarClipMask.js.map +1 -1
- package/lib/esm/RealityDataAccessProps.d.ts +42 -0
- package/lib/esm/RealityDataAccessProps.d.ts.map +1 -0
- package/lib/esm/RealityDataAccessProps.js +17 -0
- package/lib/esm/RealityDataAccessProps.js.map +1 -0
- package/lib/esm/RenderMaterial.d.ts +7 -7
- package/lib/esm/RenderMaterial.d.ts.map +1 -1
- package/lib/esm/RenderMaterial.js +10 -5
- package/lib/esm/RenderMaterial.js.map +1 -1
- package/lib/esm/RenderSchedule.d.ts +4 -0
- package/lib/esm/RenderSchedule.d.ts.map +1 -1
- package/lib/esm/RenderSchedule.js +5 -1
- package/lib/esm/RenderSchedule.js.map +1 -1
- package/lib/esm/RenderTexture.d.ts +8 -1
- package/lib/esm/RenderTexture.d.ts.map +1 -1
- package/lib/esm/RenderTexture.js.map +1 -1
- package/lib/esm/SkyBox.d.ts +142 -34
- package/lib/esm/SkyBox.d.ts.map +1 -1
- package/lib/esm/SkyBox.js +187 -5
- package/lib/esm/SkyBox.js.map +1 -1
- package/lib/esm/TextureMapping.d.ts +3 -1
- package/lib/esm/TextureMapping.d.ts.map +1 -1
- package/lib/esm/TextureMapping.js +9 -6
- package/lib/esm/TextureMapping.js.map +1 -1
- package/lib/esm/TextureProps.d.ts +21 -2
- package/lib/esm/TextureProps.d.ts.map +1 -1
- package/lib/esm/TextureProps.js +18 -1
- package/lib/esm/TextureProps.js.map +1 -1
- package/lib/esm/ThematicDisplay.d.ts +6 -0
- package/lib/esm/ThematicDisplay.d.ts.map +1 -1
- package/lib/esm/ThematicDisplay.js +26 -0
- package/lib/esm/ThematicDisplay.js.map +1 -1
- package/lib/esm/TileProps.d.ts +6 -0
- package/lib/esm/TileProps.d.ts.map +1 -1
- package/lib/esm/TileProps.js.map +1 -1
- package/lib/esm/ViewFlags.d.ts +8 -0
- package/lib/esm/ViewFlags.d.ts.map +1 -1
- package/lib/esm/ViewFlags.js +30 -10
- package/lib/esm/ViewFlags.js.map +1 -1
- package/lib/esm/core-common.d.ts +7 -0
- package/lib/esm/core-common.d.ts.map +1 -1
- package/lib/esm/core-common.js +7 -0
- package/lib/esm/core-common.js.map +1 -1
- package/lib/esm/geometry/AdditionalTransform.d.ts +1 -1
- package/lib/esm/geometry/AdditionalTransform.js +1 -1
- package/lib/esm/geometry/AdditionalTransform.js.map +1 -1
- package/lib/esm/geometry/CoordinateReferenceSystem.d.ts +25 -10
- package/lib/esm/geometry/CoordinateReferenceSystem.d.ts.map +1 -1
- package/lib/esm/geometry/CoordinateReferenceSystem.js +9 -7
- package/lib/esm/geometry/CoordinateReferenceSystem.js.map +1 -1
- package/lib/esm/geometry/ElementGeometry.d.ts +12 -8
- package/lib/esm/geometry/ElementGeometry.d.ts.map +1 -1
- package/lib/esm/geometry/ElementGeometry.js.map +1 -1
- package/lib/esm/geometry/FrustumPlanes.d.ts +1 -1
- package/lib/esm/geometry/FrustumPlanes.d.ts.map +1 -1
- package/lib/esm/geometry/FrustumPlanes.js +26 -13
- package/lib/esm/geometry/FrustumPlanes.js.map +1 -1
- package/lib/esm/ipc/IpcWebSocket.d.ts +12 -5
- package/lib/esm/ipc/IpcWebSocket.d.ts.map +1 -1
- package/lib/esm/ipc/IpcWebSocket.js +31 -6
- package/lib/esm/ipc/IpcWebSocket.js.map +1 -1
- package/lib/esm/ipc/IpcWebSocketTransport.d.ts +15 -0
- package/lib/esm/ipc/IpcWebSocketTransport.d.ts.map +1 -0
- package/lib/esm/ipc/IpcWebSocketTransport.js +138 -0
- package/lib/esm/ipc/IpcWebSocketTransport.js.map +1 -0
- package/lib/esm/rpc/core/RpcInvocation.d.ts +4 -4
- package/lib/esm/rpc/core/RpcInvocation.d.ts.map +1 -1
- package/lib/esm/rpc/core/RpcInvocation.js +3 -1
- package/lib/esm/rpc/core/RpcInvocation.js.map +1 -1
- package/lib/esm/tile/ElementGraphics.d.ts +5 -1
- package/lib/esm/tile/ElementGraphics.d.ts.map +1 -1
- package/lib/esm/tile/ElementGraphics.js.map +1 -1
- package/lib/esm/tile/GltfTileIO.d.ts +16 -79
- package/lib/esm/tile/GltfTileIO.d.ts.map +1 -1
- package/lib/esm/tile/GltfTileIO.js +70 -149
- package/lib/esm/tile/GltfTileIO.js.map +1 -1
- package/lib/esm/tile/TileMetadata.d.ts +20 -8
- package/lib/esm/tile/TileMetadata.d.ts.map +1 -1
- package/lib/esm/tile/TileMetadata.js +50 -53
- package/lib/esm/tile/TileMetadata.js.map +1 -1
- package/package.json +10 -11
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*---------------------------------------------------------------------------------------------
|
|
3
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
4
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
5
|
+
*--------------------------------------------------------------------------------------------*/
|
|
6
|
+
/** @packageDocumentation
|
|
7
|
+
* @module DisplayStyles
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.Environment = void 0;
|
|
11
|
+
const GroundPlane_1 = require("./GroundPlane");
|
|
12
|
+
const SkyBox_1 = require("./SkyBox");
|
|
13
|
+
/** As part of a [[DisplayStyle3dSettings]], controls the display of a [[SkyBox]] and [[GroundPlane]] to simulate the
|
|
14
|
+
* outdoor environment.
|
|
15
|
+
* @see [[DisplayStyle3dSettings.environment]].
|
|
16
|
+
* @public
|
|
17
|
+
*/
|
|
18
|
+
class Environment {
|
|
19
|
+
constructor(props) {
|
|
20
|
+
var _a, _b, _c, _d;
|
|
21
|
+
this.displaySky = (_a = props === null || props === void 0 ? void 0 : props.displaySky) !== null && _a !== void 0 ? _a : false;
|
|
22
|
+
this.displayGround = (_b = props === null || props === void 0 ? void 0 : props.displayGround) !== null && _b !== void 0 ? _b : false;
|
|
23
|
+
this.sky = (_c = props === null || props === void 0 ? void 0 : props.sky) !== null && _c !== void 0 ? _c : SkyBox_1.SkyBox.defaults;
|
|
24
|
+
this.ground = (_d = props === null || props === void 0 ? void 0 : props.ground) !== null && _d !== void 0 ? _d : GroundPlane_1.GroundPlane.defaults;
|
|
25
|
+
}
|
|
26
|
+
/** Create a new Environment. Any properties not specified by `props` will be initialized to their default values. */
|
|
27
|
+
static create(props) {
|
|
28
|
+
return props ? new this(props) : this.defaults;
|
|
29
|
+
}
|
|
30
|
+
/** Create a copy of this environment, changing the `displayGround` and/or `displaySky` flags. */
|
|
31
|
+
withDisplay(display) {
|
|
32
|
+
var _a, _b;
|
|
33
|
+
const displaySky = (_a = display.sky) !== null && _a !== void 0 ? _a : this.displaySky;
|
|
34
|
+
const displayGround = (_b = display.ground) !== null && _b !== void 0 ? _b : this.displayGround;
|
|
35
|
+
if (displaySky === this.displaySky && displayGround === this.displayGround)
|
|
36
|
+
return this;
|
|
37
|
+
return Environment.create({
|
|
38
|
+
...this,
|
|
39
|
+
displaySky: displaySky !== null && displaySky !== void 0 ? displaySky : this.displaySky,
|
|
40
|
+
displayGround: displayGround !== null && displayGround !== void 0 ? displayGround : this.displayGround,
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
/** Convert to JSON representation. */
|
|
44
|
+
toJSON() {
|
|
45
|
+
return {
|
|
46
|
+
sky: this.sky.toJSON(this.displaySky),
|
|
47
|
+
ground: this.ground.toJSON(this.displayGround),
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
/** Create from JSON representation. */
|
|
51
|
+
static fromJSON(props) {
|
|
52
|
+
var _a, _b;
|
|
53
|
+
if (!props)
|
|
54
|
+
return this.defaults;
|
|
55
|
+
return new this({
|
|
56
|
+
displaySky: (_a = props === null || props === void 0 ? void 0 : props.sky) === null || _a === void 0 ? void 0 : _a.display,
|
|
57
|
+
displayGround: (_b = props === null || props === void 0 ? void 0 : props.ground) === null || _b === void 0 ? void 0 : _b.display,
|
|
58
|
+
sky: (props === null || props === void 0 ? void 0 : props.sky) ? SkyBox_1.SkyBox.fromJSON(props.sky) : undefined,
|
|
59
|
+
ground: (props === null || props === void 0 ? void 0 : props.ground) ? GroundPlane_1.GroundPlane.fromJSON(props.ground) : undefined,
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
/** Create a copy of this environment, identical except for any properties specified by `changedProps`.
|
|
63
|
+
* Any properties of `changedProps` explicitly set to `undefined` will be reset to their default values.
|
|
64
|
+
*/
|
|
65
|
+
clone(changedProps) {
|
|
66
|
+
if (!changedProps)
|
|
67
|
+
return this;
|
|
68
|
+
return Environment.create({ ...this, ...changedProps });
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
exports.Environment = Environment;
|
|
72
|
+
/** Default settings with neither ground plane nor sky box displayed. */
|
|
73
|
+
Environment.defaults = new Environment();
|
|
74
|
+
//# sourceMappingURL=Environment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Environment.js","sourceRoot":"","sources":["../../src/Environment.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 DisplayStyles\r\n */\r\n\r\nimport { NonFunctionPropertiesOf } from \"@itwin/core-bentley\";\r\nimport { GroundPlane, GroundPlaneProps } from \"./GroundPlane\";\r\nimport { SkyBox, SkyBoxProps } from \"./SkyBox\";\r\n\r\n/** JSON representation of an [[Environment]].\r\n * @see [[DisplayStyle3dSettingsProps.environment]].\r\n * @public\r\n */\r\nexport interface EnvironmentProps {\r\n /** @see [[Environment.ground]] and [[Environment.displayGround]]. */\r\n ground?: GroundPlaneProps;\r\n /** @see [[Environment.sky]] and [[Environment.displaySky]]. */\r\n sky?: SkyBoxProps;\r\n}\r\n\r\n/** A type containing all of the properties of [[Environment]] with none of the methods and with the `readonly` modifiers removed.\r\n * @see [[Environment.create]] and [[Environment.clone]].\r\n * @public\r\n */\r\nexport type EnvironmentProperties = NonFunctionPropertiesOf<Environment>;\r\n\r\n/** As part of a [[DisplayStyle3dSettings]], controls the display of a [[SkyBox]] and [[GroundPlane]] to simulate the\r\n * outdoor environment.\r\n * @see [[DisplayStyle3dSettings.environment]].\r\n * @public\r\n */\r\nexport class Environment {\r\n /** If true, the sky box will be displayed.\r\n * Default: false.\r\n * @see [[withDisplay]] or [[DisplayStyle3dSettings.toggleSkyBox]] to change this.\r\n */\r\n public readonly displaySky: boolean;\r\n /** If true, the ground plane will be displayed.\r\n * Default: false.\r\n * @see [[withDisplay]] or [[DisplayStyle3dSettings.toggleGroundPlane]] to change this.\r\n */\r\n public readonly displayGround: boolean;\r\n /** Describes how the sky box should be drawn. */\r\n public readonly sky: SkyBox;\r\n /** Describes how the ground plane should be drawn. */\r\n public readonly ground: GroundPlane;\r\n\r\n protected constructor(props?: Partial<EnvironmentProperties>) {\r\n this.displaySky = props?.displaySky ?? false;\r\n this.displayGround = props?.displayGround ?? false;\r\n this.sky = props?.sky ?? SkyBox.defaults;\r\n this.ground = props?.ground ?? GroundPlane.defaults;\r\n }\r\n\r\n /** Default settings with neither ground plane nor sky box displayed. */\r\n public static readonly defaults = new Environment();\r\n\r\n /** Create a new Environment. Any properties not specified by `props` will be initialized to their default values. */\r\n public static create(props?: Partial<EnvironmentProperties>): Environment {\r\n return props ? new this(props) : this.defaults;\r\n }\r\n\r\n /** Create a copy of this environment, changing the `displayGround` and/or `displaySky` flags. */\r\n public withDisplay(display: { sky?: boolean, ground?: boolean }): Environment {\r\n const displaySky = display.sky ?? this.displaySky;\r\n const displayGround = display.ground ?? this.displayGround;\r\n if (displaySky === this.displaySky && displayGround === this.displayGround)\r\n return this;\r\n\r\n return Environment.create({\r\n ...this,\r\n displaySky: displaySky ?? this.displaySky,\r\n displayGround: displayGround ?? this.displayGround,\r\n });\r\n }\r\n\r\n /** Convert to JSON representation. */\r\n public toJSON(): EnvironmentProps {\r\n return {\r\n sky: this.sky.toJSON(this.displaySky),\r\n ground: this.ground.toJSON(this.displayGround),\r\n };\r\n }\r\n\r\n /** Create from JSON representation. */\r\n public static fromJSON(props?: EnvironmentProps): Environment {\r\n if (!props)\r\n return this.defaults;\r\n\r\n return new this({\r\n displaySky: props?.sky?.display,\r\n displayGround: props?.ground?.display,\r\n sky: props?.sky ? SkyBox.fromJSON(props.sky) : undefined,\r\n ground: props?.ground ? GroundPlane.fromJSON(props.ground) : undefined,\r\n });\r\n }\r\n\r\n /** Create a copy of this environment, identical except for any properties specified by `changedProps`.\r\n * Any properties of `changedProps` explicitly set to `undefined` will be reset to their default values.\r\n */\r\n public clone(changedProps?: Partial<EnvironmentProperties>): Environment {\r\n if (!changedProps)\r\n return this;\r\n\r\n return Environment.create({ ...this, ...changedProps });\r\n }\r\n}\r\n"]}
|
|
@@ -8,38 +8,54 @@ import { GeometryClass } from "./GeometryParams";
|
|
|
8
8
|
import { LinePixels } from "./LinePixels";
|
|
9
9
|
import { RgbColor, RgbColorProps } from "./RgbColor";
|
|
10
10
|
import { SubCategoryOverride } from "./SubCategoryOverride";
|
|
11
|
-
/**
|
|
11
|
+
/** JSON representation of a [[FeatureAppearance]].
|
|
12
12
|
* @public
|
|
13
13
|
*/
|
|
14
14
|
export interface FeatureAppearanceProps {
|
|
15
|
-
/**
|
|
15
|
+
/** @see [[FeatureAppearance.rgb]]. */
|
|
16
16
|
rgb?: RgbColorProps;
|
|
17
|
-
/**
|
|
17
|
+
/** @see [[FeatureAppearance.weight]]. */
|
|
18
18
|
weight?: number;
|
|
19
|
-
/**
|
|
19
|
+
/** @see [[FeatureAppearance.transparency]]. */
|
|
20
20
|
transparency?: number;
|
|
21
|
-
/**
|
|
21
|
+
/** @see [[FeatureAppearance.viewDependentTransparency]]. */
|
|
22
|
+
viewDependentTransparency?: true;
|
|
23
|
+
/** @see [[FeatureAppearance.linePixels]]. */
|
|
22
24
|
linePixels?: LinePixels;
|
|
23
|
-
/**
|
|
24
|
-
ignoresMaterial?: true
|
|
25
|
-
/**
|
|
26
|
-
nonLocatable?: true
|
|
27
|
-
/**
|
|
28
|
-
emphasized?: true
|
|
25
|
+
/** @see [[FeatureAppearance.ignoresMaterial]]. */
|
|
26
|
+
ignoresMaterial?: true;
|
|
27
|
+
/** @see [[FeatureAppearance.nonLocatable]]. */
|
|
28
|
+
nonLocatable?: true;
|
|
29
|
+
/** @see [[FeatureAppearance.emphasized]]. */
|
|
30
|
+
emphasized?: true;
|
|
29
31
|
}
|
|
30
32
|
/** Defines overrides for selected aspects of a [[Feature]]'s symbology.
|
|
31
33
|
* Any member defined in the appearance overrides that aspect of symbology for all [[Feature]]s to which the appearance is applied.
|
|
32
34
|
* @see [[FeatureOverrides]] to customize the appearance of multiple features.
|
|
33
35
|
* @public
|
|
34
36
|
*/
|
|
35
|
-
export declare class FeatureAppearance
|
|
37
|
+
export declare class FeatureAppearance {
|
|
38
|
+
/** Overrides the feature's color. */
|
|
36
39
|
readonly rgb?: RgbColor;
|
|
40
|
+
/** The width of lines and edges in pixels as an integer in [1, 31]. */
|
|
37
41
|
readonly weight?: number;
|
|
42
|
+
/** The transparency in the range [0, 1] where 0 indicates fully opaque and 1 indicates fully transparent.
|
|
43
|
+
* @see [[viewDependentTransparency]] for details on how this override interacts with the [DisplayStyle]($backend).
|
|
44
|
+
*/
|
|
38
45
|
readonly transparency?: number;
|
|
46
|
+
/** The pixel pattern applied to lines and edges. */
|
|
39
47
|
readonly linePixels?: LinePixels;
|
|
40
|
-
|
|
41
|
-
readonly
|
|
42
|
-
|
|
48
|
+
/** If true, don't apply the [[RenderMaterial]] to the feature's surfaces. */
|
|
49
|
+
readonly ignoresMaterial?: true;
|
|
50
|
+
/** If true, the feature will not be drawn when using [Viewport.readPixels]($frontend), meaning [Tool]($frontend)s will not be able to interact with it. */
|
|
51
|
+
readonly nonLocatable?: true;
|
|
52
|
+
/** If true, the feature will be rendered using the [[Hilite.Settings]] defined by [Viewport.emphasisSettings]($frontend) to make it stand out. */
|
|
53
|
+
readonly emphasized?: true;
|
|
54
|
+
/** If true, then [[transparency]] will only be applied if [[ViewFlags.transparency]] is enabled and the current [[RenderMode]] supports transparency.
|
|
55
|
+
* Default: false, meaning the transparency will be applied regardless of view flags or render mode.
|
|
56
|
+
* This property has no effect if [[transparency]] is `undefined`.
|
|
57
|
+
*/
|
|
58
|
+
readonly viewDependentTransparency?: true;
|
|
43
59
|
/** An appearance that overrides nothing. */
|
|
44
60
|
static readonly defaults: FeatureAppearance;
|
|
45
61
|
static fromJSON(props?: FeatureAppearanceProps): FeatureAppearance;
|
|
@@ -50,10 +66,12 @@ export declare class FeatureAppearance implements FeatureAppearanceProps {
|
|
|
50
66
|
/** Create a FeatureAppearance that overrides the RGB and transparency.
|
|
51
67
|
* The appearance's transparency is derived from the transparency component of the ColorDef.
|
|
52
68
|
*/
|
|
53
|
-
static fromRgba(color: ColorDef): FeatureAppearance;
|
|
69
|
+
static fromRgba(color: ColorDef, viewDependentTransparency?: boolean): FeatureAppearance;
|
|
54
70
|
/** Create a FeatureAppearance that overrides only the transparency */
|
|
55
|
-
static fromTransparency(transparencyValue: number): FeatureAppearance;
|
|
56
|
-
/** Create a FeatureAppearance with overrides corresponding to those defined by the supplied SubCategoryOverride.
|
|
71
|
+
static fromTransparency(transparencyValue: number, viewDependent?: boolean): FeatureAppearance;
|
|
72
|
+
/** Create a FeatureAppearance with overrides corresponding to those defined by the supplied SubCategoryOverride.
|
|
73
|
+
* @note Subcategory overrides set [[viewDependentTransparency]] to `true`.
|
|
74
|
+
*/
|
|
57
75
|
static fromSubCategoryOverride(ovr: SubCategoryOverride): FeatureAppearance;
|
|
58
76
|
/** Returns true if this appearance does not override any aspects of symbology. */
|
|
59
77
|
get matchesDefaults(): boolean;
|
|
@@ -90,6 +108,7 @@ export declare class FeatureAppearance implements FeatureAppearanceProps {
|
|
|
90
108
|
extendAppearance(base: FeatureAppearance): FeatureAppearance;
|
|
91
109
|
protected constructor(props: FeatureAppearanceProps);
|
|
92
110
|
private rgbIsEqual;
|
|
111
|
+
private transparencyIsEqual;
|
|
93
112
|
}
|
|
94
113
|
/** Interface adopted by an object that can supply a [[FeatureAppearance]] given a low-level description of a [[Feature]].
|
|
95
114
|
* @see [[FeatureOverrides]] for the commonly-used implementation.
|
|
@@ -113,6 +132,61 @@ export interface FeatureAppearanceSource {
|
|
|
113
132
|
*/
|
|
114
133
|
getAppearance(elemLo: number, elemHi: number, subcatLo: number, subcatHi: number, geomClass: GeometryClass, modelLo: number, modelHi: number, type: BatchType, animationNodeId: number): FeatureAppearance | undefined;
|
|
115
134
|
}
|
|
135
|
+
/** Common options for [[FeatureOverrides.override]].
|
|
136
|
+
* @public
|
|
137
|
+
*/
|
|
138
|
+
export interface OverrideFeatureAppearanceOptions {
|
|
139
|
+
/** Specifies the aspects of the [[Feature]]'s appearance to be overridden. */
|
|
140
|
+
appearance: FeatureAppearance;
|
|
141
|
+
/** Specifies what to do if a [[FeatureAppearance]] has already been configured for the specified element, model, or subcategory by a previous call to [[FeatureOverrides.override]].
|
|
142
|
+
* - "subsume" (the default): Merge the two appearances using the logic described by [[FeatureAppearance.extendAppearance]] such that any aspect overridden by the existing appearance will be overwritten
|
|
143
|
+
* if also overridden by [[appearance]].
|
|
144
|
+
* - The resulting appearance is computed as `existingAppearance.extendAppearance(newAppearance)`.
|
|
145
|
+
* - "extend": Merge the two appearances using the logic described by [[FeatureAppearance.extendAppearance]] such that any aspect overridden by [[appearance]] will only
|
|
146
|
+
* apply if that aspect is not already overridden by a previous appearance.
|
|
147
|
+
* - The resulting appearance is computed as `newAppearance.extendAppearance(existingAppearance)`.
|
|
148
|
+
* - "replace": Completely replace the existing appearance with [[appearance]].
|
|
149
|
+
* - "skip": Keep the existing appearance.
|
|
150
|
+
*/
|
|
151
|
+
onConflict?: "extend" | "subsume" | "replace" | "skip";
|
|
152
|
+
}
|
|
153
|
+
/** Options for using [[FeatureOverrides.override]] to override the appearance of a [GeometricModel]($backend).
|
|
154
|
+
* @public
|
|
155
|
+
*/
|
|
156
|
+
export interface OverrideModelAppearanceOptions extends OverrideFeatureAppearanceOptions {
|
|
157
|
+
/** The Id of the model whose appearance is to be overridden. */
|
|
158
|
+
modelId: Id64String;
|
|
159
|
+
/** @internal */
|
|
160
|
+
elementId?: never;
|
|
161
|
+
/** @internal */
|
|
162
|
+
subCategoryId?: never;
|
|
163
|
+
}
|
|
164
|
+
/** Options for using [[FeatureOverrides.override]] to override the appearance of a [GeometricElement]($backend).
|
|
165
|
+
* @public
|
|
166
|
+
*/
|
|
167
|
+
export interface OverrideElementAppearanceOptions extends OverrideFeatureAppearanceOptions {
|
|
168
|
+
/** The Id of the element whose appearance is to be overridden. */
|
|
169
|
+
elementId: Id64String;
|
|
170
|
+
/** @internal */
|
|
171
|
+
modelId?: never;
|
|
172
|
+
/** @internal */
|
|
173
|
+
subCategoryId?: never;
|
|
174
|
+
}
|
|
175
|
+
/** Options for using [[FeatureOverrides.override]] to override the appearance of a [SubCategory]($backend).
|
|
176
|
+
* @public
|
|
177
|
+
*/
|
|
178
|
+
export interface OverrideSubCategoryAppearanceOptions extends OverrideFeatureAppearanceOptions {
|
|
179
|
+
/** The Id of the subcategory whose appearance is to be overridden. */
|
|
180
|
+
subCategoryId: Id64String;
|
|
181
|
+
/** @internal */
|
|
182
|
+
modelId?: never;
|
|
183
|
+
/** @internal */
|
|
184
|
+
elementId?: never;
|
|
185
|
+
}
|
|
186
|
+
/** Arguments supplied to [[FeatureOverrides.override]].
|
|
187
|
+
* @public
|
|
188
|
+
*/
|
|
189
|
+
export declare type OverrideFeatureAppearanceArgs = OverrideElementAppearanceOptions | OverrideModelAppearanceOptions | OverrideSubCategoryAppearanceOptions;
|
|
116
190
|
/** Specifies how to customize the appearance of individual [[Feature]]s, typically within the context of a [Viewport]($frontend).
|
|
117
191
|
* Individual aspects of a feature's appearance - like visibility, color, and transparency - are overridden by supplying a [[FeatureAppearance]].
|
|
118
192
|
* Those overrides can be specified on the basis of the feature's model, element, and/or subcategory. A default set of overrides can also be specified to
|
|
@@ -237,12 +311,15 @@ export declare class FeatureOverrides implements FeatureAppearanceSource {
|
|
|
237
311
|
* @see [[ViewFlags.constructions]], [[ViewFlags.dimensions]], and [[ViewFlags.patterns]].
|
|
238
312
|
*/
|
|
239
313
|
isClassVisible(geomClass: GeometryClass): boolean;
|
|
314
|
+
/** Specify overrides for all elements belonging to a specified [GeometricModel]($backend), or all geometry belonging to a specified [GeometricElement]($backend) or [SubCategory]($backend). */
|
|
315
|
+
override(args: OverrideFeatureAppearanceArgs): void;
|
|
240
316
|
/** Specify overrides for all elements within the specified model.
|
|
241
317
|
* @param id The Id of the model.
|
|
242
318
|
* @param app The symbology overrides.
|
|
243
319
|
* @param replaceExisting Specifies whether to replace a pre-existing override for the same model.
|
|
244
320
|
* @note These overrides take priority over all other overrides.
|
|
245
321
|
* @note If [[defaultOverrides]] are defined, they will not apply to any element within this model, even if the supplied appearance overrides nothing.
|
|
322
|
+
* @deprecated Use [[FeatureOverrides.override]].
|
|
246
323
|
*/
|
|
247
324
|
overrideModel(id: Id64String, app: FeatureAppearance, replaceExisting?: boolean): void;
|
|
248
325
|
/** Specify overrides for all geometry belonging to the specified [SubCategory]($backend).
|
|
@@ -251,6 +328,7 @@ export declare class FeatureOverrides implements FeatureAppearanceSource {
|
|
|
251
328
|
* @param replaceExisting Specifies whether to replace a pre-existing override for the same subcategory.
|
|
252
329
|
* @note These overrides have lower priority than element and model overrides.
|
|
253
330
|
* @note If [[defaultOverrides]] are defined, they will not apply to any geometry within this subcategory, even if the supplied appearance overrides nothing.
|
|
331
|
+
* @deprecated Use [[FeatureOverrides.override]].
|
|
254
332
|
*/
|
|
255
333
|
overrideSubCategory(id: Id64String, app: FeatureAppearance, replaceExisting?: boolean): void;
|
|
256
334
|
/** Specify overrides for all geometry originating from the specified element.
|
|
@@ -259,6 +337,7 @@ export declare class FeatureOverrides implements FeatureAppearanceSource {
|
|
|
259
337
|
* @param replaceExisting Specifies whether to replace a pre-existing override for the same element.
|
|
260
338
|
* @note These overrides take precedence over subcategory overrides, but not over model overrides.
|
|
261
339
|
* @note If [[defaultOverrides]] are defined, they will not apply to this element, even if the supplied appearance overrides nothing.
|
|
340
|
+
* @deprecated Use [[FeatureOverrides.override]].
|
|
262
341
|
*/
|
|
263
342
|
overrideElement(id: Id64String, app: FeatureAppearance, replaceExisting?: boolean): void;
|
|
264
343
|
/** Specify overrides for all geometry originating from the specified animation node.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FeatureSymbology.d.ts","sourceRoot":"","sources":["../../src/FeatureSymbology.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"FeatureSymbology.d.ts","sourceRoot":"","sources":["../../src/FeatureSymbology.ts"],"names":[],"mappings":"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"}
|
|
@@ -39,6 +39,8 @@ class FeatureAppearance {
|
|
|
39
39
|
if (undefined !== this.weight)
|
|
40
40
|
this.weight = Math.max(1, Math.min(this.weight, 32));
|
|
41
41
|
if (undefined !== this.transparency) {
|
|
42
|
+
if (props.viewDependentTransparency)
|
|
43
|
+
this.viewDependentTransparency = true;
|
|
42
44
|
this.transparency = Math.max(0, Math.min(this.transparency, 1));
|
|
43
45
|
// Fix up rounding errors...
|
|
44
46
|
const smallDelta = 0.0001;
|
|
@@ -63,23 +65,29 @@ class FeatureAppearance {
|
|
|
63
65
|
/** Create a FeatureAppearance that overrides the RGB and transparency.
|
|
64
66
|
* The appearance's transparency is derived from the transparency component of the ColorDef.
|
|
65
67
|
*/
|
|
66
|
-
static fromRgba(color) {
|
|
68
|
+
static fromRgba(color, viewDependentTransparency = false) {
|
|
67
69
|
return this.fromJSON({
|
|
68
70
|
rgb: RgbColor_1.RgbColor.fromColorDef(color),
|
|
69
71
|
transparency: color.colors.t / 255,
|
|
72
|
+
viewDependentTransparency: viewDependentTransparency ? true : undefined,
|
|
70
73
|
});
|
|
71
74
|
}
|
|
72
75
|
/** Create a FeatureAppearance that overrides only the transparency */
|
|
73
|
-
static fromTransparency(transparencyValue) {
|
|
74
|
-
return this.fromJSON({
|
|
76
|
+
static fromTransparency(transparencyValue, viewDependent = false) {
|
|
77
|
+
return this.fromJSON({
|
|
78
|
+
transparency: transparencyValue,
|
|
79
|
+
viewDependentTransparency: viewDependent ? true : undefined,
|
|
80
|
+
});
|
|
75
81
|
}
|
|
76
|
-
/** Create a FeatureAppearance with overrides corresponding to those defined by the supplied SubCategoryOverride.
|
|
82
|
+
/** Create a FeatureAppearance with overrides corresponding to those defined by the supplied SubCategoryOverride.
|
|
83
|
+
* @note Subcategory overrides set [[viewDependentTransparency]] to `true`.
|
|
84
|
+
*/
|
|
77
85
|
static fromSubCategoryOverride(ovr) {
|
|
78
86
|
const rgb = undefined !== ovr.color ? RgbColor_1.RgbColor.fromColorDef(ovr.color) : undefined;
|
|
79
87
|
const transparency = ovr.transparency;
|
|
80
88
|
const weight = ovr.weight;
|
|
81
89
|
const ignoresMaterial = undefined !== ovr.material && core_bentley_1.Id64.isValid(ovr.material) ? true : undefined;
|
|
82
|
-
return this.fromJSON({ rgb, transparency, weight, ignoresMaterial });
|
|
90
|
+
return this.fromJSON({ rgb, transparency, weight, ignoresMaterial, viewDependentTransparency: true });
|
|
83
91
|
}
|
|
84
92
|
/** Returns true if this appearance does not override any aspects of symbology. */
|
|
85
93
|
get matchesDefaults() {
|
|
@@ -102,11 +110,12 @@ class FeatureAppearance {
|
|
|
102
110
|
return true;
|
|
103
111
|
return this.rgbIsEqual(other.rgb)
|
|
104
112
|
&& this.weight === other.weight
|
|
105
|
-
&& this.
|
|
113
|
+
&& this.transparencyIsEqual(other.transparency)
|
|
106
114
|
&& this.linePixels === other.linePixels
|
|
107
115
|
&& this.ignoresMaterial === other.ignoresMaterial
|
|
108
116
|
&& this.nonLocatable === other.nonLocatable
|
|
109
|
-
&& this.emphasized === other.emphasized
|
|
117
|
+
&& this.emphasized === other.emphasized
|
|
118
|
+
&& this.viewDependentTransparency === other.viewDependentTransparency;
|
|
110
119
|
}
|
|
111
120
|
toJSON() {
|
|
112
121
|
const props = {};
|
|
@@ -114,8 +123,11 @@ class FeatureAppearance {
|
|
|
114
123
|
props.rgb = this.rgb.toJSON();
|
|
115
124
|
if (undefined !== this.weight)
|
|
116
125
|
props.weight = this.weight;
|
|
117
|
-
if (undefined !== this.transparency)
|
|
126
|
+
if (undefined !== this.transparency) {
|
|
118
127
|
props.transparency = this.transparency;
|
|
128
|
+
if (this.viewDependentTransparency)
|
|
129
|
+
props.viewDependentTransparency = true;
|
|
130
|
+
}
|
|
119
131
|
if (undefined !== this.linePixels)
|
|
120
132
|
props.linePixels = this.linePixels;
|
|
121
133
|
if (true === this.ignoresMaterial)
|
|
@@ -170,10 +182,25 @@ class FeatureAppearance {
|
|
|
170
182
|
props.nonLocatable = true;
|
|
171
183
|
if (undefined === props.emphasized && this.emphasized)
|
|
172
184
|
props.emphasized = true;
|
|
185
|
+
if (undefined !== props.transparency && this.viewDependentTransparency)
|
|
186
|
+
props.viewDependentTransparency = true;
|
|
173
187
|
return FeatureAppearance.fromJSON(props);
|
|
174
188
|
}
|
|
175
189
|
rgbIsEqual(rgb) {
|
|
176
|
-
|
|
190
|
+
if (undefined === this.rgb)
|
|
191
|
+
return undefined === rgb;
|
|
192
|
+
else if (undefined === rgb)
|
|
193
|
+
return false;
|
|
194
|
+
else
|
|
195
|
+
return this.rgb.equals(rgb);
|
|
196
|
+
}
|
|
197
|
+
transparencyIsEqual(transp) {
|
|
198
|
+
if (undefined === this.transparency)
|
|
199
|
+
return undefined === transp;
|
|
200
|
+
else if (undefined === transp)
|
|
201
|
+
return false;
|
|
202
|
+
else
|
|
203
|
+
return Math.floor(this.transparency * 0xff) === Math.floor(transp * 0xff);
|
|
177
204
|
}
|
|
178
205
|
}
|
|
179
206
|
exports.FeatureAppearance = FeatureAppearance;
|
|
@@ -391,18 +418,54 @@ class FeatureOverrides {
|
|
|
391
418
|
default: return true;
|
|
392
419
|
}
|
|
393
420
|
}
|
|
421
|
+
/** Specify overrides for all elements belonging to a specified [GeometricModel]($backend), or all geometry belonging to a specified [GeometricElement]($backend) or [SubCategory]($backend). */
|
|
422
|
+
override(args) {
|
|
423
|
+
let id;
|
|
424
|
+
let map;
|
|
425
|
+
if (undefined !== args.elementId) {
|
|
426
|
+
id = args.elementId;
|
|
427
|
+
map = this._elementOverrides;
|
|
428
|
+
}
|
|
429
|
+
else if (undefined !== args.modelId) {
|
|
430
|
+
id = args.modelId;
|
|
431
|
+
map = this._modelOverrides;
|
|
432
|
+
}
|
|
433
|
+
else {
|
|
434
|
+
id = args.subCategoryId;
|
|
435
|
+
map = this._subCategoryOverrides;
|
|
436
|
+
}
|
|
437
|
+
let app = args.appearance;
|
|
438
|
+
const idLo = core_bentley_1.Id64.getLowerUint32(id);
|
|
439
|
+
const idHi = core_bentley_1.Id64.getUpperUint32(id);
|
|
440
|
+
if (undefined !== args.elementId && this.isNeverDrawn(idLo, idHi, 0))
|
|
441
|
+
return;
|
|
442
|
+
const replace = "replace" === args.onConflict;
|
|
443
|
+
const existing = replace ? undefined : map.get(idLo, idHi);
|
|
444
|
+
if (existing) {
|
|
445
|
+
(0, core_bentley_1.assert)("replace" !== args.onConflict);
|
|
446
|
+
switch (args.onConflict) {
|
|
447
|
+
case "skip":
|
|
448
|
+
return;
|
|
449
|
+
case "extend":
|
|
450
|
+
app = app.extendAppearance(existing);
|
|
451
|
+
break;
|
|
452
|
+
default:
|
|
453
|
+
app = existing.extendAppearance(app);
|
|
454
|
+
break;
|
|
455
|
+
}
|
|
456
|
+
}
|
|
457
|
+
map.set(idLo, idHi, app);
|
|
458
|
+
}
|
|
394
459
|
/** Specify overrides for all elements within the specified model.
|
|
395
460
|
* @param id The Id of the model.
|
|
396
461
|
* @param app The symbology overrides.
|
|
397
462
|
* @param replaceExisting Specifies whether to replace a pre-existing override for the same model.
|
|
398
463
|
* @note These overrides take priority over all other overrides.
|
|
399
464
|
* @note If [[defaultOverrides]] are defined, they will not apply to any element within this model, even if the supplied appearance overrides nothing.
|
|
465
|
+
* @deprecated Use [[FeatureOverrides.override]].
|
|
400
466
|
*/
|
|
401
467
|
overrideModel(id, app, replaceExisting = true) {
|
|
402
|
-
|
|
403
|
-
const idHi = core_bentley_1.Id64.getUpperUint32(id);
|
|
404
|
-
if (replaceExisting || undefined === this.getModelOverrides(idLo, idHi))
|
|
405
|
-
this._modelOverrides.set(idLo, idHi, app);
|
|
468
|
+
this.override({ modelId: id, appearance: app, onConflict: replaceExisting ? "replace" : "skip" });
|
|
406
469
|
}
|
|
407
470
|
/** Specify overrides for all geometry belonging to the specified [SubCategory]($backend).
|
|
408
471
|
* @param id The Id of the subcategory.
|
|
@@ -410,14 +473,10 @@ class FeatureOverrides {
|
|
|
410
473
|
* @param replaceExisting Specifies whether to replace a pre-existing override for the same subcategory.
|
|
411
474
|
* @note These overrides have lower priority than element and model overrides.
|
|
412
475
|
* @note If [[defaultOverrides]] are defined, they will not apply to any geometry within this subcategory, even if the supplied appearance overrides nothing.
|
|
476
|
+
* @deprecated Use [[FeatureOverrides.override]].
|
|
413
477
|
*/
|
|
414
478
|
overrideSubCategory(id, app, replaceExisting = true) {
|
|
415
|
-
|
|
416
|
-
const idLo = core_bentley_1.Id64.getLowerUint32(id);
|
|
417
|
-
const idHi = core_bentley_1.Id64.getUpperUint32(id);
|
|
418
|
-
// NB: Appearance may specify no overridden symbology - this means "don't apply the default overrides to this subcategory"
|
|
419
|
-
if (replaceExisting || undefined === this.getSubCategoryOverrides(idLo, idHi))
|
|
420
|
-
this._subCategoryOverrides.set(idLo, idHi, app);
|
|
479
|
+
this.override({ subCategoryId: id, appearance: app, onConflict: replaceExisting ? "replace" : "skip" });
|
|
421
480
|
}
|
|
422
481
|
/** Specify overrides for all geometry originating from the specified element.
|
|
423
482
|
* @param id The Id of the element.
|
|
@@ -425,22 +484,19 @@ class FeatureOverrides {
|
|
|
425
484
|
* @param replaceExisting Specifies whether to replace a pre-existing override for the same element.
|
|
426
485
|
* @note These overrides take precedence over subcategory overrides, but not over model overrides.
|
|
427
486
|
* @note If [[defaultOverrides]] are defined, they will not apply to this element, even if the supplied appearance overrides nothing.
|
|
487
|
+
* @deprecated Use [[FeatureOverrides.override]].
|
|
428
488
|
*/
|
|
429
489
|
overrideElement(id, app, replaceExisting = true) {
|
|
430
|
-
|
|
431
|
-
const idHi = core_bentley_1.Id64.getUpperUint32(id);
|
|
432
|
-
if (this.isNeverDrawn(idLo, idHi, 0))
|
|
433
|
-
return;
|
|
434
|
-
// NB: Appearance may specify no overridden symbology - this means "don't apply the default overrides to this element"
|
|
435
|
-
if (replaceExisting || undefined === this.getElementOverrides(idLo, idHi, 0))
|
|
436
|
-
this._elementOverrides.set(idLo, idHi, app);
|
|
490
|
+
this.override({ elementId: id, appearance: app, onConflict: replaceExisting ? "replace" : "skip" });
|
|
437
491
|
}
|
|
438
492
|
/** Specify overrides for all geometry originating from the specified animation node.
|
|
439
493
|
* @param id The Id of the animation node.
|
|
440
494
|
* @param app The symbology overrides.
|
|
441
495
|
* @note These overrides do not take precedence over element overrides.
|
|
442
496
|
*/
|
|
443
|
-
overrideAnimationNode(id, app) {
|
|
497
|
+
overrideAnimationNode(id, app) {
|
|
498
|
+
this.animationNodeOverrides.set(id, app);
|
|
499
|
+
}
|
|
444
500
|
/** Defines a default appearance to be applied to any [[Feature]] *not* explicitly overridden.
|
|
445
501
|
* @param appearance The symbology overrides.
|
|
446
502
|
* @param replaceExisting Specifies whether to replace the current default overrides if they are already defined.
|