@itwin/core-frontend 4.0.0-dev.50 → 4.0.0-dev.52

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 (97) hide show
  1. package/lib/cjs/DisplayStyleState.d.ts +1 -1
  2. package/lib/cjs/DisplayStyleState.d.ts.map +1 -1
  3. package/lib/cjs/DisplayStyleState.js +1 -1
  4. package/lib/cjs/DisplayStyleState.js.map +1 -1
  5. package/lib/cjs/DrawingViewState.d.ts +2 -2
  6. package/lib/cjs/DrawingViewState.d.ts.map +1 -1
  7. package/lib/cjs/DrawingViewState.js +3 -2
  8. package/lib/cjs/DrawingViewState.js.map +1 -1
  9. package/lib/cjs/IModelConnection.d.ts +4 -1
  10. package/lib/cjs/IModelConnection.d.ts.map +1 -1
  11. package/lib/cjs/IModelConnection.js +7 -1
  12. package/lib/cjs/IModelConnection.js.map +1 -1
  13. package/lib/cjs/SheetViewState.d.ts.map +1 -1
  14. package/lib/cjs/SheetViewState.js +1 -0
  15. package/lib/cjs/SheetViewState.js.map +1 -1
  16. package/lib/cjs/ViewCreator2d.d.ts.map +1 -1
  17. package/lib/cjs/ViewCreator2d.js +2 -0
  18. package/lib/cjs/ViewCreator2d.js.map +1 -1
  19. package/lib/cjs/ViewCreator3d.d.ts.map +1 -1
  20. package/lib/cjs/ViewCreator3d.js +1 -0
  21. package/lib/cjs/ViewCreator3d.js.map +1 -1
  22. package/lib/cjs/ViewManager.d.ts +8 -10
  23. package/lib/cjs/ViewManager.d.ts.map +1 -1
  24. package/lib/cjs/ViewManager.js +3 -6
  25. package/lib/cjs/ViewManager.js.map +1 -1
  26. package/lib/cjs/ViewState.d.ts +2 -3
  27. package/lib/cjs/ViewState.d.ts.map +1 -1
  28. package/lib/cjs/ViewState.js +2 -3
  29. package/lib/cjs/ViewState.js.map +1 -1
  30. package/lib/cjs/Viewport.d.ts +17 -12
  31. package/lib/cjs/Viewport.d.ts.map +1 -1
  32. package/lib/cjs/Viewport.js +17 -12
  33. package/lib/cjs/Viewport.js.map +1 -1
  34. package/lib/cjs/render/MockRender.d.ts +15 -11
  35. package/lib/cjs/render/MockRender.d.ts.map +1 -1
  36. package/lib/cjs/render/MockRender.js +16 -8
  37. package/lib/cjs/render/MockRender.js.map +1 -1
  38. package/lib/cjs/render/RenderMemory.d.ts +52 -3
  39. package/lib/cjs/render/RenderMemory.d.ts.map +1 -1
  40. package/lib/cjs/render/RenderMemory.js +53 -3
  41. package/lib/cjs/render/RenderMemory.js.map +1 -1
  42. package/lib/cjs/tile/TileTreeReference.d.ts +1 -1
  43. package/lib/cjs/tile/TileTreeReference.d.ts.map +1 -1
  44. package/lib/cjs/tile/TileTreeReference.js +1 -1
  45. package/lib/cjs/tile/TileTreeReference.js.map +1 -1
  46. package/lib/cjs/tools/ElementSetTool.d.ts.map +1 -1
  47. package/lib/cjs/tools/ElementSetTool.js +1 -0
  48. package/lib/cjs/tools/ElementSetTool.js.map +1 -1
  49. package/lib/esm/DisplayStyleState.d.ts +1 -1
  50. package/lib/esm/DisplayStyleState.d.ts.map +1 -1
  51. package/lib/esm/DisplayStyleState.js +1 -1
  52. package/lib/esm/DisplayStyleState.js.map +1 -1
  53. package/lib/esm/DrawingViewState.d.ts +2 -2
  54. package/lib/esm/DrawingViewState.d.ts.map +1 -1
  55. package/lib/esm/DrawingViewState.js +3 -2
  56. package/lib/esm/DrawingViewState.js.map +1 -1
  57. package/lib/esm/IModelConnection.d.ts +4 -1
  58. package/lib/esm/IModelConnection.d.ts.map +1 -1
  59. package/lib/esm/IModelConnection.js +7 -1
  60. package/lib/esm/IModelConnection.js.map +1 -1
  61. package/lib/esm/SheetViewState.d.ts.map +1 -1
  62. package/lib/esm/SheetViewState.js +1 -0
  63. package/lib/esm/SheetViewState.js.map +1 -1
  64. package/lib/esm/ViewCreator2d.d.ts.map +1 -1
  65. package/lib/esm/ViewCreator2d.js +2 -0
  66. package/lib/esm/ViewCreator2d.js.map +1 -1
  67. package/lib/esm/ViewCreator3d.d.ts.map +1 -1
  68. package/lib/esm/ViewCreator3d.js +1 -0
  69. package/lib/esm/ViewCreator3d.js.map +1 -1
  70. package/lib/esm/ViewManager.d.ts +8 -10
  71. package/lib/esm/ViewManager.d.ts.map +1 -1
  72. package/lib/esm/ViewManager.js +3 -6
  73. package/lib/esm/ViewManager.js.map +1 -1
  74. package/lib/esm/ViewState.d.ts +2 -3
  75. package/lib/esm/ViewState.d.ts.map +1 -1
  76. package/lib/esm/ViewState.js +2 -3
  77. package/lib/esm/ViewState.js.map +1 -1
  78. package/lib/esm/Viewport.d.ts +17 -12
  79. package/lib/esm/Viewport.d.ts.map +1 -1
  80. package/lib/esm/Viewport.js +17 -12
  81. package/lib/esm/Viewport.js.map +1 -1
  82. package/lib/esm/render/MockRender.d.ts +15 -11
  83. package/lib/esm/render/MockRender.d.ts.map +1 -1
  84. package/lib/esm/render/MockRender.js +16 -8
  85. package/lib/esm/render/MockRender.js.map +1 -1
  86. package/lib/esm/render/RenderMemory.d.ts +52 -3
  87. package/lib/esm/render/RenderMemory.d.ts.map +1 -1
  88. package/lib/esm/render/RenderMemory.js +53 -3
  89. package/lib/esm/render/RenderMemory.js.map +1 -1
  90. package/lib/esm/tile/TileTreeReference.d.ts +1 -1
  91. package/lib/esm/tile/TileTreeReference.d.ts.map +1 -1
  92. package/lib/esm/tile/TileTreeReference.js +1 -1
  93. package/lib/esm/tile/TileTreeReference.js.map +1 -1
  94. package/lib/esm/tools/ElementSetTool.d.ts.map +1 -1
  95. package/lib/esm/tools/ElementSetTool.js +1 -0
  96. package/lib/esm/tools/ElementSetTool.js.map +1 -1
  97. package/package.json +19 -19
@@ -5,7 +5,7 @@ import { IModelConnection } from "../IModelConnection";
5
5
  import { ViewRect } from "../ViewRect";
6
6
  import { Decorations } from "./Decorations";
7
7
  import { GraphicBranch, GraphicBranchOptions } from "./GraphicBranch";
8
- import { CustomGraphicBuilderOptions, ViewportGraphicBuilderOptions } from "./GraphicBuilder";
8
+ import { CustomGraphicBuilderOptions, GraphicBuilder, ViewportGraphicBuilderOptions } from "./GraphicBuilder";
9
9
  import { Pixel } from "./Pixel";
10
10
  import { PrimitiveBuilder } from "./primitives/geometry/GeometryListBuilder";
11
11
  import { PointCloudArgs } from "./primitives/PointCloudPrimitive";
@@ -27,6 +27,7 @@ import { Scene } from "./Scene";
27
27
  * (1) If overriding anything in the implementation supplied herein, pass a SystemFactory function to MockRender.App.systemFactory.
28
28
  * (2) Call MockRender.App.startup() instead of IModelApp.startup() before tests begin.
29
29
  * (3) Likewise call MockRender.App.shutdown() when finished. This resets the SystemFactory to its default.
