@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":"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"}
@@ -7,7 +7,7 @@
7
7
  */
8
8
  import { assert, ByteStream, compareBooleans, compareNumbers, compareStrings, Dictionary, JsonUtils, Logger, utf8ToString, } from "@itwin/core-bentley";
9
9
  import { Angle, IndexedPolyface, Matrix3d, Point2d, Point3d, Point4d, Range2d, Range3d, Transform, Vector3d, } from "@itwin/core-geometry";
10
- import { BatchType, ColorDef, Feature, FeatureTable, FillFlags, GlbHeader, ImageSource, LinePixels, MeshEdge, MeshEdges, MeshPolyline, OctEncodedNormal, PackedFeatureTable, QParams2d, QParams3d, QPoint2dList, QPoint3dList, Quantization, RenderTexture, TextureMapping, TextureTransparency, TileFormat, TileReadStatus, } from "@itwin/core-common";
10
+ import { BatchType, ColorDef, Feature, FeatureIndex, FeatureIndexType, FeatureTable, FillFlags, GlbHeader, ImageSource, LinePixels, MeshEdge, MeshEdges, MeshPolyline, OctEncodedNormal, PackedFeatureTable, QParams2d, QParams3d, QPoint2dList, QPoint3dList, Quantization, RenderTexture, TextureMapping, TextureTransparency, TileFormat, TileReadStatus, } from "@itwin/core-common";
11
11
  import { IModelApp } from "../IModelApp";
12
12
  import { GraphicBranch } from "../render/GraphicBranch";
13
13
  import { RealityMeshParams } from "../render/RealityMeshParams";
@@ -181,6 +181,7 @@ export class GltfReaderProps {
181
181
  */
182
182
  export class GltfMeshData {
183
183
  constructor(props) {
184
+ this.type = "mesh";
184
185
  this.primitive = props;
185
186
  }
186
187
  }
@@ -346,6 +347,7 @@ export class GltfReader {
346
347
  contentRange,
347
348
  range,
348
349
  graphic: renderGraphic,
350
+ containsPointCloud: this._containsPointCloud,
349
351
  };
350
352
  }
