@itwin/core-common 3.2.0-dev.72 → 3.2.0-dev.76

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.
Files changed (31) hide show
  1. package/lib/cjs/HiddenLine.d.ts +12 -17
  2. package/lib/cjs/HiddenLine.d.ts.map +1 -1
  3. package/lib/cjs/HiddenLine.js +6 -2
  4. package/lib/cjs/HiddenLine.js.map +1 -1
  5. package/lib/cjs/rpc/web/RpcMultipart.d.ts +1 -0
  6. package/lib/cjs/rpc/web/RpcMultipart.d.ts.map +1 -1
  7. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.d.ts +1 -0
  8. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.d.ts.map +1 -1
  9. package/lib/cjs/tile/ElementGraphics.d.ts +8 -2
  10. package/lib/cjs/tile/ElementGraphics.d.ts.map +1 -1
  11. package/lib/cjs/tile/ElementGraphics.js.map +1 -1
  12. package/lib/cjs/tile/TileMetadata.d.ts +18 -13
  13. package/lib/cjs/tile/TileMetadata.d.ts.map +1 -1
  14. package/lib/cjs/tile/TileMetadata.js +164 -134
  15. package/lib/cjs/tile/TileMetadata.js.map +1 -1
  16. package/lib/esm/HiddenLine.d.ts +12 -17
  17. package/lib/esm/HiddenLine.d.ts.map +1 -1
  18. package/lib/esm/HiddenLine.js +6 -2
  19. package/lib/esm/HiddenLine.js.map +1 -1
  20. package/lib/esm/rpc/web/RpcMultipart.d.ts +1 -0
  21. package/lib/esm/rpc/web/RpcMultipart.d.ts.map +1 -1
  22. package/lib/esm/rpc/web/multipart/RpcMultipartParser.d.ts +1 -0
  23. package/lib/esm/rpc/web/multipart/RpcMultipartParser.d.ts.map +1 -1
  24. package/lib/esm/tile/ElementGraphics.d.ts +8 -2
  25. package/lib/esm/tile/ElementGraphics.d.ts.map +1 -1
  26. package/lib/esm/tile/ElementGraphics.js.map +1 -1
  27. package/lib/esm/tile/TileMetadata.d.ts +18 -13
  28. package/lib/esm/tile/TileMetadata.d.ts.map +1 -1
  29. package/lib/esm/tile/TileMetadata.js +163 -133
  30. package/lib/esm/tile/TileMetadata.js.map +1 -1
  31. package/package.json +8 -8
@@ -22,15 +22,15 @@ export declare namespace HiddenLine {
22
22
  * - width is overridden if width != undefined and width != 0
23
23
  * - pattern is overridden if pattern != undefined and pattern != LinePixels.Invalid
24
24
  */
25
- readonly ovrColor?: boolean;
25
+ ovrColor?: boolean;
26
26
  /** If defined, the color used to draw the edges. If undefined, edges are drawn using the element's line color. */
27
- readonly color?: ColorDefProps;
27
+ color?: ColorDefProps;
28
28
  /** If defined, the pixel pattern used to draw the edges. If undefined, edges are drawn using the element's line pattern. */
29
- readonly pattern?: LinePixels;
29
+ pattern?: LinePixels;
30
30
  /** If defined, the width of the edges in pixels. If undefined (or 0), edges are drawn using the element's line width.
31
31
  * @note Non-integer values are truncated, and values are clamped to the range [1, 32].
32
32
  */
33
- readonly width?: number;
33
+ width?: number;
34
34
  }
35
35
  /** Describes the symbology with which edges should be drawn. */
