@itwin/core-common 4.3.0-dev.8 → 4.3.0
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 +50 -1
- package/lib/cjs/ClipStyle.d.ts +63 -1
- package/lib/cjs/ClipStyle.d.ts.map +1 -1
- package/lib/cjs/ClipStyle.js +75 -11
- package/lib/cjs/ClipStyle.js.map +1 -1
- package/lib/cjs/ConcurrentQuery.d.ts +15 -0
- package/lib/cjs/ConcurrentQuery.d.ts.map +1 -1
- package/lib/cjs/ConcurrentQuery.js +8 -9
- package/lib/cjs/ConcurrentQuery.js.map +1 -1
- package/lib/cjs/MapLayerSettings.d.ts +25 -0
- package/lib/cjs/MapLayerSettings.d.ts.map +1 -1
- package/lib/cjs/MapLayerSettings.js +27 -0
- package/lib/cjs/MapLayerSettings.js.map +1 -1
- package/lib/cjs/ThematicDisplay.d.ts +27 -0
- package/lib/cjs/ThematicDisplay.d.ts.map +1 -1
- package/lib/cjs/ThematicDisplay.js +51 -18
- package/lib/cjs/ThematicDisplay.js.map +1 -1
- package/lib/cjs/rpc/web/WebAppRpcProtocol.d.ts +3 -0
- package/lib/cjs/rpc/web/WebAppRpcProtocol.d.ts.map +1 -1
- package/lib/cjs/rpc/web/WebAppRpcProtocol.js.map +1 -1
- package/lib/esm/ClipStyle.d.ts +63 -1
- package/lib/esm/ClipStyle.d.ts.map +1 -1
- package/lib/esm/ClipStyle.js +74 -10
- package/lib/esm/ClipStyle.js.map +1 -1
- package/lib/esm/ConcurrentQuery.d.ts +15 -0
- package/lib/esm/ConcurrentQuery.d.ts.map +1 -1
- package/lib/esm/ConcurrentQuery.js +7 -8
- package/lib/esm/ConcurrentQuery.js.map +1 -1
- package/lib/esm/MapLayerSettings.d.ts +25 -0
- package/lib/esm/MapLayerSettings.d.ts.map +1 -1
- package/lib/esm/MapLayerSettings.js +27 -0
- package/lib/esm/MapLayerSettings.js.map +1 -1
- package/lib/esm/ThematicDisplay.d.ts +27 -0
- package/lib/esm/ThematicDisplay.d.ts.map +1 -1
- package/lib/esm/ThematicDisplay.js +50 -17
- package/lib/esm/ThematicDisplay.js.map +1 -1
- package/lib/esm/rpc/web/WebAppRpcProtocol.d.ts +3 -0
- package/lib/esm/rpc/web/WebAppRpcProtocol.d.ts.map +1 -1
- package/lib/esm/rpc/web/WebAppRpcProtocol.js.map +1 -1
- package/package.json +6 -7
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,45 @@
|
|
|
1
1
|
# Change Log - @itwin/core-common
|
|
2
2
|
|
|
3
|
-
This log was last generated on
|
|
3
|
+
This log was last generated on Thu, 07 Dec 2023 17:43:09 GMT and should not be manually modified.
|
|
4
|
+
|
|
5
|
+
## 4.3.0
|
|
6
|
+
Thu, 07 Dec 2023 17:43:09 GMT
|
|
7
|
+
|
|
8
|
+
### Updates
|
|
9
|
+
|
|
10
|
+
- Add tests for `QueryBinder`.
|
|
11
|
+
- Added support for recoloring geometry intersecting a clip volume
|
|
12
|
+
- Custom query parameters can now be configured on map layer objects.
|
|
13
|
+
- Add support for transparency in thematic display gradient.
|
|
14
|
+
|
|
15
|
+
## 4.2.4
|
|
16
|
+
Mon, 20 Nov 2023 16:14:45 GMT
|
|
17
|
+
|
|
18
|
+
_Version update only_
|
|
19
|
+
|
|
20
|
+
## 4.2.3
|
|
21
|
+
Mon, 06 Nov 2023 14:01:52 GMT
|
|
22
|
+
|
|
23
|
+
_Version update only_
|
|
24
|
+
|
|
25
|
+
## 4.2.2
|
|
26
|
+
Thu, 02 Nov 2023 15:36:20 GMT
|
|
27
|
+
|
|
28
|
+
_Version update only_
|
|
29
|
+
|
|
30
|
+
## 4.2.1
|
|
31
|
+
Tue, 24 Oct 2023 15:09:13 GMT
|
|
32
|
+
|
|
33
|
+
_Version update only_
|
|
34
|
+
|
|
35
|
+
## 4.2.0
|
|
36
|
+
Tue, 17 Oct 2023 15:14:32 GMT
|
|
37
|
+
|
|
38
|
+
### Updates
|
|
39
|
+
|
|
40
|
+
- Add ECSqlExpr api
|
|
41
|
+
- ECSqlReader is now public
|
|
42
|
+
- ECSqlReader.formatCurrentRow and ECSqlReader.getRowInternal are now internal
|
|
4
43
|
|
|
5
44
|
## 4.1.9
|
|
6
45
|
Tue, 10 Oct 2023 18:48:12 GMT
|
|
@@ -115,6 +154,16 @@ Mon, 22 May 2023 15:34:14 GMT
|
|
|
115
154
|
- Add interfaces representing 3d tileset schema.
|
|
116
155
|
- add Atmosphere class as a property of Environment
|
|
117
156
|
|
|
157
|
+
## 3.7.17
|
|
158
|
+
Mon, 20 Nov 2023 18:24:23 GMT
|
|
159
|
+
|
|
160
|
+
_Version update only_
|
|
161
|
+
|
|
162
|
+
## 3.7.16
|
|
163
|
+
Mon, 16 Oct 2023 12:49:07 GMT
|
|
164
|
+
|
|
165
|
+
_Version update only_
|
|
166
|
+
|
|
118
167
|
## 3.7.15
|
|
119
168
|
Tue, 10 Oct 2023 19:58:35 GMT
|
|
120
169
|
|
package/lib/cjs/ClipStyle.d.ts
CHANGED
|
@@ -40,6 +40,58 @@ export declare class CutStyle {
|
|
|
40
40
|
/** Returns true if this style matches the default style - that is, it overrides none of the view's settings. */
|
|
41
41
|
get matchesDefaults(): boolean;
|
|
42
42
|
}
|
|
43
|
+
/** Wire format describing a [[ClipIntersectionStyle]].
|
|
44
|
+
* @see [[ClipStyleProps.ClipIntersectionStyle]].
|
|
45
|
+
* @public
|
|
46
|
+
* @extensions
|
|
47
|
+
*/
|
|
48
|
+
export interface ClipIntersectionStyleProps {
|
|
49
|
+
/** Color to apply to intersection of geometry and clip planes, default white */
|
|
50
|
+
color?: RgbColorProps;
|
|
51
|
+
/** Number of pixels to be considered intersecting the clip plane, default 1 */
|
|
52
|
+
width?: number;
|
|
53
|
+
}
|
|
54
|
+
/** As part of a [[ClipStyle]], describes how to colorize geometry intersecting the clip planes.
|
|
55
|
+
* @note Edges are highlighted only if [[ClipStyle.ClipIntersectionStyle]] is `true`.
|
|
56
|
+
* @public
|
|
57
|
+
* @extensions
|
|
58
|
+
*/
|
|
59
|
+
export declare class ClipIntersectionStyle {
|
|
60
|
+
/** Color to apply to intersection of geometry and clip planes, default white */
|
|
61
|
+
readonly color: RgbColor;
|
|
62
|
+
/** Number of pixels to be considered intersecting the clip plane, default 1 */
|
|
63
|
+
readonly width: number;
|
|
64
|
+
private constructor();
|
|
65
|
+
/** Create a highlight from its components. */
|
|
66
|
+
static create(color?: RgbColor, width?: number): ClipIntersectionStyle;
|
|
67
|
+
static readonly defaults: ClipIntersectionStyle;
|
|
68
|
+
static fromJSON(props?: ClipIntersectionStyleProps): ClipIntersectionStyle;
|
|
69
|
+
/** The JSON representation of this style. It is `undefined` if this style matches the defaults. */
|
|
70
|
+
toJSON(): ClipIntersectionStyleProps | undefined;
|
|
71
|
+
get matchesDefaults(): boolean;
|
|
72
|
+
}
|
|
73
|
+
/** Arguments supplied to [[ClipStyle.create]].
|
|
74
|
+
* @public
|
|
75
|
+
* @extensions
|
|
76
|
+
*/
|
|
77
|
+
export interface ClipStyleCreateArgs {
|
|
78
|
+
/** If `true`, geometry will be produced at the clip planes in a 3d view.
|
|
79
|
+
* - Solids (closed volumes) will produce facets on the clip planes.
|
|
80
|
+
* - Other surfaces will produce line strings representing the edges of the surface at the clip planes.
|
|
81
|
+
* @note Cut geometry will only be produced for element geometry - not for, e.g., terrain or reality models.
|
|
82
|
+
*/
|
|
83
|
+
produceCutGeometry?: boolean;
|
|
84
|
+
/** If `true`, intersection of geometry and clip planes will be colorized */
|
|
85
|
+
colorizeIntersection?: boolean;
|
|
86
|
+
/** Controls aspects of how the cut geometry is displayed, if [[produceCutGeometry]] is `true`. */
|
|
87
|
+
cutStyle?: CutStyle;
|
|
88
|
+
/** If defined, geometry inside the clip planes will be drawn in this color. */
|
|
89
|
+
insideColor?: RgbColor;
|
|
90
|
+
/** If defined, geometry outside of the clip planes will be drawn in this color instead of being clipped. */
|
|
91
|
+
outsideColor?: RgbColor;
|
|
92
|
+
/** Controls the style of the intersection of geometry and clip planes */
|
|
93
|
+
intersectionStyle?: ClipIntersectionStyle;
|
|
94
|
+
}
|
|
43
95
|
/** Wire format describing a [[ClipStyle]].
|
|
44
96
|
* @see [[DisplayStyleSettingsProps.clipStyle]].
|
|
45
97
|
* @public
|
|
@@ -52,12 +104,16 @@ export interface ClipStyleProps {
|
|
|
52
104
|
* @note Cut geometry will only be produced for element geometry - not for, e.g., terrain or reality models.
|
|
53
105
|
*/
|
|
54
106
|
produceCutGeometry?: boolean;
|
|
107
|
+
/** If 'true', intersection of geometry and clip planes will be colorized */
|
|
108
|
+
colorizeIntersection?: boolean;
|
|
55
109
|
/** Controls aspects of how the cut geometry is displayed, if [[produceCutGeometry]] is `true`. */
|
|
56
110
|
cutStyle?: CutStyleProps;
|
|
57
111
|
/** If defined, geometry inside the clip planes will be drawn in this color. */
|
|
58
112
|
insideColor?: RgbColorProps;
|
|
59
113
|
/** If defined, geometry outside of the clip planes will be drawn in this color instead of being clipped. */
|
|
60
114
|
outsideColor?: RgbColorProps;
|
|
115
|
+
/** Controls the style of the intersection of geometry and clip planes */
|
|
116
|
+
intersectionStyle?: ClipIntersectionStyleProps;
|
|
61
117
|
}
|
|
62
118
|
/** Describes symbology and behavior applied to a [ClipVector]($core-geometry) when applied to a [ViewState]($frontend) or [[ModelClipGroup]].
|
|
63
119
|
* @see [[DisplayStyleSettings.clipStyle]].
|
|
@@ -70,17 +126,23 @@ export declare class ClipStyle {
|
|
|
70
126
|
* @note Cut geometry will only be produced for element geometry - not for, e.g., terrain or reality models.
|
|
71
127
|
*/
|
|
72
128
|
readonly produceCutGeometry: boolean;
|
|
129
|
+
/** If 'true', intersection of geometry and clip planes will be colorized */
|
|
130
|
+
readonly colorizeIntersection: boolean;
|
|
73
131
|
/** Controls aspects of how the cut geometry is displayed, if [[produceCutGeometry]] is `true`. */
|
|
74
132
|
readonly cutStyle: CutStyle;
|
|
75
133
|
/** If defined, geometry inside the clip planes will be drawn in this color. */
|
|
76
134
|
readonly insideColor?: RgbColor;
|
|
77
135
|
/** If defined, geometry outside of the clip planes will be drawn in this color instead of being clipped. */
|
|
78
136
|
readonly outsideColor?: RgbColor;
|
|
137
|
+
/** Controls the style of the intersection of geometry and clip planes */
|
|
138
|
+
readonly intersectionStyle?: ClipIntersectionStyle;
|
|
79
139
|
/** The default style, which overrides none of the view's settings. */
|
|
80
140
|
static readonly defaults: ClipStyle;
|
|
81
141
|
private constructor();
|
|
82
|
-
/**
|
|
142
|
+
/** @deprecated in 4.x. Use [[create(style: ClipStyleCreateArgs]] */
|
|
83
143
|
static create(produceCutGeometry: boolean, cutStyle: CutStyle, insideColor?: RgbColor, outsideColor?: RgbColor): ClipStyle;
|
|
144
|
+
/** Create a style from its components. */
|
|
145
|
+
static create(style: ClipStyleCreateArgs): ClipStyle;
|
|
84
146
|
static fromJSON(props?: ClipStyleProps): ClipStyle;
|
|
85
147
|
/** The JSON representation of this style. It is `undefined` if this style matches the defaults. */
|
|
86
148
|
toJSON(): ClipStyleProps | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClipStyle.d.ts","sourceRoot":"","sources":["../../src/ClipStyle.ts"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"ClipStyle.d.ts","sourceRoot":"","sources":["../../src/ClipStyle.ts"],"names":[],"mappings":"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"}
|
package/lib/cjs/ClipStyle.js
CHANGED
|
@@ -7,11 +7,12 @@
|
|
|
7
7
|
* @module Views
|
|
8
8
|
*/
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.ClipStyle = exports.CutStyle = void 0;
|
|
10
|
+
exports.ClipStyle = exports.ClipIntersectionStyle = exports.CutStyle = void 0;
|
|
11
11
|
const core_bentley_1 = require("@itwin/core-bentley");
|
|
12
12
|
const RgbColor_1 = require("./RgbColor");
|
|
13
13
|
const HiddenLine_1 = require("./HiddenLine");
|
|
14
14
|
const FeatureSymbology_1 = require("./FeatureSymbology");
|
|
15
|
+
const ColorDef_1 = require("./ColorDef");
|
|
15
16
|
/** As part of a [[ClipStyle]], describes how section-cut graphics should be displayed.
|
|
16
17
|
* @note Section-cut graphics are only produced if [[ClipStyle.produceCutGeometry]] is `true`.
|
|
17
18
|
* @public
|
|
@@ -64,30 +65,89 @@ class CutStyle {
|
|
|
64
65
|
/** The default CutStyle, configured to draw the section-cut graphics using the view's settings, with no overrides. */
|
|
65
66
|
CutStyle.defaults = new CutStyle();
|
|
66
67
|
exports.CutStyle = CutStyle;
|
|
68
|
+
/** As part of a [[ClipStyle]], describes how to colorize geometry intersecting the clip planes.
|
|
69
|
+
* @note Edges are highlighted only if [[ClipStyle.ClipIntersectionStyle]] is `true`.
|
|
70
|
+
* @public
|
|
71
|
+
* @extensions
|
|
72
|
+
*/
|
|
73
|
+
class ClipIntersectionStyle {
|
|
74
|
+
constructor(color = RgbColor_1.RgbColor.fromColorDef(ColorDef_1.ColorDef.white), width = 1) {
|
|
75
|
+
this.color = color;
|
|
76
|
+
this.width = width;
|
|
77
|
+
}
|
|
78
|
+
/** Create a highlight from its components. */
|
|
79
|
+
static create(color, width) {
|
|
80
|
+
if (!color && !width)
|
|
81
|
+
return this.defaults;
|
|
82
|
+
return new ClipIntersectionStyle(color, width);
|
|
83
|
+
}
|
|
84
|
+
static fromJSON(props) {
|
|
85
|
+
if (props === undefined) {
|
|
86
|
+
return ClipIntersectionStyle.defaults;
|
|
87
|
+
}
|
|
88
|
+
const color = props.color ? RgbColor_1.RgbColor.fromJSON(props.color) : RgbColor_1.RgbColor.fromColorDef(ColorDef_1.ColorDef.white);
|
|
89
|
+
const width = props.width ? props.width : 1;
|
|
90
|
+
return new ClipIntersectionStyle(color, width);
|
|
91
|
+
}
|
|
92
|
+
/** The JSON representation of this style. It is `undefined` if this style matches the defaults. */
|
|
93
|
+
toJSON() {
|
|
94
|
+
const props = {};
|
|
95
|
+
if (this.matchesDefaults) {
|
|
96
|
+
return undefined;
|
|
97
|
+
}
|
|
98
|
+
if (this.color)
|
|
99
|
+
props.color = this.color.toJSON();
|
|
100
|
+
if (this.width)
|
|
101
|
+
props.width = this.width;
|
|
102
|
+
return props;
|
|
103
|
+
}
|
|
104
|
+
get matchesDefaults() {
|
|
105
|
+
if (this === ClipIntersectionStyle.defaults)
|
|
106
|
+
return true;
|
|
107
|
+
return !this.color && !this.width;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
ClipIntersectionStyle.defaults = new ClipIntersectionStyle();
|
|
111
|
+
exports.ClipIntersectionStyle = ClipIntersectionStyle;
|
|
67
112
|
/** Describes symbology and behavior applied to a [ClipVector]($core-geometry) when applied to a [ViewState]($frontend) or [[ModelClipGroup]].
|
|
68
113
|
* @see [[DisplayStyleSettings.clipStyle]].
|
|
69
114
|
* @public
|
|
70
115
|
*/
|
|
71
116
|
class ClipStyle {
|
|
72
|
-
constructor(produceCutGeometry, cutStyle, inside, outside) {
|
|
117
|
+
constructor(produceCutGeometry, colorizeIntersection, cutStyle, inside, outside, intersectionStyle) {
|
|
73
118
|
this.produceCutGeometry = produceCutGeometry;
|
|
119
|
+
this.colorizeIntersection = colorizeIntersection;
|
|
74
120
|
this.cutStyle = cutStyle;
|
|
75
121
|
this.insideColor = inside;
|
|
76
122
|
this.outsideColor = outside;
|
|
123
|
+
this.intersectionStyle = intersectionStyle;
|
|
77
124
|
}
|
|
78
|
-
/**
|
|
79
|
-
static create(
|
|
80
|
-
if (
|
|
125
|
+
/** @internal */
|
|
126
|
+
static create(styleOrProduceCutGeometry, cutStyle, insideColor, outsideColor) {
|
|
127
|
+
if (typeof styleOrProduceCutGeometry === "boolean") {
|
|
128
|
+
cutStyle = cutStyle === undefined ? CutStyle.defaults : cutStyle;
|
|
129
|
+
if (!styleOrProduceCutGeometry && cutStyle.matchesDefaults && !insideColor && !outsideColor) {
|
|
130
|
+
return this.defaults;
|
|
131
|
+
}
|
|
132
|
+
return new ClipStyle(styleOrProduceCutGeometry, false, cutStyle, insideColor, outsideColor, undefined);
|
|
133
|
+
}
|
|
134
|
+
const style = styleOrProduceCutGeometry;
|
|
135
|
+
if (!style.produceCutGeometry && !style.colorizeIntersection && (!style.cutStyle || style.cutStyle.matchesDefaults) && !style.insideColor && !style.outsideColor && !style.intersectionStyle)
|
|
81
136
|
return this.defaults;
|
|
82
|
-
|
|
137
|
+
const produceCutGeometry = style.produceCutGeometry ? true : false;
|
|
138
|
+
const colorizeIntersection = style.colorizeIntersection ? true : false;
|
|
139
|
+
cutStyle = style.cutStyle === undefined ? CutStyle.defaults : style.cutStyle;
|
|
140
|
+
return new ClipStyle(produceCutGeometry, colorizeIntersection, cutStyle, style.insideColor, style.outsideColor, style.intersectionStyle);
|
|
83
141
|
}
|
|
84
142
|
static fromJSON(props) {
|
|
85
143
|
if (core_bentley_1.JsonUtils.isNonEmptyObject(props)) {
|
|
86
144
|
const produceCutGeometry = props.produceCutGeometry ?? false;
|
|
145
|
+
const colorizeIntersection = props.colorizeIntersection ? true : false;
|
|
87
146
|
const cutStyle = CutStyle.fromJSON(props.cutStyle);
|
|
88
|
-
const
|
|
89
|
-
const
|
|
90
|
-
|
|
147
|
+
const insideColor = props.insideColor ? RgbColor_1.RgbColor.fromJSON(props.insideColor) : undefined;
|
|
148
|
+
const outsideColor = props.outsideColor ? RgbColor_1.RgbColor.fromJSON(props.outsideColor) : undefined;
|
|
149
|
+
const intersectionStyle = props.intersectionStyle ? ClipIntersectionStyle.fromJSON(props.intersectionStyle) : undefined;
|
|
150
|
+
return this.create({ produceCutGeometry, colorizeIntersection, cutStyle, insideColor, outsideColor, intersectionStyle });
|
|
91
151
|
}
|
|
92
152
|
return this.defaults;
|
|
93
153
|
}
|
|
@@ -98,6 +158,8 @@ class ClipStyle {
|
|
|
98
158
|
const props = {};
|
|
99
159
|
if (this.produceCutGeometry)
|
|
100
160
|
props.produceCutGeometry = true;
|
|
161
|
+
if (this.colorizeIntersection)
|
|
162
|
+
props.colorizeIntersection = true;
|
|
101
163
|
const cutStyle = this.cutStyle.toJSON();
|
|
102
164
|
if (cutStyle) {
|
|
103
165
|
(0, core_bentley_1.assert)(!this.cutStyle.matchesDefaults);
|
|
@@ -107,16 +169,18 @@ class ClipStyle {
|
|
|
107
169
|
props.insideColor = this.insideColor.toJSON();
|
|
108
170
|
if (this.outsideColor)
|
|
109
171
|
props.outsideColor = this.outsideColor.toJSON();
|
|
172
|
+
if (this.intersectionStyle)
|
|
173
|
+
props.intersectionStyle = this.intersectionStyle.toJSON();
|
|
110
174
|
return props;
|
|
111
175
|
}
|
|
112
176
|
/** Returns true if this style matches the [[ClipStyle.defaults]] - that is, it overrides no settings from the view. */
|
|
113
177
|
get matchesDefaults() {
|
|
114
178
|
if (this === ClipStyle.defaults)
|
|
115
179
|
return true;
|
|
116
|
-
return !this.produceCutGeometry && !this.insideColor && !this.outsideColor && this.cutStyle.matchesDefaults;
|
|
180
|
+
return !this.produceCutGeometry && !this.colorizeIntersection && !this.insideColor && !this.outsideColor && this.cutStyle.matchesDefaults && !this.intersectionStyle;
|
|
117
181
|
}
|
|
118
182
|
}
|
|
119
183
|
/** The default style, which overrides none of the view's settings. */
|
|
120
|
-
ClipStyle.defaults = new ClipStyle(false, CutStyle.defaults, undefined, undefined);
|
|
184
|
+
ClipStyle.defaults = new ClipStyle(false, false, CutStyle.defaults, undefined, undefined, undefined);
|
|
121
185
|
exports.ClipStyle = ClipStyle;
|
|
122
186
|
//# sourceMappingURL=ClipStyle.js.map
|
package/lib/cjs/ClipStyle.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClipStyle.js","sourceRoot":"","sources":["../../src/ClipStyle.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 Views\r\n */\r\n\r\nimport { assert, JsonUtils } from \"@itwin/core-bentley\";\r\nimport { ViewFlagOverrides } from \"./ViewFlags\";\r\nimport { RgbColor, RgbColorProps } from \"./RgbColor\";\r\nimport { HiddenLine } from \"./HiddenLine\";\r\nimport { FeatureAppearance, FeatureAppearanceProps } from \"./FeatureSymbology\";\r\n\r\n/** Wire format describing a [[CutStyle]] applied to section-cut geometry produced at intersections with a view's [ClipVector]($core-geometry).\r\n * @see [[ClipStyleProps.cutStyle]].\r\n * @public\r\n * @extensions\r\n */\r\nexport interface CutStyleProps {\r\n /** If defined, overrides aspects of the view's [[ViewFlags]] when drawing the cut geometry. */\r\n viewflags?: ViewFlagOverrides;\r\n /** If defined, overrides the view's [[HiddenLine.Settings]] when drawing the cut geometry. */\r\n hiddenLine?: HiddenLine.SettingsProps;\r\n /** If defined, overrides aspects of the cut geometry's symbology. */\r\n appearance?: FeatureAppearanceProps;\r\n}\r\n\r\n/** As part of a [[ClipStyle]], describes how section-cut graphics should be displayed.\r\n * @note Section-cut graphics are only produced if [[ClipStyle.produceCutGeometry]] is `true`.\r\n * @public\r\n */\r\nexport class CutStyle {\r\n /** Selectively overrides some of the view's [[ViewFlags]] when drawing the section-cut graphics. */\r\n public readonly viewflags: Readonly<ViewFlagOverrides>;\r\n /** If defined, overrides the settings the view uses to draw the edges of the section-cut graphics. */\r\n public readonly hiddenLine?: HiddenLine.Settings;\r\n /** If defined, overrides aspects of the symbology of the section-cut graphics. */\r\n public readonly appearance?: FeatureAppearance;\r\n\r\n /** The default CutStyle, configured to draw the section-cut graphics using the view's settings, with no overrides. */\r\n public static readonly defaults = new CutStyle();\r\n\r\n private constructor(viewflags?: Readonly<ViewFlagOverrides>, hiddenLine?: HiddenLine.Settings, appearance?: FeatureAppearance) {\r\n this.viewflags = viewflags ?? {};\r\n if (hiddenLine && !hiddenLine.matchesDefaults)\r\n this.hiddenLine = hiddenLine;\r\n\r\n if (appearance && !appearance.matchesDefaults)\r\n this.appearance = appearance;\r\n }\r\n\r\n /** Create a CutStyle from its components. */\r\n public static create(viewflags?: Readonly<ViewFlagOverrides>, hiddenLine?: HiddenLine.Settings, appearance?: FeatureAppearance): CutStyle {\r\n if ((viewflags && JsonUtils.isNonEmptyObject(viewflags)) || (hiddenLine && !hiddenLine.matchesDefaults) || (appearance && !appearance.matchesDefaults))\r\n return new CutStyle(viewflags, hiddenLine, appearance);\r\n\r\n return this.defaults;\r\n }\r\n\r\n public static fromJSON(props?: CutStyleProps): CutStyle {\r\n if (JsonUtils.isNonEmptyObject(props)) {\r\n const viewflags = { ...props?.viewflags };\r\n const hiddenLine = props?.hiddenLine ? HiddenLine.Settings.fromJSON(props.hiddenLine) : undefined;\r\n const appearance = props?.appearance ? FeatureAppearance.fromJSON(props.appearance) : undefined;\r\n\r\n return this.create(viewflags, hiddenLine, appearance);\r\n } else {\r\n return this.defaults;\r\n }\r\n }\r\n\r\n /** Return JSON representation. The representation is `undefined` if this style matches the default style. */\r\n public toJSON(): CutStyleProps | undefined {\r\n if (this.matchesDefaults)\r\n return undefined;\r\n\r\n const props: CutStyleProps = {};\r\n if (JsonUtils.isNonEmptyObject(this.viewflags))\r\n props.viewflags = this.viewflags;\r\n\r\n if (this.hiddenLine && !this.hiddenLine.matchesDefaults)\r\n props.hiddenLine = this.hiddenLine?.toJSON();\r\n\r\n if (this.appearance && !this.appearance.matchesDefaults)\r\n props.appearance = this.appearance.toJSON();\r\n\r\n return props;\r\n }\r\n\r\n /** Returns true if this style matches the default style - that is, it overrides none of the view's settings. */\r\n public get matchesDefaults(): boolean {\r\n if (this === CutStyle.defaults)\r\n return true;\r\n\r\n return !JsonUtils.isNonEmptyObject(this.viewflags) && (!this.hiddenLine || this.hiddenLine.matchesDefaults) && (!this.appearance || this.appearance.matchesDefaults);\r\n }\r\n}\r\n\r\n/** Wire format describing a [[ClipStyle]].\r\n * @see [[DisplayStyleSettingsProps.clipStyle]].\r\n * @public\r\n * @extensions\r\n */\r\nexport interface ClipStyleProps {\r\n /** If `true`, geometry will be produced at the clip planes in a 3d view.\r\n * - Solids (closed volumes) will produce facets on the clip planes.\r\n * - Other surfaces will produce line strings representing the edges of the surface at the clip planes.\r\n * @note Cut geometry will only be produced for element geometry - not for, e.g., terrain or reality models.\r\n */\r\n produceCutGeometry?: boolean;\r\n /** Controls aspects of how the cut geometry is displayed, if [[produceCutGeometry]] is `true`. */\r\n cutStyle?: CutStyleProps;\r\n /** If defined, geometry inside the clip planes will be drawn in this color. */\r\n insideColor?: RgbColorProps;\r\n /** If defined, geometry outside of the clip planes will be drawn in this color instead of being clipped. */\r\n outsideColor?: RgbColorProps;\r\n}\r\n\r\n/** Describes symbology and behavior applied to a [ClipVector]($core-geometry) when applied to a [ViewState]($frontend) or [[ModelClipGroup]].\r\n * @see [[DisplayStyleSettings.clipStyle]].\r\n * @public\r\n */\r\nexport class ClipStyle {\r\n /** If `true`, geometry will be produced at the clip planes.\r\n * - Solids (closed volumes) will produce facets on the clip planes.\r\n * - Other surfaces will produce line strings representing the edges of the surface at the clip planes.\r\n * @note Cut geometry will only be produced for element geometry - not for, e.g., terrain or reality models.\r\n */\r\n public readonly produceCutGeometry: boolean;\r\n /** Controls aspects of how the cut geometry is displayed, if [[produceCutGeometry]] is `true`. */\r\n public readonly cutStyle: CutStyle;\r\n /** If defined, geometry inside the clip planes will be drawn in this color. */\r\n public readonly insideColor?: RgbColor;\r\n /** If defined, geometry outside of the clip planes will be drawn in this color instead of being clipped. */\r\n public readonly outsideColor?: RgbColor;\r\n\r\n /** The default style, which overrides none of the view's settings. */\r\n public static readonly defaults = new ClipStyle(false, CutStyle.defaults, undefined, undefined);\r\n\r\n private constructor(produceCutGeometry: boolean, cutStyle: CutStyle, inside: RgbColor | undefined, outside: RgbColor | undefined) {\r\n this.produceCutGeometry = produceCutGeometry;\r\n this.cutStyle = cutStyle;\r\n this.insideColor = inside;\r\n this.outsideColor = outside;\r\n }\r\n\r\n /** Create a style from its components. */\r\n public static create(produceCutGeometry: boolean, cutStyle: CutStyle, insideColor?: RgbColor, outsideColor?: RgbColor): ClipStyle {\r\n if (!produceCutGeometry && cutStyle.matchesDefaults && !insideColor && !outsideColor)\r\n return this.defaults;\r\n\r\n return new ClipStyle(produceCutGeometry, cutStyle, insideColor, outsideColor);\r\n }\r\n\r\n public static fromJSON(props?: ClipStyleProps): ClipStyle {\r\n if (JsonUtils.isNonEmptyObject(props)) {\r\n const produceCutGeometry = props.produceCutGeometry ?? false;\r\n const cutStyle = CutStyle.fromJSON(props.cutStyle);\r\n const inside = props.insideColor ? RgbColor.fromJSON(props.insideColor) : undefined;\r\n const outside = props.outsideColor ? RgbColor.fromJSON(props.outsideColor) : undefined;\r\n\r\n return this.create(produceCutGeometry, cutStyle, inside, outside);\r\n }\r\n\r\n return this.defaults;\r\n }\r\n\r\n /** The JSON representation of this style. It is `undefined` if this style matches the defaults. */\r\n public toJSON(): ClipStyleProps | undefined {\r\n if (this.matchesDefaults)\r\n return undefined;\r\n\r\n const props: ClipStyleProps = {};\r\n if (this.produceCutGeometry)\r\n props.produceCutGeometry = true;\r\n\r\n const cutStyle = this.cutStyle.toJSON();\r\n if (cutStyle) {\r\n assert(!this.cutStyle.matchesDefaults);\r\n props.cutStyle = cutStyle;\r\n }\r\n\r\n if (this.insideColor)\r\n props.insideColor = this.insideColor.toJSON();\r\n\r\n if (this.outsideColor)\r\n props.outsideColor = this.outsideColor.toJSON();\r\n\r\n return props;\r\n }\r\n\r\n /** Returns true if this style matches the [[ClipStyle.defaults]] - that is, it overrides no settings from the view. */\r\n public get matchesDefaults(): boolean {\r\n if (this === ClipStyle.defaults)\r\n return true;\r\n\r\n return !this.produceCutGeometry && !this.insideColor && !this.outsideColor && this.cutStyle.matchesDefaults;\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"ClipStyle.js","sourceRoot":"","sources":["../../src/ClipStyle.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 Views\r\n */\r\n\r\nimport { assert, JsonUtils } from \"@itwin/core-bentley\";\r\nimport { ViewFlagOverrides } from \"./ViewFlags\";\r\nimport { RgbColor, RgbColorProps } from \"./RgbColor\";\r\nimport { HiddenLine } from \"./HiddenLine\";\r\nimport { FeatureAppearance, FeatureAppearanceProps } from \"./FeatureSymbology\";\r\nimport { ColorDef } from \"./ColorDef\";\r\n\r\n/** Wire format describing a [[CutStyle]] applied to section-cut geometry produced at intersections with a view's [ClipVector]($core-geometry).\r\n * @see [[ClipStyleProps.cutStyle]].\r\n * @public\r\n * @extensions\r\n */\r\nexport interface CutStyleProps {\r\n /** If defined, overrides aspects of the view's [[ViewFlags]] when drawing the cut geometry. */\r\n viewflags?: ViewFlagOverrides;\r\n /** If defined, overrides the view's [[HiddenLine.Settings]] when drawing the cut geometry. */\r\n hiddenLine?: HiddenLine.SettingsProps;\r\n /** If defined, overrides aspects of the cut geometry's symbology. */\r\n appearance?: FeatureAppearanceProps;\r\n}\r\n\r\n/** As part of a [[ClipStyle]], describes how section-cut graphics should be displayed.\r\n * @note Section-cut graphics are only produced if [[ClipStyle.produceCutGeometry]] is `true`.\r\n * @public\r\n */\r\nexport class CutStyle {\r\n /** Selectively overrides some of the view's [[ViewFlags]] when drawing the section-cut graphics. */\r\n public readonly viewflags: Readonly<ViewFlagOverrides>;\r\n /** If defined, overrides the settings the view uses to draw the edges of the section-cut graphics. */\r\n public readonly hiddenLine?: HiddenLine.Settings;\r\n /** If defined, overrides aspects of the symbology of the section-cut graphics. */\r\n public readonly appearance?: FeatureAppearance;\r\n\r\n /** The default CutStyle, configured to draw the section-cut graphics using the view's settings, with no overrides. */\r\n public static readonly defaults = new CutStyle();\r\n\r\n private constructor(viewflags?: Readonly<ViewFlagOverrides>, hiddenLine?: HiddenLine.Settings, appearance?: FeatureAppearance) {\r\n this.viewflags = viewflags ?? {};\r\n if (hiddenLine && !hiddenLine.matchesDefaults)\r\n this.hiddenLine = hiddenLine;\r\n\r\n if (appearance && !appearance.matchesDefaults)\r\n this.appearance = appearance;\r\n }\r\n\r\n /** Create a CutStyle from its components. */\r\n public static create(viewflags?: Readonly<ViewFlagOverrides>, hiddenLine?: HiddenLine.Settings, appearance?: FeatureAppearance): CutStyle {\r\n if ((viewflags && JsonUtils.isNonEmptyObject(viewflags)) || (hiddenLine && !hiddenLine.matchesDefaults) || (appearance && !appearance.matchesDefaults))\r\n return new CutStyle(viewflags, hiddenLine, appearance);\r\n\r\n return this.defaults;\r\n }\r\n\r\n public static fromJSON(props?: CutStyleProps): CutStyle {\r\n if (JsonUtils.isNonEmptyObject(props)) {\r\n const viewflags = { ...props?.viewflags };\r\n const hiddenLine = props?.hiddenLine ? HiddenLine.Settings.fromJSON(props.hiddenLine) : undefined;\r\n const appearance = props?.appearance ? FeatureAppearance.fromJSON(props.appearance) : undefined;\r\n\r\n return this.create(viewflags, hiddenLine, appearance);\r\n } else {\r\n return this.defaults;\r\n }\r\n }\r\n\r\n /** Return JSON representation. The representation is `undefined` if this style matches the default style. */\r\n public toJSON(): CutStyleProps | undefined {\r\n if (this.matchesDefaults)\r\n return undefined;\r\n\r\n const props: CutStyleProps = {};\r\n if (JsonUtils.isNonEmptyObject(this.viewflags))\r\n props.viewflags = this.viewflags;\r\n\r\n if (this.hiddenLine && !this.hiddenLine.matchesDefaults)\r\n props.hiddenLine = this.hiddenLine?.toJSON();\r\n\r\n if (this.appearance && !this.appearance.matchesDefaults)\r\n props.appearance = this.appearance.toJSON();\r\n\r\n return props;\r\n }\r\n\r\n /** Returns true if this style matches the default style - that is, it overrides none of the view's settings. */\r\n public get matchesDefaults(): boolean {\r\n if (this === CutStyle.defaults)\r\n return true;\r\n\r\n return !JsonUtils.isNonEmptyObject(this.viewflags) && (!this.hiddenLine || this.hiddenLine.matchesDefaults) && (!this.appearance || this.appearance.matchesDefaults);\r\n }\r\n}\r\n\r\n/** Wire format describing a [[ClipIntersectionStyle]].\r\n * @see [[ClipStyleProps.ClipIntersectionStyle]].\r\n * @public\r\n * @extensions\r\n */\r\nexport interface ClipIntersectionStyleProps {\r\n /** Color to apply to intersection of geometry and clip planes, default white */\r\n color?: RgbColorProps;\r\n /** Number of pixels to be considered intersecting the clip plane, default 1 */\r\n width?: number;\r\n}\r\n\r\n/** As part of a [[ClipStyle]], describes how to colorize geometry intersecting the clip planes.\r\n * @note Edges are highlighted only if [[ClipStyle.ClipIntersectionStyle]] is `true`.\r\n * @public\r\n * @extensions\r\n */\r\nexport class ClipIntersectionStyle {\r\n /** Color to apply to intersection of geometry and clip planes, default white */\r\n public readonly color: RgbColor;\r\n /** Number of pixels to be considered intersecting the clip plane, default 1 */\r\n public readonly width: number;\r\n\r\n private constructor(color: RgbColor = RgbColor.fromColorDef(ColorDef.white), width: number = 1) {\r\n this.color = color;\r\n this.width = width;\r\n }\r\n /** Create a highlight from its components. */\r\n public static create(color?: RgbColor, width?: number): ClipIntersectionStyle {\r\n if (!color && !width)\r\n return this.defaults;\r\n\r\n return new ClipIntersectionStyle(color, width);\r\n }\r\n\r\n public static readonly defaults = new ClipIntersectionStyle();\r\n\r\n public static fromJSON(props?: ClipIntersectionStyleProps): ClipIntersectionStyle {\r\n if (props === undefined) {\r\n return ClipIntersectionStyle.defaults;\r\n }\r\n\r\n const color = props.color ? RgbColor.fromJSON(props.color) : RgbColor.fromColorDef(ColorDef.white);\r\n const width = props.width ? props.width : 1;\r\n return new ClipIntersectionStyle(color, width);\r\n }\r\n\r\n /** The JSON representation of this style. It is `undefined` if this style matches the defaults. */\r\n public toJSON(): ClipIntersectionStyleProps | undefined {\r\n const props: ClipIntersectionStyleProps = {};\r\n\r\n if (this.matchesDefaults) {\r\n return undefined;\r\n }\r\n\r\n if (this.color)\r\n props.color = this.color.toJSON();\r\n\r\n if (this.width)\r\n props.width = this.width;\r\n\r\n return props;\r\n }\r\n\r\n public get matchesDefaults(): boolean {\r\n if (this === ClipIntersectionStyle.defaults)\r\n return true;\r\n\r\n return !this.color && !this.width;\r\n }\r\n}\r\n\r\n/** Arguments supplied to [[ClipStyle.create]].\r\n * @public\r\n * @extensions\r\n */\r\nexport interface ClipStyleCreateArgs {\r\n /** If `true`, geometry will be produced at the clip planes in a 3d view.\r\n * - Solids (closed volumes) will produce facets on the clip planes.\r\n * - Other surfaces will produce line strings representing the edges of the surface at the clip planes.\r\n * @note Cut geometry will only be produced for element geometry - not for, e.g., terrain or reality models.\r\n */\r\n produceCutGeometry?: boolean;\r\n /** If `true`, intersection of geometry and clip planes will be colorized */\r\n colorizeIntersection?: boolean;\r\n /** Controls aspects of how the cut geometry is displayed, if [[produceCutGeometry]] is `true`. */\r\n cutStyle?: CutStyle;\r\n /** If defined, geometry inside the clip planes will be drawn in this color. */\r\n insideColor?: RgbColor;\r\n /** If defined, geometry outside of the clip planes will be drawn in this color instead of being clipped. */\r\n outsideColor?: RgbColor;\r\n /** Controls the style of the intersection of geometry and clip planes */\r\n intersectionStyle?: ClipIntersectionStyle;\r\n}\r\n\r\n/** Wire format describing a [[ClipStyle]].\r\n * @see [[DisplayStyleSettingsProps.clipStyle]].\r\n * @public\r\n * @extensions\r\n */\r\nexport interface ClipStyleProps {\r\n /** If `true`, geometry will be produced at the clip planes in a 3d view.\r\n * - Solids (closed volumes) will produce facets on the clip planes.\r\n * - Other surfaces will produce line strings representing the edges of the surface at the clip planes.\r\n * @note Cut geometry will only be produced for element geometry - not for, e.g., terrain or reality models.\r\n */\r\n produceCutGeometry?: boolean;\r\n /** If 'true', intersection of geometry and clip planes will be colorized */\r\n colorizeIntersection?: boolean;\r\n /** Controls aspects of how the cut geometry is displayed, if [[produceCutGeometry]] is `true`. */\r\n cutStyle?: CutStyleProps;\r\n /** If defined, geometry inside the clip planes will be drawn in this color. */\r\n insideColor?: RgbColorProps;\r\n /** If defined, geometry outside of the clip planes will be drawn in this color instead of being clipped. */\r\n outsideColor?: RgbColorProps;\r\n /** Controls the style of the intersection of geometry and clip planes */\r\n intersectionStyle?: ClipIntersectionStyleProps;\r\n}\r\n\r\n/** Describes symbology and behavior applied to a [ClipVector]($core-geometry) when applied to a [ViewState]($frontend) or [[ModelClipGroup]].\r\n * @see [[DisplayStyleSettings.clipStyle]].\r\n * @public\r\n */\r\nexport class ClipStyle {\r\n /** If `true`, geometry will be produced at the clip planes.\r\n * - Solids (closed volumes) will produce facets on the clip planes.\r\n * - Other surfaces will produce line strings representing the edges of the surface at the clip planes.\r\n * @note Cut geometry will only be produced for element geometry - not for, e.g., terrain or reality models.\r\n */\r\n public readonly produceCutGeometry: boolean;\r\n /** If 'true', intersection of geometry and clip planes will be colorized */\r\n public readonly colorizeIntersection: boolean;\r\n /** Controls aspects of how the cut geometry is displayed, if [[produceCutGeometry]] is `true`. */\r\n public readonly cutStyle: CutStyle;\r\n /** If defined, geometry inside the clip planes will be drawn in this color. */\r\n public readonly insideColor?: RgbColor;\r\n /** If defined, geometry outside of the clip planes will be drawn in this color instead of being clipped. */\r\n public readonly outsideColor?: RgbColor;\r\n /** Controls the style of the intersection of geometry and clip planes */\r\n public readonly intersectionStyle?: ClipIntersectionStyle;\r\n\r\n /** The default style, which overrides none of the view's settings. */\r\n public static readonly defaults = new ClipStyle(false, false, CutStyle.defaults, undefined, undefined, undefined);\r\n\r\n private constructor(produceCutGeometry: boolean, colorizeIntersection: boolean, cutStyle: CutStyle, inside: RgbColor | undefined, outside: RgbColor | undefined, intersectionStyle: ClipIntersectionStyle | undefined) {\r\n this.produceCutGeometry = produceCutGeometry;\r\n this.colorizeIntersection = colorizeIntersection;\r\n this.cutStyle = cutStyle;\r\n this.insideColor = inside;\r\n this.outsideColor = outside;\r\n this.intersectionStyle = intersectionStyle;\r\n }\r\n\r\n /** @deprecated in 4.x. Use [[create(style: ClipStyleCreateArgs]] */\r\n public static create(produceCutGeometry: boolean, cutStyle: CutStyle, insideColor?: RgbColor, outsideColor?: RgbColor): ClipStyle;\r\n\r\n /** Create a style from its components. */\r\n public static create(style: ClipStyleCreateArgs): ClipStyle;\r\n\r\n /** @internal */\r\n public static create(styleOrProduceCutGeometry: ClipStyleCreateArgs | boolean, cutStyle?: CutStyle, insideColor?: RgbColor, outsideColor?: RgbColor): ClipStyle {\r\n\r\n if (typeof styleOrProduceCutGeometry === \"boolean\") {\r\n cutStyle = cutStyle === undefined ? CutStyle.defaults : cutStyle;\r\n\r\n if (!styleOrProduceCutGeometry && cutStyle.matchesDefaults && !insideColor && !outsideColor) {\r\n return this.defaults;\r\n }\r\n\r\n return new ClipStyle(styleOrProduceCutGeometry, false, cutStyle, insideColor, outsideColor, undefined);\r\n }\r\n\r\n const style = styleOrProduceCutGeometry;\r\n if (!style.produceCutGeometry && !style.colorizeIntersection && (!style.cutStyle || style.cutStyle.matchesDefaults) && !style.insideColor && !style.outsideColor && !style.intersectionStyle)\r\n return this.defaults;\r\n\r\n const produceCutGeometry = style.produceCutGeometry ? true : false;\r\n const colorizeIntersection = style.colorizeIntersection ? true : false;\r\n cutStyle = style.cutStyle === undefined ? CutStyle.defaults : style.cutStyle;\r\n\r\n return new ClipStyle(produceCutGeometry, colorizeIntersection, cutStyle, style.insideColor, style.outsideColor, style.intersectionStyle);\r\n }\r\n\r\n public static fromJSON(props?: ClipStyleProps): ClipStyle {\r\n if (JsonUtils.isNonEmptyObject(props)) {\r\n const produceCutGeometry = props.produceCutGeometry ?? false;\r\n const colorizeIntersection = props.colorizeIntersection ? true : false;\r\n const cutStyle = CutStyle.fromJSON(props.cutStyle);\r\n const insideColor = props.insideColor ? RgbColor.fromJSON(props.insideColor) : undefined;\r\n const outsideColor = props.outsideColor ? RgbColor.fromJSON(props.outsideColor) : undefined;\r\n const intersectionStyle = props.intersectionStyle ? ClipIntersectionStyle.fromJSON(props.intersectionStyle) : undefined;\r\n\r\n return this.create({produceCutGeometry, colorizeIntersection, cutStyle, insideColor, outsideColor, intersectionStyle});\r\n }\r\n\r\n return this.defaults;\r\n }\r\n\r\n /** The JSON representation of this style. It is `undefined` if this style matches the defaults. */\r\n public toJSON(): ClipStyleProps | undefined {\r\n if (this.matchesDefaults)\r\n return undefined;\r\n\r\n const props: ClipStyleProps = {};\r\n if (this.produceCutGeometry)\r\n props.produceCutGeometry = true;\r\n\r\n if (this.colorizeIntersection)\r\n props.colorizeIntersection = true;\r\n\r\n const cutStyle = this.cutStyle.toJSON();\r\n if (cutStyle) {\r\n assert(!this.cutStyle.matchesDefaults);\r\n props.cutStyle = cutStyle;\r\n }\r\n\r\n if (this.insideColor)\r\n props.insideColor = this.insideColor.toJSON();\r\n\r\n if (this.outsideColor)\r\n props.outsideColor = this.outsideColor.toJSON();\r\n\r\n if (this.intersectionStyle)\r\n props.intersectionStyle = this.intersectionStyle.toJSON();\r\n\r\n return props;\r\n }\r\n\r\n /** Returns true if this style matches the [[ClipStyle.defaults]] - that is, it overrides no settings from the view. */\r\n public get matchesDefaults(): boolean {\r\n if (this === ClipStyle.defaults)\r\n return true;\r\n\r\n return !this.produceCutGeometry && !this.colorizeIntersection && !this.insideColor && !this.outsideColor && this.cutStyle.matchesDefaults && !this.intersectionStyle;\r\n }\r\n}\r\n"]}
|
|
@@ -236,6 +236,21 @@ export declare class BlobOptionsBuilder {
|
|
|
236
236
|
*/
|
|
237
237
|
setDelay(val: number): this;
|
|
238
238
|
}
|
|
239
|
+
/** @internal */
|
|
240
|
+
export declare enum QueryParamType {
|
|
241
|
+
Boolean = 0,
|
|
242
|
+
Double = 1,
|
|
243
|
+
Id = 2,
|
|
244
|
+
IdSet = 3,
|
|
245
|
+
Integer = 4,
|
|
246
|
+
Long = 5,
|
|
247
|
+
Null = 6,
|
|
248
|
+
Point2d = 7,
|
|
249
|
+
Point3d = 8,
|
|
250
|
+
String = 9,
|
|
251
|
+
Blob = 10,
|
|
252
|
+
Struct = 11
|
|
253
|
+
}
|
|
239
254
|
/**
|
|
240
255
|
* Bind values to an ECSQL query.
|
|
241
256
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConcurrentQuery.d.ts","sourceRoot":"","sources":["../../src/ConcurrentQuery.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ConcurrentQuery.d.ts","sourceRoot":"","sources":["../../src/ConcurrentQuery.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DbQueryError = exports.DbValueFormat = exports.DbResponseStatus = exports.DbResponseKind = exports.DbRequestKind = exports.QueryBinder = exports.BlobOptionsBuilder = exports.QueryOptionsBuilder = exports.QueryRowFormat = void 0;
|
|
3
|
+
exports.DbQueryError = exports.DbValueFormat = exports.DbResponseStatus = exports.DbResponseKind = exports.DbRequestKind = exports.QueryBinder = exports.QueryParamType = exports.BlobOptionsBuilder = exports.QueryOptionsBuilder = exports.QueryRowFormat = void 0;
|
|
4
4
|
/*---------------------------------------------------------------------------------------------
|
|
5
5
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
6
6
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
@@ -215,7 +215,7 @@ var QueryParamType;
|
|
|
215
215
|
QueryParamType[QueryParamType["String"] = 9] = "String";
|
|
216
216
|
QueryParamType[QueryParamType["Blob"] = 10] = "Blob";
|
|
217
217
|
QueryParamType[QueryParamType["Struct"] = 11] = "Struct";
|
|
218
|
-
})(QueryParamType || (QueryParamType = {}));
|
|
218
|
+
})(QueryParamType = exports.QueryParamType || (exports.QueryParamType = {}));
|
|
219
219
|
/**
|
|
220
220
|
* Bind values to an ECSQL query.
|
|
221
221
|
*
|
|
@@ -252,11 +252,10 @@ class QueryBinder {
|
|
|
252
252
|
if (typeof indexOrName === "number") {
|
|
253
253
|
if (indexOrName < 1)
|
|
254
254
|
throw new Error("expect index to be >= 1");
|
|
255
|
+
return;
|
|
255
256
|
}
|
|
256
|
-
if (
|
|
257
|
-
|
|
258
|
-
throw new Error("expect named parameter to meet identifier specification");
|
|
259
|
-
}
|
|
257
|
+
if (!/^[a-zA-Z_]+\w*$/i.test(indexOrName)) {
|
|
258
|
+
throw new Error("expect named parameter to meet identifier specification");
|
|
260
259
|
}
|
|
261
260
|
}
|
|
262
261
|
/**
|
|
@@ -487,12 +486,12 @@ class QueryBinder {
|
|
|
487
486
|
else if (val instanceof Array && val.length > 0 && typeof val[0] === "string" && core_bentley_1.Id64.isValidId64(val[0])) {
|
|
488
487
|
params.bindIdSet(nameOrId, val);
|
|
489
488
|
}
|
|
490
|
-
else if (typeof val === "object" && !Array.isArray(val)) {
|
|
491
|
-
params.bindStruct(nameOrId, val);
|
|
492
|
-
}
|
|
493
489
|
else if (typeof val === "undefined" || val === null) {
|
|
494
490
|
params.bindNull(nameOrId);
|
|
495
491
|
}
|
|
492
|
+
else if (typeof val === "object" && !Array.isArray(val)) {
|
|
493
|
+
params.bindStruct(nameOrId, val);
|
|
494
|
+
}
|
|
496
495
|
else {
|
|
497
496
|
throw new Error("unsupported type");
|
|
498
497
|
}
|