@itwin/core-frontend 4.1.0-dev.63 → 4.1.0-dev.67

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 (68) hide show
  1. package/CHANGELOG.md +23 -1
  2. package/lib/cjs/Viewport.js +1 -1
  3. package/lib/cjs/Viewport.js.map +1 -1
  4. package/lib/cjs/render/CanvasDecoration.d.ts +6 -2
  5. package/lib/cjs/render/CanvasDecoration.d.ts.map +1 -1
  6. package/lib/cjs/render/CanvasDecoration.js.map +1 -1
  7. package/lib/cjs/tile/GltfReader.d.ts +10 -1
  8. package/lib/cjs/tile/GltfReader.d.ts.map +1 -1
  9. package/lib/cjs/tile/GltfReader.js +64 -5
  10. package/lib/cjs/tile/GltfReader.js.map +1 -1
  11. package/lib/cjs/tile/RealityTileLoader.d.ts.map +1 -1
  12. package/lib/cjs/tile/RealityTileLoader.js +9 -4
  13. package/lib/cjs/tile/RealityTileLoader.js.map +1 -1
  14. package/lib/cjs/tile/TileContent.d.ts +6 -0
  15. package/lib/cjs/tile/TileContent.d.ts.map +1 -1
  16. package/lib/cjs/tile/TileContent.js.map +1 -1
  17. package/lib/cjs/tile/internal.d.ts +1 -0
  18. package/lib/cjs/tile/internal.d.ts.map +1 -1
  19. package/lib/cjs/tile/internal.js +1 -0
  20. package/lib/cjs/tile/internal.js.map +1 -1
  21. package/lib/cjs/tile/map/ImageryProviders/ArcGisAttributeDrivenSymbology.d.ts +11 -0
  22. package/lib/cjs/tile/map/ImageryProviders/ArcGisAttributeDrivenSymbology.d.ts.map +1 -0
  23. package/lib/cjs/tile/map/ImageryProviders/ArcGisAttributeDrivenSymbology.js +10 -0
  24. package/lib/cjs/tile/map/ImageryProviders/ArcGisAttributeDrivenSymbology.js.map +1 -0
  25. package/lib/cjs/tile/map/ImageryProviders/ArcGisGeometryRenderer.d.ts +3 -0
  26. package/lib/cjs/tile/map/ImageryProviders/ArcGisGeometryRenderer.d.ts.map +1 -1
  27. package/lib/cjs/tile/map/ImageryProviders/ArcGisGeometryRenderer.js.map +1 -1
  28. package/lib/cjs/tile/map/ImageryProviders/ArcGisGraphicsRenderer.d.ts +2 -1
  29. package/lib/cjs/tile/map/ImageryProviders/ArcGisGraphicsRenderer.d.ts.map +1 -1
  30. package/lib/cjs/tile/map/ImageryProviders/ArcGisGraphicsRenderer.js +1 -0
  31. package/lib/cjs/tile/map/ImageryProviders/ArcGisGraphicsRenderer.js.map +1 -1
  32. package/lib/cjs/tools/ToolAdmin.d.ts.map +1 -1
  33. package/lib/cjs/tools/ToolAdmin.js +2 -1
  34. package/lib/cjs/tools/ToolAdmin.js.map +1 -1
  35. package/lib/esm/Viewport.js +1 -1
  36. package/lib/esm/Viewport.js.map +1 -1
  37. package/lib/esm/render/CanvasDecoration.d.ts +6 -2
  38. package/lib/esm/render/CanvasDecoration.d.ts.map +1 -1
  39. package/lib/esm/render/CanvasDecoration.js.map +1 -1
  40. package/lib/esm/tile/GltfReader.d.ts +10 -1
  41. package/lib/esm/tile/GltfReader.d.ts.map +1 -1
  42. package/lib/esm/tile/GltfReader.js +65 -6
  43. package/lib/esm/tile/GltfReader.js.map +1 -1
  44. package/lib/esm/tile/RealityTileLoader.d.ts.map +1 -1
  45. package/lib/esm/tile/RealityTileLoader.js +9 -4
  46. package/lib/esm/tile/RealityTileLoader.js.map +1 -1
  47. package/lib/esm/tile/TileContent.d.ts +6 -0
  48. package/lib/esm/tile/TileContent.d.ts.map +1 -1
  49. package/lib/esm/tile/TileContent.js.map +1 -1
  50. package/lib/esm/tile/internal.d.ts +1 -0
  51. package/lib/esm/tile/internal.d.ts.map +1 -1
  52. package/lib/esm/tile/internal.js +1 -0
  53. package/lib/esm/tile/internal.js.map +1 -1
  54. package/lib/esm/tile/map/ImageryProviders/ArcGisAttributeDrivenSymbology.d.ts +11 -0
  55. package/lib/esm/tile/map/ImageryProviders/ArcGisAttributeDrivenSymbology.d.ts.map +1 -0
  56. package/lib/esm/tile/map/ImageryProviders/ArcGisAttributeDrivenSymbology.js +9 -0
  57. package/lib/esm/tile/map/ImageryProviders/ArcGisAttributeDrivenSymbology.js.map +1 -0
  58. package/lib/esm/tile/map/ImageryProviders/ArcGisGeometryRenderer.d.ts +3 -0
  59. package/lib/esm/tile/map/ImageryProviders/ArcGisGeometryRenderer.d.ts.map +1 -1
  60. package/lib/esm/tile/map/ImageryProviders/ArcGisGeometryRenderer.js.map +1 -1
  61. package/lib/esm/tile/map/ImageryProviders/ArcGisGraphicsRenderer.d.ts +2 -1
  62. package/lib/esm/tile/map/ImageryProviders/ArcGisGraphicsRenderer.d.ts.map +1 -1
  63. package/lib/esm/tile/map/ImageryProviders/ArcGisGraphicsRenderer.js +1 -0
  64. package/lib/esm/tile/map/ImageryProviders/ArcGisGraphicsRenderer.js.map +1 -1
  65. package/lib/esm/tools/ToolAdmin.d.ts.map +1 -1
  66. package/lib/esm/tools/ToolAdmin.js +2 -1
  67. package/lib/esm/tools/ToolAdmin.js.map +1 -1
  68. package/package.json +18 -18
