@cognite/reveal 2.0.0-beta.3 → 2.1.2

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 (210) hide show
  1. package/README.md +81 -6
  2. package/core/cad.d.ts +5 -0
  3. package/core/index.d.ts +7 -0
  4. package/{datamodels → core/src/datamodels}/base/SupportedModelTypes.d.ts +4 -4
  5. package/{datamodels → core/src/datamodels}/base/index.d.ts +6 -6
  6. package/{datamodels → core/src/datamodels}/base/types.d.ts +14 -13
  7. package/{datamodels → core/src/datamodels}/cad/CadManager.d.ts +43 -50
  8. package/{datamodels → core/src/datamodels}/cad/CadModelFactory.d.ts +7 -11
  9. package/{datamodels → core/src/datamodels}/cad/CadModelSectorLoadStatistics.d.ts +38 -38
  10. package/core/src/datamodels/cad/createCadManager.d.ts +10 -0
  11. package/{datamodels → core/src/datamodels}/cad/picking.d.ts +28 -28
  12. package/{datamodels → core/src/datamodels}/cad/rendering/RenderAlreadyLoadedGeometryProvider.d.ts +9 -10
  13. package/{datamodels → core/src/datamodels}/cad/sector/CadModelClipper.d.ts +10 -10
  14. package/{datamodels → core/src/datamodels}/cad/styling/AssetNodeCollection.d.ts +39 -39
  15. package/{datamodels → core/src/datamodels}/cad/styling/InvertedNodeCollection.d.ts +24 -24
  16. package/{datamodels → core/src/datamodels}/cad/styling/NodeCollectionDeserializer.d.ts +26 -26
  17. package/{datamodels → core/src/datamodels}/cad/styling/PopulateIndexSetFromPagedResponseHelper.d.ts +24 -25
  18. package/{datamodels → core/src/datamodels}/cad/styling/PropertyFilterNodeCollection.d.ts +61 -61
  19. package/{datamodels → core/src/datamodels}/cad/styling/SinglePropertyFilterNodeCollection.d.ts +60 -63
  20. package/{datamodels → core/src/datamodels}/cad/styling/index.d.ts +8 -13
  21. package/{datamodels → core/src/datamodels}/pointcloud/PointCloudFactory.d.ts +9 -9
  22. package/{datamodels → core/src/datamodels}/pointcloud/PointCloudManager.d.ts +25 -22
  23. package/{datamodels → core/src/datamodels}/pointcloud/PointCloudMetadata.d.ts +11 -11
  24. package/{datamodels → core/src/datamodels}/pointcloud/PointCloudMetadataRepository.d.ts +13 -12
  25. package/{datamodels → core/src/datamodels}/pointcloud/PointCloudNode.d.ts +62 -61
  26. package/{datamodels → core/src/datamodels}/pointcloud/PotreeGroupWrapper.d.ts +39 -33
  27. package/{datamodels → core/src/datamodels}/pointcloud/PotreeNodeWrapper.d.ts +38 -38
  28. package/core/src/datamodels/pointcloud/createPointCloudManager.d.ts +8 -0
  29. package/{datamodels → core/src/datamodels}/pointcloud/picking.d.ts +29 -29
  30. package/{datamodels → core/src/datamodels}/pointcloud/types.d.ts +114 -114
  31. package/core/src/index.d.ts +19 -0
  32. package/{migration.d.ts → core/src/migration.d.ts} +8 -8
  33. package/{public → core/src/public}/RevealManager.d.ts +61 -62
  34. package/{public → core/src/public}/createRevealManager.d.ts +24 -24
  35. package/{public → core/src/public}/migration/Cognite3DModel.d.ts +323 -297
  36. package/{public → core/src/public}/migration/Cognite3DViewer.d.ts +545 -535
  37. package/{public → core/src/public}/migration/CogniteModelBase.d.ts +17 -17
  38. package/{public → core/src/public}/migration/CognitePointCloudModel.d.ts +121 -127
  39. package/{public → core/src/public}/migration/NodeIdAndTreeIndexMaps.d.ts +4 -4
  40. package/{public → core/src/public}/migration/NotSupportedInMigrationWrapperError.d.ts +11 -11
  41. package/{public → core/src/public}/migration/RenderController.d.ts +4 -4
  42. package/core/src/public/migration/RevealManagerHelper.d.ts +58 -0
  43. package/{public → core/src/public}/migration/types.d.ts +240 -222
  44. package/core/src/public/types.d.ts +45 -0
  45. package/{utilities → core/src/utilities}/BoundingBoxClipper.d.ts +23 -26
  46. package/core/src/utilities/Spinner.d.ts +28 -0
  47. package/{utilities → core/src/utilities}/ViewStateHelper.d.ts +33 -33
  48. package/{utilities → core/src/utilities}/callActionWithIndicesAsync.d.ts +4 -4
  49. package/core/src/utilities/index.d.ts +8 -0
  50. package/{utilities → core/src/utilities}/reflection.d.ts +7 -13
  51. package/core/src/utilities/worldToViewport.d.ts +31 -0
  52. package/{utilities/events/clickOrTouchEventOffset.d.ts → core/utilities.d.ts} +4 -4
  53. package/index.d.ts +8 -20
  54. package/index.js +176 -121
  55. package/index.map +1 -1
  56. package/package.json +47 -120
  57. package/packages/cad-geometry-loaders/index.d.ts +20 -0
  58. package/{datamodels/cad → packages/cad-geometry-loaders/src}/CadLoadingHints.d.ts +11 -11
  59. package/{datamodels/cad → packages/cad-geometry-loaders/src}/CadModelSectorBudget.d.ts +26 -21
  60. package/{datamodels/cad → packages/cad-geometry-loaders/src}/CadModelUpdateHandler.d.ts +44 -42
  61. package/{datamodels/cad → packages/cad-geometry-loaders/src}/CadNode.d.ts +54 -59
  62. package/{datamodels/cad → packages/cad-geometry-loaders/src}/InstancedMeshManager.d.ts +20 -20
  63. package/{datamodels/cad → packages/cad-geometry-loaders/src}/cameraconfig.d.ts +12 -12
  64. package/{datamodels/cad → packages/cad-geometry-loaders/src/material-manager}/CadMaterialManager.d.ts +37 -39
  65. package/{datamodels/cad → packages/cad-geometry-loaders/src/material-manager}/rendering/EffectRenderManager.d.ts +83 -83
  66. package/{datamodels/cad → packages/cad-geometry-loaders/src/material-manager}/rendering/createSimpleGeometryMesh.d.ts +6 -6
  67. package/{datamodels/cad → packages/cad-geometry-loaders/src/material-manager}/rendering/filterInstanceMesh.d.ts +6 -6
  68. package/{datamodels/cad → packages/cad-geometry-loaders/src/material-manager}/rendering/triangleMeshes.d.ts +6 -6
  69. package/packages/cad-geometry-loaders/src/material-manager/rendering/types.d.ts +76 -0
  70. package/{datamodels/cad → packages/cad-geometry-loaders/src/material-manager}/styling/NodeAppearanceTextureBuilder.d.ts +50 -51
  71. package/{datamodels/cad → packages/cad-geometry-loaders/src/material-manager}/styling/NodeTransformProvider.d.ts +13 -13
  72. package/{datamodels/cad → packages/cad-geometry-loaders/src/material-manager}/styling/NodeTransformTextureBuilder.d.ts +23 -23
  73. package/{datamodels/cad → packages/cad-geometry-loaders/src/material-manager}/styling/TransformOverrideBuffer.d.ts +21 -21
  74. package/{datamodels/cad → packages/cad-geometry-loaders/src}/sector/CachedRepository.d.ts +25 -26
  75. package/{datamodels/cad → packages/cad-geometry-loaders/src}/sector/ModelStateHandler.d.ts +12 -12
  76. package/{datamodels/cad → packages/cad-geometry-loaders/src}/sector/Repository.d.ts +9 -9
  77. package/{datamodels/cad → packages/cad-geometry-loaders/src}/sector/RootSectorNode.d.ts +12 -12
  78. package/packages/cad-geometry-loaders/src/sector/SectorLoader.d.ts +28 -0
  79. package/{datamodels/cad → packages/cad-geometry-loaders/src}/sector/SectorNode.d.ts +21 -20
  80. package/packages/cad-geometry-loaders/src/sector/SimpleAndDetailedToSector3D.d.ts +20 -0
  81. package/{datamodels/cad → packages/cad-geometry-loaders/src}/sector/culling/ByVisibilityGpuSectorCuller.d.ts +53 -53
  82. package/{datamodels/cad → packages/cad-geometry-loaders/src}/sector/culling/OccludingGeometryProvider.d.ts +6 -6
  83. package/{datamodels/cad → packages/cad-geometry-loaders/src}/sector/culling/OrderSectorsByVisibilityCoverage.d.ts +107 -108
  84. package/{datamodels/cad → packages/cad-geometry-loaders/src}/sector/culling/SectorCuller.d.ts +33 -33
  85. package/{datamodels/cad → packages/cad-geometry-loaders/src}/sector/culling/TakenSectorTree.d.ts +24 -24
  86. package/{datamodels/cad → packages/cad-geometry-loaders/src}/sector/culling/types.d.ts +71 -68
  87. package/packages/cad-geometry-loaders/src/sector/rxSectorUtilities.d.ts +12 -0
  88. package/{datamodels/cad → packages/cad-geometry-loaders/src}/sector/sectorUtilities.d.ts +19 -20
  89. package/packages/cad-geometry-loaders/src/utilities/PromiseUtils.d.ts +18 -0
  90. package/{utilities → packages/cad-geometry-loaders/src/utilities}/arrays.d.ts +5 -5
  91. package/{datamodels/cad/rendering → packages/cad-geometry-loaders/src/utilities}/float32BufferToMatrix.d.ts +12 -12
  92. package/{datamodels/cad/sector → packages/cad-geometry-loaders/src/utilities}/groupMeshesByNumber.d.ts +8 -8
  93. package/{utilities → packages/cad-geometry-loaders/src/utilities}/rxOperations.d.ts +5 -7
  94. package/{utilities → packages/cad-geometry-loaders/src/utilities}/types.d.ts +48 -67
  95. package/packages/cad-parsers/index.d.ts +20 -0
  96. package/{datamodels/cad/sector → packages/cad-parsers/src/cad}/CadSectorParser.d.ts +15 -16
  97. package/{datamodels/cad/sector → packages/cad-parsers/src/cad}/LevelOfDetail.d.ts +8 -8
  98. package/{datamodels/cad/rendering → packages/cad-parsers/src/cad}/RenderMode.d.ts +15 -15
  99. package/{datamodels/cad/rendering → packages/cad-parsers/src/cad}/computeBoundingBoxFromAttributes.d.ts +9 -9
  100. package/{datamodels/cad/rendering → packages/cad-parsers/src/cad}/filterPrimitives.d.ts +9 -9
  101. package/{datamodels/cad/rendering → packages/cad-parsers/src/cad}/matCapTextureData.d.ts +5 -5
  102. package/{datamodels/cad/rendering → packages/cad-parsers/src/cad}/materials.d.ts +23 -23
  103. package/{datamodels/cad/rendering → packages/cad-parsers/src/cad}/primitiveGeometries.d.ts +31 -31
  104. package/packages/cad-parsers/src/cad/primitives.d.ts +12 -0
  105. package/{datamodels/cad/rendering → packages/cad-parsers/src/cad}/shaders.d.ts +101 -101
  106. package/packages/cad-parsers/src/cad/types.d.ts +56 -0
  107. package/{datamodels/cad/parsers → packages/cad-parsers/src/metadata}/CadMetadataParser.d.ts +7 -7
  108. package/{datamodels/cad → packages/cad-parsers/src/metadata}/CadModelMetadata.d.ts +44 -36
  109. package/packages/cad-parsers/src/metadata/CadModelMetadataRepository.d.ts +16 -0
  110. package/{datamodels/base → packages/cad-parsers/src/metadata}/MetadataRepository.d.ts +6 -6
  111. package/{datamodels/cad → packages/cad-parsers/src/metadata}/parsers/CadMetadataParserV8.d.ts +51 -50
  112. package/packages/cad-parsers/src/metadata/types.d.ts +41 -0
  113. package/{datamodels/cad/sector → packages/cad-parsers/src/utilities}/SectorScene.d.ts +21 -21
  114. package/packages/cad-parsers/src/utilities/SectorSceneFactory.d.ts +12 -0
  115. package/packages/cad-parsers/src/utilities/types.d.ts +48 -0
  116. package/packages/cad-styling/index.d.ts +9 -0
  117. package/{datamodels/cad/styling → packages/cad-styling/src}/CombineNodeCollectionBase.d.ts +31 -31
  118. package/{datamodels/cad/styling → packages/cad-styling/src}/IntersectionNodeCollection.d.ts +15 -15
  119. package/{datamodels/cad → packages/cad-styling/src}/NodeAppearance.d.ts +62 -66
  120. package/{datamodels/cad/styling → packages/cad-styling/src}/NodeAppearanceProvider.d.ts +29 -29
  121. package/{datamodels/cad/styling → packages/cad-styling/src}/NodeCollectionBase.d.ts +47 -47
  122. package/{datamodels/cad/styling → packages/cad-styling/src}/TreeIndexNodeCollection.d.ts +23 -24
  123. package/{datamodels/cad/styling → packages/cad-styling/src}/UnionNodeCollection.d.ts +15 -15
  124. package/packages/camera-manager/index.d.ts +4 -0
  125. package/{combo-camera-controls → packages/camera-manager/src}/ComboControls.d.ts +83 -83
  126. package/{combo-camera-controls → packages/camera-manager/src}/Keyboard.d.ts +14 -14
  127. package/packages/logger/index.d.ts +5 -0
  128. package/packages/logger/src/Log.d.ts +5 -0
  129. package/packages/modeldata-api/index.d.ts +8 -0
  130. package/packages/modeldata-api/src/CdfModelDataClient.d.ts +17 -0
  131. package/{utilities/networking/CdfModelDataClient.d.ts → packages/modeldata-api/src/CdfModelMetadataProvider.d.ts} +36 -45
  132. package/packages/modeldata-api/src/LocalModelDataClient.d.ts +10 -0
  133. package/packages/modeldata-api/src/LocalModelMetadataProvider.d.ts +19 -0
  134. package/{utilities/networking → packages/modeldata-api/src}/Model3DOutputList.d.ts +17 -18
  135. package/{utilities/networking → packages/modeldata-api/src}/applyDefaultModelTransformation.d.ts +6 -6
  136. package/packages/modeldata-api/src/types.d.ts +55 -0
  137. package/packages/modeldata-api/src/utilities.d.ts +7 -0
  138. package/packages/nodes-api/index.d.ts +7 -0
  139. package/packages/nodes-api/src/NodesApiClient.d.ts +43 -0
  140. package/packages/nodes-api/src/NodesCdfClient.d.ts +19 -0
  141. package/packages/nodes-api/src/NodesLocalClient.d.ts +25 -0
  142. package/packages/nodes-api/src/types.d.ts +14 -0
  143. package/packages/tools/index.d.ts +12 -0
  144. package/{tools → packages/tools/src}/AxisView/AxisViewTool.d.ts +32 -32
  145. package/{tools → packages/tools/src}/AxisView/types.d.ts +98 -98
  146. package/{tools → packages/tools/src}/Cognite3DViewerToolBase.d.ts +25 -25
  147. package/{tools → packages/tools/src}/DebugCameraTool.d.ts +20 -20
  148. package/{tools → packages/tools/src}/DebugLoadedSectorsTool.d.ts +23 -22
  149. package/{tools → packages/tools/src}/ExplodedViewTool.d.ts +12 -12
  150. package/packages/tools/src/Geomap/Geomap.d.ts +14 -0
  151. package/packages/tools/src/Geomap/GeomapTool.d.ts +21 -0
  152. package/packages/tools/src/Geomap/MapConfig.d.ts +195 -0
  153. package/{tools → packages/tools/src}/HtmlOverlayTool.d.ts +88 -88
  154. package/packages/tools/src/types.d.ts +4 -0
  155. package/packages/utilities/index.d.ts +24 -0
  156. package/packages/utilities/src/CameraConfiguration.d.ts +10 -0
  157. package/{utilities → packages/utilities/src}/IndexSet.d.ts +1 -1
  158. package/{utilities → packages/utilities/src}/NumericRange.d.ts +21 -21
  159. package/{utilities → packages/utilities/src}/WebGLRendererStateHelper.d.ts +15 -15
  160. package/{utilities → packages/utilities/src}/assertNever.d.ts +7 -7
  161. package/{utilities → packages/utilities/src}/cache/MemoryRequestCache.d.ts +22 -22
  162. package/{utilities → packages/utilities/src/cache}/MostFrequentlyUsedCache.d.ts +19 -19
  163. package/{utilities → packages/utilities/src}/cache/RequestCache.d.ts +13 -13
  164. package/{utilities → packages/utilities/src}/datastructures/DynamicDefragmentedBuffer.d.ts +22 -22
  165. package/{utilities → packages/utilities/src}/determinePowerOfTwoDimensions.d.ts +11 -11
  166. package/{utilities → packages/utilities/src}/disposeAttributeArrayOnUpload.d.ts +17 -17
  167. package/{utilities → packages/utilities/src}/events/EventTrigger.d.ts +13 -13
  168. package/packages/utilities/src/events/clickOrTouchEventOffset.d.ts +13 -0
  169. package/{utilities → packages/utilities/src}/events/index.d.ts +5 -5
  170. package/{utilities → packages/utilities/src}/indexset/IndexSet.d.ts +26 -26
  171. package/{utilities → packages/utilities/src}/indexset/IntermediateIndexNode.d.ts +26 -26
  172. package/{utilities → packages/utilities/src}/indexset/LeafIndexNode.d.ts +16 -16
  173. package/{utilities → packages/utilities/src}/isMobileOrTablet.d.ts +4 -4
  174. package/{utilities → packages/utilities/src}/metrics.d.ts +15 -15
  175. package/{utilities → packages/utilities/src}/networking/isTheSameDomain.d.ts +11 -11
  176. package/{utilities → packages/utilities/src}/objectTraversal.d.ts +8 -8
  177. package/{utilities → packages/utilities/src}/packFloat.d.ts +6 -6
  178. package/{revealEnv.d.ts → packages/utilities/src/revealEnv.d.ts} +10 -10
  179. package/{utilities → packages/utilities/src}/three/AutoDisposeGroup.d.ts +17 -17
  180. package/packages/utilities/src/three/BoundingBoxLOD.d.ts +27 -0
  181. package/{utilities → packages/utilities/src}/three/getBox3CornerPoints.d.ts +5 -5
  182. package/{utilities → packages/utilities/src}/transformCameraConfiguration.d.ts +6 -6
  183. package/packages/utilities/src/types.d.ts +10 -0
  184. package/{utilities → packages/utilities/src}/workers/WorkerPool.d.ts +14 -14
  185. package/tools.d.ts +7 -13
  186. package/tools.js +252 -12
  187. package/tools.map +1 -1
  188. package/combo-camera-controls/index.d.ts +0 -4
  189. package/datamodels/cad/CadModelMetadataRepository.d.ts +0 -14
  190. package/datamodels/cad/createCadManager.d.ts +0 -13
  191. package/datamodels/cad/index.d.ts +0 -8
  192. package/datamodels/cad/rendering/primitives.d.ts +0 -7
  193. package/datamodels/cad/rendering/types.d.ts +0 -25
  194. package/datamodels/cad/sector/SimpleAndDetailedToSector3D.d.ts +0 -20
  195. package/datamodels/cad/sector/rxSectorUtilities.d.ts +0 -27
  196. package/datamodels/cad/sector/types.d.ts +0 -113
  197. package/datamodels/pointcloud/createPointCloudManager.d.ts +0 -10
  198. package/datamodels/pointcloud/index.d.ts +0 -5
  199. package/internals.d.ts +0 -27
  200. package/public/types.d.ts +0 -121
  201. package/utilities/Spinner.d.ts +0 -13
  202. package/utilities/index.d.ts +0 -13
  203. package/utilities/networking/CogniteClientNodeIdAndTreeIndexMapper.d.ts +0 -14
  204. package/utilities/networking/HttpHeadersProvider.d.ts +0 -7
  205. package/utilities/networking/LocalModelDataClient.d.ts +0 -23
  206. package/utilities/networking/types.d.ts +0 -37
  207. package/utilities/networking/utilities.d.ts +0 -13
  208. package/utilities/three/dumpRendererToImage.d.ts +0 -5
  209. package/utilities/three/index.d.ts +0 -6
  210. package/utilities/worldToViewport.d.ts +0 -11
