@cognite/reveal 2.0.0-beta.4 → 2.2.0

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 (235) hide show
  1. package/README.md +81 -6
  2. package/core/cad.d.ts +4 -0
  3. package/core/index.d.ts +7 -0
  4. package/{datamodels → core/src/datamodels}/base/SupportedModelTypes.d.ts +0 -0
  5. package/{datamodels → core/src/datamodels}/base/index.d.ts +1 -1
  6. package/{datamodels → core/src/datamodels}/base/types.d.ts +1 -0
  7. package/{datamodels → core/src/datamodels}/cad/CadManager.d.ts +8 -13
  8. package/{datamodels → core/src/datamodels}/cad/CadModelFactory.d.ts +2 -6
  9. package/{datamodels → core/src/datamodels}/cad/CadModelSectorLoadStatistics.d.ts +0 -0
  10. package/core/src/datamodels/cad/createCadManager.d.ts +9 -0
  11. package/{datamodels → core/src/datamodels}/cad/picking.d.ts +1 -1
  12. package/{datamodels → core/src/datamodels}/cad/rendering/RenderAlreadyLoadedGeometryProvider.d.ts +2 -2
  13. package/{datamodels → core/src/datamodels}/cad/sector/CadModelClipper.d.ts +1 -1
  14. package/{datamodels → core/src/datamodels}/cad/styling/AssetNodeCollection.d.ts +3 -3
  15. package/{datamodels → core/src/datamodels}/cad/styling/InvertedNodeCollection.d.ts +2 -2
  16. package/{datamodels → core/src/datamodels}/cad/styling/NodeCollectionDeserializer.d.ts +1 -1
  17. package/{datamodels → core/src/datamodels}/cad/styling/PopulateIndexSetFromPagedResponseHelper.d.ts +1 -2
  18. package/{datamodels → core/src/datamodels}/cad/styling/PropertyFilterNodeCollection.d.ts +2 -2
  19. package/{datamodels → core/src/datamodels}/cad/styling/SinglePropertyFilterNodeCollection.d.ts +3 -6
  20. package/{datamodels → core/src/datamodels}/cad/styling/index.d.ts +2 -7
  21. package/{datamodels → core/src/datamodels}/pointcloud/PointCloudFactory.d.ts +1 -1
  22. package/{datamodels → core/src/datamodels}/pointcloud/PointCloudManager.d.ts +9 -5
  23. package/{datamodels → core/src/datamodels}/pointcloud/PointCloudMetadata.d.ts +1 -1
  24. package/core/src/datamodels/pointcloud/PointCloudMetadataRepository.d.ts +13 -0
  25. package/{datamodels → core/src/datamodels}/pointcloud/PointCloudNode.d.ts +2 -1
  26. package/{datamodels → core/src/datamodels}/pointcloud/PotreeGroupWrapper.d.ts +7 -1
  27. package/{datamodels → core/src/datamodels}/pointcloud/PotreeNodeWrapper.d.ts +0 -0
  28. package/core/src/datamodels/pointcloud/createPointCloudManager.d.ts +6 -0
  29. package/{datamodels → core/src/datamodels}/pointcloud/index.d.ts +0 -0
  30. package/{datamodels → core/src/datamodels}/pointcloud/picking.d.ts +0 -0
  31. package/{datamodels → core/src/datamodels}/pointcloud/types.d.ts +0 -0
  32. package/core/src/index.d.ts +19 -0
  33. package/core/src/internals.d.ts +15 -0
  34. package/{migration.d.ts → core/src/migration.d.ts} +0 -0
  35. package/{public → core/src/public}/RevealManager.d.ts +16 -14
  36. package/{public → core/src/public}/createRevealManager.d.ts +3 -4
  37. package/{public → core/src/public}/migration/Cognite3DModel.d.ts +38 -9
  38. package/{public → core/src/public}/migration/Cognite3DViewer.d.ts +48 -28
  39. package/{public → core/src/public}/migration/CogniteModelBase.d.ts +0 -0
  40. package/{public → core/src/public}/migration/CognitePointCloudModel.d.ts +2 -8
  41. package/{public → core/src/public}/migration/NodeIdAndTreeIndexMaps.d.ts +0 -0
  42. package/{public → core/src/public}/migration/NotSupportedInMigrationWrapperError.d.ts +0 -0
  43. package/{public → core/src/public}/migration/RenderController.d.ts +0 -0
  44. package/{public → core/src/public}/migration/types.d.ts +47 -3
  45. package/core/src/public/types.d.ts +46 -0
  46. package/core/src/storage/RevealManagerHelper.d.ts +58 -0
  47. package/{utilities → core/src/utilities}/BoundingBoxClipper.d.ts +1 -4
  48. package/{utilities → core/src/utilities}/Spinner.d.ts +4 -5
  49. package/{utilities → core/src/utilities}/ViewStateHelper.d.ts +5 -5
  50. package/{utilities → core/src/utilities}/callActionWithIndicesAsync.d.ts +0 -0
  51. package/core/src/utilities/index.d.ts +8 -0
  52. package/{utilities → core/src/utilities}/reflection.d.ts +0 -6
  53. package/core/src/utilities/worldToViewport.d.ts +30 -0
  54. package/{utilities/events/clickOrTouchEventOffset.d.ts → core/utilities.d.ts} +1 -1
  55. package/extensions/datasource.d.ts +9 -0
  56. package/extensions/datasource.js +33 -0
  57. package/extensions/datasource.map +1 -0
  58. package/index.d.ts +2 -14
  59. package/index.js +185 -121
  60. package/index.map +1 -1
  61. package/package.json +47 -120
  62. package/packages/cad-geometry-loaders/index.d.ts +14 -0
  63. package/{datamodels/cad → packages/cad-geometry-loaders/src}/CadLoadingHints.d.ts +0 -0
  64. package/{datamodels/cad → packages/cad-geometry-loaders/src}/CadModelSectorBudget.d.ts +6 -1
  65. package/{datamodels/cad → packages/cad-geometry-loaders/src}/CadModelUpdateHandler.d.ts +3 -5
  66. package/{datamodels/cad → packages/cad-geometry-loaders/src}/sector/CachedRepository.d.ts +3 -4
  67. package/{datamodels/cad → packages/cad-geometry-loaders/src}/sector/ModelStateHandler.d.ts +1 -1
  68. package/{datamodels/cad → packages/cad-geometry-loaders/src}/sector/Repository.d.ts +1 -1
  69. package/{datamodels/cad → packages/cad-geometry-loaders/src}/sector/SectorLoader.d.ts +1 -1
  70. package/{datamodels/cad → packages/cad-geometry-loaders/src}/sector/SimpleAndDetailedToSector3D.d.ts +4 -4
  71. package/{datamodels/cad → packages/cad-geometry-loaders/src}/sector/culling/ByVisibilityGpuSectorCuller.d.ts +1 -1
  72. package/{datamodels/cad → packages/cad-geometry-loaders/src}/sector/culling/OccludingGeometryProvider.d.ts +0 -0
  73. package/{datamodels/cad → packages/cad-geometry-loaders/src}/sector/culling/OrderSectorsByVisibilityCoverage.d.ts +3 -5
  74. package/{datamodels/cad → packages/cad-geometry-loaders/src}/sector/culling/SectorCuller.d.ts +1 -1
  75. package/{datamodels/cad → packages/cad-geometry-loaders/src}/sector/culling/TakenSectorTree.d.ts +2 -2
  76. package/{datamodels/cad → packages/cad-geometry-loaders/src}/sector/culling/types.d.ts +7 -4
  77. package/{datamodels/cad → packages/cad-geometry-loaders/src}/sector/rxSectorUtilities.d.ts +1 -1
  78. package/{datamodels/cad → packages/cad-geometry-loaders/src}/sector/sectorUtilities.d.ts +4 -4
  79. package/{utilities → packages/cad-geometry-loaders/src/utilities}/PromiseUtils.d.ts +0 -0
  80. package/{utilities → packages/cad-geometry-loaders/src/utilities}/arrays.d.ts +0 -0
  81. package/{datamodels/cad/sector → packages/cad-geometry-loaders/src/utilities}/groupMeshesByNumber.d.ts +0 -0
  82. package/{utilities → packages/cad-geometry-loaders/src/utilities}/rxOperations.d.ts +0 -2
  83. package/packages/cad-geometry-loaders/src/utilities/types.d.ts +25 -0
  84. package/packages/cad-parsers/index.d.ts +21 -0
  85. package/{datamodels/cad/sector → packages/cad-parsers/src/cad}/CadSectorParser.d.ts +2 -3
  86. package/{datamodels/cad/sector → packages/cad-parsers/src/cad}/LevelOfDetail.d.ts +0 -0
  87. package/{datamodels/cad/rendering → packages/cad-parsers/src/cad}/filterInstanceMesh.d.ts +0 -0
  88. package/{datamodels/cad/rendering → packages/cad-parsers/src/cad}/filterPrimitives.d.ts +0 -0
  89. package/{datamodels/cad/rendering → packages/cad-parsers/src/cad}/primitiveGeometries.d.ts +2 -2
  90. package/{datamodels/cad/rendering → packages/cad-parsers/src/cad}/triangleMeshes.d.ts +1 -1
  91. package/packages/cad-parsers/src/cad/types.d.ts +56 -0
  92. package/{datamodels/cad/parsers → packages/cad-parsers/src/metadata}/CadMetadataParser.d.ts +1 -1
  93. package/{datamodels/cad → packages/cad-parsers/src/metadata}/CadModelMetadata.d.ts +6 -2
  94. package/packages/cad-parsers/src/metadata/CadModelMetadataRepository.d.ts +16 -0
  95. package/packages/cad-parsers/src/metadata/MetadataRepository.d.ts +7 -0
  96. package/{datamodels/cad → packages/cad-parsers/src/metadata}/parsers/CadMetadataParserV8.d.ts +2 -1
  97. package/packages/cad-parsers/src/metadata/types.d.ts +41 -0
  98. package/{datamodels/cad → packages/cad-parsers/src}/sector/RootSectorNode.d.ts +1 -1
  99. package/{datamodels/cad → packages/cad-parsers/src}/sector/SectorNode.d.ts +3 -2
  100. package/{datamodels/cad/sector → packages/cad-parsers/src/utilities}/SectorScene.d.ts +2 -2
  101. package/packages/cad-parsers/src/utilities/SectorSceneFactory.d.ts +12 -0
  102. package/{datamodels/cad/rendering → packages/cad-parsers/src/utilities}/computeBoundingBoxFromAttributes.d.ts +0 -0
  103. package/{datamodels/cad/rendering → packages/cad-parsers/src/utilities}/float32BufferToMatrix.d.ts +0 -0
  104. package/packages/cad-parsers/src/utilities/types.d.ts +48 -0
  105. package/packages/cad-styling/index.d.ts +9 -0
  106. package/{datamodels/cad/styling → packages/cad-styling/src}/CombineNodeCollectionBase.d.ts +2 -2
  107. package/{datamodels/cad/styling → packages/cad-styling/src}/IntersectionNodeCollection.d.ts +1 -1
  108. package/{datamodels/cad → packages/cad-styling/src}/NodeAppearance.d.ts +3 -7
  109. package/{datamodels/cad/styling → packages/cad-styling/src}/NodeAppearanceProvider.d.ts +2 -2
  110. package/{datamodels/cad/styling → packages/cad-styling/src}/NodeCollectionBase.d.ts +1 -1
  111. package/{datamodels/cad/styling → packages/cad-styling/src}/TreeIndexNodeCollection.d.ts +1 -2
  112. package/{datamodels/cad/styling → packages/cad-styling/src}/UnionNodeCollection.d.ts +1 -1
  113. package/packages/camera-manager/index.d.ts +4 -0
  114. package/{combo-camera-controls → packages/camera-manager/src}/ComboControls.d.ts +35 -34
  115. package/{combo-camera-controls → packages/camera-manager/src}/Keyboard.d.ts +5 -5
  116. package/packages/data-source/index.d.ts +6 -0
  117. package/packages/data-source/src/CdfDataSource.d.ts +19 -0
  118. package/packages/data-source/src/DataSource.d.ts +26 -0
  119. package/packages/data-source/src/LocalDataSource.d.ts +15 -0
  120. package/packages/logger/index.d.ts +5 -0
  121. package/packages/logger/src/Log.d.ts +5 -0
  122. package/packages/metrics/index.d.ts +5 -0
  123. package/packages/metrics/src/MetricsLogger.d.ts +21 -0
  124. package/packages/metrics/src/types.d.ts +7 -0
  125. package/packages/modeldata-api/index.d.ts +13 -0
  126. package/packages/modeldata-api/src/CdfModelDataProvider.d.ts +15 -0
  127. package/packages/modeldata-api/src/CdfModelIdentifier.d.ts +17 -0
  128. package/packages/modeldata-api/src/CdfModelMetadataProvider.d.ts +19 -0
  129. package/packages/modeldata-api/src/CdfModelOutputsProvider.d.ts +15 -0
  130. package/packages/modeldata-api/src/LocalModelDataProvider.d.ts +9 -0
  131. package/packages/modeldata-api/src/LocalModelIdentifier.d.ts +14 -0
  132. package/packages/modeldata-api/src/LocalModelMetadataProvider.d.ts +14 -0
  133. package/{utilities/networking → packages/modeldata-api/src}/Model3DOutputList.d.ts +1 -2
  134. package/packages/modeldata-api/src/ModelIdentifier.d.ts +12 -0
  135. package/packages/modeldata-api/src/ModelMetadataProvider.d.ts +17 -0
  136. package/{utilities/networking → packages/modeldata-api/src}/applyDefaultModelTransformation.d.ts +1 -1
  137. package/packages/modeldata-api/src/types.d.ts +41 -0
  138. package/packages/modeldata-api/src/utilities.d.ts +7 -0
  139. package/packages/nodes-api/index.d.ts +6 -0
  140. package/packages/nodes-api/src/NodesApiClient.d.ts +52 -0
  141. package/packages/nodes-api/src/NodesCdfClient.d.ts +24 -0
  142. package/packages/nodes-api/src/NodesLocalClient.d.ts +30 -0
  143. package/packages/nodes-api/src/types.d.ts +10 -0
  144. package/packages/rendering/index.d.ts +17 -0
  145. package/{datamodels/cad → packages/rendering/src}/CadMaterialManager.d.ts +5 -7
  146. package/{datamodels/cad → packages/rendering/src}/InstancedMeshManager.d.ts +1 -1
  147. package/{datamodels/cad → packages/rendering/src}/cameraconfig.d.ts +1 -1
  148. package/{datamodels/cad → packages/rendering/src}/rendering/EffectRenderManager.d.ts +29 -13
  149. package/{datamodels/cad/styling → packages/rendering/src/rendering}/NodeAppearanceTextureBuilder.d.ts +8 -8
  150. package/{datamodels/cad → packages/rendering/src}/rendering/RenderMode.d.ts +0 -0
  151. package/{datamodels/cad → packages/rendering/src}/rendering/createSimpleGeometryMesh.d.ts +0 -0
  152. package/{datamodels/cad → packages/rendering/src}/rendering/matCapTextureData.d.ts +0 -0
  153. package/{datamodels/cad → packages/rendering/src}/rendering/materials.d.ts +0 -0
  154. package/packages/rendering/src/rendering/primitives.d.ts +12 -0
  155. package/{datamodels/cad → packages/rendering/src}/rendering/shaders.d.ts +1 -1
  156. package/packages/rendering/src/rendering/types.d.ts +76 -0
  157. package/{datamodels/cad → packages/rendering/src/sector}/CadNode.d.ts +7 -12
  158. package/{datamodels/cad/styling → packages/rendering/src/transform}/NodeTransformProvider.d.ts +0 -0
  159. package/{datamodels/cad/styling → packages/rendering/src/transform}/NodeTransformTextureBuilder.d.ts +1 -1
  160. package/{datamodels/cad/styling → packages/rendering/src/transform}/TransformOverrideBuffer.d.ts +3 -3
  161. package/packages/rendering/src/utilities/types.d.ts +26 -0
  162. package/packages/tools/index.d.ts +15 -0
  163. package/{tools → packages/tools/src}/AxisView/AxisViewTool.d.ts +2 -2
  164. package/{tools → packages/tools/src}/AxisView/types.d.ts +0 -0
  165. package/{tools → packages/tools/src}/Cognite3DViewerToolBase.d.ts +0 -0
  166. package/{tools → packages/tools/src}/DebugCameraTool.d.ts +1 -1
  167. package/{tools → packages/tools/src}/DebugLoadedSectorsTool.d.ts +4 -3
  168. package/{tools → packages/tools/src}/ExplodedViewTool.d.ts +1 -1
  169. package/packages/tools/src/Geomap/Geomap.d.ts +14 -0
  170. package/packages/tools/src/Geomap/GeomapTool.d.ts +21 -0
  171. package/packages/tools/src/Geomap/MapConfig.d.ts +195 -0
  172. package/packages/tools/src/HtmlOverlay/BucketGrid2D.d.ts +28 -0
  173. package/packages/tools/src/HtmlOverlay/HtmlOverlayTool.d.ts +159 -0
  174. package/packages/tools/src/Timeline/Keyframe.d.ts +38 -0
  175. package/packages/tools/src/Timeline/TimelineTool.d.ts +79 -0
  176. package/packages/tools/src/Timeline/types.d.ts +13 -0
  177. package/packages/tools/src/types.d.ts +4 -0
  178. package/packages/utilities/index.d.ts +24 -0
  179. package/packages/utilities/src/CameraConfiguration.d.ts +10 -0
  180. package/{utilities → packages/utilities/src}/IndexSet.d.ts +0 -0
  181. package/{utilities → packages/utilities/src}/NumericRange.d.ts +0 -0
  182. package/packages/utilities/src/RandomColors.d.ts +34 -0
  183. package/{utilities → packages/utilities/src}/WebGLRendererStateHelper.d.ts +0 -0
  184. package/{utilities → packages/utilities/src}/assertNever.d.ts +0 -0
  185. package/{utilities → packages/utilities/src}/cache/MemoryRequestCache.d.ts +0 -0
  186. package/{utilities → packages/utilities/src/cache}/MostFrequentlyUsedCache.d.ts +0 -0
  187. package/{utilities → packages/utilities/src}/cache/RequestCache.d.ts +0 -0
  188. package/{utilities → packages/utilities/src}/datastructures/DynamicDefragmentedBuffer.d.ts +2 -2
  189. package/{utilities → packages/utilities/src}/determinePowerOfTwoDimensions.d.ts +0 -0
  190. package/{utilities → packages/utilities/src}/disposeAttributeArrayOnUpload.d.ts +0 -0
  191. package/{utilities → packages/utilities/src}/events/EventTrigger.d.ts +0 -0
  192. package/packages/utilities/src/events/clickOrTouchEventOffset.d.ts +13 -0
  193. package/{utilities → packages/utilities/src}/events/index.d.ts +0 -0
  194. package/{utilities → packages/utilities/src}/indexset/IndexSet.d.ts +0 -0
  195. package/{utilities → packages/utilities/src}/indexset/IntermediateIndexNode.d.ts +0 -0
  196. package/{utilities → packages/utilities/src}/indexset/LeafIndexNode.d.ts +0 -0
  197. package/{utilities → packages/utilities/src}/isMobileOrTablet.d.ts +0 -0
  198. package/{utilities → packages/utilities/src}/networking/isTheSameDomain.d.ts +0 -0
  199. package/{utilities → packages/utilities/src}/objectTraversal.d.ts +0 -0
  200. package/{utilities → packages/utilities/src}/packFloat.d.ts +0 -0
  201. package/{revealEnv.d.ts → packages/utilities/src/revealEnv.d.ts} +0 -0
  202. package/{utilities → packages/utilities/src}/three/AutoDisposeGroup.d.ts +0 -0
  203. package/packages/utilities/src/three/BoundingBoxLOD.d.ts +27 -0
  204. package/{utilities → packages/utilities/src}/three/getBox3CornerPoints.d.ts +0 -0
  205. package/{utilities → packages/utilities/src}/transformCameraConfiguration.d.ts +1 -1
  206. package/packages/utilities/src/types.d.ts +10 -0
  207. package/{utilities → packages/utilities/src}/workers/WorkerPool.d.ts +0 -0
  208. package/tools.d.ts +1 -7
  209. package/tools.js +199 -12
  210. package/tools.map +1 -1
  211. package/combo-camera-controls/index.d.ts +0 -4
  212. package/datamodels/base/MetadataRepository.d.ts +0 -6
  213. package/datamodels/cad/CadModelMetadataRepository.d.ts +0 -15
  214. package/datamodels/cad/createCadManager.d.ts +0 -13
  215. package/datamodels/cad/index.d.ts +0 -8
  216. package/datamodels/cad/rendering/primitives.d.ts +0 -7
  217. package/datamodels/cad/rendering/types.d.ts +0 -25
  218. package/datamodels/cad/sector/types.d.ts +0 -114
  219. package/datamodels/pointcloud/PointCloudMetadataRepository.d.ts +0 -12
  220. package/datamodels/pointcloud/createPointCloudManager.d.ts +0 -10
  221. package/internals.d.ts +0 -27
  222. package/public/types.d.ts +0 -121
  223. package/tools/HtmlOverlayTool.d.ts +0 -88
  224. package/utilities/index.d.ts +0 -13
  225. package/utilities/metrics.d.ts +0 -15
  226. package/utilities/networking/CdfModelDataClient.d.ts +0 -45
  227. package/utilities/networking/CogniteClientNodeIdAndTreeIndexMapper.d.ts +0 -14
  228. package/utilities/networking/HttpHeadersProvider.d.ts +0 -7
  229. package/utilities/networking/LocalModelDataClient.d.ts +0 -23
  230. package/utilities/networking/types.d.ts +0 -37
  231. package/utilities/networking/utilities.d.ts +0 -13
  232. package/utilities/three/dumpRendererToImage.d.ts +0 -5
  233. package/utilities/three/index.d.ts +0 -6
  234. package/utilities/types.d.ts +0 -67
  235. package/utilities/worldToViewport.d.ts +0 -11