351
353
  readGltfAndCreateGeometry(transformToRoot, needNormals = false, needParams = false) {
@@ -359,6 +361,8 @@ export class GltfReader {
359
361
  return { polyfaces };
360
362
  }
361
363
  graphicFromMeshData(gltfMesh, instances) {
364
+ if ("pointcloud" === gltfMesh.type)
365
+ return this._system.createPointCloud(gltfMesh, this._iModel);
362
366
  if (!gltfMesh.points || !gltfMesh.pointRange)
363
367
  return gltfMesh.primitive.getGraphics(this._system, instances);
364
368
  const realityMeshPrimitive = (this._vertexTableRequired || instances) ? undefined : RealityMeshParams.fromGltfMesh(gltfMesh);
@@ -445,9 +449,11 @@ export class GltfReader {
445
449
  transformStack.push(node);
446
450
  const meshes = this.readMeshPrimitives(node);
447
451
  for (const mesh of meshes) {
448
- const polyface = this.polyfaceFromGltfMesh(mesh, transformStack.transform, needNormals, needParams);
449
- if (polyface)
450
- polyfaces.push(polyface);
452
+ if (mesh.type === "mesh") {
453
+ const polyface = this.polyfaceFromGltfMesh(mesh, transformStack.transform, needNormals, needParams);
454
+ if (polyface)
455
+ polyfaces.push(polyface);
456
+ }
451
457
  }
452
458
  if (node.children) {
453
459
  for (const childId of node.children) {
@@ -521,6 +527,9 @@ export class GltfReader {
521
527
  }
522
528
  let componentCount = 1;
523
529
  switch (accessor.type) {
530
+ case "VEC4":
531
+ componentCount = 4;
532
+ break;
524
533
  case "VEC3":
525
534
  componentCount = 3;
526
535
  break;
@@ -547,6 +556,7 @@ export class GltfReader {
547
556
  constructor(args) {
548
557
  this._resolvedTextures = new Dictionary((lhs, rhs) => compareTextureKeys(lhs, rhs));
549
558
  this._dracoMeshes = new Map();
559
+ this._containsPointCloud = false;
550
560
  /** The glTF spec says that if GltfSampler.wrapS/T are omitted, they default to Repeat.
551
561
  * However, the reality data service serves tiles that lack any wrapS/T property, and we want those clamped to edge, not repeated.
552
562
  * (We also don't want to produce mip-maps for them, which is determined indirectly from the wrap mode).
@@ -680,6 +690,12 @@ export class GltfReader {
680
690
  return meshes;
681
691
  }
682
692
  readMeshPrimitive(primitive, featureTable, pseudoRtcBias) {
693
+ const meshMode = JsonUtils.asInt(primitive.mode, GltfMeshMode.Triangles);
694
+ if (meshMode === GltfMeshMode.Points /* && !this._vertexTableRequired */) {
695
+ const pointCloud = this.readPointCloud(primitive, undefined !== featureTable);
696
+ if (pointCloud)
697
+ return pointCloud;
698
+ }
683
699
  const materialName = JsonUtils.asString(primitive.material);
684
700
  const material = 0 < materialName.length ? this._materials[materialName] : {};
685
701
  if (!material)
@@ -689,7 +705,6 @@ export class GltfReader {
689
705
  if (!displayParams)
690
706
  return undefined;
691
707
  let primitiveType = -1;
692
- const meshMode = JsonUtils.asInt(primitive.mode, GltfMeshMode.Triangles);
693
708
  switch (meshMode) {
694
709
  case GltfMeshMode.Lines:
695
710
  primitiveType = MeshPrimitiveType.Polyline;
@@ -701,7 +716,6 @@ export class GltfReader {
701
716
  primitiveType = MeshPrimitiveType.Mesh;
702
717
  break;
703
718
  default:
704
- assert(false);
705
719
  return undefined;
706
720
  }
707
721
  const isVolumeClassifier = this._isVolumeClassifier;
@@ -796,6 +810,51 @@ export class GltfReader {
796
810
  }
797
811
  return mesh;
798
812
  }
813
+ readPointCloud(primitive, hasFeatures) {
814
+ const posView = this.getBufferView(primitive.attributes, "POSITION");
815
+ if (!posView || GltfDataType.Float !== posView.type)
816
+ return undefined;
817
+ const posData = posView.toBufferData(GltfDataType.Float);
818
+ if (!(posData?.buffer instanceof Float32Array))
819
+ return undefined;
820
+ const colorView = this.getBufferView(primitive.attributes, "COLOR_0");
821
+ if (!colorView || GltfDataType.UnsignedByte !== colorView.type)
822
+ return undefined;
823
+ const colorData = colorView.toBufferData(GltfDataType.UnsignedByte);
824
+ if (!(colorData?.buffer instanceof Uint8Array))
825
+ return undefined;
826
+ const strideSkip = posView.stride - 3;
827
+ const pointRange = new Range3d();
828
+ for (let i = 0; i < posData.buffer.length; i += strideSkip)
829
+ pointRange.extendXYZ(posData.buffer[i++], posData.buffer[i++], posData.buffer[i++]);
830
+ let colors = colorData.buffer;
831
+ if ("VEC4" === colorView.accessor.type) {
832
+ // ###TODO support transparent point clouds
833
+ colors = new Uint8Array(colorData.count * 3);
834
+ for (let i = 0; i < colorData.count; i++) {
835
+ const srcIdx = colorView.stride * i;
836
+ const dstIdx = 3 * i;
837
+ for (let j = 0; j < 3; j++)
838
+ colors[dstIdx + j] = colorData.buffer[srcIdx + j];
839
+ }
840
+ }
841
+ const features = new FeatureIndex();
842
+ if (hasFeatures)
843
+ features.type = FeatureIndexType.Uniform;
844
+ this._containsPointCloud = true;
845
+ return {
846
+ type: "pointcloud",
847
+ positions: posData.buffer,
848
+ qparams: QParams3d.fromOriginAndScale(new Point3d(0, 0, 0), new Point3d(1, 1, 1)),
849
+ pointRange,
850
+ colors,
851
+ colorFormat: "rgb",
852
+ features,
853
+ // ###TODO: If tile does not use additive refinement, compute voxelSize based on point range.
854
+ // Additive refinement is typical of the glTF point clouds we receive from Orbit.
855
+ voxelSize: 0,
856
+ };
857
+ }
799
858
  readDracoMeshPrimitive(mesh, ext) {
800
859
  const draco = this._dracoMeshes.get(ext);
801
860
  if (!draco || "triangle-list" !== draco.topology)