@@ -31,10 +31,14 @@ export interface CanvasDecoration {
31
31
  pick?(pt: XAndY): boolean;
32
32
  /** Optional method to be called whenever this decorator is picked and the mouse first enters this decoration. */
33
33
  onMouseEnter?(ev: BeButtonEvent): void;
34
- /** Optional method to be called whenever when the mouse leaves this decoration. */
34
+ /** Optional method to be called whenever the mouse leaves this decoration. */
35
35
  onMouseLeave?(): void;
36
- /** Optional method to be called whenever when the mouse moves inside this decoration. */
36
+ /** Optional method to be called whenever the mouse moves inside this decoration. */
37
37
  onMouseMove?(ev: BeButtonEvent): void;
38
+ /** Optional method to be called whenever the mouse moves inside this decoration that determines whether the event is forwarded to the active tool.
39
+ * @return true if the event was *not* handled by this decoration and should be forwarded to the active tool.
40
+ */
41
+ propagateMouseMove?(ev: BeButtonEvent): boolean;
38
42
  /**
39
43
  * Optional method to be called whenever this decorator is picked and a mouse button is pressed or released inside this decoration.
40
44
  * @return true if the event was handled by this decoration and should *not* be forwarded to the active tool.
@@ -1 +1 @@
1
- {"version":3,"file":"CanvasDecoration.d.ts","sourceRoot":"","sources":["../../../src/render/CanvasDecoration.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE5D;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;;OAMG;IACH,cAAc,CAAC,GAAG,EAAE,wBAAwB,GAAG,IAAI,CAAC;IACpD;;;OAGG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB;;;;OAIG;IACH,IAAI,CAAC,CAAC,EAAE,EAAE,KAAK,GAAG,OAAO,CAAC;IAC1B,iHAAiH;IACjH,YAAY,CAAC,CAAC,EAAE,EAAE,aAAa,GAAG,IAAI,CAAC;IACvC,mFAAmF;IACnF,YAAY,CAAC,IAAI,IAAI,CAAC;IACtB,yFAAyF;IACzF,WAAW,CAAC,CAAC,EAAE,EAAE,aAAa,GAAG,IAAI,CAAC;IACtC;;;;;OAKG;IACH,aAAa,CAAC,CAAC,EAAE,EAAE,aAAa,GAAG,OAAO,CAAC;IAC3C;;;OAGG;IACH,OAAO,CAAC,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO,CAAC;IACpC,gFAAgF;IAChF,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG,gBAAgB,EAAE,CAAC"}
1
+ {"version":3,"file":"CanvasDecoration.d.ts","sourceRoot":"","sources":["../../../src/render/CanvasDecoration.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE5D;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;;OAMG;IACH,cAAc,CAAC,GAAG,EAAE,wBAAwB,GAAG,IAAI,CAAC;IACpD;;;OAGG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB;;;;OAIG;IACH,IAAI,CAAC,CAAC,EAAE,EAAE,KAAK,GAAG,OAAO,CAAC;IAC1B,iHAAiH;IACjH,YAAY,CAAC,CAAC,EAAE,EAAE,aAAa,GAAG,IAAI,CAAC;IACvC,8EAA8E;IAC9E,YAAY,CAAC,IAAI,IAAI,CAAC;IACtB,oFAAoF;IACpF,WAAW,CAAC,CAAC,EAAE,EAAE,aAAa,GAAG,IAAI,CAAC;IACtC;;OAEG;IACH,kBAAkB,CAAC,CAAC,EAAE,EAAE,aAAa,GAAG,OAAO,CAAC;IAChD;;;;;OAKG;IACH,aAAa,CAAC,CAAC,EAAE,EAAE,aAAa,GAAG,OAAO,CAAC;IAC3C;;;OAGG;IACH,OAAO,CAAC,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO,CAAC;IACpC,gFAAgF;IAChF,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG,gBAAgB,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"CanvasDecoration.js","sourceRoot":"","sources":["../../../src/render/CanvasDecoration.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 Rendering\r\n */\r\n\r\nimport { XAndY } from \"@itwin/core-geometry\";\r\nimport { BeButtonEvent, BeWheelEvent } from \"../tools/Tool\";\r\n\r\n/** A [Decoration]($docs/learning/frontend/ViewDecorations#canvas-decorations) that is drawn onto the\r\n * [2d canvas](https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D) on top of a ScreenViewport.\r\n * CanvasDecorations may be pickable by implementing [[pick]].\r\n * @public\r\n * @extensions\r\n */\r\nexport interface CanvasDecoration {\r\n /**\r\n * Required method to draw this decoration into the supplied [CanvasRenderingContext2D](https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D). This method is called every time a frame is rendered.\r\n * @param ctx The CanvasRenderingContext2D for the [[ScreenViewport]] being rendered.\r\n * @note Before this this function is called, the state of the CanvasRenderingContext2D is [saved](https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/save),\r\n * and it is [restored](https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/restore) when this method returns. Therefore,\r\n * it is *not* necessary for implementers to save/restore themselves.\r\n */\r\n drawDecoration(ctx: CanvasRenderingContext2D): void;\r\n /**\r\n * Optional view coordinates position of this overlay decoration. If present, [ctx.translate](https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/translate) is called\r\n * with this point before [[drawDecoration]] is called.\r\n */\r\n position?: XAndY;\r\n /** Optional method to provide feedback when mouse events occur on this decoration.\r\n * @param pt The position of the mouse in the ScreenViewport\r\n * @return true if the mouse is inside this decoration.\r\n * @note If this method is not present, no mouse events are directed to this decoration.\r\n */\r\n pick?(pt: XAndY): boolean;\r\n /** Optional method to be called whenever this decorator is picked and the mouse first enters this decoration. */\r\n onMouseEnter?(ev: BeButtonEvent): void;\r\n /** Optional method to be called whenever when the mouse leaves this decoration. */\r\n onMouseLeave?(): void;\r\n /** Optional method to be called whenever when the mouse moves inside this decoration. */\r\n onMouseMove?(ev: BeButtonEvent): void;\r\n /**\r\n * Optional method to be called whenever this decorator is picked and a mouse button is pressed or released inside this decoration.\r\n * @return true if the event was handled by this decoration and should *not* be forwarded to the active tool.\r\n * @note This method is called for both mouse up and down events. If it returns `true` for a down event, it should also return `true` for the\r\n * corresponding up event.\r\n */\r\n onMouseButton?(ev: BeButtonEvent): boolean;\r\n /**\r\n * Optional method to be called when the mouse wheel is rolled with the pointer over this decoration.\r\n * @return true to indicate that the event has been handled and should not be propagated to default handler\r\n */\r\n onWheel?(ev: BeWheelEvent): boolean;\r\n /** Cursor to use when mouse is inside this decoration. Default is \"pointer\". */\r\n decorationCursor?: string;\r\n}\r\n\r\n/** An array of [[CanvasDecoration]]s.\r\n * @public\r\n * @extensions\r\n */\r\nexport type CanvasDecorationList = CanvasDecoration[];\r\n"]}
1
+ {"version":3,"file":"CanvasDecoration.js","sourceRoot":"","sources":["../../../src/render/CanvasDecoration.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 Rendering\r\n */\r\n\r\nimport { XAndY } from \"@itwin/core-geometry\";\r\nimport { BeButtonEvent, BeWheelEvent } from \"../tools/Tool\";\r\n\r\n/** A [Decoration]($docs/learning/frontend/ViewDecorations#canvas-decorations) that is drawn onto the\r\n * [2d canvas](https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D) on top of a ScreenViewport.\r\n * CanvasDecorations may be pickable by implementing [[pick]].\r\n * @public\r\n * @extensions\r\n */\r\nexport interface CanvasDecoration {\r\n /**\r\n * Required method to draw this decoration into the supplied [CanvasRenderingContext2D](https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D). This method is called every time a frame is rendered.\r\n * @param ctx The CanvasRenderingContext2D for the [[ScreenViewport]] being rendered.\r\n * @note Before this this function is called, the state of the CanvasRenderingContext2D is [saved](https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/save),\r\n * and it is [restored](https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/restore) when this method returns. Therefore,\r\n * it is *not* necessary for implementers to save/restore themselves.\r\n */\r\n drawDecoration(ctx: CanvasRenderingContext2D): void;\r\n /**\r\n * Optional view coordinates position of this overlay decoration. If present, [ctx.translate](https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/translate) is called\r\n * with this point before [[drawDecoration]] is called.\r\n */\r\n position?: XAndY;\r\n /** Optional method to provide feedback when mouse events occur on this decoration.\r\n * @param pt The position of the mouse in the ScreenViewport\r\n * @return true if the mouse is inside this decoration.\r\n * @note If this method is not present, no mouse events are directed to this decoration.\r\n */\r\n pick?(pt: XAndY): boolean;\r\n /** Optional method to be called whenever this decorator is picked and the mouse first enters this decoration. */\r\n onMouseEnter?(ev: BeButtonEvent): void;\r\n /** Optional method to be called whenever the mouse leaves this decoration. */\r\n onMouseLeave?(): void;\r\n /** Optional method to be called whenever the mouse moves inside this decoration. */\r\n onMouseMove?(ev: BeButtonEvent): void;\r\n /** Optional method to be called whenever the mouse moves inside this decoration that determines whether the event is forwarded to the active tool.\r\n * @return true if the event was *not* handled by this decoration and should be forwarded to the active tool.\r\n */\r\n propagateMouseMove?(ev: BeButtonEvent): boolean;\r\n /**\r\n * Optional method to be called whenever this decorator is picked and a mouse button is pressed or released inside this decoration.\r\n * @return true if the event was handled by this decoration and should *not* be forwarded to the active tool.\r\n * @note This method is called for both mouse up and down events. If it returns `true` for a down event, it should also return `true` for the\r\n * corresponding up event.\r\n */\r\n onMouseButton?(ev: BeButtonEvent): boolean;\r\n /**\r\n * Optional method to be called when the mouse wheel is rolled with the pointer over this decoration.\r\n * @return true to indicate that the event has been handled and should not be propagated to default handler\r\n */\r\n onWheel?(ev: BeWheelEvent): boolean;\r\n /** Cursor to use when mouse is inside this decoration. Default is \"pointer\". */\r\n decorationCursor?: string;\r\n}\r\n\r\n/** An array of [[CanvasDecoration]]s.\r\n * @public\r\n * @extensions\r\n */\r\nexport type CanvasDecorationList = CanvasDecoration[];\r\n"]}
@@ -11,6 +11,7 @@ import { RenderGraphic } from "../render/RenderGraphic";
11
11
  import { RenderSystem } from "../render/RenderSystem";