36
36
  class Style {
@@ -58,20 +58,14 @@ export declare namespace HiddenLine {
58
58
  equals(other: Style): boolean;
59
59
  toJSON(): StyleProps;
60
60
  }
61
- /** Describes how visible and hidden edges and transparent surfaces should be rendered in "hidden line" and "solid fill" [[RenderMode]]s. */
61
+ /** The JSON representation of a [[HiddenLine.Settings]]. */
62
62
  interface SettingsProps {
63
- /** Describes how visible edges (those unobscured by other geometry) should be displayed. */
64
- readonly visible?: StyleProps;
65
- /** Describes how hidden edges (those obscured by other geometry) should be displayed. */
66
- readonly hidden?: StyleProps;
67
- /** A value in the range [0.0, 1.0] specifying a threshold below which transparent surfaces should not be drawn.
68
- * A value of 0.0 indicates any surface that is not 100% opaque should not be drawn.
69
- * A value of 0.25 indicates any surface that is less than 25% opaque should not be drawn.
70
- * A value of 1.0 indicates that all surfaces should be drawn regardless of transparency.
71
- * @note values will be clamped to the range [0.0, 1.0].
72
- * @note Defaults to 1.0.
73
- */
74
- readonly transThreshold?: number;
63
+ /** @see [[HiddenLine.Settings.visible]]. */
64
+ visible?: StyleProps;
65
+ /** @see [[HiddenLine.Settings.hidden]]. */
66
+ hidden?: StyleProps;
67
+ /** @see [[HiddenLine.Settings.transparencyThreshold. */
68
+ transThreshold?: number;
75
69
  }
76
70
  /** Describes how visible and hidden edges and transparent surfaces should be rendered in "hidden line" and "solid fill" [[RenderMode]]s. */
77
71
  class Settings {
@@ -87,6 +81,7 @@ export declare namespace HiddenLine {
87
81
  * @note Defaults to 1.0.
88
82
  */
89
83
  readonly transparencyThreshold: number;
84
+ /** An alias for [[transparencyThreshold]]. */
90
85
  get transThreshold(): number;
91
86
  /** The default display settings. */
92
87
  static defaults: Settings;
@@ -1 +1 @@
1
- {"version":3,"file":"HiddenLine.d.ts","sourceRoot":"","sources":["../../src/HiddenLine.ts"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C;;GAEG;AACH,yBAAiB,UAAU,CAAC;IAC1B,gEAAgE;IAChE,UAAiB,UAAU;QACzB;;;;;;;;;;;;WAYG;QACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;QAC5B,kHAAkH;QAClH,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC;QAC/B,4HAA4H;QAC5H,QAAQ,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC;QAC9B;;WAEG;QACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;KACzB;IAED,gEAAgE;IAChE,MAAa,KAAK;QAChB,gBAAgB;QAChB,IAAW,QAAQ,IAAI,OAAO,CAAqC;QACnE,kHAAkH;QAClH,SAAgB,KAAK,CAAC,EAAE,QAAQ,CAAC;QACjC,4HAA4H;QAC5H,SAAgB,OAAO,CAAC,EAAE,UAAU,CAAC;QACrC;;WAEG;QACH,SAAgB,KAAK,CAAC,EAAE,MAAM,CAAC;QAE/B,OAAO;QA6BP,gBAAuB,cAAc,QAAiB;QACtD,gBAAuB,aAAa,QAAuB;eAE7C,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,IAAI,GAAG,KAAK;QAO/D,mFAAmF;QAC5E,aAAa,CAAC,KAAK,EAAE,QAAQ,GAAG,SAAS,GAAG,KAAK;QAexD,qFAAqF;QAC9E,eAAe,CAAC,OAAO,EAAE,UAAU,GAAG,SAAS,GAAG,KAAK;QAY9D,mFAAmF;QAC5E,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,KAAK;QAYtD,sEAAsE;QAC/D,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;QAS7B,MAAM,IAAI,UAAU;KAQ5B;IAED,4IAA4I;IAC5I,UAAiB,aAAa;QAC5B,4FAA4F;QAC5F,QAAQ,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC;QAC9B,yFAAyF;QACzF,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC;QAC7B;;;;;;WAMG;QACH,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;KAClC;IAED,4IAA4I;IAC5I,MAAa,QAAQ;QACnB,4FAA4F;QAC5F,SAAgB,OAAO,EAAE,KAAK,CAAC;QAC/B,yFAAyF;QACzF,SAAgB,MAAM,EAAE,KAAK,CAAC;QAC9B;;;;;;WAMG;QACH,SAAgB,qBAAqB,EAAE,MAAM,CAAC;QAC9C,IAAW,cAAc,IAAI,MAAM,CAAuC;QAE1E,oCAAoC;QACpC,OAAc,QAAQ,WAAoB;QAE1C,6DAA6D;eAC/C,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,GAAG,QAAQ;QAS/C,MAAM,IAAI,aAAa;QAQ9B,oHAAoH;QAC7G,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,QAAQ;QAWxC,MAAM,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO;QAOvC,IAAW,eAAe,IAAI,OAAO,CAEpC;QAED,OAAO;KAKR;CACF"}
1
+ {"version":3,"file":"HiddenLine.d.ts","sourceRoot":"","sources":["../../src/HiddenLine.ts"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C;;GAEG;AACH,yBAAiB,UAAU,CAAC;IAC1B,gEAAgE;IAChE,UAAiB,UAAU;QACzB;;;;;;;;;;;;WAYG;QACH,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,kHAAkH;QAClH,KAAK,CAAC,EAAE,aAAa,CAAC;QACtB,4HAA4H;QAC5H,OAAO,CAAC,EAAE,UAAU,CAAC;QACrB;;WAEG;QACH,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB;IAED,gEAAgE;IAChE,MAAa,KAAK;QAChB,gBAAgB;QAChB,IAAW,QAAQ,IAAI,OAAO,CAAqC;QACnE,kHAAkH;QAClH,SAAgB,KAAK,CAAC,EAAE,QAAQ,CAAC;QACjC,4HAA4H;QAC5H,SAAgB,OAAO,CAAC,EAAE,UAAU,CAAC;QACrC;;WAEG;QACH,SAAgB,KAAK,CAAC,EAAE,MAAM,CAAC;QAE/B,OAAO;QA6BP,gBAAuB,cAAc,QAAiB;QACtD,gBAAuB,aAAa,QAAuB;eAE7C,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,IAAI,GAAG,KAAK;QAO/D,mFAAmF;QAC5E,aAAa,CAAC,KAAK,EAAE,QAAQ,GAAG,SAAS,GAAG,KAAK;QAexD,qFAAqF;QAC9E,eAAe,CAAC,OAAO,EAAE,UAAU,GAAG,SAAS,GAAG,KAAK;QAY9D,mFAAmF;QAC5E,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,KAAK;QAYtD,sEAAsE;QAC/D,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;QAS7B,MAAM,IAAI,UAAU;KAQ5B;IAED,4DAA4D;IAC5D,UAAiB,aAAa;QAC5B,4CAA4C;QAC5C,OAAO,CAAC,EAAE,UAAU,CAAC;QACrB,2CAA2C;QAC3C,MAAM,CAAC,EAAE,UAAU,CAAC;QACpB,wDAAwD;QACxD,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB;IAED,4IAA4I;IAC5I,MAAa,QAAQ;QACnB,4FAA4F;QAC5F,SAAgB,OAAO,EAAE,KAAK,CAAC;QAC/B,yFAAyF;QACzF,SAAgB,MAAM,EAAE,KAAK,CAAC;QAC9B;;;;;;WAMG;QACH,SAAgB,qBAAqB,EAAE,MAAM,CAAC;QAE9C,8CAA8C;QAC9C,IAAW,cAAc,IAAI,MAAM,CAAuC;QAE1E,oCAAoC;QACpC,OAAc,QAAQ,WAAoB;QAE1C,6DAA6D;eAC/C,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,GAAG,QAAQ;QAS/C,MAAM,IAAI,aAAa;QAU9B,oHAAoH;QAC7G,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,QAAQ;QAWxC,MAAM,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO;QASvC,IAAW,eAAe,IAAI,OAAO,CAEpC;QAED,OAAO;KAKR;CACF"}
@@ -115,6 +115,7 @@ var HiddenLine;
115
115
  this.hidden = Style.fromJSON(json.hidden, true);
116
116
  this.transparencyThreshold = core_bentley_1.JsonUtils.asDouble(json.transThreshold, 1.0);
117
117
  }
118
+ /** An alias for [[transparencyThreshold]]. */
118
119
  get transThreshold() { return this.transparencyThreshold; }
119
120
  /** Create a DisplaySettings from its JSON representation. */
120
121
  static fromJSON(json) {
@@ -126,11 +127,12 @@ var HiddenLine;
126
127
  return new Settings(json);
127
128
  }
128
129
  toJSON() {
129
- return {
130
+ const props = {
130
131
  visible: this.visible.toJSON(),
131
132
  hidden: this.hidden.toJSON(),
132
133
  transThreshold: this.transThreshold,
133
134
  };
135
+ return props;
134
136
  }
135
137
  /** Create a Settings equivalent to this one with the exception of those properties defined in the supplied JSON. */
136
138
  override(props) {
@@ -146,7 +148,9 @@ var HiddenLine;
146
148
  equals(other) {
147
149
  if (this === other)
148
150
  return true;
149
- return this.visible.equals(other.visible) && this.hidden.equals(other.hidden) && this.transparencyThreshold === other.transparencyThreshold;
151
+ return this.visible.equals(other.visible)
152
+ && this.hidden.equals(other.hidden)
153
+ && this.transparencyThreshold === other.transparencyThreshold;
150
154
  }
151
155
  get matchesDefaults() {
152
156
  return this.equals(Settings.defaults);
@@ -1 +1 @@
1
- {"version":3,"file":"HiddenLine.js","sourceRoot":"","sources":["../../src/HiddenLine.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 { JsonUtils } from \"@itwin/core-bentley\";\r\nimport { ColorDef, ColorDefProps } from \"./ColorDef\";\r\nimport { LinePixels } from \"./LinePixels\";\r\n\r\n/** Namespace containing types controlling how edges and surfaces should be drawn in \"hidden line\" and \"solid fill\" [[RenderMode]]s.\r\n * @public\r\n */\r\nexport namespace HiddenLine {\r\n /** Describes the symbology with which edges should be drawn. */\r\n export interface StyleProps {\r\n /** @internal\r\n * This JSON representation is awkward, but it must match that used in the db.\r\n * If the JSON came from the db then all members are present and:\r\n * - color is overridden only if ovrColor = true.\r\n * - width is overridden only if width != 0\r\n * - pattern is overridden only if pattern != LinePixels.Invalid\r\n * The 'public' JSON representation is more sensible:\r\n * - Color, width, and pattern are each overridden iff they are not undefined.\r\n * To make this work for both scenarios, the rules are:\r\n * - color is overridden if color != undefined and ovrColor != false\r\n * - width is overridden if width != undefined and width != 0\r\n * - pattern is overridden if pattern != undefined and pattern != LinePixels.Invalid\r\n */\r\n readonly ovrColor?: boolean;\r\n /** If defined, the color used to draw the edges. If undefined, edges are drawn using the element's line color. */\r\n readonly color?: ColorDefProps;\r\n /** If defined, the pixel pattern used to draw the edges. If undefined, edges are drawn using the element's line pattern. */\r\n readonly pattern?: LinePixels;\r\n /** If defined, the width of the edges in pixels. If undefined (or 0), edges are drawn using the element's line width.\r\n * @note Non-integer values are truncated, and values are clamped to the range [1, 32].\r\n */\r\n readonly width?: number;\r\n }\r\n\r\n /** Describes the symbology with which edges should be drawn. */\r\n export class Style {\r\n /** @internal */\r\n public get ovrColor(): boolean { return undefined !== this.color; }\r\n /** If defined, the color used to draw the edges. If undefined, edges are drawn using the element's line color. */\r\n public readonly color?: ColorDef;\r\n /** If defined, the pixel pattern used to draw the edges. If undefined, edges are drawn using the element's line pattern. */\r\n public readonly pattern?: LinePixels;\r\n /** If defined, the width of the edges in pixels. If undefined (or 0), edges are drawn using the element's line width.\r\n * @note Non-integer values are truncated, and values are clamped to the range [1, 32].\r\n */\r\n public readonly width?: number;\r\n\r\n private constructor(json?: StyleProps, hidden?: true) {\r\n if (JsonUtils.isEmptyObjectOrUndefined(json)) {\r\n if (hidden)\r\n this.pattern = LinePixels.HiddenLine;\r\n\r\n return;\r\n }\r\n\r\n json = json as StyleProps; // per JsonUtils.isEmptyObjectOrUndefined()\r\n if (undefined !== json.color && false !== json.ovrColor)\r\n this.color = ColorDef.fromJSON(json.color);\r\n\r\n if (undefined !== json.pattern) {\r\n const pattern = JsonUtils.asInt(json.pattern, hidden ? LinePixels.HiddenLine : LinePixels.Invalid);\r\n if (LinePixels.Invalid !== pattern)\r\n this.pattern = pattern;\r\n } else if (hidden) {\r\n this.pattern = LinePixels.HiddenLine;\r\n }\r\n\r\n if (undefined !== json.width) {\r\n let width = JsonUtils.asInt(json.width, 0);\r\n if (0 !== width) {\r\n width = Math.max(1, width);\r\n this.width = Math.min(32, width);\r\n }\r\n }\r\n }\r\n\r\n public static readonly defaultVisible = new Style({});\r\n public static readonly defaultHidden = new Style({}, true);\r\n\r\n public static fromJSON(json?: StyleProps, hidden?: true): Style {\r\n if (undefined !== json)\r\n return new Style(json, hidden);\r\n\r\n return hidden ? this.defaultHidden : this.defaultVisible;\r\n }\r\n\r\n /** Create a Style equivalent to this one but with the specified color override. */\r\n public overrideColor(color: ColorDef | undefined): Style {\r\n if (undefined === this.color && undefined === color)\r\n return this;\r\n\r\n if (undefined !== this.color && undefined !== color && this.color.equals(color))\r\n return this;\r\n\r\n return Style.fromJSON({\r\n color: color?.toJSON(),\r\n ovrColor: undefined !== color,\r\n pattern: this.pattern,\r\n width: this.width,\r\n });\r\n }\r\n\r\n /** Create a Style equivalent to this one but with the specified pattern override. */\r\n public overridePattern(pattern: LinePixels | undefined): Style {\r\n if (pattern === this.pattern)\r\n return this;\r\n\r\n return Style.fromJSON({\r\n color: this.color?.toJSON(),\r\n ovrColor: this.ovrColor,\r\n pattern,\r\n width: this.width,\r\n });\r\n }\r\n\r\n /** Create a Style equivalent to this one but with the specified width override. */\r\n public overrideWidth(width: number | undefined): Style {\r\n if (width === this.width)\r\n return this;\r\n\r\n return Style.fromJSON({\r\n color: this.color?.toJSON(),\r\n ovrColor: this.ovrColor,\r\n pattern: this.pattern,\r\n width,\r\n });\r\n }\r\n\r\n /** Returns true if this Style is equivalent to the supplied Style. */\r\n public equals(other: Style): boolean {\r\n if (this === other)\r\n return true;\r\n else if (this.ovrColor !== other.ovrColor || this.pattern !== other.pattern || this.width !== other.width)\r\n return false;\r\n else\r\n return undefined === this.color || this.color.equals(other.color!);\r\n }\r\n\r\n public toJSON(): StyleProps {\r\n return {\r\n ovrColor: this.ovrColor,\r\n color: this.color ? this.color.toJSON() : ColorDef.white.toJSON(),\r\n pattern: undefined !== this.pattern ? this.pattern : LinePixels.Invalid,\r\n width: undefined !== this.width ? this.width : 0,\r\n };\r\n }\r\n }\r\n\r\n /** Describes how visible and hidden edges and transparent surfaces should be rendered in \"hidden line\" and \"solid fill\" [[RenderMode]]s. */\r\n export interface SettingsProps {\r\n /** Describes how visible edges (those unobscured by other geometry) should be displayed. */\r\n readonly visible?: StyleProps;\r\n /** Describes how hidden edges (those obscured by other geometry) should be displayed. */\r\n readonly hidden?: StyleProps;\r\n /** A value in the range [0.0, 1.0] specifying a threshold below which transparent surfaces should not be drawn.\r\n * A value of 0.0 indicates any surface that is not 100% opaque should not be drawn.\r\n * A value of 0.25 indicates any surface that is less than 25% opaque should not be drawn.\r\n * A value of 1.0 indicates that all surfaces should be drawn regardless of transparency.\r\n * @note values will be clamped to the range [0.0, 1.0].\r\n * @note Defaults to 1.0.\r\n */\r\n readonly transThreshold?: number;\r\n }\r\n\r\n /** Describes how visible and hidden edges and transparent surfaces should be rendered in \"hidden line\" and \"solid fill\" [[RenderMode]]s. */\r\n export class Settings {\r\n /** Describes how visible edges (those unobscured by other geometry) should be displayed. */\r\n public readonly visible: Style;\r\n /** Describes how hidden edges (those obscured by other geometry) should be displayed. */\r\n public readonly hidden: Style;\r\n /** A value in the range [0.0, 1.0] specifying a threshold below which transparent surfaces should not be drawn.\r\n * A value of 0.0 indicates any surface that is not 100% opaque should not be drawn.\r\n * A value of 0.25 indicates any surface that is less than 25% opaque should not be drawn.\r\n * A value of 1.0 indicates that all surfaces should be drawn regardless of transparency.\r\n * @note values will be clamped to the range [0.0, 1.0].\r\n * @note Defaults to 1.0.\r\n */\r\n public readonly transparencyThreshold: number;\r\n public get transThreshold(): number { return this.transparencyThreshold; }\r\n\r\n /** The default display settings. */\r\n public static defaults = new Settings({});\r\n\r\n /** Create a DisplaySettings from its JSON representation. */\r\n public static fromJSON(json?: SettingsProps): Settings {\r\n if (JsonUtils.isEmptyObjectOrUndefined(json))\r\n return this.defaults;\r\n else if (json instanceof Settings)\r\n return json;\r\n else\r\n return new Settings(json!);\r\n }\r\n\r\n public toJSON(): SettingsProps {\r\n return {\r\n visible: this.visible.toJSON(),\r\n hidden: this.hidden.toJSON(),\r\n transThreshold: this.transThreshold,\r\n };\r\n }\r\n\r\n /** Create a Settings equivalent to this one with the exception of those properties defined in the supplied JSON. */\r\n public override(props: SettingsProps): Settings {\r\n const visible = props.visible;\r\n const hidden = props.hidden;\r\n const transparencyThreshold = props.transThreshold;\r\n return Settings.fromJSON({\r\n visible: undefined !== visible ? visible : this.visible.toJSON(),\r\n hidden: undefined !== hidden ? hidden : this.hidden.toJSON(),\r\n transThreshold: undefined !== transparencyThreshold ? transparencyThreshold : this.transparencyThreshold,\r\n });\r\n }\r\n\r\n public equals(other: Settings): boolean {\r\n if (this === other)\r\n return true;\r\n\r\n return this.visible.equals(other.visible) && this.hidden.equals(other.hidden) && this.transparencyThreshold === other.transparencyThreshold;\r\n }\r\n\r\n public get matchesDefaults(): boolean {\r\n return this.equals(Settings.defaults);\r\n }\r\n\r\n private constructor(json: SettingsProps) {\r\n this.visible = Style.fromJSON(json.visible);\r\n this.hidden = Style.fromJSON(json.hidden, true);\r\n this.transparencyThreshold = JsonUtils.asDouble(json.transThreshold, 1.0);\r\n }\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"HiddenLine.js","sourceRoot":"","sources":["../../src/HiddenLine.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,sDAAgD;AAChD,yCAAqD;AACrD,6CAA0C;AAE1C;;GAEG;AACH,IAAiB,UAAU,CA+N1B;AA/ND,WAAiB,UAAU;IA2BzB,gEAAgE;IAChE,MAAa,KAAK;QAYhB,YAAoB,IAAiB,EAAE,MAAa;YAClD,IAAI,wBAAS,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE;gBAC5C,IAAI,MAAM;oBACR,IAAI,CAAC,OAAO,GAAG,uBAAU,CAAC,UAAU,CAAC;gBAEvC,OAAO;aACR;YAED,IAAI,GAAG,IAAkB,CAAC,CAAC,2CAA2C;YACtE,IAAI,SAAS,KAAK,IAAI,CAAC,KAAK,IAAI,KAAK,KAAK,IAAI,CAAC,QAAQ;gBACrD,IAAI,CAAC,KAAK,GAAG,mBAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAE7C,IAAI,SAAS,KAAK,IAAI,CAAC,OAAO,EAAE;gBAC9B,MAAM,OAAO,GAAG,wBAAS,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,uBAAU,CAAC,UAAU,CAAC,CAAC,CAAC,uBAAU,CAAC,OAAO,CAAC,CAAC;gBACnG,IAAI,uBAAU,CAAC,OAAO,KAAK,OAAO;oBAChC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;aAC1B;iBAAM,IAAI,MAAM,EAAE;gBACjB,IAAI,CAAC,OAAO,GAAG,uBAAU,CAAC,UAAU,CAAC;aACtC;YAED,IAAI,SAAS,KAAK,IAAI,CAAC,KAAK,EAAE;gBAC5B,IAAI,KAAK,GAAG,wBAAS,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBAC3C,IAAI,CAAC,KAAK,KAAK,EAAE;oBACf,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;oBAC3B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;iBAClC;aACF;QACH,CAAC;QAtCD,gBAAgB;QAChB,IAAW,QAAQ,KAAc,OAAO,SAAS,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QA0C5D,MAAM,CAAC,QAAQ,CAAC,IAAiB,EAAE,MAAa;YACrD,IAAI,SAAS,KAAK,IAAI;gBACpB,OAAO,IAAI,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAEjC,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;QAC3D,CAAC;QAED,mFAAmF;QAC5E,aAAa,CAAC,KAA2B;YAC9C,IAAI,SAAS,KAAK,IAAI,CAAC,KAAK,IAAI,SAAS,KAAK,KAAK;gBACjD,OAAO,IAAI,CAAC;YAEd,IAAI,SAAS,KAAK,IAAI,CAAC,KAAK,IAAI,SAAS,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC7E,OAAO,IAAI,CAAC;YAEd,OAAO,KAAK,CAAC,QAAQ,CAAC;gBACpB,KAAK,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,EAAE;gBACtB,QAAQ,EAAE,SAAS,KAAK,KAAK;gBAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB,CAAC,CAAC;QACL,CAAC;QAED,qFAAqF;QAC9E,eAAe,CAAC,OAA+B;;YACpD,IAAI,OAAO,KAAK,IAAI,CAAC,OAAO;gBAC1B,OAAO,IAAI,CAAC;YAEd,OAAO,KAAK,CAAC,QAAQ,CAAC;gBACpB,KAAK,EAAE,MAAA,IAAI,CAAC,KAAK,0CAAE,MAAM,EAAE;gBAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,OAAO;gBACP,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB,CAAC,CAAC;QACL,CAAC;QAED,mFAAmF;QAC5E,aAAa,CAAC,KAAyB;;YAC5C,IAAI,KAAK,KAAK,IAAI,CAAC,KAAK;gBACtB,OAAO,IAAI,CAAC;YAEd,OAAO,KAAK,CAAC,QAAQ,CAAC;gBACpB,KAAK,EAAE,MAAA,IAAI,CAAC,KAAK,0CAAE,MAAM,EAAE;gBAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,KAAK;aACN,CAAC,CAAC;QACL,CAAC;QAED,sEAAsE;QAC/D,MAAM,CAAC,KAAY;YACxB,IAAI,IAAI,KAAK,KAAK;gBAChB,OAAO,IAAI,CAAC;iBACT,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK;gBACvG,OAAO,KAAK,CAAC;;gBAEb,OAAO,SAAS,KAAK,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAM,CAAC,CAAC;QACvE,CAAC;QAEM,MAAM;YACX,OAAO;gBACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,mBAAQ,CAAC,KAAK,CAAC,MAAM,EAAE;gBACjE,OAAO,EAAE,SAAS,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,uBAAU,CAAC,OAAO;gBACvE,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aACjD,CAAC;QACJ,CAAC;;IArEsB,oBAAc,GAAG,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC;IAC/B,mBAAa,GAAG,IAAI,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IA1ChD,gBAAK,QA+GjB,CAAA;IAYD,4IAA4I;IAC5I,MAAa,QAAQ;QAiEnB,YAAoB,IAAmB;YACrC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC5C,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAChD,IAAI,CAAC,qBAAqB,GAAG,wBAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;QAC5E,CAAC;QAvDD,8CAA8C;QAC9C,IAAW,cAAc,KAAa,OAAO,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;QAK1E,6DAA6D;QACtD,MAAM,CAAC,QAAQ,CAAC,IAAoB;YACzC,IAAI,wBAAS,CAAC,wBAAwB,CAAC,IAAI,CAAC;gBAC1C,OAAO,IAAI,CAAC,QAAQ,CAAC;iBAClB,IAAI,IAAI,YAAY,QAAQ;gBAC/B,OAAO,IAAI,CAAC;;gBAEZ,OAAO,IAAI,QAAQ,CAAC,IAAK,CAAC,CAAC;QAC/B,CAAC;QAEM,MAAM;YACX,MAAM,KAAK,GAAkB;gBAC3B,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;gBAC9B,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;gBAC5B,cAAc,EAAE,IAAI,CAAC,cAAc;aACpC,CAAC;YAEF,OAAO,KAAK,CAAC;QACf,CAAC;QAED,oHAAoH;QAC7G,QAAQ,CAAC,KAAoB;YAClC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;YAC9B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YAC5B,MAAM,qBAAqB,GAAG,KAAK,CAAC,cAAc,CAAC;YACnD,OAAO,QAAQ,CAAC,QAAQ,CAAC;gBACvB,OAAO,EAAE,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;gBAChE,MAAM,EAAE,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;gBAC5D,cAAc,EAAE,SAAS,KAAK,qBAAqB,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB;aACzG,CAAC,CAAC;QACL,CAAC;QAEM,MAAM,CAAC,KAAe;YAC3B,IAAI,IAAI,KAAK,KAAK;gBAChB,OAAO,IAAI,CAAC;YAEd,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;mBACpC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;mBAChC,IAAI,CAAC,qBAAqB,KAAK,KAAK,CAAC,qBAAqB,CAAC;QAClE,CAAC;QAED,IAAW,eAAe;YACxB,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACxC,CAAC;;IA9CD,oCAAoC;IACtB,iBAAQ,GAAG,IAAI,QAAQ,CAAC,EAAE,CAAC,CAAC;IAlB/B,mBAAQ,WAsEpB,CAAA;AACH,CAAC,EA/NgB,UAAU,GAAV,kBAAU,KAAV,kBAAU,QA+N1B","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 { JsonUtils } from \"@itwin/core-bentley\";\r\nimport { ColorDef, ColorDefProps } from \"./ColorDef\";\r\nimport { LinePixels } from \"./LinePixels\";\r\n\r\n/** Namespace containing types controlling how edges and surfaces should be drawn in \"hidden line\" and \"solid fill\" [[RenderMode]]s.\r\n * @public\r\n */\r\nexport namespace HiddenLine {\r\n /** Describes the symbology with which edges should be drawn. */\r\n export interface StyleProps {\r\n /** @internal\r\n * This JSON representation is awkward, but it must match that used in the db.\r\n * If the JSON came from the db then all members are present and:\r\n * - color is overridden only if ovrColor = true.\r\n * - width is overridden only if width != 0\r\n * - pattern is overridden only if pattern != LinePixels.Invalid\r\n * The 'public' JSON representation is more sensible:\r\n * - Color, width, and pattern are each overridden iff they are not undefined.\r\n * To make this work for both scenarios, the rules are:\r\n * - color is overridden if color != undefined and ovrColor != false\r\n * - width is overridden if width != undefined and width != 0\r\n * - pattern is overridden if pattern != undefined and pattern != LinePixels.Invalid\r\n */\r\n ovrColor?: boolean;\r\n /** If defined, the color used to draw the edges. If undefined, edges are drawn using the element's line color. */\r\n color?: ColorDefProps;\r\n /** If defined, the pixel pattern used to draw the edges. If undefined, edges are drawn using the element's line pattern. */\r\n pattern?: LinePixels;\r\n /** If defined, the width of the edges in pixels. If undefined (or 0), edges are drawn using the element's line width.\r\n * @note Non-integer values are truncated, and values are clamped to the range [1, 32].\r\n */\r\n width?: number;\r\n }\r\n\r\n /** Describes the symbology with which edges should be drawn. */\r\n export class Style {\r\n /** @internal */\r\n public get ovrColor(): boolean { return undefined !== this.color; }\r\n /** If defined, the color used to draw the edges. If undefined, edges are drawn using the element's line color. */\r\n public readonly color?: ColorDef;\r\n /** If defined, the pixel pattern used to draw the edges. If undefined, edges are drawn using the element's line pattern. */\r\n public readonly pattern?: LinePixels;\r\n /** If defined, the width of the edges in pixels. If undefined (or 0), edges are drawn using the element's line width.\r\n * @note Non-integer values are truncated, and values are clamped to the range [1, 32].\r\n */\r\n public readonly width?: number;\r\n\r\n private constructor(json?: StyleProps, hidden?: true) {\r\n if (JsonUtils.isEmptyObjectOrUndefined(json)) {\r\n if (hidden)\r\n this.pattern = LinePixels.HiddenLine;\r\n\r\n return;\r\n }\r\n\r\n json = json as StyleProps; // per JsonUtils.isEmptyObjectOrUndefined()\r\n if (undefined !== json.color && false !== json.ovrColor)\r\n this.color = ColorDef.fromJSON(json.color);\r\n\r\n if (undefined !== json.pattern) {\r\n const pattern = JsonUtils.asInt(json.pattern, hidden ? LinePixels.HiddenLine : LinePixels.Invalid);\r\n if (LinePixels.Invalid !== pattern)\r\n this.pattern = pattern;\r\n } else if (hidden) {\r\n this.pattern = LinePixels.HiddenLine;\r\n }\r\n\r\n if (undefined !== json.width) {\r\n let width = JsonUtils.asInt(json.width, 0);\r\n if (0 !== width) {\r\n width = Math.max(1, width);\r\n this.width = Math.min(32, width);\r\n }\r\n }\r\n }\r\n\r\n public static readonly defaultVisible = new Style({});\r\n public static readonly defaultHidden = new Style({}, true);\r\n\r\n public static fromJSON(json?: StyleProps, hidden?: true): Style {\r\n if (undefined !== json)\r\n return new Style(json, hidden);\r\n\r\n return hidden ? this.defaultHidden : this.defaultVisible;\r\n }\r\n\r\n /** Create a Style equivalent to this one but with the specified color override. */\r\n public overrideColor(color: ColorDef | undefined): Style {\r\n if (undefined === this.color && undefined === color)\r\n return this;\r\n\r\n if (undefined !== this.color && undefined !== color && this.color.equals(color))\r\n return this;\r\n\r\n return Style.fromJSON({\r\n color: color?.toJSON(),\r\n ovrColor: undefined !== color,\r\n pattern: this.pattern,\r\n width: this.width,\r\n });\r\n }\r\n\r\n /** Create a Style equivalent to this one but with the specified pattern override. */\r\n public overridePattern(pattern: LinePixels | undefined): Style {\r\n if (pattern === this.pattern)\r\n return this;\r\n\r\n return Style.fromJSON({\r\n color: this.color?.toJSON(),\r\n ovrColor: this.ovrColor,\r\n pattern,\r\n width: this.width,\r\n });\r\n }\r\n\r\n /** Create a Style equivalent to this one but with the specified width override. */\r\n public overrideWidth(width: number | undefined): Style {\r\n if (width === this.width)\r\n return this;\r\n\r\n return Style.fromJSON({\r\n color: this.color?.toJSON(),\r\n ovrColor: this.ovrColor,\r\n pattern: this.pattern,\r\n width,\r\n });\r\n }\r\n\r\n /** Returns true if this Style is equivalent to the supplied Style. */\r\n public equals(other: Style): boolean {\r\n if (this === other)\r\n return true;\r\n else if (this.ovrColor !== other.ovrColor || this.pattern !== other.pattern || this.width !== other.width)\r\n return false;\r\n else\r\n return undefined === this.color || this.color.equals(other.color!);\r\n }\r\n\r\n public toJSON(): StyleProps {\r\n return {\r\n ovrColor: this.ovrColor,\r\n color: this.color ? this.color.toJSON() : ColorDef.white.toJSON(),\r\n pattern: undefined !== this.pattern ? this.pattern : LinePixels.Invalid,\r\n width: undefined !== this.width ? this.width : 0,\r\n };\r\n }\r\n }\r\n\r\n /** The JSON representation of a [[HiddenLine.Settings]]. */\r\n export interface SettingsProps {\r\n /** @see [[HiddenLine.Settings.visible]]. */\r\n visible?: StyleProps;\r\n /** @see [[HiddenLine.Settings.hidden]]. */\r\n hidden?: StyleProps;\r\n /** @see [[HiddenLine.Settings.transparencyThreshold. */\r\n transThreshold?: number;\r\n }\r\n\r\n /** Describes how visible and hidden edges and transparent surfaces should be rendered in \"hidden line\" and \"solid fill\" [[RenderMode]]s. */\r\n export class Settings {\r\n /** Describes how visible edges (those unobscured by other geometry) should be displayed. */\r\n public readonly visible: Style;\r\n /** Describes how hidden edges (those obscured by other geometry) should be displayed. */\r\n public readonly hidden: Style;\r\n /** A value in the range [0.0, 1.0] specifying a threshold below which transparent surfaces should not be drawn.\r\n * A value of 0.0 indicates any surface that is not 100% opaque should not be drawn.\r\n * A value of 0.25 indicates any surface that is less than 25% opaque should not be drawn.\r\n * A value of 1.0 indicates that all surfaces should be drawn regardless of transparency.\r\n * @note values will be clamped to the range [0.0, 1.0].\r\n * @note Defaults to 1.0.\r\n */\r\n public readonly transparencyThreshold: number;\r\n\r\n /** An alias for [[transparencyThreshold]]. */\r\n public get transThreshold(): number { return this.transparencyThreshold; }\r\n\r\n /** The default display settings. */\r\n public static defaults = new Settings({});\r\n\r\n /** Create a DisplaySettings from its JSON representation. */\r\n public static fromJSON(json?: SettingsProps): Settings {\r\n if (JsonUtils.isEmptyObjectOrUndefined(json))\r\n return this.defaults;\r\n else if (json instanceof Settings)\r\n return json;\r\n else\r\n return new Settings(json!);\r\n }\r\n\r\n public toJSON(): SettingsProps {\r\n const props: SettingsProps = {\r\n visible: this.visible.toJSON(),\r\n hidden: this.hidden.toJSON(),\r\n transThreshold: this.transThreshold,\r\n };\r\n\r\n return props;\r\n }\r\n\r\n /** Create a Settings equivalent to this one with the exception of those properties defined in the supplied JSON. */\r\n public override(props: SettingsProps): Settings {\r\n const visible = props.visible;\r\n const hidden = props.hidden;\r\n const transparencyThreshold = props.transThreshold;\r\n return Settings.fromJSON({\r\n visible: undefined !== visible ? visible : this.visible.toJSON(),\r\n hidden: undefined !== hidden ? hidden : this.hidden.toJSON(),\r\n transThreshold: undefined !== transparencyThreshold ? transparencyThreshold : this.transparencyThreshold,\r\n });\r\n }\r\n\r\n public equals(other: Settings): boolean {\r\n if (this === other)\r\n return true;\r\n\r\n return this.visible.equals(other.visible)\r\n && this.hidden.equals(other.hidden)\r\n && this.transparencyThreshold === other.transparencyThreshold;\r\n }\r\n\r\n public get matchesDefaults(): boolean {\r\n return this.equals(Settings.defaults);\r\n }\r\n\r\n private constructor(json: SettingsProps) {\r\n this.visible = Style.fromJSON(json.visible);\r\n this.hidden = Style.fromJSON(json.hidden, true);\r\n this.transparencyThreshold = JsonUtils.asDouble(json.transThreshold, 1.0);\r\n }\r\n }\r\n}\r\n"]}
@@ -2,6 +2,7 @@
2
2
  * @module RpcInterface
3
3
  */
4
4
  /// <reference types="node" />
5
+ import { Buffer } from "buffer";
5
6
  import { Readable } from "stream";
6
7
  import { RpcSerializedValue } from "../core/RpcMarshaling";
7
8
  import { HttpServerRequest } from "../web/WebAppRpcProtocol";
@@ -1 +1 @@
1
- {"version":3,"file":"RpcMultipart.d.ts","sourceRoot":"","sources":["../../../../src/rpc/web/RpcMultipart.ts"],"names":[],"mappings":"AAIA;;GAEG;;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,gBAAgB;AAChB,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9E;AAED,gBAAgB;AAChB,MAAM,WAAW,gBAAiB,SAAQ,QAAQ;IAChD,UAAU,IAAI;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;CACtC;AAED;;GAEG;AACH,qBAAa,YAAY;IACvB,wDAAwD;WAC1C,UAAU,CAAC,KAAK,EAAE,kBAAkB,GAAG,QAAQ;IAM7D,mDAAmD;WACrC,YAAY,CAAC,MAAM,EAAE,kBAAkB,GAAG,gBAAgB;IAIxE,2DAA2D;WACvC,YAAY,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAItF,gBAAgB;WACF,gBAAgB,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,kBAAkB;CAY/E"}
1
+ {"version":3,"file":"RpcMultipart.d.ts","sourceRoot":"","sources":["../../../../src/rpc/web/RpcMultipart.ts"],"names":[],"mappings":"AAIA;;GAEG;;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,gBAAgB;AAChB,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9E;AAED,gBAAgB;AAChB,MAAM,WAAW,gBAAiB,SAAQ,QAAQ;IAChD,UAAU,IAAI;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;CACtC;AAED;;GAEG;AACH,qBAAa,YAAY;IACvB,wDAAwD;WAC1C,UAAU,CAAC,KAAK,EAAE,kBAAkB,GAAG,QAAQ;IAM7D,mDAAmD;WACrC,YAAY,CAAC,MAAM,EAAE,kBAAkB,GAAG,gBAAgB;IAIxE,2DAA2D;WACvC,YAAY,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAItF,gBAAgB;WACF,gBAAgB,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,kBAAkB;CAY/E"}
@@ -2,6 +2,7 @@
2
2
  * @module RpcInterface
3
3
  */
4
4
  /// <reference types="node" />
5
+ import { Buffer } from "buffer";
5
6
  import { RpcSerializedValue } from "../../core/RpcMarshaling";
6
7
  /** @internal */
7
8
  export declare class RpcMultipartParser {
@@ -1 +1 @@
1
- {"version":3,"file":"RpcMultipartParser.d.ts","sourceRoot":"","sources":["../../../../../src/rpc/web/multipart/RpcMultipartParser.ts"],"names":[],"mappings":"AAIA;;GAEG;;AA+BH,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AA0B9D,gBAAgB;AAChB,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,gBAAgB,CAAgB;IACxC,OAAO,CAAC,gBAAgB,CAAgB;IACxC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,iBAAiB,CAAU;IACnC,OAAO,CAAC,mBAAmB,CAAuB;IAClD,OAAO,CAAC,mBAAmB,CAAuB;IAClD,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,YAAY,CAA8B;IAClD,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,WAAW,CAAW;IAC9B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAqB;gBAEhB,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAoC/C,KAAK,IAAI,kBAAkB;IAkNlC,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,iBAAiB;IAoBzB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,kBAAkB;CAE3B"}
1
+ {"version":3,"file":"RpcMultipartParser.d.ts","sourceRoot":"","sources":["../../../../../src/rpc/web/multipart/RpcMultipartParser.ts"],"names":[],"mappings":"AAIA;;GAEG;;AA6BH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AA0B9D,gBAAgB;AAChB,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,gBAAgB,CAAgB;IACxC,OAAO,CAAC,gBAAgB,CAAgB;IACxC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,iBAAiB,CAAU;IACnC,OAAO,CAAC,mBAAmB,CAAuB;IAClD,OAAO,CAAC,mBAAmB,CAAuB;IAClD,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,YAAY,CAA8B;IAClD,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,WAAW,CAAW;IAC9B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAqB;gBAEhB,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAoC/C,KAAK,IAAI,kBAAkB;IAkNlC,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,iBAAiB;IAoBzB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,kBAAkB;CAE3B"}
@@ -6,7 +6,7 @@ import { TransformProps } from "@itwin/core-geometry";
6
6
  import { Placement2dProps, Placement3dProps } from "../ElementProps";
7
7
  import { ElementGeometryDataEntry } from "../geometry/ElementGeometry";
8
8
  import { GeometryStreamProps } from "../geometry/GeometryStream";
9
- import { ContentFlags, EdgeType, TreeFlags } from "../tile/TileMetadata";
9
+ import { ContentFlags, TreeFlags } from "../tile/TileMetadata";
10
10
  /** Wire format describing properties common to [[PersistentGraphicsRequestProps]] and [[DynamicGraphicsRequestProps]].
11
11
  * @see [[ElementGraphicsRequestProps]] for more details.
12
12
  * @public
@@ -31,9 +31,15 @@ export interface GraphicsRequestProps {
31
31
  /** If true, surface edges will be omitted from the graphics. */
32
32
  readonly omitEdges?: boolean;
33
33
  /** If omitEdges is false, specifies the type of edges to produce. Generally determined by TileAdmin.requestElementGraphics.
34
+ * @note This uses the deleted EdgeType enum where 1 indicates non-indexed edges and 2 indicates indexed edges, to avoid breaking the RPC API.
34
35
  * @internal
35
36
  */
36
- readonly edgeType?: EdgeType;
37
+ readonly edgeType?: 1 | 2;
38
+ /** If true, and omitEdges is false, a polyface with no edge visibility info will display edges for all faces;
39
+ * if false, edges will be inferred from the polyface's topology.
40
+ * @internal
41
+ */
42
+ readonly smoothPolyfaceEdges?: boolean;
37
43
  /** If true, the element's graphics will be clipped against the iModel's project extents. */
38
44
  readonly clipToProjectExtents?: boolean;
39
45
  /** If defined, the compact string representation of a [ClipVector]($core-geometry) to be applied to the geometry to produce section-cut
@@ -1 +1 @@
1
- {"version":3,"file":"ElementGraphics.d.ts","sourceRoot":"","sources":["../../../src/tile/ElementGraphics.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEzE;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,yGAAyG;IACzG,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,+IAA+I;IAC/I,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC;;;OAGG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,yIAAyI;IACzI,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAC/B,6EAA6E;IAC7E,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC;IACrC,kFAAkF;IAClF,QAAQ,CAAC,QAAQ,CAAC,EAAE,cAAc,CAAC;IACnC,gEAAgE;IAChE,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B;;OAEG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAC7B,4FAA4F;IAC5F,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IACxC;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;;;GAIG;AACH,MAAM,WAAW,8BAA+B,SAAQ,oBAAoB;IAC1E,yEAAyE;IACzE,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;CAChC;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,kEAAkE;IAClE,MAAM,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,IAAI,EAAE,mBAAmB,CAAC;CAC3B;AAED;;;GAGG;AACH,MAAM,WAAW,wBAAwB;IACvC,kEAAkE;IAClE,MAAM,EAAE,YAAY,CAAC;IACrB,gDAAgD;IAChD,IAAI,EAAE,wBAAwB,EAAE,CAAC;CAClC;AAED;;;;;GAKG;AACH,MAAM,WAAW,2BAA4B,SAAQ,oBAAoB;IACvE,wDAAwD;IACxD,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,GAAG,wBAAwB,CAAC;IACjE;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,uGAAuG;IACvG,QAAQ,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC;IAChC;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC;CAC/B;AAED;;;;GAIG;AACH,MAAM,WAAW,6BAA8B,SAAQ,2BAA2B;IAChF,oCAAoC;IACpC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,+CAA+C;IAC/C,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;CACpD;AAED;;;;GAIG;AACH,MAAM,WAAW,6BAA8B,SAAQ,2BAA2B;IAChF,oCAAoC;IACpC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,+CAA+C;IAC/C,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;CACpD;AAED;;;;;;GAMG;AACH,oBAAY,2BAA2B,GAAG,8BAA8B,GAAG,6BAA6B,GAAG,6BAA6B,CAAC"}
1
+ {"version":3,"file":"ElementGraphics.d.ts","sourceRoot":"","sources":["../../../src/tile/ElementGraphics.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAE/D;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,yGAAyG;IACzG,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,+IAA+I;IAC/I,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC;;;OAGG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,yIAAyI;IACzI,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAC/B,6EAA6E;IAC7E,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC;IACrC,kFAAkF;IAClF,QAAQ,CAAC,QAAQ,CAAC,EAAE,cAAc,CAAC;IACnC,gEAAgE;IAChE,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAC1B;;;OAGG;IACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IACvC,4FAA4F;IAC5F,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IACxC;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;;;GAIG;AACH,MAAM,WAAW,8BAA+B,SAAQ,oBAAoB;IAC1E,yEAAyE;IACzE,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;CAChC;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,kEAAkE;IAClE,MAAM,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,IAAI,EAAE,mBAAmB,CAAC;CAC3B;AAED;;;GAGG;AACH,MAAM,WAAW,wBAAwB;IACvC,kEAAkE;IAClE,MAAM,EAAE,YAAY,CAAC;IACrB,gDAAgD;IAChD,IAAI,EAAE,wBAAwB,EAAE,CAAC;CAClC;AAED;;;;;GAKG;AACH,MAAM,WAAW,2BAA4B,SAAQ,oBAAoB;IACvE,wDAAwD;IACxD,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,GAAG,wBAAwB,CAAC;IACjE;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,uGAAuG;IACvG,QAAQ,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC;IAChC;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC;CAC/B;AAED;;;;GAIG;AACH,MAAM,WAAW,6BAA8B,SAAQ,2BAA2B;IAChF,oCAAoC;IACpC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,+CAA+C;IAC/C,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;CACpD;AAED;;;;GAIG;AACH,MAAM,WAAW,6BAA8B,SAAQ,2BAA2B;IAChF,oCAAoC;IACpC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,+CAA+C;IAC/C,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;CACpD;AAED;;;;;;GAMG;AACH,oBAAY,2BAA2B,GAAG,8BAA8B,GAAG,6BAA6B,GAAG,6BAA6B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ElementGraphics.js","sourceRoot":"","sources":["../../../src/tile/ElementGraphics.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG","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 Tile\r\n */\r\n\r\nimport { Id64String } from \"@itwin/core-bentley\";\r\nimport { TransformProps } from \"@itwin/core-geometry\";\r\nimport { Placement2dProps, Placement3dProps } from \"../ElementProps\";\r\nimport { ElementGeometryDataEntry } from \"../geometry/ElementGeometry\";\r\nimport { GeometryStreamProps } from \"../geometry/GeometryStream\";\r\nimport { ContentFlags, EdgeType, TreeFlags } from \"../tile/TileMetadata\";\r\n\r\n/** Wire format describing properties common to [[PersistentGraphicsRequestProps]] and [[DynamicGraphicsRequestProps]].\r\n * @see [[ElementGraphicsRequestProps]] for more details.\r\n * @public\r\n * @extensions\r\n */\r\nexport interface GraphicsRequestProps {\r\n /** Uniquely identifies this request among all [[ElementGraphicsRequestProps]] for a given [[IModel]]. */\r\n readonly id: string;\r\n /** Log10 of the chord tolerance with which to stroke the element's geometry. e.g., for a chord tolerance of 0.01 (10^-2) meters, supply -2. */\r\n readonly toleranceLog10: number;\r\n /** The major version of the \"iMdl\" format to use when producing the iMdl representation of the element's geometry.\r\n * If omitted, the most recent version known to the backend will be used.\r\n * @alpha\r\n */\r\n readonly formatVersion?: number;\r\n /** Optional flags. [[TreeFlags.UseProjectExtents]] has no effect. [[TreeFlags.EnforceDisplayPriority]] is not yet implemented. @alpha */\r\n readonly treeFlags?: TreeFlags;\r\n /** Optional flags. [[ContentFlags.ImprovedElision]] has no effect. @alpha */\r\n readonly contentFlags?: ContentFlags;\r\n /** Transform from element graphics to world coordinates. Defaults to identity. */\r\n readonly location?: TransformProps;\r\n /** If true, surface edges will be omitted from the graphics. */\r\n readonly omitEdges?: boolean;\r\n /** If omitEdges is false, specifies the type of edges to produce. Generally determined by TileAdmin.requestElementGraphics.\r\n * @internal\r\n */\r\n readonly edgeType?: EdgeType;\r\n /** If true, the element's graphics will be clipped against the iModel's project extents. */\r\n readonly clipToProjectExtents?: boolean;\r\n /** If defined, the compact string representation of a [ClipVector]($core-geometry) to be applied to the geometry to produce section-cut\r\n * geometry at the intersections with the clip planes. Any geometry *not* intersecting the clip planes is omitted from the tiles.\r\n * @see [ClipVector.toCompactString]($core-geometry) to produce the string representation.\r\n */\r\n readonly sectionCut?: string;\r\n}\r\n\r\n/** Wire format describing a request to produce graphics in \"iMdl\" format for a single element.\r\n * @see [[ElementGraphicsRequestProps]] for more details.\r\n * @public\r\n * @extensions\r\n */\r\nexport interface PersistentGraphicsRequestProps extends GraphicsRequestProps {\r\n /** The element whose geometry is to be used to generate the graphics. */\r\n readonly elementId: Id64String;\r\n}\r\n\r\n/** As part of a [[DynamicGraphicsRequestProps]], specifies the geometry from which to generate the graphics in JSON format.\r\n * @public\r\n * @extensions\r\n */\r\nexport interface JsonGeometryStream {\r\n /** Discriminator for [[DynamicGraphicsRequestProps.geometry]]. */\r\n format: \"json\";\r\n /** The geometry stream in JSON format. */\r\n data: GeometryStreamProps;\r\n}\r\n\r\n/** As part of a [[DynamicGraphicsRequestProps]], specifies the geometry from which to generate the graphics in binary flatbuffer-encoded format.\r\n * @public\r\n * @extensions\r\n */\r\nexport interface FlatBufferGeometryStream {\r\n /** Discriminator for [[DynamicGraphicsRequestProps.geometry]]. */\r\n format: \"flatbuffer\";\r\n /** The geometry stream in flatbuffer format. */\r\n data: ElementGeometryDataEntry[];\r\n}\r\n\r\n/** Wire format describing a request to produce graphics in \"iMdl\" format for a single geometry stream.\r\n * @see [[DynamicGraphicsRequest2dProps]] and [[DynamicGraphicsRequest3dProps]].\r\n * @see [[ElementGraphicsRequestProps]] for more details.\r\n * @public\r\n * @extensions\r\n */\r\nexport interface DynamicGraphicsRequestProps extends GraphicsRequestProps {\r\n /** The geometry from which to generate the graphics. */\r\n readonly geometry: JsonGeometryStream | FlatBufferGeometryStream;\r\n /** The category to which the geometry belongs. This is required to identify a persistent [SpatialCategory]($backend) for 3d geometry or\r\n * [DrawingCategory]($backend) for 2d geometry.\r\n */\r\n readonly categoryId: Id64String;\r\n /** If specified, tools will recognize the generated graphics as being associated with this element. */\r\n readonly elementId?: Id64String;\r\n /** If specified, tools will recognize the generated graphics as being associated with this model.\r\n * It should identify a 3d model for 3d geometry or a 2d model for 2d geometry.\r\n * It needn't identify a persistent model - it can be a transient Id.\r\n */\r\n readonly modelId?: Id64String;\r\n}\r\n\r\n/** Wire format describing a request to produce graphics in \"iMdl\" format for a 2d geometry stream.\r\n * @see [[ElementGraphicsRequestProps]] for more details.\r\n * @public\r\n * @extensions\r\n */\r\nexport interface DynamicGraphicsRequest2dProps extends DynamicGraphicsRequestProps {\r\n /** Specifies the geometry is 2d. */\r\n readonly type: \"2d\";\r\n /** The origin and rotation of the geometry. */\r\n readonly placement: Omit<Placement2dProps, \"bbox\">;\r\n}\r\n\r\n/** Wire format describing a request to produce graphics in \"iMdl\" format for a 3d geometry stream.\r\n * @see [[ElementGraphicsRequestProps]] for more details.\r\n * @public\r\n * @extensions\r\n */\r\nexport interface DynamicGraphicsRequest3dProps extends DynamicGraphicsRequestProps {\r\n /** Specifies the geometry is 3d. */\r\n readonly type: \"3d\";\r\n /** The origin and rotation of the geometry. */\r\n readonly placement: Omit<Placement3dProps, \"bbox\">;\r\n}\r\n\r\n/** Wire format describing a request to produce graphics in \"iMdl\" format for a single element or geometry stream.\r\n * @note Every request must have an `id` that is unique amongst all extant requests for a given [[IModel]].\r\n * @see [TileAdmin.requestElementGraphics]($frontend) and [IModelDb.generateElementGraphics]($backend) to fulfill such a request.\r\n * @see [readElementGraphics]($frontend) to convert the result of a request to a [RenderGraphic]($frontend) for display.\r\n * @public\r\n * @extensions\r\n */\r\nexport type ElementGraphicsRequestProps = PersistentGraphicsRequestProps | DynamicGraphicsRequest2dProps | DynamicGraphicsRequest3dProps;\r\n"]}
1
+ {"version":3,"file":"ElementGraphics.js","sourceRoot":"","sources":["../../../src/tile/ElementGraphics.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG","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 Tile\r\n */\r\n\r\nimport { Id64String } from \"@itwin/core-bentley\";\r\nimport { TransformProps } from \"@itwin/core-geometry\";\r\nimport { Placement2dProps, Placement3dProps } from \"../ElementProps\";\r\nimport { ElementGeometryDataEntry } from \"../geometry/ElementGeometry\";\r\nimport { GeometryStreamProps } from \"../geometry/GeometryStream\";\r\nimport { ContentFlags, TreeFlags } from \"../tile/TileMetadata\";\r\n\r\n/** Wire format describing properties common to [[PersistentGraphicsRequestProps]] and [[DynamicGraphicsRequestProps]].\r\n * @see [[ElementGraphicsRequestProps]] for more details.\r\n * @public\r\n * @extensions\r\n */\r\nexport interface GraphicsRequestProps {\r\n /** Uniquely identifies this request among all [[ElementGraphicsRequestProps]] for a given [[IModel]]. */\r\n readonly id: string;\r\n /** Log10 of the chord tolerance with which to stroke the element's geometry. e.g., for a chord tolerance of 0.01 (10^-2) meters, supply -2. */\r\n readonly toleranceLog10: number;\r\n /** The major version of the \"iMdl\" format to use when producing the iMdl representation of the element's geometry.\r\n * If omitted, the most recent version known to the backend will be used.\r\n * @alpha\r\n */\r\n readonly formatVersion?: number;\r\n /** Optional flags. [[TreeFlags.UseProjectExtents]] has no effect. [[TreeFlags.EnforceDisplayPriority]] is not yet implemented. @alpha */\r\n readonly treeFlags?: TreeFlags;\r\n /** Optional flags. [[ContentFlags.ImprovedElision]] has no effect. @alpha */\r\n readonly contentFlags?: ContentFlags;\r\n /** Transform from element graphics to world coordinates. Defaults to identity. */\r\n readonly location?: TransformProps;\r\n /** If true, surface edges will be omitted from the graphics. */\r\n readonly omitEdges?: boolean;\r\n /** If omitEdges is false, specifies the type of edges to produce. Generally determined by TileAdmin.requestElementGraphics.\r\n * @note This uses the deleted EdgeType enum where 1 indicates non-indexed edges and 2 indicates indexed edges, to avoid breaking the RPC API.\r\n * @internal\r\n */\r\n readonly edgeType?: 1 | 2;\r\n /** If true, and omitEdges is false, a polyface with no edge visibility info will display edges for all faces;\r\n * if false, edges will be inferred from the polyface's topology.\r\n * @internal\r\n */\r\n readonly smoothPolyfaceEdges?: boolean;\r\n /** If true, the element's graphics will be clipped against the iModel's project extents. */\r\n readonly clipToProjectExtents?: boolean;\r\n /** If defined, the compact string representation of a [ClipVector]($core-geometry) to be applied to the geometry to produce section-cut\r\n * geometry at the intersections with the clip planes. Any geometry *not* intersecting the clip planes is omitted from the tiles.\r\n * @see [ClipVector.toCompactString]($core-geometry) to produce the string representation.\r\n */\r\n readonly sectionCut?: string;\r\n}\r\n\r\n/** Wire format describing a request to produce graphics in \"iMdl\" format for a single element.\r\n * @see [[ElementGraphicsRequestProps]] for more details.\r\n * @public\r\n * @extensions\r\n */\r\nexport interface PersistentGraphicsRequestProps extends GraphicsRequestProps {\r\n /** The element whose geometry is to be used to generate the graphics. */\r\n readonly elementId: Id64String;\r\n}\r\n\r\n/** As part of a [[DynamicGraphicsRequestProps]], specifies the geometry from which to generate the graphics in JSON format.\r\n * @public\r\n * @extensions\r\n */\r\nexport interface JsonGeometryStream {\r\n /** Discriminator for [[DynamicGraphicsRequestProps.geometry]]. */\r\n format: \"json\";\r\n /** The geometry stream in JSON format. */\r\n data: GeometryStreamProps;\r\n}\r\n\r\n/** As part of a [[DynamicGraphicsRequestProps]], specifies the geometry from which to generate the graphics in binary flatbuffer-encoded format.\r\n * @public\r\n * @extensions\r\n */\r\nexport interface FlatBufferGeometryStream {\r\n /** Discriminator for [[DynamicGraphicsRequestProps.geometry]]. */\r\n format: \"flatbuffer\";\r\n /** The geometry stream in flatbuffer format. */\r\n data: ElementGeometryDataEntry[];\r\n}\r\n\r\n/** Wire format describing a request to produce graphics in \"iMdl\" format for a single geometry stream.\r\n * @see [[DynamicGraphicsRequest2dProps]] and [[DynamicGraphicsRequest3dProps]].\r\n * @see [[ElementGraphicsRequestProps]] for more details.\r\n * @public\r\n * @extensions\r\n */\r\nexport interface DynamicGraphicsRequestProps extends GraphicsRequestProps {\r\n /** The geometry from which to generate the graphics. */\r\n readonly geometry: JsonGeometryStream | FlatBufferGeometryStream;\r\n /** The category to which the geometry belongs. This is required to identify a persistent [SpatialCategory]($backend) for 3d geometry or\r\n * [DrawingCategory]($backend) for 2d geometry.\r\n */\r\n readonly categoryId: Id64String;\r\n /** If specified, tools will recognize the generated graphics as being associated with this element. */\r\n readonly elementId?: Id64String;\r\n /** If specified, tools will recognize the generated graphics as being associated with this model.\r\n * It should identify a 3d model for 3d geometry or a 2d model for 2d geometry.\r\n * It needn't identify a persistent model - it can be a transient Id.\r\n */\r\n readonly modelId?: Id64String;\r\n}\r\n\r\n/** Wire format describing a request to produce graphics in \"iMdl\" format for a 2d geometry stream.\r\n * @see [[ElementGraphicsRequestProps]] for more details.\r\n * @public\r\n * @extensions\r\n */\r\nexport interface DynamicGraphicsRequest2dProps extends DynamicGraphicsRequestProps {\r\n /** Specifies the geometry is 2d. */\r\n readonly type: \"2d\";\r\n /** The origin and rotation of the geometry. */\r\n readonly placement: Omit<Placement2dProps, \"bbox\">;\r\n}\r\n\r\n/** Wire format describing a request to produce graphics in \"iMdl\" format for a 3d geometry stream.\r\n * @see [[ElementGraphicsRequestProps]] for more details.\r\n * @public\r\n * @extensions\r\n */\r\nexport interface DynamicGraphicsRequest3dProps extends DynamicGraphicsRequestProps {\r\n /** Specifies the geometry is 3d. */\r\n readonly type: \"3d\";\r\n /** The origin and rotation of the geometry. */\r\n readonly placement: Omit<Placement3dProps, \"bbox\">;\r\n}\r\n\r\n/** Wire format describing a request to produce graphics in \"iMdl\" format for a single element or geometry stream.\r\n * @note Every request must have an `id` that is unique amongst all extant requests for a given [[IModel]].\r\n * @see [TileAdmin.requestElementGraphics]($frontend) and [IModelDb.generateElementGraphics]($backend) to fulfill such a request.\r\n * @see [readElementGraphics]($frontend) to convert the result of a request to a [RenderGraphic]($frontend) for display.\r\n * @public\r\n * @extensions\r\n */\r\nexport type ElementGraphicsRequestProps = PersistentGraphicsRequestProps | DynamicGraphicsRequest2dProps | DynamicGraphicsRequest3dProps;\r\n"]}
@@ -43,6 +43,7 @@ export interface TileOptions {
43
43
  readonly disableMagnification: boolean;
44
44
  readonly alwaysSubdivideIncompleteTiles: boolean;
45
45
  readonly enableIndexedEdges: boolean;
46
+ readonly generateAllPolyfaceEdges: boolean;
46
47
  }
47
48
  /** @internal */
48
49
  export declare namespace TileOptions {
@@ -54,13 +55,17 @@ export declare namespace TileOptions {
54
55
  */
55
56
  function fromTreeIdAndContentId(treeId: string, contentId: string): TileOptions;
56
57
  }
57
- /** @internal */
58
- export declare function parseTileTreeIdAndContentId(treeId: string, contentId: string): {
58
+ /** The result of [[parseTileTreeIdAndContentId]].
59
+ * @internal
60
+ */
61
+ export interface ParsedTileTreeIdAndContentId {
59
62
  modelId: Id64String;
60
63
  treeId: IModelTileTreeId;
61
64
  contentId: ContentIdSpec;
62
65
  options: TileOptions;
63
- };
66
+ }
67
+ /** @internal */
68
+ export declare function parseTileTreeIdAndContentId(treeId: string, contentId: string): ParsedTileTreeIdAndContentId;
64
69
  /** @internal */
65
70
  export declare const defaultTileOptions: TileOptions;
66
71
  /** @internal */
@@ -75,16 +80,16 @@ export declare enum TreeFlags {
75
80
  OptimizeBRepProcessing = 4,
76
81
  UseLargerTiles = 8
77
82
  }
78
- /** Describes the type of edges to include in the graphics for a tile tree.
79
- * @alpha
83
+ /** Describes how edges should be produced for tiles in a tile tree.
84
+ * @internal
80
85
  */
81
- export declare enum EdgeType {
82
- /** Omit all edges. */
83
- None = 0,
84
- /** Include non-indexed edges, which consume more memory and are less efficient to draw than [[Indexed]] edges, but are compatible with WebGL 1. */
85
- NonIndexed = 1,
86
- /** Include indexed edges, which use less memory and draw more efficiently than [[NonIndexed]] edges, but require WebGL 2. */
87
- Indexed = 2
86
+ export interface EdgeOptions {
87
+ /** Generate indexed edges. These use less memory and draw more efficiently than non-indexed edges, but require WebGL 2.
88
+ * Generally the display system will determine which to use based on the device's capabilities and application configuration.
89
+ */
90
+ indexed: boolean;
91
+ /** For polyfaces that lack edge visibility information, generate edges for all faces; otherwise, infer edges from mesh topology. */
92
+ smooth: boolean;
88
93
  }
89
94
  /** Describes a tile tree used to draw the contents of a model, possibly with embedded animation.
90
95
  * @internal
@@ -93,7 +98,7 @@ export interface PrimaryTileTreeId {
93
98
  /** Describes the type of tile tree. */
94
99
  type: BatchType.Primary;
95
100
  /** The type of edges to include in tile content. */
96
- edges: EdgeType;
101
+ edges: EdgeOptions | false;
97
102
  /** Id of the [DisplayStyle]($backend) or [RenderTimeline]($backend) element holding the [[RenderSchedule]] script to be applied to the tiles. */
98
103
  animationId?: Id64String;
99
104
  /** If true, meshes within the tiles will be grouped into nodes based on the display priority associated with their subcategories,
@@ -1 +1 @@
1
- {"version":3,"file":"TileMetadata.d.ts","sourceRoot":"","sources":["../../../src/tile/TileMetadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TileMetadata.d.ts","sourceRoot":"","sources":["../../../src/tile/TileMetadata.ts"],"names":[],"mappings":"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"}