@@ -1,88 +1,88 @@
1
- /*!
2
- * Copyright 2021 Cognite AS
3
- */
4
- import * as THREE from 'three';
5
- import { Cognite3DViewer } from '../public/migration/Cognite3DViewer';
6
- import { Cognite3DViewerToolBase } from './Cognite3DViewerToolBase';
7
- export declare type HtmlOverlayPositionUpdatedDelegate = (element: HTMLElement, position2D: THREE.Vector2, position3D: THREE.Vector3, distanceToCamera: number) => void;
8
- export declare type HtmlOverlayOptions = {
9
- positionUpdatedCallback?: HtmlOverlayPositionUpdatedDelegate;
10
- };
11
- /**
12
- * Manages HTMLoverlays for {@see Cognite3DViewer}. Attaches HTML elements to a
13
- * 3D position and updates it's position/visibility as user moves the camera. This is
14
- * useful to create HTML overlays to highlight information about key positions in the 3D model.
15
- *
16
- * Attached elements *must* have CSS style 'position: absolute'. It's also recommended
17
- * in most cases to have styles 'pointerEvents: none' and 'touchAction: none' to avoid
18
- * interfering with 3D navigation. Consider also applying 'transform: translate(-50%, -50%)'
19
- * to anchor the center of the element rather than the top-left corner. In some cases the
20
- * `zIndex`-attribute is necessary for the element to appear on top of the viewer.
21
- *
22
- * @example
23
- * ```js
24
- * const el = document.createElement('div');
25
- * el.style.position = 'absolute'; // Required!
26
- * // Anchor to center of element
27
- * el.style.transform = 'translate(-50%, -50%)';
28
- * // Avoid being target for events
29
- * el.style.pointerEvents = 'none;
30
- * el.style.touchAction = 'none';
31
- * // Render in front of other elements
32
- * el.style.zIndex = 10;
33
- *
34
- * el.style.color = 'red';
35
- * el.innerHtml = '<h1>Overlay</h1>';
36
- *
37
- * const overlayTool = new HtmlOverlayTool(viewer);
38
- * overlayTool.add(el, new THREE.Vector3(10, 10, 10));
39
- * // ...
40
- * overlayTool.remove(el);
41
- * // or, to remove all attached elements
42
- * overlayTool.clear();
43
-
44
- * // detach the tool from the viewer
45
- * overlayTool.dispose();
46
- * ```
47
- */
48
- export declare class HtmlOverlayTool extends Cognite3DViewerToolBase {
49
- private readonly _viewer;
50
- private readonly _htmlOverlays;
51
- private readonly _onSceneRenderedHandler;
52
- private readonly _onViewerDisposedHandler;
53
- private readonly _preallocatedVariables;
54
- private get viewerDomElement();
55
- private get viewerCamera();
56
- private get viewerRenderer();
57
- constructor(viewer: Cognite3DViewer);
58
- /**
59
- * Removes all elements and detaches from the viewer.
60
- * @override
61
- */
62
- dispose(): void;
63
- /**
64
- * Registers a HTML overlay that will be updated on rendering.
65
- *
66
- * @param htmlElement
67
- * @param position3D
68
- * @param options
69
- */
70
- add(htmlElement: HTMLElement, position3D: THREE.Vector3, options?: HtmlOverlayOptions): void;
71
- /**
72
- * Removes a overlay and removes it from the DOM.
73
- * @param htmlElement
74
- */
75
- remove(htmlElement: HTMLElement): void;
76
- /**
77
- * Removes all attached HTML overlay elements.
78
- */
79
- clear(): void;
80
- /**
81
- * Updates positions of all overlays. This is automatically managed and there
82
- * shouldn't be any reason to trigger this unless the attached elements are
83
- * modified externally.
84
- */
85
- forceUpdate(): void;
86
- private onSceneRendered;
87
- private onViewerDisposed;
88
- }
1
+ /*!
2
+ * Copyright 2021 Cognite AS
3
+ */
4
+ import * as THREE from 'three';
5
+ import { Cognite3DViewer } from '../../../core';
6
+ import { Cognite3DViewerToolBase } from './Cognite3DViewerToolBase';
7
+ export declare type HtmlOverlayPositionUpdatedDelegate = (element: HTMLElement, position2D: THREE.Vector2, position3D: THREE.Vector3, distanceToCamera: number) => void;
8
+ export declare type HtmlOverlayOptions = {
9
+ positionUpdatedCallback?: HtmlOverlayPositionUpdatedDelegate;
10
+ };
11
+ /**
12
+ * Manages HTMLoverlays for {@see Cognite3DViewer}. Attaches HTML elements to a
13
+ * 3D position and updates it's position/visibility as user moves the camera. This is
14
+ * useful to create HTML overlays to highlight information about key positions in the 3D model.
15
+ *
16
+ * Attached elements *must* have CSS style 'position: absolute'. It's also recommended
17
+ * in most cases to have styles 'pointerEvents: none' and 'touchAction: none' to avoid
18
+ * interfering with 3D navigation. Consider also applying 'transform: translate(-50%, -50%)'
19
+ * to anchor the center of the element rather than the top-left corner. In some cases the
20
+ * `zIndex`-attribute is necessary for the element to appear on top of the viewer.
21
+ *
22
+ * @example
23
+ * ```js
24
+ * const el = document.createElement('div');
25
+ * el.style.position = 'absolute'; // Required!
26
+ * // Anchor to center of element
27
+ * el.style.transform = 'translate(-50%, -50%)';
28
+ * // Avoid being target for events
29
+ * el.style.pointerEvents = 'none;
30
+ * el.style.touchAction = 'none';
31
+ * // Render in front of other elements
32
+ * el.style.zIndex = 10;
33
+ *
34
+ * el.style.color = 'red';
35
+ * el.innerHtml = '<h1>Overlay</h1>';
36
+ *
37
+ * const overlayTool = new HtmlOverlayTool(viewer);
38
+ * overlayTool.add(el, new THREE.Vector3(10, 10, 10));
39
+ * // ...
40
+ * overlayTool.remove(el);
41
+ * // or, to remove all attached elements
42
+ * overlayTool.clear();
43
+
44
+ * // detach the tool from the viewer
45
+ * overlayTool.dispose();
46
+ * ```
47
+ */
48
+ export declare class HtmlOverlayTool extends Cognite3DViewerToolBase {
49
+ private readonly _viewer;
50
+ private readonly _htmlOverlays;
51
+ private readonly _onSceneRenderedHandler;
52
+ private readonly _onViewerDisposedHandler;
53
+ private readonly _preallocatedVariables;
54
+ private get viewerDomElement();
55
+ private get viewerCamera();
56
+ private get viewerRenderer();
57
+ constructor(viewer: Cognite3DViewer);
58
+ /**
59
+ * Removes all elements and detaches from the viewer.
60
+ * @override
61
+ */
62
+ dispose(): void;
63
+ /**
64
+ * Registers a HTML overlay that will be updated on rendering.
65
+ *
66
+ * @param htmlElement
67
+ * @param position3D
68
+ * @param options
69
+ */
70
+ add(htmlElement: HTMLElement, position3D: THREE.Vector3, options?: HtmlOverlayOptions): void;
71
+ /**
72
+ * Removes a overlay and removes it from the DOM.
73
+ * @param htmlElement
74
+ */
75
+ remove(htmlElement: HTMLElement): void;
76
+ /**
77
+ * Removes all attached HTML overlay elements.
78
+ */
79
+ clear(): void;
80
+ /**
81
+ * Updates positions of all overlays. This is automatically managed and there
82
+ * shouldn't be any reason to trigger this unless the attached elements are
83
+ * modified externally.
84
+ */
85
+ forceUpdate(): void;
86
+ private onSceneRendered;
87
+ private onViewerDisposed;
88
+ }
@@ -0,0 +1,4 @@
1
+ /*!
2
+ * Copyright 2021 Cognite AS
3
+ */
4
+ export declare type DisposedDelegate = () => void;
@@ -0,0 +1,24 @@
1
+ /*!
2
+ * Copyright 2021 Cognite AS
3
+ */
4
+ export { traverseDepthFirst } from './src/objectTraversal';
5
+ export { transformCameraConfiguration } from './src/transformCameraConfiguration';
6
+ export { CameraConfiguration } from './src/CameraConfiguration';
7
+ export { EventTrigger, clickOrTouchEventOffset } from './src/events';
8
+ export { assertNever } from './src/assertNever';
9
+ export { NumericRange } from './src/NumericRange';
10
+ export { determinePowerOfTwoDimensions } from './src/determinePowerOfTwoDimensions';
11
+ export { IndexSet } from './src/IndexSet';
12
+ export { packFloatInto } from './src/packFloat';
13
+ export { DynamicDefragmentedBuffer } from './src/datastructures/DynamicDefragmentedBuffer';
14
+ export { AutoDisposeGroup } from './src/three/AutoDisposeGroup';
15
+ export { BoundingBoxLOD } from './src/three/BoundingBoxLOD';
16
+ export { getBox3CornerPoints } from './src/three/getBox3CornerPoints';
17
+ export { isMobileOrTablet } from './src/isMobileOrTablet';
18
+ export { WebGLRendererStateHelper } from './src/WebGLRendererStateHelper';
19
+ export { WorkerPool } from './src/workers/WorkerPool';
20
+ export { MemoryRequestCache } from './src/cache/MemoryRequestCache';
21
+ export { MostFrequentlyUsedCache } from './src/cache/MostFrequentlyUsedCache';
22
+ export { trackError, trackLoadModel, trackCameraNavigation, trackEvent, initMetrics } from './src/metrics';
23
+ export { disposeAttributeArrayOnUpload } from './src/disposeAttributeArrayOnUpload';
24
+ export { revealEnv } from './src/revealEnv';
@@ -0,0 +1,10 @@
1
+ /*!
2
+ * Copyright 2021 Cognite AS
3
+ */
4
+ /**
5
+ * Represents a camera configuration, consisting of a camera position and target.
6
+ */
7
+ export declare type CameraConfiguration = {
8
+ readonly position: THREE.Vector3;
9
+ readonly target: THREE.Vector3;
10
+ };
@@ -1 +1 @@
1
- export { IndexSet } from './indexset/IndexSet';
1
+ export { IndexSet } from './indexset/IndexSet';
@@ -1,21 +1,21 @@
1
- /*!
2
- * Copyright 2021 Cognite AS
3
- */
4
- export declare class NumericRange {
5
- readonly from: number;
6
- readonly count: number;
7
- readonly toInclusive: number;
8
- constructor(from: number, count: number);
9
- static createFromInterval(from: number, toInclusive: number): NumericRange;
10
- values(): Generator<number>;
11
- toArray(): number[];
12
- equal(other: NumericRange): boolean;
13
- contains(value: number): boolean;
14
- intersects(range: NumericRange): boolean;
15
- intersectsOrCoinciding(range: NumericRange): boolean;
16
- intersectionWith(range: NumericRange): NumericRange | undefined;
17
- isInside(range: NumericRange): boolean;
18
- union(range: NumericRange): NumericRange;
19
- forEach(action: (value: number) => void): void;
20
- str(): string;
21
- }
1
+ /*!
2
+ * Copyright 2021 Cognite AS
3
+ */
4
+ export declare class NumericRange {
5
+ readonly from: number;
6
+ readonly count: number;
7
+ readonly toInclusive: number;
8
+ constructor(from: number, count: number);
9
+ static createFromInterval(from: number, toInclusive: number): NumericRange;
10
+ values(): Generator<number>;
11
+ toArray(): number[];
12
+ equal(other: NumericRange): boolean;
13
+ contains(value: number): boolean;
14
+ intersects(range: NumericRange): boolean;
15
+ intersectsOrCoinciding(range: NumericRange): boolean;
16
+ intersectionWith(range: NumericRange): NumericRange | undefined;
17
+ isInside(range: NumericRange): boolean;
18
+ union(range: NumericRange): NumericRange;
19
+ forEach(action: (value: number) => void): void;
20
+ str(): string;
21
+ }
@@ -1,15 +1,15 @@
1
- /*!
2
- * Copyright 2021 Cognite AS
3
- */
4
- import * as THREE from 'three';
5
- export declare class WebGLRendererStateHelper {
6
- private _originalState;
7
- private readonly _renderer;
8
- constructor(renderer: THREE.WebGLRenderer);
9
- setClearColor(color: THREE.Color | number | string, alpha?: number): void;
10
- setSize(width: number, height: number): void;
11
- set localClippingEnabled(enabled: boolean);
12
- set autoClear(enabled: boolean);
13
- setRenderTarget(renderTarget: THREE.RenderTarget | null): void;
14
- resetState(): void;
15
- }
1
+ /*!
2
+ * Copyright 2021 Cognite AS
3
+ */
4
+ import * as THREE from 'three';
5
+ export declare class WebGLRendererStateHelper {
6
+ private _originalState;
7
+ private readonly _renderer;
8
+ constructor(renderer: THREE.WebGLRenderer);
9
+ setClearColor(color: THREE.Color | number | string, alpha?: number): void;
10
+ setSize(width: number, height: number): void;
11
+ set localClippingEnabled(enabled: boolean);
12
+ set autoClear(enabled: boolean);
13
+ setRenderTarget(renderTarget: THREE.RenderTarget | null): void;
14
+ resetState(): void;
15
+ }
@@ -1,7 +1,7 @@
1
- /*!
2
- * Copyright 2021 Cognite AS
3
- */
4
- /**
5
- * See https://www.typescriptlang.org/docs/handbook/unions-and-intersections.html#union-exhaustiveness-checking
6
- */
7
- export declare function assertNever(x: never, message?: string): never;
1
+ /*!
2
+ * Copyright 2021 Cognite AS
3
+ */
4
+ /**
5
+ * See https://www.typescriptlang.org/docs/handbook/unions-and-intersections.html#union-exhaustiveness-checking
6
+ */
7
+ export declare function assertNever(x: never, message?: string): never;
@@ -1,22 +1,22 @@
1
- /*!
2
- * Copyright 2021 Cognite AS
3
- */
4
- import { RequestCache } from './RequestCache';
5
- export interface MemoryRequestCacheOptions {
6
- maxElementsInCache?: number;
7
- }
8
- export declare class MemoryRequestCache<Key, Data> implements RequestCache<Key, Data> {
9
- private readonly _maxElementsInCache;
10
- private readonly _data;
11
- private readonly _defaultCleanupCount;
12
- private readonly _removeCallback;
13
- constructor(maxElementsInCache?: number, removeCallback?: (value: Data) => void, defaultCleanupCount?: number);
14
- has(id: Key): boolean;
15
- forceInsert(id: Key, data: Data): void;
16
- insert(id: Key, data: Data): void;
17
- remove(id: Key): void;
18
- get(id: Key): Data;
19
- isFull(): boolean;
20
- cleanCache(count: number): void;
21
- clear(): void;
22
- }
1
+ /*!
2
+ * Copyright 2021 Cognite AS
3
+ */
4
+ import { RequestCache } from './RequestCache';
5
+ export interface MemoryRequestCacheOptions {
6
+ maxElementsInCache?: number;
7
+ }
8
+ export declare class MemoryRequestCache<Key, Data> implements RequestCache<Key, Data> {
9
+ private readonly _maxElementsInCache;
10
+ private readonly _data;
11
+ private readonly _defaultCleanupCount;
12
+ private readonly _removeCallback;
13
+ constructor(maxElementsInCache?: number, removeCallback?: (value: Data) => void, defaultCleanupCount?: number);
14
+ has(id: Key): boolean;
15
+ forceInsert(id: Key, data: Data): void;
16
+ insert(id: Key, data: Data): void;
17
+ remove(id: Key): void;
18
+ get(id: Key): Data;
19
+ isFull(): boolean;
20
+ cleanCache(count: number): void;
21
+ clear(): void;
22
+ }
@@ -1,19 +1,19 @@
1
- /*!
2
- * Copyright 2021 Cognite AS
3
- */
4
- /**
5
- * A cache that keeps values that is most frequently used (MFU) rather than a more common
6
- * least recently used (LRU) approach.
7
- */
8
- export declare class MostFrequentlyUsedCache<TKey, TValue> {
9
- private readonly _capacity;
10
- private readonly _cache;
11
- private readonly _retrieves;
12
- private readonly _disposeCallback;
13
- constructor(capacity: number, disposeCallback?: (value: TValue) => void);
14
- get(key: TKey): TValue | undefined;
15
- set(key: TKey, value: TValue): boolean;
16
- remove(key: TKey): boolean;
17
- clear(): void;
18
- private ensureWithinCapacity;
19
- }
1
+ /*!
2
+ * Copyright 2021 Cognite AS
3
+ */
4
+ /**
5
+ * A cache that keeps values that is most frequently used (MFU) rather than a more common
6
+ * least recently used (LRU) approach.
7
+ */
8
+ export declare class MostFrequentlyUsedCache<TKey, TValue> {
9
+ private readonly _capacity;
10
+ private readonly _cache;
11
+ private readonly _retrieves;
12
+ private readonly _disposeCallback;
13
+ constructor(capacity: number, disposeCallback?: (value: TValue) => void);
14
+ get(key: TKey): TValue | undefined;
15
+ set(key: TKey, value: TValue): boolean;
16
+ remove(key: TKey): boolean;
17
+ clear(): void;
18
+ private ensureWithinCapacity;
19
+ }
@@ -1,13 +1,13 @@
1
- /*!
2
- * Copyright 2021 Cognite AS
3
- */
4
- export interface RequestCache<Key, Data> {
5
- has(key: Key): boolean;
6
- get(key: Key): Data;
7
- insert(key: Key, data: Data): void;
8
- forceInsert(key: Key, data: Data): void;
9
- remove(key: Key): void;
10
- isFull(): boolean;
11
- cleanCache(count: number): void;
12
- clear(): void;
13
- }
1
+ /*!
2
+ * Copyright 2021 Cognite AS
3
+ */
4
+ export interface RequestCache<Key, Data> {
5
+ has(key: Key): boolean;
6
+ get(key: Key): Data;
7
+ insert(key: Key, data: Data): void;
8
+ forceInsert(key: Key, data: Data): void;
9
+ remove(key: Key): void;
10
+ isFull(): boolean;
11
+ cleanCache(count: number): void;
12
+ clear(): void;
13
+ }
@@ -1,22 +1,22 @@
1
- /*!
2
- * Copyright 2021 Cognite AS
3
- */
4
- import { TypedArray } from '../types';
5
- export declare class DynamicDefragmentedBuffer<T extends TypedArray> {
6
- get length(): number;
7
- get buffer(): T;
8
- private _buffer;
9
- private _numFilled;
10
- private _type;
11
- private _batchMap;
12
- private _currentTail;
13
- private _batchIdCounter;
14
- constructor(initialSize: number, type: new (length: number) => T);
15
- add(array: T): {
16
- batchId: number;
17
- bufferIsReallocated: boolean;
18
- };
19
- remove(batchId: number): void;
20
- private createBatch;
21
- private allocateNewBuffer;
22
- }
1
+ /*!
2
+ * Copyright 2021 Cognite AS
3
+ */
4
+ import { TypedArray } from '../types';
5
+ export declare class DynamicDefragmentedBuffer<T extends TypedArray> {
6
+ get length(): number;
7
+ get buffer(): T;
8
+ private _buffer;
9
+ private _numFilled;
10
+ private _type;
11
+ private _batchMap;
12
+ private _currentTail;
13
+ private _batchIdCounter;
14
+ constructor(initialSize: number, type: new (length: number) => T);
15
+ add(array: T): {
16
+ batchId: number;
17
+ bufferIsReallocated: boolean;
18
+ };
19
+ remove(batchId: number): void;
20
+ private createBatch;
21
+ private allocateNewBuffer;
22
+ }
@@ -1,11 +1,11 @@
1
- /*!
2
- * Copyright 2021 Cognite AS
3
- */
4
- /**
5
- * Computes minimal power-of-two width and height that holds at least the number of elements provided.
6
- * This is useful to compute texture sizes.
7
- */
8
- export declare function determinePowerOfTwoDimensions(elementCount: number): {
9
- width: number;
10
- height: number;
11
- };
1
+ /*!
2
+ * Copyright 2021 Cognite AS
3
+ */
4
+ /**
5
+ * Computes minimal power-of-two width and height that holds at least the number of elements provided.
6
+ * This is useful to compute texture sizes.
7
+ */
8
+ export declare function determinePowerOfTwoDimensions(elementCount: number): {
9
+ width: number;
10
+ height: number;
11
+ };
@@ -1,17 +1,17 @@
1
- /*!
2
- * Copyright 2021 Cognite AS
3
- */
4
- /**
5
- * Handler for THREE.BufferAttribute.onUpload() that frees the underlying JS side array
6
- * of values after they have been uploaded to the GPU.
7
- *
8
- * @example
9
- * const geometry = new THREE.BufferGeometry();
10
- * const indices = new THREE.Uint32BufferAttribute(mesh.indices.buffer, 1).onUpload(disposeAttributeArrayOnUpload);
11
- * const vertices = new THREE.Float32BufferAttribute(mesh.vertices.buffer, 3).onUpload(disposeAttributeArrayOnUpload);
12
- * const colors = new THREE.Float32BufferAttribute(mesh.colors.buffer, 3).onUpload(disposeAttributeArrayOnUpload);
13
- * const treeIndices = new THREE.Float32BufferAttribute(mesh.treeIndices.buffer, 1).onUpload(disposeAttributeArrayOnUpload);
14
- */
15
- export declare function disposeAttributeArrayOnUpload(this: {
16
- array: ArrayLike<number>;
17
- }): void;
1
+ /*!
2
+ * Copyright 2021 Cognite AS
3
+ */
4
+ /**
5
+ * Handler for THREE.BufferAttribute.onUpload() that frees the underlying JS side array
6
+ * of values after they have been uploaded to the GPU.
7
+ *
8
+ * @example
9
+ * const geometry = new THREE.BufferGeometry();
10
+ * const indices = new THREE.Uint32BufferAttribute(mesh.indices.buffer, 1).onUpload(disposeAttributeArrayOnUpload);
11
+ * const vertices = new THREE.Float32BufferAttribute(mesh.vertices.buffer, 3).onUpload(disposeAttributeArrayOnUpload);
12
+ * const colors = new THREE.Float32BufferAttribute(mesh.colors.buffer, 3).onUpload(disposeAttributeArrayOnUpload);
13
+ * const treeIndices = new THREE.Float32BufferAttribute(mesh.treeIndices.buffer, 1).onUpload(disposeAttributeArrayOnUpload);
14
+ */
15
+ export declare function disposeAttributeArrayOnUpload(this: {
16
+ array: ArrayLike<number>;
17
+ }): void;
@@ -1,13 +1,13 @@
1
- /*!
2
- * Copyright 2021 Cognite AS
3
- */
4
- /**
5
- * Subscribable event source.
6
- */
7
- export declare class EventTrigger<TListener extends (...args: any[]) => void> {
8
- private readonly _listeners;
9
- subscribe(listener: TListener): void;
10
- unsubscribe(listener: TListener): void;
11
- unsubscribeAll(): void;
12
- fire(...args: Parameters<TListener>): void;
13
- }
1
+ /*!
2
+ * Copyright 2021 Cognite AS
3
+ */
4
+ /**
5
+ * Subscribable event source.
6
+ */
7
+ export declare class EventTrigger<TListener extends (...args: any[]) => void> {
8
+ private readonly _listeners;
9
+ subscribe(listener: TListener): void;
10
+ unsubscribe(listener: TListener): void;
11
+ unsubscribeAll(): void;
12
+ fire(...args: Parameters<TListener>): void;
13
+ }
@@ -0,0 +1,13 @@
1
+ /*!
2
+ * Copyright 2021 Cognite AS
3
+ */
4
+ /**
5
+ * Determines clicked or touched coordinate as offset
6
+ * @param ev An MouseEvent or TouchEvent.
7
+ * @param target HTML element to find coordinates relative to.
8
+ * @returns A struct containing coordinates relative to the HTML element provided.
9
+ */
10
+ export declare function clickOrTouchEventOffset(ev: MouseEvent | TouchEvent, target: HTMLElement): {
11
+ offsetX: number;
12
+ offsetY: number;
13
+ };
@@ -1,5 +1,5 @@
1
- /*!
2
- * Copyright 2021 Cognite AS
3
- */
4
- export { clickOrTouchEventOffset } from './clickOrTouchEventOffset';
5
- export { EventTrigger } from './EventTrigger';
1
+ /*!
2
+ * Copyright 2021 Cognite AS
3
+ */
4
+ export { clickOrTouchEventOffset } from './clickOrTouchEventOffset';
5
+ export { EventTrigger } from './EventTrigger';
@@ -1,26 +1,26 @@
1
- import { IntermediateIndexNode } from './IntermediateIndexNode';
2
- import { LeafIndexNode } from './LeafIndexNode';
3
- import { NumericRange } from '../NumericRange';
4
- export declare type IndexNode = IntermediateIndexNode | LeafIndexNode;
5
- export declare class IndexSet {
6
- rootNode?: IndexNode;
7
- constructor(values?: Iterable<number>);
8
- constructor(values?: NumericRange);
9
- forEachRange(visitor: (range: NumericRange) => void): void;
10
- add(index: number): void;
11
- addRange(range: NumericRange): void;
12
- remove(index: number): void;
13
- removeRange(range: NumericRange): void;
14
- contains(index: number): boolean;
15
- get count(): number;
16
- toRangeArray(): NumericRange[];
17
- toIndexArray(): number[];
18
- toPlainSet(): Set<number>;
19
- invertedRanges(): NumericRange[];
20
- unionWith(otherSet: IndexSet): IndexSet;
21
- differenceWith(otherSet: IndexSet): IndexSet;
22
- hasIntersectionWith(otherSet: IndexSet | Set<number>): boolean;
23
- intersectWith(otherSet: IndexSet): IndexSet;
24
- clear(): void;
25
- clone(): IndexSet;
26
- }
1
+ import { IntermediateIndexNode } from './IntermediateIndexNode';
2
+ import { LeafIndexNode } from './LeafIndexNode';
3
+ import { NumericRange } from '../NumericRange';
4
+ export declare type IndexNode = IntermediateIndexNode | LeafIndexNode;
5
+ export declare class IndexSet {
6
+ rootNode?: IndexNode;
7
+ constructor(values?: Iterable<number>);
8
+ constructor(values?: NumericRange);
9
+ forEachRange(visitor: (range: NumericRange) => void): void;
10
+ add(index: number): void;
11
+ addRange(range: NumericRange): void;
12
+ remove(index: number): void;
13
+ removeRange(range: NumericRange): void;
14
+ contains(index: number): boolean;
15
+ get count(): number;
16
+ toRangeArray(): NumericRange[];
17
+ toIndexArray(): number[];
18
+ toPlainSet(): Set<number>;
19
+ invertedRanges(): NumericRange[];
20
+ unionWith(otherSet: IndexSet): IndexSet;
21
+ differenceWith(otherSet: IndexSet): IndexSet;
22
+ hasIntersectionWith(otherSet: IndexSet | Set<number>): boolean;
23
+ intersectWith(otherSet: IndexSet): IndexSet;
24
+ clear(): void;
25
+ clone(): IndexSet;
26
+ }