12
12
  import { RealityTileGeometry, TileContent } from "./internal";
13
13
  import { DisplayParams } from "../common/render/primitives/DisplayParams";
14
+ import { PointCloudArgs } from "../render/primitives/PointCloudPrimitive";
14
15
  import { TextureImageSource } from "../common/render/TextureParams";
15
16
  import { GltfAccessor, GltfBuffer, GltfBufferViewProps, GltfDataType, GltfDictionary, GltfDocument, GltfId, GltfImage, GltfMaterial, GltfMesh, GltfMeshPrimitive, GltfNode, GltfSampler, GltfScene, GltfTexture, GltfWrapMode } from "../common/gltf/GltfSchema";
16
17
  /** @internal */
@@ -88,8 +89,14 @@ export declare class GltfMeshData {
88
89
  uvs?: Uint16Array;
89
90
  uvRange?: Range2d;
90
91
  indices?: Uint8Array | Uint16Array | Uint32Array;
92
+ readonly type: "mesh";
91
93
  constructor(props: Mesh);
92
94
  }
95
+ interface GltfPointCloud extends PointCloudArgs {
96
+ readonly type: "pointcloud";
97
+ pointRange: Range3d;
98
+ }
99
+ type GltfPrimitiveData = GltfMeshData | GltfPointCloud;
93
100
  /** A function that returns true if deserialization of the data supplied by the reader should abort.
94
101
  * @internal
95
102
  */