package/README.md CHANGED
@@ -14,13 +14,18 @@ import { CogniteClient } from "@cognite/sdk";
14
14
  const appId = "com.cognite.reveal.example";
15
15
  const client = new CogniteClient({ appId });
16
16
 
17
- client.loginWithOAuth({ project: "publicdata" });
17
+ async function start() {
18
+ await client.loginWithOAuth({ type: "CDF_OAUTH", options: { project: "publicdata" }});
19
+ await client.authenticate();
18
20
 
19
- const viewer = new Cognite3DViewer({
20
- sdk: client,
21
- domElement: document.querySelector("#your-element-for-viewer")
22
- });
23
- viewer.addModel({ modelId: 4715379429968321, revisionId: 5688854005909501 });
21
+ const viewer = new Cognite3DViewer({
22
+ sdk: client,
23
+ domElement: document.querySelector("#your-element-for-viewer")
24
+ });
25
+ viewer.addModel({ modelId: 4715379429968321, revisionId: 5688854005909501 });
26
+ }
27
+
28
+ start();
24
29
  ```
25
30
 
26
31
  ## Installation
@@ -43,3 +48,73 @@ In case if you see an error like that:
43
48
  > Refused to load the script 'https://apps-cdn.cogniteapp.com/@cognite/reveal-parser-worker/1.1.0/reveal.parser.worker.js' because it violates the following Content Security Policy directive: "script-src 'self' https://localhost:* blob:"
44
49
 
45
50
  See the next steps in our [documentation](https://cognitedata.github.io/reveal-docs/docs/installation#installation-for-projects-with-content-security-policy).
51
+
52
+ ## Local Packages
53
+ The Reveal viewer is structured using local packages.
54
+ This allows you to test features in isolation and constrain the dependencies with logical barriers between features.
55
+ Packages are located in the `/packages/` subfolder.
56
+ There is no enforced structure of the packages and their layout and content will vary depending on what the package exposes to the rest of the system.
57
+ Dependencies that are located in the `viewer/package.json` will be shared and are accessible by any package without having to explicitly declare a dependency in the respective package's `package.json`.
58
+ Any external dependency (e.g. `lodash`, `threejs`, etc.) must be declared in the root `package.json` such that they will be properly installed by users that consume the `Reveal` NPM package.
59
+
60
+ ### Creating a local package
61
+ Create a new folder under the `/packages/` folder, e.g. `/packages/[MY-PACKAGE-NAME]` and include a package with the following structure:
62
+
63
+ ```json
64
+ {
65
+ "name": "@reveal/[MY-PACKAGE-NAME]",
66
+ "private": true,
67
+ "main": "index.ts",
68
+ }
69
+ ```
70
+
71
+ Technically the `private: true` field can be omitted but it is highly recommended such that one does not accidentally publish the local package to NPM with the `npm publish` command.
72
+ The `index.ts` should include any types, functions and/or classes you wish to expose to consumers of this package. You should also create a `README.md` file for your package that explains its intent and any information that is needed to use the package.
73
+
74
+ If your package depends on another local package, it must be explicitly declared as a dependency:
75
+ ```json
76
+ {
77
+ "name": "@reveal/[MY-PACKAGE-NAME]",
78
+ "private": true,
79
+ "main": "index.ts",
80
+ "dependencies": {
81
+ "@reveal/[SOME-LOCAL-PACKAGE]": "workspace:*"
82
+ }
83
+ }
84
+ ```
85
+ The `workspace` keyword declares that the dependency is a local package and should never be fetched from NPM.
86
+ And the `':*'` syntax means that it should just grab any version available. See [this](https://yarnpkg.com/features/workspaces) for more documentation on yarn workspaces.
87
+
88
+ It is also possible to run and test a local package in isolation from the rest of Reveal.
89
+ Convenience functionality has been created to make this easy.
90
+ Add the following script to your package's `package.json`:
91
+ ```json
92
+ {
93
+ "scripts": {
94
+ "test": "yarn ws:test --config ./../../jest.config.js"
95
+ }
96
+ }
97
+ ```
98
+ Running `yarn run test` will run all tests in your package that resolves the `*.test.*` regex pattern.
99
+
100
+ To run a test app that includes your package (and any dependencies), create a `/app/` subfolder in your package that includes an `index.ts` file.
101
+ Add the following script to your package's `package.json`:
102
+ ```json
103
+ {
104
+ "scripts": {
105
+ "start": "yarn ws:start"
106
+ }
107
+ }
108
+ ```
109
+
110
+ Running the command `yarn start` will host a localhost site with a template HTML that includes the `/app/index.ts` script that has been transpiled to javascript.
111
+ To see an example of this check out the `packages/camera-manager` package.
112
+
113
+ ### Recommended package folder structure
114
+ ├── app # Runnable app
115
+ └──index.ts # Entry point for runnable app
116
+ ├── src # Source code for package
117
+ ├── test # Automated tests
118
+ ├── package.json # Package declaration
119
+ ├── index.ts # Entry point for package
120
+ └── README.md # Readme
package/core/cad.d.ts ADDED
@@ -0,0 +1,4 @@
1
+ /*!
2
+ * Copyright 2021 Cognite AS
3
+ */
4
+ export { LevelOfDetail, SectorNode } from '../packages/cad-parsers';
@@ -0,0 +1,7 @@
1
+ /*!
2
+ * Copyright 2021 Cognite AS
3
+ */
4
+ export { Cognite3DViewer } from './src/public/migration/Cognite3DViewer';
5
+ export { Cognite3DModel } from './src/public/migration/Cognite3DModel';
6
+ export { CogniteModelBase } from './src/public/migration/CogniteModelBase';
7
+ export * from './src/public/types';
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * Copyright 2021 Cognite AS
3
3
  */
4
- export { MetadataRepository } from './MetadataRepository';
4
+ export { MetadataRepository } from '../../../../packages/cad-parsers';
5
5
  export * from './SupportedModelTypes';
6
6
  export * from './types';
@@ -8,6 +8,7 @@ export interface IntersectInput {
8
8
  y: number;
9
9
  };
10
10
  camera: THREE.PerspectiveCamera;
11
+ clippingPlanes: THREE.Plane[];
11
12
  renderer: THREE.WebGLRenderer;
12
13
  domElement: HTMLElement;
13
14
  }
@@ -2,18 +2,15 @@
2
2
  * Copyright 2021 Cognite AS
3
3
  */
4
4
  import * as THREE from 'three';
5
- import { CadNode } from './CadNode';
5
+ import { Observable } from 'rxjs';
6
6
  import { CadModelFactory } from './CadModelFactory';
7
- import { CadModelMetadataRepository } from './CadModelMetadataRepository';
8
- import { CadModelUpdateHandler } from './CadModelUpdateHandler';
9
- import { CadMaterialManager } from './CadMaterialManager';
10
- import { RenderMode } from './rendering/RenderMode';
11
- import { LoadingState } from '../../utilities';
12
- import { CadModelSectorBudget } from './CadModelSectorBudget';
13
7
  import { CadModelSectorLoadStatistics } from './CadModelSectorLoadStatistics';
14
- import { Observable } from 'rxjs';
15
8
  import { GeometryFilter } from '../..';
16
- export declare class CadManager<TModelIdentifier> {
9
+ import { CadModelMetadataRepository } from '../../../../packages/cad-parsers';
10
+ import { CadModelUpdateHandler, CadModelSectorBudget, LoadingState } from '../../../../packages/cad-geometry-loaders';
11
+ import { CadNode, CadMaterialManager, RenderMode } from '../../../../packages/rendering';
12
+ import { ModelIdentifier } from '../../../../packages/modeldata-api';
13
+ export declare class CadManager {
17
14
  private readonly _materialManager;
18
15
  private readonly _cadModelMetadataRepository;
19
16
  private readonly _cadModelFactory;
@@ -30,7 +27,7 @@ export declare class CadManager<TModelIdentifier> {
30
27
  * Returns statistics about how data loaded (or data about to be loaded).
31
28
  */
32
29
  get loadedStatistics(): CadModelSectorLoadStatistics;
33
- constructor(materialManger: CadMaterialManager, cadModelMetadataRepository: CadModelMetadataRepository<TModelIdentifier>, cadModelFactory: CadModelFactory, cadModelUpdateHandler: CadModelUpdateHandler);
30
+ constructor(materialManger: CadMaterialManager, cadModelMetadataRepository: CadModelMetadataRepository, cadModelFactory: CadModelFactory, cadModelUpdateHandler: CadModelUpdateHandler);
34
31
  dispose(): void;
35
32
  requestRedraw(): void;
36
33
  resetRedraw(): void;
@@ -38,11 +35,9 @@ export declare class CadManager<TModelIdentifier> {
38
35
  updateCamera(camera: THREE.PerspectiveCamera): void;
39
36
  get clippingPlanes(): THREE.Plane[];
40
37
  set clippingPlanes(clippingPlanes: THREE.Plane[]);
41
- get clipIntersection(): boolean;
42
- set clipIntersection(clipIntersection: boolean);
43
38
  get renderMode(): RenderMode;
44
39
  set renderMode(renderMode: RenderMode);
45
- addModel(modelIdentifier: TModelIdentifier, geometryFilter?: GeometryFilter): Promise<CadNode>;
40
+ addModel(modelIdentifier: ModelIdentifier, geometryFilter?: GeometryFilter): Promise<CadNode>;
46
41
  removeModel(model: CadNode): void;
47
42
  getLoadingStateObserver(): Observable<LoadingState>;
48
43
  private markNeedsRedraw;
@@ -1,9 +1,5 @@
1
- /*!
2
- * Copyright 2021 Cognite AS
3
- */
4
- import { CadNode } from './CadNode';
5
- import { CadMaterialManager } from './CadMaterialManager';
6
- import { CadModelMetadata } from './CadModelMetadata';
1
+ import { CadMaterialManager, CadNode } from '../../../../packages/rendering';
2
+ import { CadModelMetadata } from '../../../../packages/cad-parsers';
7
3
  export declare class CadModelFactory {
8
4
  private readonly _materialManager;
9
5
  constructor(materialManager: CadMaterialManager);
@@ -0,0 +1,9 @@
1
+ /*!
2
+ * Copyright 2021 Cognite AS
3
+ */
4
+ import { CadManager } from './CadManager';
5
+ import { OccludingGeometryProvider } from '../../../../packages/cad-geometry-loaders';
6
+ import { CadMaterialManager } from '../../../../packages/rendering';
7
+ import { RevealOptions } from '../../public/types';
8
+ import { ModelDataProvider, ModelMetadataProvider } from '../../../../packages/modeldata-api';
9
+ export declare function createCadManager(modelMetadataProvider: ModelMetadataProvider, modelDataProvider: ModelDataProvider, renderer: THREE.WebGLRenderer, materialManager: CadMaterialManager, occludingGeometryProvider: OccludingGeometryProvider, options: RevealOptions): CadManager;
@@ -2,7 +2,7 @@
2
2
  * Copyright 2021 Cognite AS
3
3
  */
4
4
  import * as THREE from 'three';
5
- import { CadNode } from './CadNode';
5
+ import { CadNode } from '../../../../packages/rendering';
6
6
  import { IntersectInput } from '../base/types';
7
7
  export interface PickingInput {
8
8
  normalizedCoords: {
@@ -1,8 +1,8 @@
1
1
  /*!
2
2
  * Copyright 2021 Cognite AS
3
3
  */
4
- import { OccludingGeometryProvider } from '../sector/culling/OccludingGeometryProvider';
5
- import { EffectRenderManager } from './EffectRenderManager';
4
+ import { OccludingGeometryProvider } from '../../../../../packages/cad-geometry-loaders';
5
+ import { EffectRenderManager } from '../../../../../packages/rendering';
6
6
  export declare class RenderAlreadyLoadedGeometryProvider implements OccludingGeometryProvider {
7
7
  private readonly _renderManager;
8
8
  constructor(renderManager: EffectRenderManager);
@@ -2,7 +2,7 @@
2
2
  * Copyright 2021 Cognite AS
3
3
  */
4
4
  import * as THREE from 'three';
5
- import { CadModelMetadata } from '..';
5
+ import { CadModelMetadata } from '../../../../../packages/cad-parsers';
6
6
  export declare class CadModelClipper {
7
7
  private readonly _geometryClipBox;
8
8
  constructor(geometryClipBox: THREE.Box3);
@@ -2,10 +2,10 @@
2
2
  * Copyright 2021 Cognite AS
3
3
  */
4
4
  import * as THREE from 'three';
5
- import { CogniteClient } from '@cognite/sdk';
6
5
  import { Cognite3DModel } from '../../../public/migration/Cognite3DModel';
7
- import { IndexSet } from '../../../utilities/IndexSet';
8
- import { NodeCollectionBase, SerializedNodeCollection } from './NodeCollectionBase';
6
+ import { IndexSet } from '../../../../../packages/utilities';
7
+ import { NodeCollectionBase, SerializedNodeCollection } from '../../../../../packages/cad-styling';
8
+ import { CogniteClient } from '@cognite/sdk';
9
9
  /**
10
10
  * Represents a set of nodes associated with an [asset in Cognite Fusion]{@link https://docs.cognite.com/api/v1/#tag/Assets}
11
11
  * linked to the 3D model using [asset mappings]{@link https://docs.cognite.com/api/v1/#tag/3D-Asset-Mapping}. A node
@@ -2,8 +2,8 @@
2
2
  * Copyright 2021 Cognite AS
3
3
  */
4
4
  import { Cognite3DModel } from '../../../public/migration/Cognite3DModel';
5
- import { IndexSet } from '../../../utilities/IndexSet';
6
- import { NodeCollectionBase, SerializedNodeCollection } from './NodeCollectionBase';
5
+ import { IndexSet } from '../../../../../packages/utilities';
6
+ import { NodeCollectionBase, SerializedNodeCollection } from '../../../../../packages/cad-styling';
7
7
  /**
8
8
  * Node collection that inverts the result from another node collection.
9
9
  */
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import { CogniteClient } from '@cognite/sdk';
5
5
  import { Cognite3DModel } from '../../../migration';
6
- import { NodeCollectionBase } from './NodeCollectionBase';
6
+ import { NodeCollectionBase } from '../../../../../packages/cad-styling';
7
7
  export declare type TypeName = string;
8
8
  export declare type NodeCollectionSerializationContext = {
9
9
  client: CogniteClient;
@@ -2,8 +2,7 @@
2
2
  * Copyright 2021 Cognite AS
3
3
  */
4
4
  import { ListResponse } from '@cognite/sdk';
5
- import { IndexSet } from '../../../utilities/IndexSet';
6
- import { NumericRange } from '../../../utilities/NumericRange';
5
+ import { IndexSet, NumericRange } from '../../../../../packages/utilities';
7
6
  /**
8
7
  * Helper class that populates an IndexSet based on a paged results from the Cognite SDK.
9
8
  */
@@ -2,9 +2,9 @@
2
2
  * Copyright 2021 Cognite AS
3
3
  */
4
4
  import { CogniteClient } from '@cognite/sdk';
5
- import { IndexSet } from '../../../utilities/IndexSet';
6
5
  import { Cognite3DModel } from '../../../public/migration/Cognite3DModel';
7
- import { NodeCollectionBase } from './NodeCollectionBase';
6
+ import { NodeCollectionBase } from '../../../../../packages/cad-styling';
7
+ import { IndexSet } from '../../../../../packages/utilities';
8
8
  /**
9
9
  * Options for {@link PropertyFilterNodeCollection}.
10
10
  */
@@ -1,19 +1,16 @@
1
1
  /*!
2
2
  * Copyright 2021 Cognite AS
3
3
  */
4
- import { CogniteClient } from '@cognite/sdk';
5
- import { IndexSet } from '../../../utilities/IndexSet';
6
4
  import { Cognite3DModel } from '../../../public/migration/Cognite3DModel';
7
5
  import { PropertyFilterNodeCollectionOptions } from './PropertyFilterNodeCollection';
8
- import { NodeCollectionBase } from './NodeCollectionBase';
6
+ import { IndexSet } from '../../../../../packages/utilities';
7
+ import { NodeCollectionBase } from '../../../../../packages/cad-styling';
8
+ import { CogniteClient } from '@cognite/sdk';
9
9
  /**
10
10
  * Node collection that filters nodes based on a node property from a list of values, similarly to how
11
11
  * `SELECT ... IN (...)` works. This is useful when looking up nodes based on a list of identifiers,
12
12
  * nodes within a set of areas or systems. The node set is optimized for matching with properties with
13
13
  * a large number of values (i.e. thousands).
14
- *
15
- * @experimental This is an experimental feature that might be changed or removed, and changes
16
- * in minor releases might cause breaking changes.
17
14
  */
18
15
  export declare class SinglePropertyFilterNodeCollection extends NodeCollectionBase {
19
16
  static readonly classToken = "SinglePropertyNodeCollection";
@@ -1,13 +1,8 @@
1
1
  /*!
2
2
  * Copyright 2021 Cognite AS
3
3
  */
4
- export { AssetNodeCollection } from './AssetNodeCollection';
5
- export { PropertyFilterNodeCollection } from './PropertyFilterNodeCollection';
6
- export { TreeIndexNodeCollection } from './TreeIndexNodeCollection';
7
4
  export { InvertedNodeCollection } from './InvertedNodeCollection';
8
- export { UnionNodeCollection } from './UnionNodeCollection';
9
- export { IntersectionNodeCollection } from './IntersectionNodeCollection';
10
- export { NodeCollectionBase, SerializedNodeCollection } from './NodeCollectionBase';
11
- export { NodeAppearanceProvider } from './NodeAppearanceProvider';
12
5
  export { SinglePropertyFilterNodeCollection } from './SinglePropertyFilterNodeCollection';
6
+ export { PropertyFilterNodeCollection } from './PropertyFilterNodeCollection';
7
+ export { AssetNodeCollection } from './AssetNodeCollection';
13
8
  export { registerCustomNodeCollectionType, TypeName, NodeCollectionDescriptor, NodeCollectionSerializationContext } from './NodeCollectionDeserializer';
@@ -1,6 +1,6 @@
1
1
  import { PotreeNodeWrapper } from './PotreeNodeWrapper';
2
2
  import { PointCloudMetadata } from './PointCloudMetadata';
3
- import { HttpHeadersProvider } from '../../utilities/networking/HttpHeadersProvider';
3
+ import { HttpHeadersProvider } from '../../../../packages/modeldata-api';
4
4
  export declare class PointCloudFactory {
5
5
  private readonly _httpHeadersProvider;
6
6
  constructor(httpHeadersProvider: HttpHeadersProvider);
@@ -2,21 +2,25 @@
2
2
  * Copyright 2021 Cognite AS
3
3
  */
4
4
  import * as THREE from 'three';
5
+ import { LoadingState } from '../../../../packages/cad-geometry-loaders';
5
6
  import { PointCloudFactory } from './PointCloudFactory';
7
+ import { PointCloudNode } from './PointCloudNode';
6
8
  import { PointCloudMetadataRepository } from './PointCloudMetadataRepository';
7
9
  import { Observable } from 'rxjs';
8
- import { LoadingState } from '../../utilities';
9
- import { PointCloudNode } from './PointCloudNode';
10
- export declare class PointCloudManager<TModelIdentifier> {
10
+ import { ModelIdentifier } from '../../../../packages/modeldata-api';
11
+ export declare class PointCloudManager {
11
12
  private readonly _pointCloudMetadataRepository;
12
13
  private readonly _pointCloudFactory;
13
14
  private readonly _pointCloudGroupWrapper;
14
- constructor(metadataRepository: PointCloudMetadataRepository<TModelIdentifier>, modelFactory: PointCloudFactory);
15
+ constructor(metadataRepository: PointCloudMetadataRepository, modelFactory: PointCloudFactory);
15
16
  requestRedraw(): void;
16
17
  resetRedraw(): void;
18
+ get pointBudget(): number;
19
+ set pointBudget(points: number);
17
20
  get needsRedraw(): boolean;
21
+ set clippingPlanes(planes: THREE.Plane[]);
18
22
  getLoadingStateObserver(): Observable<LoadingState>;
19
23
  updateCamera(_camera: THREE.PerspectiveCamera): void;
20
- addModel(modelIdentifier: TModelIdentifier): Promise<PointCloudNode>;
24
+ addModel(modelIdentifier: ModelIdentifier): Promise<PointCloudNode>;
21
25
  removeModel(node: PointCloudNode): void;
22
26
  }
@@ -2,7 +2,7 @@
2
2
  * Copyright 2021 Cognite AS
3
3
  */
4
4
  import * as THREE from 'three';
5
- import { CameraConfiguration } from '../../utilities';
5
+ import { CameraConfiguration } from '../../../../packages/utilities';
6
6
  export interface PointCloudMetadata {
7
7
  modelBaseUrl: string;
8
8
  modelMatrix: THREE.Matrix4;
@@ -0,0 +1,13 @@
1
+ /*!
2
+ * Copyright 2021 Cognite AS
3
+ */
4
+ import { PointCloudMetadata } from './PointCloudMetadata';
5
+ import { MetadataRepository } from '../base';
6
+ import { ModelDataProvider, ModelMetadataProvider, ModelIdentifier } from '../../../../packages/modeldata-api';
7
+ export declare class PointCloudMetadataRepository implements MetadataRepository<Promise<PointCloudMetadata>> {
8
+ private readonly _modelMetadataProvider;
9
+ private readonly _modelDataProvider;
10
+ private readonly _blobFileName;
11
+ constructor(modelMetadataProvider: ModelMetadataProvider, modelDataProvider: ModelDataProvider, blobFileName?: string);
12
+ loadData(modelIdentifier: ModelIdentifier): Promise<PointCloudMetadata>;
13
+ }
@@ -2,9 +2,9 @@
2
2
  * Copyright 2021 Cognite AS
3
3
  */
4
4
  import * as THREE from 'three';
5
+ import { CameraConfiguration } from '../../../../packages/utilities';
5
6
  import { PotreeGroupWrapper } from './PotreeGroupWrapper';
6
7
  import { PotreeNodeWrapper } from './PotreeNodeWrapper';
7
- import { CameraConfiguration } from '../../utilities';
8
8
  import { PotreePointSizeType, PotreePointColorType, PotreePointShape, WellKnownAsprsPointClassCodes } from './types';
9
9
  export declare class PointCloudNode extends THREE.Group {
10
10
  private readonly _potreeGroup;
@@ -23,6 +23,7 @@ export declare class PointCloudNode extends THREE.Group {
23
23
  set pointSizeType(value: PotreePointSizeType);
24
24
  get pointBudget(): number;
25
25
  set pointBudget(count: number);
26
+ get visiblePointCount(): number;
26
27
  get pointColorType(): PotreePointColorType;
27
28
  set pointColorType(type: PotreePointColorType);
28
29
  get pointShape(): PotreePointShape;
@@ -1,9 +1,9 @@
1
1
  /*!
2
2
  * Copyright 2021 Cognite AS
3
3
  */
4
+ import { LoadingState } from '../../../../packages/cad-geometry-loaders';
4
5
  import { Observable } from 'rxjs';
5
6
  import * as THREE from 'three';
6
- import { LoadingState } from '../../utilities';
7
7
  import { PotreeNodeWrapper } from './PotreeNodeWrapper';
8
8
  /**
9
9
  * Wrapper around Potree.Group with type information and
@@ -23,11 +23,17 @@ export declare class PotreeGroupWrapper extends THREE.Object3D {
23
23
  * @param pollLoadingStatusInterval Controls how often the wrapper checks for loading status. Used for testing.
24
24
  */
25
25
  constructor(pollLoadingStatusInterval?: number);
26
+ get pointBudget(): number;
27
+ set pointBudget(points: number);
26
28
  getLoadingStateObserver(): Observable<LoadingState>;
27
29
  addPointCloud(node: PotreeNodeWrapper): void;
28
30
  removePointCloud(node: PotreeNodeWrapper): void;
29
31
  requestRedraw(): void;
30
32
  resetRedraw(): void;
31
33
  private createLoadingStateObservable;
34
+ /**
35
+ * Generates a hash for the current loaded points to allow determining if we have
36
+ * loaded data since last redraw.
37
+ */
32
38
  private get pointBuffersHash();
33
39
  }
@@ -0,0 +1,6 @@
1
+ /*!
2
+ * Copyright 2021 Cognite AS
3
+ */
4
+ import { PointCloudManager } from './PointCloudManager';
5
+ import { ModelDataProvider, ModelMetadataProvider } from '../../../../packages/modeldata-api';
6
+ export declare function createPointCloudManager(modelMetadataProvider: ModelMetadataProvider, modelDataProvider: ModelDataProvider): PointCloudManager;
@@ -0,0 +1,19 @@
1
+ /*!
2
+ * Copyright 2021 Cognite AS
3
+ */
4
+ /**
5
+ * @module @cognite/reveal
6
+ */
7
+ export { NodeAppearanceProvider, NodeAppearance, NodeOutlineColor, DefaultNodeAppearance } from '../../packages/cad-styling';
8
+ export { NodeCollectionBase, TreeIndexNodeCollection, IntersectionNodeCollection, UnionNodeCollection, SerializedNodeCollection } from '../../packages/cad-styling';
9
+ export { revealEnv, IndexSet, NumericRange } from '../../packages/utilities';
10
+ export * from './public/migration/Cognite3DViewer';
11
+ export { BoundingBoxClipper } from './utilities';
12
+ export { Cognite3DModel } from './public/migration/Cognite3DModel';
13
+ export { Cognite3DViewer } from './public/migration/Cognite3DViewer';
14
+ export { CognitePointCloudModel } from './public/migration/CognitePointCloudModel';
15
+ export { ViewerState, ModelState } from './utilities/ViewStateHelper';
16
+ export * from './public/types';
17
+ export { PropertyFilterNodeCollection, SinglePropertyFilterNodeCollection, AssetNodeCollection, InvertedNodeCollection, registerCustomNodeCollectionType, TypeName, NodeCollectionDescriptor, NodeCollectionSerializationContext } from './datamodels/cad/styling';
18
+ import * as THREE from 'three';
19
+ export { THREE };
@@ -0,0 +1,15 @@
1
+ /*!
2
+ * Copyright 2021 Cognite AS
3
+ */
4
+ export { CdfModelIdentifier, LocalModelIdentifier, ModelIdentifier, File3dFormat } from '../../packages/modeldata-api';
5
+ export { RevealManager } from './public/RevealManager';
6
+ export { createLocalRevealManager, createCdfRevealManager } from './public/createRevealManager';
7
+ export { intersectCadNodes } from './datamodels/cad/picking';
8
+ export { CadModelSectorLoadStatistics } from './datamodels/cad/CadModelSectorLoadStatistics';
9
+ export { PointCloudMetadata } from './datamodels/pointcloud';
10
+ export * from './datamodels/pointcloud/types';
11
+ export { PotreeNodeWrapper } from './datamodels/pointcloud/PotreeNodeWrapper';
12
+ export { PotreeGroupWrapper } from './datamodels/pointcloud/PotreeGroupWrapper';
13
+ export { PointCloudNode } from './datamodels/pointcloud/PointCloudNode';
14
+ import * as utilities from './utilities';
15
+ export { utilities };
File without changes
@@ -4,19 +4,19 @@
4
4
  import * as THREE from 'three';
5
5
  import { CadManager } from '../datamodels/cad/CadManager';
6
6
  import { PointCloudManager } from '../datamodels/pointcloud/PointCloudManager';
7
- import { LoadingStateChangeListener } from './types';
8
- import { CadNode } from '../datamodels/cad';
9
- import { RenderMode } from '../datamodels/cad/rendering/RenderMode';
10
- import { EffectRenderManager } from '../datamodels/cad/rendering/EffectRenderManager';
7
+ import { LoadingStateChangeListener, PointCloudBudget } from './types';
11
8
  import { PointCloudNode } from '../datamodels/pointcloud/PointCloudNode';
12
- import { CadModelSectorBudget } from '../datamodels/cad/CadModelSectorBudget';
13
9
  import { CadModelSectorLoadStatistics } from '../datamodels/cad/CadModelSectorLoadStatistics';
14
- import { GeometryFilter, NodeAppearanceProvider, RenderOptions } from '..';
10
+ import { GeometryFilter } from '..';
11
+ import { CadModelSectorBudget } from '../../../packages/cad-geometry-loaders';
12
+ import { NodeAppearanceProvider } from '../../../packages/cad-styling';
13
+ import { RenderOptions, EffectRenderManager, CadNode, RenderMode } from '../../../packages/rendering';
14
+ import { ModelIdentifier } from '../../../packages/modeldata-api';
15
15
  export declare type AddCadModelOptions = {
16
16
  nodeAppearanceProvider?: NodeAppearanceProvider;
17
17
  geometryFilter?: GeometryFilter;
18
18
  };
19
- export declare class RevealManager<TModelIdentifier> {
19
+ export declare class RevealManager {
20
20
  private readonly _cadManager;
21
21
  private readonly _pointCloudManager;
22
22
  private readonly _effectRenderManager;
@@ -25,10 +25,12 @@ export declare class RevealManager<TModelIdentifier> {
25
25
  private readonly _subscriptions;
26
26
  private readonly _events;
27
27
  private readonly _updateSubject;
28
- constructor(cadManager: CadManager<TModelIdentifier>, renderManager: EffectRenderManager, pointCloudManager: PointCloudManager<TModelIdentifier>);
28
+ constructor(cadManager: CadManager, renderManager: EffectRenderManager, pointCloudManager: PointCloudManager);
29
29
  dispose(): void;
30
30
  requestRedraw(): void;
31
31
  resetRedraw(): void;
32
+ get debugRenderTiming(): boolean;
33
+ set debugRenderTiming(enable: boolean);
32
34
  get renderOptions(): RenderOptions;
33
35
  set renderOptions(options: RenderOptions);
34
36
  get needsRedraw(): boolean;
@@ -36,12 +38,12 @@ export declare class RevealManager<TModelIdentifier> {
36
38
  get cadBudget(): CadModelSectorBudget;
37
39
  set cadBudget(budget: CadModelSectorBudget);
38
40
  get cadLoadedStatistics(): CadModelSectorLoadStatistics;
39
- get renderMode(): RenderMode;
40
- set renderMode(renderMode: RenderMode);
41
+ get cadRenderMode(): RenderMode;
42
+ set cadRenderMode(renderMode: RenderMode);
43
+ get pointCloudBudget(): PointCloudBudget;
44
+ set pointCloudBudget(budget: PointCloudBudget);
41
45
  set clippingPlanes(clippingPlanes: THREE.Plane[]);
42
46
  get clippingPlanes(): THREE.Plane[];
43
- set clipIntersection(intersection: boolean);
44
- get clipIntersection(): boolean;
45
47
  on(event: 'loadingStateChanged', listener: LoadingStateChangeListener): void;
46
48
  off(event: 'loadingStateChanged', listener: LoadingStateChangeListener): void;
47
49
  render(camera: THREE.PerspectiveCamera): void;
@@ -51,8 +53,8 @@ export declare class RevealManager<TModelIdentifier> {
51
53
  * @param autoSetTargetSize Auto size target to fit canvas.
52
54
  */
53
55
  setRenderTarget(target: THREE.WebGLRenderTarget | null, autoSetTargetSize?: boolean): void;
54
- addModel(type: 'cad', modelIdentifier: TModelIdentifier, options?: AddCadModelOptions): Promise<CadNode>;
55
- addModel(type: 'pointcloud', modelIdentifier: TModelIdentifier): Promise<PointCloudNode>;
56
+ addModel(type: 'cad', modelIdentifier: ModelIdentifier, options?: AddCadModelOptions): Promise<CadNode>;
57
+ addModel(type: 'pointcloud', modelIdentifier: ModelIdentifier): Promise<PointCloudNode>;
56
58
  removeModel(type: 'cad', model: CadNode): void;
57
59
  removeModel(type: 'pointcloud', model: PointCloudNode): void;
58
60
  addUiObject(object: THREE.Object3D, screenPos: THREE.Vector2, size: THREE.Vector2): void;
@@ -2,10 +2,9 @@
2
2
  * Copyright 2021 Cognite AS
3
3
  */
4
4
  import * as THREE from 'three';
5
- import { LocalModelIdentifier, CdfModelIdentifier } from '../utilities/networking/types';
6
- import { CogniteClient } from '@cognite/sdk';
7
5
  import { RevealManager } from './RevealManager';
8
6
  import { RevealOptions } from './types';
7
+ import { CogniteClient } from '@cognite/sdk';
9
8
  /**
10
9
  * Used to create an instance of reveal manager that works with localhost.
11
10
  * @param renderer
@@ -13,7 +12,7 @@ import { RevealOptions } from './types';
13
12
  * @param revealOptions
14
13
  * @returns RevealManager instance.
15
14
  */
16
- export declare function createLocalRevealManager(renderer: THREE.WebGLRenderer, scene: THREE.Scene, revealOptions?: RevealOptions): RevealManager<LocalModelIdentifier>;
15
+ export declare function createLocalRevealManager(renderer: THREE.WebGLRenderer, scene: THREE.Scene, revealOptions?: RevealOptions): RevealManager;
17
16
  /**
18
17
  * Used to create an instance of reveal manager that works with the CDF.
19
18
  * @param client
@@ -21,4 +20,4 @@ export declare function createLocalRevealManager(renderer: THREE.WebGLRenderer,
21
20
  * @param scene
22
21
  * @param revealOptions
23
22
  */
24
- export declare function createCdfRevealManager(client: CogniteClient, renderer: THREE.WebGLRenderer, scene: THREE.Scene, revealOptions?: RevealOptions): RevealManager<CdfModelIdentifier>;
23
+ export declare function createCdfRevealManager(client: CogniteClient, renderer: THREE.WebGLRenderer, scene: THREE.Scene, revealOptions?: RevealOptions): RevealManager;