30
+ * @note The APIs within this namespace are intended *strictly* for use with unit tests.
30
31
  * @internal
31
32
  */
32
33
  export declare namespace MockRender {
@@ -66,19 +67,16 @@ export declare namespace MockRender {
66
67
  class Builder extends PrimitiveBuilder {
67
68
  constructor(system: System, options: CustomGraphicBuilderOptions | ViewportGraphicBuilderOptions);
68
69
  }
69
- /** @internal */
70
70
  class Graphic extends RenderGraphic {
71
71
  constructor();
72
72
  dispose(): void;
73
73
  collectStatistics(_stats: RenderMemory.Statistics): void;
74
74
  }
75
- /** @internal */
76
75
  class List extends Graphic {
77
76
  readonly graphics: RenderGraphic[];
78
77
  constructor(graphics: RenderGraphic[]);
79
78
  dispose(): void;
80
79
  }
81
- /** @internal */
82
80
  class Branch extends Graphic {
83
81
  readonly branch: GraphicBranch;
84
82
  readonly transform: Transform;
@@ -86,7 +84,6 @@ export declare namespace MockRender {
86
84
  constructor(branch: GraphicBranch, transform: Transform, options?: GraphicBranchOptions | undefined);
87
85
  dispose(): void;
88
86
  }
89
- /** @internal */
90
87
  class Batch extends Graphic {
91
88
  readonly graphic: RenderGraphic;
92
89
  readonly featureTable: RenderFeatureTable;
@@ -104,34 +101,41 @@ export declare namespace MockRender {
104
101
  dispose(): void;
105
102
  collectStatistics(): void;
106
103
  }
107
- /** @internal */
108
104
  class System extends RenderSystem {
109
105
  get isValid(): boolean;
110
106
  dispose(): void;
111
107
  get maxTextureSize(): number;
112
108
  constructor();
109
+ /** @internal */
113
110
  doIdleWork(): boolean;
111
+ /** @internal */
114
112
  createTarget(canvas: HTMLCanvasElement): OnScreenTarget;
113
+ /** @internal */
115
114
  createOffscreenTarget(rect: ViewRect): RenderTarget;
116
- createGraphic(options: CustomGraphicBuilderOptions | ViewportGraphicBuilderOptions): Builder;
115
+ createGraphic(options: CustomGraphicBuilderOptions | ViewportGraphicBuilderOptions): GraphicBuilder;
117
116
  createGraphicList(primitives: RenderGraphic[]): List;
118
117
  createGraphicBranch(branch: GraphicBranch, transform: Transform, options?: GraphicBranchOptions): Branch;
119
118
  createBatch(graphic: RenderGraphic, features: RenderFeatureTable, range: ElementAlignedBox3d): Batch;
119
+ /** @internal */
120
120
  createMesh(_params: MeshParams): Graphic;
121
+ /** @internal */
121
122
  createPolyline(_params: PolylineParams): Graphic;
123
+ /** @internal */
122
124
  createPointString(_params: PointStringParams): Graphic;
125
+ /** @internal */
123
126
  createPointCloud(_args: PointCloudArgs, _imodel: IModelConnection): Graphic;
124
127
  createRenderGraphic(): Graphic;
128
+ /** @internal */
125
129
  createMeshGeometry(): Geometry;
130
+ /** @internal */
126
131
  createPolylineGeometry(): Geometry;
132
+ /** @internal */
127
133
  createPointStringGeometry(): Geometry;
134
+ /** @internal */
128
135
  createAreaPattern(): AreaPattern;
129
136
  }
130
- /** @internal */
131
137
  type SystemFactory = () => RenderSystem;
132
- /** An implementation of IModelApp which uses a MockRender.System by default.
133
- * @internal
134
- */
138
+ /** An implementation of IModelApp which uses a MockRender.System by default. */
135
139
  class App {
136
140
  static systemFactory: SystemFactory;
137
141
  static startup(opts?: IModelAppOptions): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"MockRender.d.ts","sourceRoot":"","sources":["../../../src/render/MockRender.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MockRender.d.ts","sourceRoot":"","sources":["../../../src/render/MockRender.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,9 @@
2
2
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
3
  * See LICENSE.md in the project root for license terms and full copyright notice.
4
4
  *--------------------------------------------------------------------------------------------*/
5
+ /** @packageDocumentation
6
+ * @module Utils
7
+ */
5
8
  import { dispose } from "@itwin/core-bentley";
6
9
  import { EmptyLocalization } from "@itwin/core-common";
7
10
  import { IModelApp } from "../IModelApp";
@@ -19,6 +22,7 @@ import { RenderTarget } from "./RenderTarget";
19
22
  * (1) If overriding anything in the implementation supplied herein, pass a SystemFactory function to MockRender.App.systemFactory.
20
23
  * (2) Call MockRender.App.startup() instead of IModelApp.startup() before tests begin.
21
24
  * (3) Likewise call MockRender.App.shutdown() when finished. This resets the SystemFactory to its default.
25
+ * @note The APIs within this namespace are intended *strictly* for use with unit tests.
22
26
  * @internal
23
27
  */
24
28
  export var MockRender;
@@ -71,14 +75,12 @@ export var MockRender;
71
75
  }
72
76
  }
73
77
  MockRender.Builder = Builder;
74
- /** @internal */
75
78
  class Graphic extends RenderGraphic {
76
79
  constructor() { super(); }
77
80
  dispose() { }
78
81
  collectStatistics(_stats) { }
79
82
  }
80
83
  MockRender.Graphic = Graphic;
81
- /** @internal */
82
84
  class List extends Graphic {
83
85
  constructor(graphics) {
84
86
  super();
@@ -91,7 +93,6 @@ export var MockRender;
91
93
  }
92
94
  }
93
95
  MockRender.List = List;
94
- /** @internal */
95
96
  class Branch extends Graphic {
96
97
  constructor(branch, transform, options) {
97
98
  super();
@@ -102,7 +103,6 @@ export var MockRender;
102
103
  dispose() { this.branch.dispose(); }
103
104
  }
104
105
  MockRender.Branch = Branch;
105
- /** @internal */
106
106
  class Batch extends Graphic {
107
107
  constructor(graphic, featureTable, range) {
108
108
  super();
@@ -127,14 +127,16 @@ export var MockRender;
127
127
  collectStatistics() { }
128
128
  }
129
129
  MockRender.AreaPattern = AreaPattern;
130
- /** @internal */
131
130
  class System extends RenderSystem {
132
131
  get isValid() { return true; }
133
132
  dispose() { }
134
133
  get maxTextureSize() { return 4096; }
135
134
  constructor() { super(); }
135
+ /** @internal */
136
136
  doIdleWork() { return false; }
137
+ /** @internal */
137
138
  createTarget(canvas) { return new OnScreenTarget(this, canvas); }
139
+ /** @internal */
138
140
  createOffscreenTarget(rect) { return new OffScreenTarget(this, rect); }
139
141
  createGraphic(options) {
140
142
  return new Builder(this, options);
@@ -142,20 +144,26 @@ export var MockRender;
142
144
  createGraphicList(primitives) { return new List(primitives); }
143
145
  createGraphicBranch(branch, transform, options) { return new Branch(branch, transform, options); }
144
146
  createBatch(graphic, features, range) { return new Batch(graphic, features, range); }
147
+ /** @internal */
145
148
  createMesh(_params) { return new Graphic(); }
149
+ /** @internal */
146
150
  createPolyline(_params) { return new Graphic(); }
151
+ /** @internal */
147
152
  createPointString(_params) { return new Graphic(); }
153
+ /** @internal */
148
154
  createPointCloud(_args, _imodel) { return new Graphic(); }
149
155
  createRenderGraphic() { return new Graphic(); }
156
+ /** @internal */
150
157
  createMeshGeometry() { return new Geometry(); }
158
+ /** @internal */
151
159
  createPolylineGeometry() { return new Geometry(); }
160
+ /** @internal */
152
161
  createPointStringGeometry() { return new Geometry(); }
162
+ /** @internal */
153
163
  createAreaPattern() { return new AreaPattern(); }
154
164
  }
155
165
  MockRender.System = System;
156
- /** An implementation of IModelApp which uses a MockRender.System by default.
157
- * @internal
158
- */
166
+ /** An implementation of IModelApp which uses a MockRender.System by default. */
159
167
  class App {
160
168
  static async startup(opts) {
161
169
  opts = opts ? opts : {};
@@ -1 +1 @@
1
- {"version":3,"file":"MockRender.js","sourceRoot":"","sources":["../../../src/render/MockRender.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\r\nimport { dispose } from \"@itwin/core-bentley\";\r\nimport { Transform } from \"@itwin/core-geometry\";\r\nimport { ElementAlignedBox3d, EmptyLocalization, RenderFeatureTable } from \"@itwin/core-common\";\r\nimport { IModelApp, IModelAppOptions } from \"../IModelApp\";\r\nimport { IModelConnection } from \"../IModelConnection\";\r\nimport { ViewRect } from \"../ViewRect\";\r\nimport { Decorations } from \"./Decorations\";\r\nimport { GraphicBranch, GraphicBranchOptions } from \"./GraphicBranch\";\r\nimport { CustomGraphicBuilderOptions, ViewportGraphicBuilderOptions } from \"./GraphicBuilder\";\r\nimport { Pixel } from \"./Pixel\";\r\nimport { PrimitiveBuilder } from \"./primitives/geometry/GeometryListBuilder\";\r\nimport { PointCloudArgs } from \"./primitives/PointCloudPrimitive\";\r\nimport { PointStringParams } from \"./primitives/PointStringParams\";\r\nimport { PolylineParams } from \"./primitives/PolylineParams\";\r\nimport { MeshParams } from \"./primitives/VertexTable\";\r\nimport { GraphicList, RenderGraphic } from \"./RenderGraphic\";\r\nimport { RenderMemory } from \"./RenderMemory\";\r\nimport { RenderPlan } from \"./RenderPlan\";\r\nimport { RenderAreaPattern, RenderGeometry, RenderSystem } from \"./RenderSystem\";\r\nimport { RenderTarget } from \"./RenderTarget\";\r\nimport { Scene } from \"./Scene\";\r\n\r\n/** Contains extensible mock implementations of the various components of a RenderSystem, intended for use in tests.\r\n * Use these for tests instead of the default RenderSystem wherever possible because:\r\n * (1) Electron has a bug on Windows in which it fails to obtain a WebGLRenderingContext when running inside a VM (e.g., during CI job); and\r\n * (2) To decouple the logic which uses aspects of the RenderSystem from the full implementation.\r\n * Any and all of these types can be extended for the purposes of specific tests.\r\n * To use this:\r\n * (1) If overriding anything in the implementation supplied herein, pass a SystemFactory function to MockRender.App.systemFactory.\r\n * (2) Call MockRender.App.startup() instead of IModelApp.startup() before tests begin.\r\n * (3) Likewise call MockRender.App.shutdown() when finished. This resets the SystemFactory to its default.\r\n * @internal\r\n */\r\nexport namespace MockRender {\r\n /** @internal */\r\n export abstract class Target extends RenderTarget {\r\n protected constructor(private readonly _system: RenderSystem) { super(); }\r\n\r\n public get renderSystem(): RenderSystem { return this._system; }\r\n public get wantInvertBlackBackground() { return false; }\r\n public get analysisFraction() { return 0; }\r\n public set analysisFraction(_fraction: number) { }\r\n public changeScene(_scene: Scene) { }\r\n public changeDynamics(_dynamics?: GraphicList) { }\r\n public changeDecorations(_decs: Decorations) { }\r\n public changeRenderPlan(_plan: RenderPlan) { }\r\n public drawFrame(_sceneTime?: number) { }\r\n public updateViewRect() { return false; }\r\n public readPixels(_rect: ViewRect, _selector: Pixel.Selector, receiver: Pixel.Receiver, _excludeNonLocatable: boolean) { receiver(undefined); }\r\n public get screenSpaceEffects(): Iterable<string> { return []; }\r\n public set screenSpaceEffects(_effects: Iterable<string>) { }\r\n }\r\n\r\n /** @internal */\r\n export class OnScreenTarget extends Target {\r\n public constructor(system: RenderSystem, private readonly _canvas: HTMLCanvasElement) { super(system); }\r\n\r\n public get viewRect() { return new ViewRect(0, 0, this._canvas.clientWidth, this._canvas.clientHeight); }\r\n public setViewRect(_rect: ViewRect, _temp: boolean) { }\r\n }\r\n\r\n /** @internal */\r\n export class OffScreenTarget extends Target {\r\n public constructor(system: RenderSystem, private readonly _viewRect: ViewRect) { super(system); }\r\n\r\n public get viewRect() { return this._viewRect; }\r\n public setViewRect(rect: ViewRect, _temp: boolean) { this._viewRect.setFrom(rect); }\r\n }\r\n\r\n /** @internal */\r\n export class Builder extends PrimitiveBuilder {\r\n public constructor(system: System, options: CustomGraphicBuilderOptions | ViewportGraphicBuilderOptions) {\r\n super(system, options);\r\n }\r\n }\r\n\r\n /** @internal */\r\n export class Graphic extends RenderGraphic {\r\n public constructor() { super(); }\r\n\r\n public dispose() { }\r\n public collectStatistics(_stats: RenderMemory.Statistics): void { }\r\n }\r\n\r\n /** @internal */\r\n export class List extends Graphic {\r\n public constructor(public readonly graphics: RenderGraphic[]) { super(); }\r\n\r\n public override dispose() {\r\n for (const graphic of this.graphics)\r\n dispose(graphic);\r\n\r\n this.graphics.length = 0;\r\n }\r\n }\r\n\r\n /** @internal */\r\n export class Branch extends Graphic {\r\n public constructor(public readonly branch: GraphicBranch, public readonly transform: Transform, public readonly options?: GraphicBranchOptions) { super(); }\r\n\r\n public override dispose() { this.branch.dispose(); }\r\n }\r\n\r\n /** @internal */\r\n export class Batch extends Graphic {\r\n public constructor(public readonly graphic: RenderGraphic, public readonly featureTable: RenderFeatureTable, public readonly range: ElementAlignedBox3d) { super(); }\r\n\r\n public override dispose() {\r\n dispose(this.graphic);\r\n }\r\n }\r\n\r\n /** @internal */\r\n export class Geometry implements RenderGeometry {\r\n public dispose(): void { }\r\n public collectStatistics(): void { }\r\n }\r\n\r\n /** @internal */\r\n export class AreaPattern implements RenderAreaPattern {\r\n public dispose(): void { }\r\n public collectStatistics(): void { }\r\n }\r\n\r\n /** @internal */\r\n export class System extends RenderSystem {\r\n public get isValid() { return true; }\r\n public dispose(): void { }\r\n public override get maxTextureSize() { return 4096; }\r\n\r\n public constructor() { super(); }\r\n\r\n public doIdleWork(): boolean { return false; }\r\n\r\n public createTarget(canvas: HTMLCanvasElement): OnScreenTarget { return new OnScreenTarget(this, canvas); }\r\n public createOffscreenTarget(rect: ViewRect): RenderTarget { return new OffScreenTarget(this, rect); }\r\n\r\n public createGraphic(options: CustomGraphicBuilderOptions | ViewportGraphicBuilderOptions) {\r\n return new Builder(this, options);\r\n }\r\n\r\n public createGraphicList(primitives: RenderGraphic[]) { return new List(primitives); }\r\n public createGraphicBranch(branch: GraphicBranch, transform: Transform, options?: GraphicBranchOptions) { return new Branch(branch, transform, options); }\r\n public createBatch(graphic: RenderGraphic, features: RenderFeatureTable, range: ElementAlignedBox3d) { return new Batch(graphic, features, range); }\r\n\r\n public override createMesh(_params: MeshParams) { return new Graphic(); }\r\n public override createPolyline(_params: PolylineParams) { return new Graphic(); }\r\n public override createPointString(_params: PointStringParams) { return new Graphic(); }\r\n public override createPointCloud(_args: PointCloudArgs, _imodel: IModelConnection) { return new Graphic(); }\r\n public override createRenderGraphic() { return new Graphic(); }\r\n\r\n public override createMeshGeometry() { return new Geometry(); }\r\n public override createPolylineGeometry() { return new Geometry(); }\r\n public override createPointStringGeometry() { return new Geometry(); }\r\n public override createAreaPattern() { return new AreaPattern(); }\r\n }\r\n\r\n /** @internal */\r\n export type SystemFactory = () => RenderSystem;\r\n\r\n /** An implementation of IModelApp which uses a MockRender.System by default.\r\n * @internal\r\n */\r\n export class App {\r\n public static systemFactory: SystemFactory = () => App.createDefaultRenderSystem();\r\n\r\n public static async startup(opts?: IModelAppOptions): Promise<void> {\r\n opts = opts ? opts : {};\r\n opts.renderSys = this.systemFactory();\r\n opts.localization = opts.localization ?? new EmptyLocalization();\r\n await IModelApp.startup(opts);\r\n }\r\n public static async shutdown(): Promise<void> {\r\n this.systemFactory = () => App.createDefaultRenderSystem();\r\n await IModelApp.shutdown();\r\n }\r\n\r\n protected static createDefaultRenderSystem() { return new System(); }\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"MockRender.js","sourceRoot":"","sources":["../../../src/render/MockRender.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\r\n/** @packageDocumentation\r\n * @module Utils\r\n */\r\n\r\nimport { dispose } from \"@itwin/core-bentley\";\r\nimport { Transform } from \"@itwin/core-geometry\";\r\nimport { ElementAlignedBox3d, EmptyLocalization, RenderFeatureTable } from \"@itwin/core-common\";\r\nimport { IModelApp, IModelAppOptions } from \"../IModelApp\";\r\nimport { IModelConnection } from \"../IModelConnection\";\r\nimport { ViewRect } from \"../ViewRect\";\r\nimport { Decorations } from \"./Decorations\";\r\nimport { GraphicBranch, GraphicBranchOptions } from \"./GraphicBranch\";\r\nimport { CustomGraphicBuilderOptions, GraphicBuilder, ViewportGraphicBuilderOptions } from \"./GraphicBuilder\";\r\nimport { Pixel } from \"./Pixel\";\r\nimport { PrimitiveBuilder } from \"./primitives/geometry/GeometryListBuilder\";\r\nimport { PointCloudArgs } from \"./primitives/PointCloudPrimitive\";\r\nimport { PointStringParams } from \"./primitives/PointStringParams\";\r\nimport { PolylineParams } from \"./primitives/PolylineParams\";\r\nimport { MeshParams } from \"./primitives/VertexTable\";\r\nimport { GraphicList, RenderGraphic } from \"./RenderGraphic\";\r\nimport { RenderMemory } from \"./RenderMemory\";\r\nimport { RenderPlan } from \"./RenderPlan\";\r\nimport { RenderAreaPattern, RenderGeometry, RenderSystem } from \"./RenderSystem\";\r\nimport { RenderTarget } from \"./RenderTarget\";\r\nimport { Scene } from \"./Scene\";\r\n\r\n/** Contains extensible mock implementations of the various components of a RenderSystem, intended for use in tests.\r\n * Use these for tests instead of the default RenderSystem wherever possible because:\r\n * (1) Electron has a bug on Windows in which it fails to obtain a WebGLRenderingContext when running inside a VM (e.g., during CI job); and\r\n * (2) To decouple the logic which uses aspects of the RenderSystem from the full implementation.\r\n * Any and all of these types can be extended for the purposes of specific tests.\r\n * To use this:\r\n * (1) If overriding anything in the implementation supplied herein, pass a SystemFactory function to MockRender.App.systemFactory.\r\n * (2) Call MockRender.App.startup() instead of IModelApp.startup() before tests begin.\r\n * (3) Likewise call MockRender.App.shutdown() when finished. This resets the SystemFactory to its default.\r\n * @note The APIs within this namespace are intended *strictly* for use with unit tests.\r\n * @internal\r\n */\r\nexport namespace MockRender {\r\n /** @internal */\r\n export abstract class Target extends RenderTarget {\r\n protected constructor(private readonly _system: RenderSystem) { super(); }\r\n\r\n public get renderSystem(): RenderSystem { return this._system; }\r\n public get wantInvertBlackBackground() { return false; }\r\n public get analysisFraction() { return 0; }\r\n public set analysisFraction(_fraction: number) { }\r\n public changeScene(_scene: Scene) { }\r\n public changeDynamics(_dynamics?: GraphicList) { }\r\n public changeDecorations(_decs: Decorations) { }\r\n public changeRenderPlan(_plan: RenderPlan) { }\r\n public drawFrame(_sceneTime?: number) { }\r\n public updateViewRect() { return false; }\r\n public readPixels(_rect: ViewRect, _selector: Pixel.Selector, receiver: Pixel.Receiver, _excludeNonLocatable: boolean) { receiver(undefined); }\r\n public get screenSpaceEffects(): Iterable<string> { return []; }\r\n public set screenSpaceEffects(_effects: Iterable<string>) { }\r\n }\r\n\r\n /** @internal */\r\n export class OnScreenTarget extends Target {\r\n public constructor(system: RenderSystem, private readonly _canvas: HTMLCanvasElement) { super(system); }\r\n\r\n public get viewRect() { return new ViewRect(0, 0, this._canvas.clientWidth, this._canvas.clientHeight); }\r\n public setViewRect(_rect: ViewRect, _temp: boolean) { }\r\n }\r\n\r\n /** @internal */\r\n export class OffScreenTarget extends Target {\r\n public constructor(system: RenderSystem, private readonly _viewRect: ViewRect) { super(system); }\r\n\r\n public get viewRect() { return this._viewRect; }\r\n public setViewRect(rect: ViewRect, _temp: boolean) { this._viewRect.setFrom(rect); }\r\n }\r\n\r\n /** @internal */\r\n export class Builder extends PrimitiveBuilder {\r\n public constructor(system: System, options: CustomGraphicBuilderOptions | ViewportGraphicBuilderOptions) {\r\n super(system, options);\r\n }\r\n }\r\n\r\n export class Graphic extends RenderGraphic {\r\n public constructor() { super(); }\r\n\r\n public dispose() { }\r\n public collectStatistics(_stats: RenderMemory.Statistics): void { }\r\n }\r\n\r\n export class List extends Graphic {\r\n public constructor(public readonly graphics: RenderGraphic[]) { super(); }\r\n\r\n public override dispose() {\r\n for (const graphic of this.graphics)\r\n dispose(graphic);\r\n\r\n this.graphics.length = 0;\r\n }\r\n }\r\n\r\n export class Branch extends Graphic {\r\n public constructor(public readonly branch: GraphicBranch, public readonly transform: Transform, public readonly options?: GraphicBranchOptions) { super(); }\r\n\r\n public override dispose() { this.branch.dispose(); }\r\n }\r\n\r\n export class Batch extends Graphic {\r\n public constructor(public readonly graphic: RenderGraphic, public readonly featureTable: RenderFeatureTable, public readonly range: ElementAlignedBox3d) { super(); }\r\n\r\n public override dispose() {\r\n dispose(this.graphic);\r\n }\r\n }\r\n\r\n /** @internal */\r\n export class Geometry implements RenderGeometry {\r\n public dispose(): void { }\r\n public collectStatistics(): void { }\r\n }\r\n\r\n /** @internal */\r\n export class AreaPattern implements RenderAreaPattern {\r\n public dispose(): void { }\r\n public collectStatistics(): void { }\r\n }\r\n\r\n export class System extends RenderSystem {\r\n public get isValid() { return true; }\r\n public dispose(): void { }\r\n public override get maxTextureSize() { return 4096; }\r\n\r\n public constructor() { super(); }\r\n\r\n /** @internal */\r\n public override doIdleWork(): boolean { return false; }\r\n\r\n /** @internal */\r\n public override createTarget(canvas: HTMLCanvasElement): OnScreenTarget { return new OnScreenTarget(this, canvas); }\r\n /** @internal */\r\n public override createOffscreenTarget(rect: ViewRect): RenderTarget { return new OffScreenTarget(this, rect); }\r\n\r\n public override createGraphic(options: CustomGraphicBuilderOptions | ViewportGraphicBuilderOptions): GraphicBuilder {\r\n return new Builder(this, options);\r\n }\r\n\r\n public override createGraphicList(primitives: RenderGraphic[]) { return new List(primitives); }\r\n public override createGraphicBranch(branch: GraphicBranch, transform: Transform, options?: GraphicBranchOptions) { return new Branch(branch, transform, options); }\r\n public override createBatch(graphic: RenderGraphic, features: RenderFeatureTable, range: ElementAlignedBox3d) { return new Batch(graphic, features, range); }\r\n\r\n /** @internal */\r\n public override createMesh(_params: MeshParams) { return new Graphic(); }\r\n /** @internal */\r\n public override createPolyline(_params: PolylineParams) { return new Graphic(); }\r\n /** @internal */\r\n public override createPointString(_params: PointStringParams) { return new Graphic(); }\r\n /** @internal */\r\n public override createPointCloud(_args: PointCloudArgs, _imodel: IModelConnection) { return new Graphic(); }\r\n public override createRenderGraphic() { return new Graphic(); }\r\n\r\n /** @internal */\r\n public override createMeshGeometry() { return new Geometry(); }\r\n /** @internal */\r\n public override createPolylineGeometry() { return new Geometry(); }\r\n /** @internal */\r\n public override createPointStringGeometry() { return new Geometry(); }\r\n /** @internal */\r\n public override createAreaPattern() { return new AreaPattern(); }\r\n }\r\n\r\n export type SystemFactory = () => RenderSystem;\r\n\r\n /** An implementation of IModelApp which uses a MockRender.System by default. */\r\n export class App {\r\n public static systemFactory: SystemFactory = () => App.createDefaultRenderSystem();\r\n\r\n public static async startup(opts?: IModelAppOptions): Promise<void> {\r\n opts = opts ? opts : {};\r\n opts.renderSys = this.systemFactory();\r\n opts.localization = opts.localization ?? new EmptyLocalization();\r\n await IModelApp.startup(opts);\r\n }\r\n\r\n public static async shutdown(): Promise<void> {\r\n this.systemFactory = () => App.createDefaultRenderSystem();\r\n await IModelApp.shutdown();\r\n }\r\n\r\n protected static createDefaultRenderSystem() { return new System(); }\r\n }\r\n}\r\n"]}
@@ -1,8 +1,9 @@
1
1
  /** @packageDocumentation
2
2
  * @module Rendering
3
3
  */
4
- /** Contains metadata about memory consumed by the render system or aspect thereof.
5
- * @internal
4
+ /** APIs for querying memory consumed by the [[RenderSystem]].
5
+ * Use methods like [[Viewport.collectStatistics]] and [[TileTreeReference.collectStatistics]] to query this memory usage.
6
+ * @public
6
7
  */
7
8
  export declare namespace RenderMemory {
8
9
  /** Describes memory consumed by a particular type of resource.
@@ -64,46 +65,94 @@ export declare namespace RenderMemory {
64
65
  ThematicTextures = 9,
65
66
  COUNT = 10
66
67
  }
67
- /** @internal */
68
+ /** Contains statistics about the amount and type of memory consumed by the [[RenderSystem]].
69
+ * Use methods like [[Viewport.collectStatistics]] and [[TileTreeReference.collectStatistics]] to query this memory usage.
70
+ * @see [[Statistics.create]] to instantiate an instance of this class.
71
+ * @public
72
+ */
68
73
  class Statistics {
69
74
  private _totalBytes;
75
+ /** @internal */
70
76
  readonly consumers: Consumers[];
77
+ /** @internal */
71
78
  readonly buffers: Buffers;
79
+ /** Create a new, empty statistics object. */
80
+ static create(): Statistics;
81
+ /** @internal */
72
82
  constructor();
83
+ /** The total reported memory consumption, in bytes.
84
+ * @note A web browser provides no direct access to actual memory used by the host device or its graphics hardware. The reported memory usage
85
+ * is an estimate based on the number of bytes of data requested via WebGL APIs. It is always an *under-estimate* as each WebGL implementation imposes
86
+ * its own additional overhead.
87
+ */
73
88
  get totalBytes(): number;
89
+ /** @internal */
74
90
  get textures(): Consumers;
91
+ /** @internal */
75
92
  get vertexTables(): Consumers;
93
+ /** @internal */
76
94
  get edgeTables(): Consumers;
95
+ /** @internal */
77
96
  get featureTables(): Consumers;
97
+ /** @internal */
78
98
  get thematicTextures(): Consumers;
99
+ /** @internal */
79
100
  get featureOverrides(): Consumers;
101
+ /** @internal */
80
102
  get clipVolumes(): Consumers;
103
+ /** @internal */
81
104
  get planarClassifiers(): Consumers;
105
+ /** @internal */
82
106
  get shadowMaps(): Consumers;
107
+ /** @internal */
83
108
  get textureAttachments(): Consumers;
109
+ /** @internal */
84
110
  addBuffer(type: BufferType, numBytes: number): void;
111
+ /** @internal */
85
112
  addConsumer(type: ConsumerType, numBytes: number): void;
113
+ /** @internal */
86
114
  clear(): void;
115
+ /** @internal */
87
116
  addTexture(numBytes: number): void;
117
+ /** @internal */
88
118
  addVertexTable(numBytes: number): void;
119
+ /** @internal */
89
120
  addEdgeTable(numBytes: number): void;
121
+ /** @internal */
90
122
  addFeatureTable(numBytes: number): void;
123
+ /** @internal */
91
124
  addThematicTexture(numBytes: number): void;
125
+ /** @internal */
92
126
  addFeatureOverrides(numBytes: number): void;
127
+ /** @internal */
93
128
  addClipVolume(numBytes: number): void;
129
+ /** @internal */
94
130
  addPlanarClassifier(numBytes: number): void;
131
+ /** @internal */
95
132
  addShadowMap(numBytes: number): void;
133
+ /** @internal */
96
134
  addTextureAttachment(numBytes: number): void;
135
+ /** @internal */
97
136
  addSurface(numBytes: number): void;
137
+ /** @internal */
98
138
  addVisibleEdges(numBytes: number): void;
139
+ /** @internal */
99
140
  addIndexedEdges(numBytes: number): void;
141
+ /** @internal */
100
142
  addSilhouetteEdges(numBytes: number): void;
143
+ /** @internal */
101
144
  addPolylineEdges(numBytes: number): void;
145
+ /** @internal */
102
146
  addPolyline(numBytes: number): void;
147
+ /** @internal */
103
148
  addPointString(numBytes: number): void;
149
+ /** @internal */
104
150
  addPointCloud(numBytes: number): void;
151
+ /** @internal */
105
152
  addTerrain(numBytes: number): void;
153
+ /** @internal */
106
154
  addRealityMesh(numBytes: number): void;
155
+ /** @internal */
107
156
  addInstances(numBytes: number): void;
108
157
  }
109
158
  /** @internal */
@@ -1 +1 @@
1
- {"version":3,"file":"RenderMemory.d.ts","sourceRoot":"","sources":["../../../src/render/RenderMemory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RenderMemory.d.ts","sourceRoot":"","sources":["../../../src/render/RenderMemory.ts"],"names":[],"mappings":"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"}
@@ -5,8 +5,9 @@
5
5
  /** @packageDocumentation
6
6
  * @module Rendering
7
7
  */
8
- /** Contains metadata about memory consumed by the render system or aspect thereof.
9
- * @internal
8
+ /** APIs for querying memory consumed by the [[RenderSystem]].
9
+ * Use methods like [[Viewport.collectStatistics]] and [[TileTreeReference.collectStatistics]] to query this memory usage.
10
+ * @public
10
11
  */
11
12
  export var RenderMemory;
12
13
  (function (RenderMemory) {
@@ -92,64 +93,113 @@ export var RenderMemory;
92
93
  ConsumerType[ConsumerType["ThematicTextures"] = 9] = "ThematicTextures";
93
94
  ConsumerType[ConsumerType["COUNT"] = 10] = "COUNT";
94
95
  })(ConsumerType = RenderMemory.ConsumerType || (RenderMemory.ConsumerType = {}));
95
- /** @internal */
96
+ /** Contains statistics about the amount and type of memory consumed by the [[RenderSystem]].
97
+ * Use methods like [[Viewport.collectStatistics]] and [[TileTreeReference.collectStatistics]] to query this memory usage.
98
+ * @see [[Statistics.create]] to instantiate an instance of this class.
99
+ * @public
100
+ */
96
101
  class Statistics {
102
+ /** @internal */
97
103
  constructor() {
98
104
  this._totalBytes = 0;
105
+ /** @internal */
99
106
  this.buffers = new Buffers();
100
107
  this.consumers = [];
101
108
  for (let i = 0; i < ConsumerType.COUNT; i++)
102
109
  this.consumers[i] = new Consumers();
103
110
  }
111
+ /** Create a new, empty statistics object. */
112
+ static create() {
113
+ return new Statistics();
114
+ }
115
+ /** The total reported memory consumption, in bytes.
116
+ * @note A web browser provides no direct access to actual memory used by the host device or its graphics hardware. The reported memory usage
117
+ * is an estimate based on the number of bytes of data requested via WebGL APIs. It is always an *under-estimate* as each WebGL implementation imposes
118
+ * its own additional overhead.
119
+ */
104
120
  get totalBytes() { return this._totalBytes; }
121
+ /** @internal */
105
122
  get textures() { return this.consumers[ConsumerType.Textures]; }
123
+ /** @internal */
106
124
  get vertexTables() { return this.consumers[ConsumerType.VertexTables]; }
125
+ /** @internal */
107
126
  get edgeTables() { return this.consumers[ConsumerType.EdgeTables]; }
127
+ /** @internal */
108
128
  get featureTables() { return this.consumers[ConsumerType.FeatureTables]; }
129
+ /** @internal */
109
130
  get thematicTextures() { return this.consumers[ConsumerType.ThematicTextures]; }
131
+ /** @internal */
110
132
  get featureOverrides() { return this.consumers[ConsumerType.FeatureOverrides]; }
133
+ /** @internal */
111
134
  get clipVolumes() { return this.consumers[ConsumerType.ClipVolumes]; }
135
+ /** @internal */
112
136
  get planarClassifiers() { return this.consumers[ConsumerType.PlanarClassifiers]; }
137
+ /** @internal */
113
138
  get shadowMaps() { return this.consumers[ConsumerType.ShadowMaps]; }
139
+ /** @internal */
114
140
  get textureAttachments() { return this.consumers[ConsumerType.TextureAttachments]; }
141
+ /** @internal */
115
142
  addBuffer(type, numBytes) {
116
143
  this._totalBytes += numBytes;
117
144
  this.buffers.addBuffer(type, numBytes);
118
145
  }
146
+ /** @internal */
119
147
  addConsumer(type, numBytes) {
120
148
  this._totalBytes += numBytes;
121
149
  this.consumers[type].addConsumer(numBytes);
122
150
  }
151
+ /** @internal */
123
152
  clear() {
124
153
  this._totalBytes = 0;
125
154
  this.buffers.clear();
126
155
  for (const consumer of this.consumers)
127
156
  consumer.clear();
128
157
  }
158
+ /** @internal */
129
159
  addTexture(numBytes) { this.addConsumer(ConsumerType.Textures, numBytes); }
160
+ /** @internal */
130
161
  addVertexTable(numBytes) { this.addConsumer(ConsumerType.VertexTables, numBytes); }
162
+ /** @internal */
131
163
  addEdgeTable(numBytes) { this.addConsumer(ConsumerType.EdgeTables, numBytes); }
164
+ /** @internal */
132
165
  addFeatureTable(numBytes) { this.addConsumer(ConsumerType.FeatureTables, numBytes); }
166
+ /** @internal */
133
167
  addThematicTexture(numBytes) { this.addConsumer(ConsumerType.ThematicTextures, numBytes); }
168
+ /** @internal */
134
169
  addFeatureOverrides(numBytes) { this.addConsumer(ConsumerType.FeatureOverrides, numBytes); }
170
+ /** @internal */
135
171
  addClipVolume(numBytes) { this.addConsumer(ConsumerType.ClipVolumes, numBytes); }
172
+ /** @internal */
136
173
  addPlanarClassifier(numBytes) { this.addConsumer(ConsumerType.PlanarClassifiers, numBytes); }
174
+ /** @internal */
137
175
  addShadowMap(numBytes) { this.addConsumer(ConsumerType.ShadowMaps, numBytes); }
176
+ /** @internal */
138
177
  addTextureAttachment(numBytes) { this.addConsumer(ConsumerType.TextureAttachments, numBytes); }
178
+ /** @internal */
139
179
  addSurface(numBytes) { this.addBuffer(BufferType.Surfaces, numBytes); }
180
+ /** @internal */
140
181
  addVisibleEdges(numBytes) { this.addBuffer(BufferType.VisibleEdges, numBytes); }
182
+ /** @internal */
141
183
  addIndexedEdges(numBytes) { this.addBuffer(BufferType.IndexedEdges, numBytes); }
184
+ /** @internal */
142
185
  addSilhouetteEdges(numBytes) { this.addBuffer(BufferType.SilhouetteEdges, numBytes); }
186
+ /** @internal */
143
187
  addPolylineEdges(numBytes) { this.addBuffer(BufferType.PolylineEdges, numBytes); }
188
+ /** @internal */
144
189
  addPolyline(numBytes) { this.addBuffer(BufferType.Polylines, numBytes); }
190
+ /** @internal */
145
191
  addPointString(numBytes) { this.addBuffer(BufferType.PointStrings, numBytes); }
192
+ /** @internal */
146
193
  addPointCloud(numBytes) { this.addBuffer(BufferType.PointClouds, numBytes); }
194
+ /** @internal */
147
195
  addTerrain(numBytes) {
148
196
  this.addBuffer(BufferType.Terrain, numBytes);
149
197
  }
198
+ /** @internal */
150
199
  addRealityMesh(numBytes) {
151
200
  this.addBuffer(BufferType.RealityMesh, numBytes);
152
201
  }
202
+ /** @internal */
153
203
  addInstances(numBytes) { this.addBuffer(BufferType.Instances, numBytes); }
154
204
  }
155
205
  RenderMemory.Statistics = Statistics;
@@ -1 +1 @@
1
- {"version":3,"file":"RenderMemory.js","sourceRoot":"","sources":["../../../src/render/RenderMemory.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 Rendering\r\n */\r\n\r\n/** Contains metadata about memory consumed by the render system or aspect thereof.\r\n * @internal\r\n */\r\nexport namespace RenderMemory {\r\n /** Describes memory consumed by a particular type of resource.\r\n * @internal\r\n */\r\n export class Consumers {\r\n public totalBytes = 0; // total number of bytes consumed by all consumers\r\n public maxBytes = 0; // largest number of bytes consumed by a single consumer\r\n public count = 0; // total number of consumers of this type\r\n\r\n public addConsumer(numBytes: number): void {\r\n this.totalBytes += numBytes;\r\n this.maxBytes = Math.max(this.maxBytes, numBytes);\r\n ++this.count;\r\n }\r\n\r\n public clear(): void {\r\n this.totalBytes = this.maxBytes = this.count = 0;\r\n }\r\n }\r\n\r\n /** @internal */\r\n export enum BufferType {\r\n Surfaces = 0,\r\n VisibleEdges,\r\n SilhouetteEdges,\r\n PolylineEdges,\r\n IndexedEdges,\r\n Polylines,\r\n PointStrings,\r\n PointClouds,\r\n Instances,\r\n Terrain,\r\n RealityMesh,\r\n\r\n COUNT,\r\n }\r\n\r\n /** Describes memory consumed by GPU-allocated buffers.\r\n * @internal\r\n */\r\n export class Buffers extends Consumers {\r\n public readonly consumers: Consumers[];\r\n\r\n public constructor() {\r\n super();\r\n this.consumers = [];\r\n for (let i = 0; i < BufferType.COUNT; i++)\r\n this.consumers[i] = new Consumers();\r\n }\r\n\r\n public get surfaces() { return this.consumers[BufferType.Surfaces]; }\r\n public get visibleEdges() { return this.consumers[BufferType.VisibleEdges]; }\r\n public get indexedEdges() { return this.consumers[BufferType.IndexedEdges]; }\r\n public get silhouetteEdges() { return this.consumers[BufferType.SilhouetteEdges]; }\r\n public get polylineEdges() { return this.consumers[BufferType.PolylineEdges]; }\r\n public get polylines() { return this.consumers[BufferType.Polylines]; }\r\n public get pointStrings() { return this.consumers[BufferType.PointStrings]; }\r\n public get pointClouds() { return this.consumers[BufferType.PointClouds]; }\r\n public get instances() { return this.consumers[BufferType.Instances]; }\r\n public get terrain() { return this.consumers[BufferType.Terrain]; }\r\n public get reality() { return this.consumers[BufferType.RealityMesh]; }\r\n\r\n public override clear(): void {\r\n for (const consumer of this.consumers)\r\n consumer.clear();\r\n\r\n super.clear();\r\n }\r\n\r\n public addBuffer(type: BufferType, numBytes: number): void {\r\n this.addConsumer(numBytes);\r\n this.consumers[type].addConsumer(numBytes);\r\n }\r\n }\r\n\r\n /** @internal */\r\n export enum ConsumerType {\r\n Textures = 0,\r\n VertexTables,\r\n EdgeTables,\r\n FeatureTables,\r\n FeatureOverrides,\r\n ClipVolumes,\r\n PlanarClassifiers,\r\n ShadowMaps,\r\n TextureAttachments,\r\n ThematicTextures,\r\n COUNT,\r\n }\r\n\r\n /** @internal */\r\n export class Statistics {\r\n private _totalBytes = 0;\r\n public readonly consumers: Consumers[];\r\n public readonly buffers = new Buffers();\r\n\r\n public constructor() {\r\n this.consumers = [];\r\n for (let i = 0; i < ConsumerType.COUNT; i++)\r\n this.consumers[i] = new Consumers();\r\n }\r\n\r\n public get totalBytes(): number { return this._totalBytes; }\r\n public get textures() { return this.consumers[ConsumerType.Textures]; }\r\n public get vertexTables() { return this.consumers[ConsumerType.VertexTables]; }\r\n public get edgeTables() { return this.consumers[ConsumerType.EdgeTables]; }\r\n public get featureTables() { return this.consumers[ConsumerType.FeatureTables]; }\r\n public get thematicTextures() { return this.consumers[ConsumerType.ThematicTextures]; }\r\n public get featureOverrides() { return this.consumers[ConsumerType.FeatureOverrides]; }\r\n public get clipVolumes() { return this.consumers[ConsumerType.ClipVolumes]; }\r\n public get planarClassifiers() { return this.consumers[ConsumerType.PlanarClassifiers]; }\r\n public get shadowMaps() { return this.consumers[ConsumerType.ShadowMaps]; }\r\n public get textureAttachments() { return this.consumers[ConsumerType.TextureAttachments]; }\r\n\r\n public addBuffer(type: BufferType, numBytes: number): void {\r\n this._totalBytes += numBytes;\r\n this.buffers.addBuffer(type, numBytes);\r\n }\r\n\r\n public addConsumer(type: ConsumerType, numBytes: number): void {\r\n this._totalBytes += numBytes;\r\n this.consumers[type].addConsumer(numBytes);\r\n }\r\n\r\n public clear(): void {\r\n this._totalBytes = 0;\r\n this.buffers.clear();\r\n for (const consumer of this.consumers)\r\n consumer.clear();\r\n }\r\n\r\n public addTexture(numBytes: number) { this.addConsumer(ConsumerType.Textures, numBytes); }\r\n public addVertexTable(numBytes: number) { this.addConsumer(ConsumerType.VertexTables, numBytes); }\r\n public addEdgeTable(numBytes: number) { this.addConsumer(ConsumerType.EdgeTables, numBytes); }\r\n public addFeatureTable(numBytes: number) { this.addConsumer(ConsumerType.FeatureTables, numBytes); }\r\n public addThematicTexture(numBytes: number) { this.addConsumer(ConsumerType.ThematicTextures, numBytes); }\r\n public addFeatureOverrides(numBytes: number) { this.addConsumer(ConsumerType.FeatureOverrides, numBytes); }\r\n public addClipVolume(numBytes: number) { this.addConsumer(ConsumerType.ClipVolumes, numBytes); }\r\n public addPlanarClassifier(numBytes: number) { this.addConsumer(ConsumerType.PlanarClassifiers, numBytes); }\r\n public addShadowMap(numBytes: number) { this.addConsumer(ConsumerType.ShadowMaps, numBytes); }\r\n public addTextureAttachment(numBytes: number) { this.addConsumer(ConsumerType.TextureAttachments, numBytes); }\r\n\r\n public addSurface(numBytes: number) { this.addBuffer(BufferType.Surfaces, numBytes); }\r\n public addVisibleEdges(numBytes: number) { this.addBuffer(BufferType.VisibleEdges, numBytes); }\r\n public addIndexedEdges(numBytes: number) { this.addBuffer(BufferType.IndexedEdges, numBytes); }\r\n public addSilhouetteEdges(numBytes: number) { this.addBuffer(BufferType.SilhouetteEdges, numBytes); }\r\n public addPolylineEdges(numBytes: number) { this.addBuffer(BufferType.PolylineEdges, numBytes); }\r\n public addPolyline(numBytes: number) { this.addBuffer(BufferType.Polylines, numBytes); }\r\n public addPointString(numBytes: number) { this.addBuffer(BufferType.PointStrings, numBytes); }\r\n public addPointCloud(numBytes: number) { this.addBuffer(BufferType.PointClouds, numBytes); }\r\n public addTerrain(numBytes: number) {\r\n this.addBuffer(BufferType.Terrain, numBytes);\r\n }\r\n public addRealityMesh(numBytes: number) {\r\n this.addBuffer(BufferType.RealityMesh, numBytes);\r\n }\r\n public addInstances(numBytes: number) { this.addBuffer(BufferType.Instances, numBytes); }\r\n }\r\n\r\n /** @internal */\r\n export interface Consumer {\r\n collectStatistics(stats: Statistics): void;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"RenderMemory.js","sourceRoot":"","sources":["../../../src/render/RenderMemory.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 Rendering\r\n */\r\n\r\n/** APIs for querying memory consumed by the [[RenderSystem]].\r\n * Use methods like [[Viewport.collectStatistics]] and [[TileTreeReference.collectStatistics]] to query this memory usage.\r\n * @public\r\n */\r\nexport namespace RenderMemory {\r\n /** Describes memory consumed by a particular type of resource.\r\n * @internal\r\n */\r\n export class Consumers {\r\n public totalBytes = 0; // total number of bytes consumed by all consumers\r\n public maxBytes = 0; // largest number of bytes consumed by a single consumer\r\n public count = 0; // total number of consumers of this type\r\n\r\n public addConsumer(numBytes: number): void {\r\n this.totalBytes += numBytes;\r\n this.maxBytes = Math.max(this.maxBytes, numBytes);\r\n ++this.count;\r\n }\r\n\r\n public clear(): void {\r\n this.totalBytes = this.maxBytes = this.count = 0;\r\n }\r\n }\r\n\r\n /** @internal */\r\n export enum BufferType {\r\n Surfaces = 0,\r\n VisibleEdges,\r\n SilhouetteEdges,\r\n PolylineEdges,\r\n IndexedEdges,\r\n Polylines,\r\n PointStrings,\r\n PointClouds,\r\n Instances,\r\n Terrain,\r\n RealityMesh,\r\n\r\n COUNT,\r\n }\r\n\r\n /** Describes memory consumed by GPU-allocated buffers.\r\n * @internal\r\n */\r\n export class Buffers extends Consumers {\r\n public readonly consumers: Consumers[];\r\n\r\n public constructor() {\r\n super();\r\n this.consumers = [];\r\n for (let i = 0; i < BufferType.COUNT; i++)\r\n this.consumers[i] = new Consumers();\r\n }\r\n\r\n public get surfaces() { return this.consumers[BufferType.Surfaces]; }\r\n public get visibleEdges() { return this.consumers[BufferType.VisibleEdges]; }\r\n public get indexedEdges() { return this.consumers[BufferType.IndexedEdges]; }\r\n public get silhouetteEdges() { return this.consumers[BufferType.SilhouetteEdges]; }\r\n public get polylineEdges() { return this.consumers[BufferType.PolylineEdges]; }\r\n public get polylines() { return this.consumers[BufferType.Polylines]; }\r\n public get pointStrings() { return this.consumers[BufferType.PointStrings]; }\r\n public get pointClouds() { return this.consumers[BufferType.PointClouds]; }\r\n public get instances() { return this.consumers[BufferType.Instances]; }\r\n public get terrain() { return this.consumers[BufferType.Terrain]; }\r\n public get reality() { return this.consumers[BufferType.RealityMesh]; }\r\n\r\n public override clear(): void {\r\n for (const consumer of this.consumers)\r\n consumer.clear();\r\n\r\n super.clear();\r\n }\r\n\r\n public addBuffer(type: BufferType, numBytes: number): void {\r\n this.addConsumer(numBytes);\r\n this.consumers[type].addConsumer(numBytes);\r\n }\r\n }\r\n\r\n /** @internal */\r\n export enum ConsumerType {\r\n Textures = 0,\r\n VertexTables,\r\n EdgeTables,\r\n FeatureTables,\r\n FeatureOverrides,\r\n ClipVolumes,\r\n PlanarClassifiers,\r\n ShadowMaps,\r\n TextureAttachments,\r\n ThematicTextures,\r\n COUNT,\r\n }\r\n\r\n /** Contains statistics about the amount and type of memory consumed by the [[RenderSystem]].\r\n * Use methods like [[Viewport.collectStatistics]] and [[TileTreeReference.collectStatistics]] to query this memory usage.\r\n * @see [[Statistics.create]] to instantiate an instance of this class.\r\n * @public\r\n */\r\n export class Statistics {\r\n private _totalBytes = 0;\r\n\r\n /** @internal */\r\n public readonly consumers: Consumers[];\r\n /** @internal */\r\n public readonly buffers = new Buffers();\r\n\r\n /** Create a new, empty statistics object. */\r\n public static create(): Statistics {\r\n return new Statistics();\r\n }\r\n\r\n /** @internal */\r\n public constructor() {\r\n this.consumers = [];\r\n for (let i = 0; i < ConsumerType.COUNT; i++)\r\n this.consumers[i] = new Consumers();\r\n }\r\n\r\n /** The total reported memory consumption, in bytes.\r\n * @note A web browser provides no direct access to actual memory used by the host device or its graphics hardware. The reported memory usage\r\n * is an estimate based on the number of bytes of data requested via WebGL APIs. It is always an *under-estimate* as each WebGL implementation imposes\r\n * its own additional overhead.\r\n */\r\n public get totalBytes(): number { return this._totalBytes; }\r\n /** @internal */\r\n public get textures() { return this.consumers[ConsumerType.Textures]; }\r\n /** @internal */\r\n public get vertexTables() { return this.consumers[ConsumerType.VertexTables]; }\r\n /** @internal */\r\n public get edgeTables() { return this.consumers[ConsumerType.EdgeTables]; }\r\n /** @internal */\r\n public get featureTables() { return this.consumers[ConsumerType.FeatureTables]; }\r\n /** @internal */\r\n public get thematicTextures() { return this.consumers[ConsumerType.ThematicTextures]; }\r\n /** @internal */\r\n public get featureOverrides() { return this.consumers[ConsumerType.FeatureOverrides]; }\r\n /** @internal */\r\n public get clipVolumes() { return this.consumers[ConsumerType.ClipVolumes]; }\r\n /** @internal */\r\n public get planarClassifiers() { return this.consumers[ConsumerType.PlanarClassifiers]; }\r\n /** @internal */\r\n public get shadowMaps() { return this.consumers[ConsumerType.ShadowMaps]; }\r\n /** @internal */\r\n public get textureAttachments() { return this.consumers[ConsumerType.TextureAttachments]; }\r\n\r\n /** @internal */\r\n public addBuffer(type: BufferType, numBytes: number): void {\r\n this._totalBytes += numBytes;\r\n this.buffers.addBuffer(type, numBytes);\r\n }\r\n\r\n /** @internal */\r\n public addConsumer(type: ConsumerType, numBytes: number): void {\r\n this._totalBytes += numBytes;\r\n this.consumers[type].addConsumer(numBytes);\r\n }\r\n\r\n /** @internal */\r\n public clear(): void {\r\n this._totalBytes = 0;\r\n this.buffers.clear();\r\n for (const consumer of this.consumers)\r\n consumer.clear();\r\n }\r\n\r\n /** @internal */\r\n public addTexture(numBytes: number) { this.addConsumer(ConsumerType.Textures, numBytes); }\r\n /** @internal */\r\n public addVertexTable(numBytes: number) { this.addConsumer(ConsumerType.VertexTables, numBytes); }\r\n /** @internal */\r\n public addEdgeTable(numBytes: number) { this.addConsumer(ConsumerType.EdgeTables, numBytes); }\r\n /** @internal */\r\n public addFeatureTable(numBytes: number) { this.addConsumer(ConsumerType.FeatureTables, numBytes); }\r\n /** @internal */\r\n public addThematicTexture(numBytes: number) { this.addConsumer(ConsumerType.ThematicTextures, numBytes); }\r\n /** @internal */\r\n public addFeatureOverrides(numBytes: number) { this.addConsumer(ConsumerType.FeatureOverrides, numBytes); }\r\n /** @internal */\r\n public addClipVolume(numBytes: number) { this.addConsumer(ConsumerType.ClipVolumes, numBytes); }\r\n /** @internal */\r\n public addPlanarClassifier(numBytes: number) { this.addConsumer(ConsumerType.PlanarClassifiers, numBytes); }\r\n /** @internal */\r\n public addShadowMap(numBytes: number) { this.addConsumer(ConsumerType.ShadowMaps, numBytes); }\r\n /** @internal */\r\n public addTextureAttachment(numBytes: number) { this.addConsumer(ConsumerType.TextureAttachments, numBytes); }\r\n\r\n /** @internal */\r\n public addSurface(numBytes: number) { this.addBuffer(BufferType.Surfaces, numBytes); }\r\n /** @internal */\r\n public addVisibleEdges(numBytes: number) { this.addBuffer(BufferType.VisibleEdges, numBytes); }\r\n /** @internal */\r\n public addIndexedEdges(numBytes: number) { this.addBuffer(BufferType.IndexedEdges, numBytes); }\r\n /** @internal */\r\n public addSilhouetteEdges(numBytes: number) { this.addBuffer(BufferType.SilhouetteEdges, numBytes); }\r\n /** @internal */\r\n public addPolylineEdges(numBytes: number) { this.addBuffer(BufferType.PolylineEdges, numBytes); }\r\n /** @internal */\r\n public addPolyline(numBytes: number) { this.addBuffer(BufferType.Polylines, numBytes); }\r\n /** @internal */\r\n public addPointString(numBytes: number) { this.addBuffer(BufferType.PointStrings, numBytes); }\r\n /** @internal */\r\n public addPointCloud(numBytes: number) { this.addBuffer(BufferType.PointClouds, numBytes); }\r\n /** @internal */\r\n public addTerrain(numBytes: number) {\r\n this.addBuffer(BufferType.Terrain, numBytes);\r\n }\r\n /** @internal */\r\n public addRealityMesh(numBytes: number) {\r\n this.addBuffer(BufferType.RealityMesh, numBytes);\r\n }\r\n /** @internal */\r\n public addInstances(numBytes: number) { this.addBuffer(BufferType.Instances, numBytes); }\r\n }\r\n\r\n /** @internal */\r\n export interface Consumer {\r\n collectStatistics(stats: Statistics): void;\r\n }\r\n}\r\n"]}
@@ -62,7 +62,7 @@ export declare abstract class TileTreeReference {
62
62
  * Override this function if a reference's range should not be included in the fit range, or a range different from its tile tree's range should be used.
63
63
  */
64
64
  unionFitRange(union: Range3d): void;
65
- /** @internal */
65
+ /** Record graphics memory consumed by this tile tree reference. */
66
66
  collectStatistics(stats: RenderMemory.Statistics): void;
67
67
  /** Return true if the tile tree is fully loaded and ready to draw.
68
68
  * The default implementation returns true if the tile tree loading process completed (whether it resulted in success or failure).
@@ -1 +1 @@
1
- {"version":3,"file":"TileTreeReference.d.ts","sourceRoot":"","sources":["../../../src/tile/TileTreeReference.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TileTreeReference.d.ts","sourceRoot":"","sources":["../../../src/tile/TileTreeReference.ts"],"names":[],"mappings":"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"}