@@ -141,6 +148,7 @@ export declare abstract class GltfReader {
141
148
  protected _computedContentRange?: ElementAlignedBox3d;
142
149
  private readonly _resolvedTextures;
143
150
  private readonly _dracoMeshes;
151
+ private _containsPointCloud;
144
152
  protected get _nodes(): GltfDictionary<GltfNode>;
145
153
  protected get _meshes(): GltfDictionary<GltfMesh>;
146
154
  protected get _accessors(): GltfDictionary<GltfAccessor>;
@@ -200,7 +208,8 @@ export declare abstract class GltfReader {
200
208
  private isMaterialTransparent;
201
209
  protected createDisplayParams(material: GltfMaterial, hasBakedLighting: boolean): DisplayParams | undefined;
202
210
  private readMeshPrimitives;
203
- protected readMeshPrimitive(primitive: GltfMeshPrimitive, featureTable?: FeatureTable, pseudoRtcBias?: Vector3d): GltfMeshData | undefined;
211
+ protected readMeshPrimitive(primitive: GltfMeshPrimitive, featureTable?: FeatureTable, pseudoRtcBias?: Vector3d): GltfPrimitiveData | undefined;
212
+ private readPointCloud;
204
213
  private readDracoMeshPrimitive;
205
214
  private deduplicateVertices;
206
215
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"GltfReader.d.ts","sourceRoot":"","sources":["../../../src/tile/GltfReader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GltfReader.d.ts","sourceRoot":"","sources":["../../../src/tile/GltfReader.ts"],"names":[],"mappings":"AAIA;;GAEG;AAKH,OAAO,EACsC,OAAO,EAAqB,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAC7G,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,gBAAgB,EAAE,SAAS,EAAY,mBAAmB,EAAE,OAAO,EAAkC,YAAY,EACxF,gBAAgB,EAAwC,SAAS,EAAE,SAAS,EACzD,aAAa,EAAE,cAAc,EAAmC,cAAc,EAC3H,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAGvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAE1E,OAAO,EAAE,IAAI,EAAE,MAAM,0CAA0C,CAAC;AAEhE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAG9D,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAI1E,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EACqC,YAAY,EAAE,UAAU,EAAE,mBAAmB,EAAE,YAAY,EAAE,cAAc,EAA0B,YAAY,EAAE,MAAM,EACnK,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAgB,iBAAiB,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAsB,WAAW,EAAE,YAAY,EACpJ,MAAM,2BAA2B,CAAC;AAInC,gBAAgB;AAChB,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,WAAW,GAAG,WAAW,GAAG,YAAY,CAAC;AAEnF;;;;;GAKG;AACH,qBAAa,cAAc;IACzB,SAAgB,MAAM,EAAE,cAAc,CAAC;IACvC,SAAgB,KAAK,EAAE,MAAM,CAAC;gBAEX,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM;IAKxD;;;;OAIG;WACW,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAsBxI,OAAO,CAAC,MAAM,CAAC,gBAAgB;CAgBhC;AAED;;;;;;;;GAQG;AACH,cAAM,cAAc;IAClB,SAAgB,IAAI,EAAE,UAAU,CAAC;IACjC,SAAgB,KAAK,EAAE,MAAM,CAAC;IAC9B,SAAgB,IAAI,EAAE,YAAY,CAAC;IACnC,SAAgB,QAAQ,EAAE,YAAY,CAAC;IACvC,SAAgB,MAAM,EAAE,MAAM,CAAC;IAE/B,IAAW,UAAU,IAAI,MAAM,CAA6B;gBAEzC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM;IAQvG,YAAY,CAAC,WAAW,EAAE,YAAY,GAAG,cAAc,GAAG,SAAS;CAG3E;AAED;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,WAAW;IACnD,UAAU,EAAE,cAAc,CAAC;IAC3B,KAAK,CAAC,EAAE,gBAAgB,CAAC;CAC1B;AAED;;GAEG;AACH,qBAAa,eAAe;IAC1B,SAAgB,OAAO,EAAE,MAAM,CAAC;IAChC,SAAgB,IAAI,EAAE,YAAY,CAAC;IACnC,SAAgB,OAAO,EAAE,OAAO,CAAC;IACjC,SAAgB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxC,SAAgB,OAAO,CAAC,EAAE,GAAG,CAAC;IAE9B,OAAO;IAQP,gIAAgI;WAClH,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,YAAY,EAAE,OAAO,GAAE,OAAe,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,eAAe,GAAG,SAAS;CAuE9H;AAED;;;;;IAKI;AACJ,qBAAa,YAAY;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,GAAG,CAAC,EAAE,WAAW,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,UAAU,GAAG,WAAW,GAAG,WAAW,CAAC;IACxD,SAAgB,IAAI,SAAmB;gBAEpB,KAAK,EAAE,IAAI;CAG/B;AAED,UAAU,cAAe,SAAQ,cAAc;IAC7C,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,KAAK,iBAAiB,GAAG,YAAY,GAAG,cAAc,CAAC;AAEvD;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,MAAM,EAAE,UAAU,KAAK,OAAO,CAAC;AA8ElE;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,qCAAqC;IACrC,KAAK,EAAE,eAAe,CAAC;IACvB,+DAA+D;IAC/D,MAAM,EAAE,gBAAgB,CAAC;IACzB,mCAAmC;IACnC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,gGAAgG;IAChG,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,8JAA8J;IAC9J,WAAW,CAAC,EAAE,mBAAmB,CAAC;IAClC;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAsBD;;GAEG;AACH,8BAAsB,UAAU;IAC9B,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IACvC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IACpC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC;IAC7C,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IAClC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IACzC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC7C,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IACrC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC;IAClC,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IACpC,SAAS,CAAC,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAC;IACjD,SAAS,CAAC,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAC;IACjD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAsB;IACjD,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC;IACzC,SAAS,CAAC,qBAAqB,CAAC,EAAE,mBAAmB,CAAC;IACtD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAiG;IACnI,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA8C;IAC3E,OAAO,CAAC,mBAAmB,CAAS;IAEpC,SAAS,KAAK,MAAM,IAAI,cAAc,CAAC,QAAQ,CAAC,CAA0C;IAC1F,SAAS,KAAK,OAAO,IAAI,cAAc,CAAC,QAAQ,CAAC,CAA2C;IAC5F,SAAS,KAAK,UAAU,IAAI,cAAc,CAAC,YAAY,CAAC,CAA8C;IACtG,SAAS,KAAK,YAAY,IAAI,cAAc,CAAC,mBAAmB,CAAC,CAAgD;IACjH,SAAS,KAAK,UAAU,IAAI,cAAc,CAAC,YAAY,CAAC,CAA8C;IACtG,SAAS,KAAK,SAAS,IAAI,cAAc,CAAC,WAAW,CAAC,CAA6C;IACnG,SAAS,KAAK,SAAS,IAAI,cAAc,CAAC,WAAW,CAAC,CAA6C;IAEnG,SAAS,KAAK,OAAO,IAAI,cAAc,CAAC,SAAS,GAAG;QAAE,aAAa,CAAC,EAAE,kBAAkB,CAAA;KAAE,CAAC,CAA2C;IACtI,SAAS,KAAK,QAAQ,IAAI,cAAc,CAAC,UAAU,GAAG;QAAE,cAAc,CAAC,EAAE,UAAU,CAAA;KAAE,CAAC,CAA4C;IAElI,sEAAsE;aACtD,IAAI,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAEjD,SAAS,KAAK,WAAW,IAAI,OAAO,CAAiE;IACrG,SAAS,KAAK,mBAAmB,IAAI,OAAO,CAAsD;IAElG;;;OAGG;IACI,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC;IAInE;;OAEG;IACI,aAAa,IAAI,QAAQ,CAAC,QAAQ,CAAC;IAI1C,OAAO,CAAC,gBAAgB;IAqBxB,SAAS,CAAC,yBAAyB,CAAC,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,GAAG,SAAS,EAAE,YAAY,EAAE,mBAAmB,GAAG,SAAS,EAAE,eAAe,CAAC,EAAE,SAAS,EAAE,aAAa,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,sBAAsB,GAAG,gBAAgB;IA0DjP,yBAAyB,CAAC,eAAe,CAAC,EAAE,SAAS,EAAE,WAAW,UAAQ,EAAE,UAAU,UAAQ,GAAG,mBAAmB;IAY3H,OAAO,CAAC,mBAAmB;IAkC3B,OAAO,CAAC,yBAAyB;IAkEjC,OAAO,CAAC,0BAA0B;IAsBlC,OAAO,CAAC,oBAAoB;IA2CrB,aAAa,CAAC,IAAI,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAAE,YAAY,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IA2D3F,gBAAgB,CAAC,IAAI,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAAE,YAAY,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAC9F,gBAAgB,CAAC,IAAI,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAAE,YAAY,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAC9F,eAAe,CAAC,IAAI,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAAE,YAAY,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAC7F,mBAAmB,CAAC,IAAI,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAAE,YAAY,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAExG,SAAS,aAAa,IAAI,EAAE,cAAc;IAwC1C,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,cAAc,GAAG,SAAS;IAK1H,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,EAAE,GAAG,SAAS;IAE9D,OAAO,CAAC,SAAS;IAWjB,OAAO,CAAC,gBAAgB;IA0BxB,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,qBAAqB;IAgB7B,SAAS,CAAC,mBAAmB,CAAC,QAAQ,EAAE,YAAY,EAAE,gBAAgB,EAAE,OAAO,GAAG,aAAa,GAAG,SAAS;IAkB3G,OAAO,CAAC,kBAAkB;IAsB1B,SAAS,CAAC,iBAAiB,CAAC,SAAS,EAAE,iBAAiB,EAAE,YAAY,CAAC,EAAE,YAAY,EAAE,aAAa,CAAC,EAAE,QAAQ,GAAG,iBAAiB,GAAG,SAAS;IAkJ/I,OAAO,CAAC,cAAc;IAqDtB,OAAO,CAAC,sBAAsB;IAgE9B,OAAO,CAAC,mBAAmB;IAyC3B;;;;;;;OAOG;IACH,OAAO,CAAC,YAAY;IAgEpB,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS;IAY7F,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,iBAAiB;IAG9D,SAAS,CAAC,qBAAqB,CAAC,UAAU,EAAE,iBAAiB,GAAG,OAAO,GAAG,MAAM,EAAE,GAAG,SAAS;IAI9F,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,GAAG,OAAO;IAuBlF,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO;IAyCpG,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO;IAyBxG,OAAO,CAAC,YAAY;IA8DpB,SAAS,CAAC,aAAa,CAAC,SAAS,EAAE,gBAAgB,EAAE,IAAI,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO;cA6BlH,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;YA6BnC,iBAAiB;YAuBjB,eAAe;IAgB7B,OAAO,CAAC,UAAU;YAUJ,aAAa;YAqBb,YAAY;IAoC1B;;;;OAIG;IACI,eAAe,eAAuB;IAE7C,oCAAoC;IAC7B,cAAc,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,aAAa,CAAC,IAAI;IAahE,OAAO,CAAC,cAAc;IAuBtB,SAAS,CAAC,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,cAAc,GAAG,SAAS;CAuC1I;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,IAAI,EAAE,UAAU,GAAG,MAAM,CAAC;IAC1B,sIAAsI;IACtI,MAAM,EAAE,gBAAgB,CAAC;IACzB;;;OAGG;IACH,eAAe,CAAC,EAAE,sBAAsB,CAAC;IACzC;;OAEG;IACH,OAAO,CAAC,EAAE,GAAG,GAAG,MAAM,CAAC;IACvB,aAAa;IACb,YAAY,CAAC,EAAE,mBAAmB,CAAC;IACnC,aAAa;IACb,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,aAAa;IACb,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,+CAA+C;IAC/C,OAAO,EAAE,aAAa,CAAC;IACvB,uEAAuE;IACvE,gBAAgB,EAAE,mBAAmB,CAAC;IACtC,uEAAuE;IACvE,WAAW,EAAE,gBAAgB,CAAC;CAC/B;AAED;;;;;;;;;GASG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAGrG;AAED;;;;;;;;GAQG;AACH,wBAAsB,QAAQ,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAmB3F;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,UAAU;IAChD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAe;IAC9C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAsB;IACrD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAY;IACxC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,SAAgB,UAAU,CAAC,EAAE,UAAU,CAAC;gBAErB,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,oBAAoB;IAmBxD,IAAI,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAK9C,IAAW,KAAK,IAAI,cAAc,CAAC,QAAQ,CAAC,CAAwB;IACpE,IAAW,MAAM,IAAI,cAAc,CAAC,SAAS,CAAC,CAA2C;IACzF,IAAW,UAAU,IAAI,MAAM,EAAE,CAA6B;IAC9D,IAAW,QAAQ,IAAI,cAAc,CAAC,WAAW,CAAC,CAA2B;CAC9E"}
@@ -209,6 +209,7 @@ exports.GltfReaderProps = GltfReaderProps;
209
209
  */
210
210
  class GltfMeshData {
211
211
  constructor(props) {
212
+ this.type = "mesh";
212
213
  this.primitive = props;
213
214
  }
214
215
  }
@@ -375,6 +376,7 @@ class GltfReader {
375
376
  contentRange,
376
377
  range,
377
378
  graphic: renderGraphic,
379
+ containsPointCloud: this._containsPointCloud,
378
380
  };
379
381
  }
380
382
  readGltfAndCreateGeometry(transformToRoot, needNormals = false, needParams = false) {
@@ -388,6 +390,8 @@ class GltfReader {
388
390
  return { polyfaces };
389
391
  }
390
392
  graphicFromMeshData(gltfMesh, instances) {
393
+ if ("pointcloud" === gltfMesh.type)
394
+ return this._system.createPointCloud(gltfMesh, this._iModel);
391
395
  if (!gltfMesh.points || !gltfMesh.pointRange)
392
396
  return gltfMesh.primitive.getGraphics(this._system, instances);
393
397
  const realityMeshPrimitive = (this._vertexTableRequired || instances) ? undefined : RealityMeshParams_1.RealityMeshParams.fromGltfMesh(gltfMesh);
@@ -474,9 +478,11 @@ class GltfReader {
474
478
  transformStack.push(node);
475
479
  const meshes = this.readMeshPrimitives(node);
476
480
  for (const mesh of meshes) {
477
- const polyface = this.polyfaceFromGltfMesh(mesh, transformStack.transform, needNormals, needParams);
478
- if (polyface)
479
- polyfaces.push(polyface);
481
+ if (mesh.type === "mesh") {
482
+ const polyface = this.polyfaceFromGltfMesh(mesh, transformStack.transform, needNormals, needParams);
483
+ if (polyface)
484
+ polyfaces.push(polyface);
485
+ }
480
486
  }
481
487
  if (node.children) {
482
488
  for (const childId of node.children) {
@@ -550,6 +556,9 @@ class GltfReader {
550
556
  }
551
557
  let componentCount = 1;
552
558
  switch (accessor.type) {
559
+ case "VEC4":
560
+ componentCount = 4;
561
+ break;
553
562
  case "VEC3":
554
563
  componentCount = 3;
555
564
  break;
@@ -576,6 +585,7 @@ class GltfReader {
576
585
  constructor(args) {
577
586
  this._resolvedTextures = new core_bentley_1.Dictionary((lhs, rhs) => compareTextureKeys(lhs, rhs));
578
587
  this._dracoMeshes = new Map();
588
+ this._containsPointCloud = false;
579
589
  /** The glTF spec says that if GltfSampler.wrapS/T are omitted, they default to Repeat.
580
590
  * However, the reality data service serves tiles that lack any wrapS/T property, and we want those clamped to edge, not repeated.
581
591
  * (We also don't want to produce mip-maps for them, which is determined indirectly from the wrap mode).
@@ -709,6 +719,12 @@ class GltfReader {
709
719
  return meshes;
710
720
  }
711
721
  readMeshPrimitive(primitive, featureTable, pseudoRtcBias) {
722
+ const meshMode = core_bentley_1.JsonUtils.asInt(primitive.mode, GltfSchema_1.GltfMeshMode.Triangles);
723
+ if (meshMode === GltfSchema_1.GltfMeshMode.Points /* && !this._vertexTableRequired */) {
724
+ const pointCloud = this.readPointCloud(primitive, undefined !== featureTable);
725
+ if (pointCloud)
726
+ return pointCloud;
727
+ }
712
728
  const materialName = core_bentley_1.JsonUtils.asString(primitive.material);
713
729
  const material = 0 < materialName.length ? this._materials[materialName] : {};
714
730
  if (!material)
@@ -718,7 +734,6 @@ class GltfReader {
718
734
  if (!displayParams)
719
735
  return undefined;
720
736
  let primitiveType = -1;
721
- const meshMode = core_bentley_1.JsonUtils.asInt(primitive.mode, GltfSchema_1.GltfMeshMode.Triangles);
722
737
  switch (meshMode) {
723
738
  case GltfSchema_1.GltfMeshMode.Lines:
724
739
  primitiveType = MeshPrimitive_1.MeshPrimitiveType.Polyline;
@@ -730,7 +745,6 @@ class GltfReader {
730
745
  primitiveType = MeshPrimitive_1.MeshPrimitiveType.Mesh;
731
746
  break;
732
747
  default:
733
- (0, core_bentley_1.assert)(false);
734
748
  return undefined;
735
749
  }
736
750
  const isVolumeClassifier = this._isVolumeClassifier;
@@ -825,6 +839,51 @@ class GltfReader {
825
839
  }
826
840
  return mesh;
827
841
  }
842
+ readPointCloud(primitive, hasFeatures) {
843
+ const posView = this.getBufferView(primitive.attributes, "POSITION");
844
+ if (!posView || GltfSchema_1.GltfDataType.Float !== posView.type)
845
+ return undefined;
846
+ const posData = posView.toBufferData(GltfSchema_1.GltfDataType.Float);
847
+ if (!(posData?.buffer instanceof Float32Array))
848
+ return undefined;
849
+ const colorView = this.getBufferView(primitive.attributes, "COLOR_0");
850
+ if (!colorView || GltfSchema_1.GltfDataType.UnsignedByte !== colorView.type)
851
+ return undefined;
852
+ const colorData = colorView.toBufferData(GltfSchema_1.GltfDataType.UnsignedByte);
853
+ if (!(colorData?.buffer instanceof Uint8Array))
854
+ return undefined;
855
+ const strideSkip = posView.stride - 3;
856
+ const pointRange = new core_geometry_1.Range3d();
857
+ for (let i = 0; i < posData.buffer.length; i += strideSkip)
858
+ pointRange.extendXYZ(posData.buffer[i++], posData.buffer[i++], posData.buffer[i++]);
859
+ let colors = colorData.buffer;
860
+ if ("VEC4" === colorView.accessor.type) {
861
+ // ###TODO support transparent point clouds
862
+ colors = new Uint8Array(colorData.count * 3);
863
+ for (let i = 0; i < colorData.count; i++) {
864
+ const srcIdx = colorView.stride * i;
865
+ const dstIdx = 3 * i;
866
+ for (let j = 0; j < 3; j++)
867
+ colors[dstIdx + j] = colorData.buffer[srcIdx + j];
868
+ }
869
+ }
870
+ const features = new core_common_1.FeatureIndex();
871
+ if (hasFeatures)
872
+ features.type = core_common_1.FeatureIndexType.Uniform;
873
+ this._containsPointCloud = true;
874
+ return {
875
+ type: "pointcloud",
876
+ positions: posData.buffer,
877
+ qparams: core_common_1.QParams3d.fromOriginAndScale(new core_geometry_1.Point3d(0, 0, 0), new core_geometry_1.Point3d(1, 1, 1)),
878
+ pointRange,
879
+ colors,
880
+ colorFormat: "rgb",
881
+ features,
882
+ // ###TODO: If tile does not use additive refinement, compute voxelSize based on point range.
883
+ // Additive refinement is typical of the glTF point clouds we receive from Orbit.
884
+ voxelSize: 0,
885
+ };
886
+ }
828
887
  readDracoMeshPrimitive(mesh, ext) {
829
888
  const draco = this._dracoMeshes.get(ext);
830
889
  if (!draco || "triangle-list" !== draco.topology)