@cognite/reveal 2.2.2 → 2.3.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 (212) hide show
  1. package/core/cad.d.ts +4 -4
  2. package/core/index.d.ts +7 -7
  3. package/core/src/datamodels/base/SupportedModelTypes.d.ts +4 -4
  4. package/core/src/datamodels/base/index.d.ts +6 -6
  5. package/core/src/datamodels/base/types.d.ts +14 -14
  6. package/core/src/datamodels/cad/CadManager.d.ts +45 -45
  7. package/core/src/datamodels/cad/CadModelFactory.d.ts +7 -7
  8. package/core/src/datamodels/cad/CadModelSectorLoadStatistics.d.ts +38 -38
  9. package/core/src/datamodels/cad/createCadManager.d.ts +9 -9
  10. package/core/src/datamodels/cad/picking.d.ts +28 -28
  11. package/core/src/datamodels/cad/rendering/RenderAlreadyLoadedGeometryProvider.d.ts +10 -10
  12. package/core/src/datamodels/cad/sector/CadModelClipper.d.ts +10 -10
  13. package/core/src/datamodels/cad/styling/AssetNodeCollection.d.ts +38 -38
  14. package/core/src/datamodels/cad/styling/InvertedNodeCollection.d.ts +24 -24
  15. package/core/src/datamodels/cad/styling/NodeCollectionDeserializer.d.ts +26 -26
  16. package/core/src/datamodels/cad/styling/PopulateIndexSetFromPagedResponseHelper.d.ts +24 -24
  17. package/core/src/datamodels/cad/styling/PropertyFilterNodeCollection.d.ts +54 -54
  18. package/core/src/datamodels/cad/styling/SinglePropertyFilterNodeCollection.d.ts +50 -50
  19. package/core/src/datamodels/cad/styling/index.d.ts +8 -8
  20. package/core/src/datamodels/pointcloud/PointCloudFactory.d.ts +9 -9
  21. package/core/src/datamodels/pointcloud/PointCloudManager.d.ts +26 -26
  22. package/core/src/datamodels/pointcloud/PointCloudMetadata.d.ts +11 -11
  23. package/core/src/datamodels/pointcloud/PointCloudMetadataRepository.d.ts +13 -13
  24. package/core/src/datamodels/pointcloud/PointCloudNode.d.ts +62 -62
  25. package/core/src/datamodels/pointcloud/PotreeGroupWrapper.d.ts +39 -39
  26. package/core/src/datamodels/pointcloud/PotreeNodeWrapper.d.ts +38 -38
  27. package/core/src/datamodels/pointcloud/createPointCloudManager.d.ts +6 -6
  28. package/core/src/datamodels/pointcloud/index.d.ts +5 -5
  29. package/core/src/datamodels/pointcloud/picking.d.ts +29 -29
  30. package/core/src/datamodels/pointcloud/types.d.ts +114 -114
  31. package/core/src/index.d.ts +19 -19
  32. package/core/src/internals.d.ts +15 -15
  33. package/core/src/migration.d.ts +8 -8
  34. package/core/src/public/RevealManager.d.ts +64 -64
  35. package/core/src/public/createRevealManager.d.ts +23 -23
  36. package/core/src/public/migration/Cognite3DModel.d.ts +339 -339
  37. package/core/src/public/migration/Cognite3DViewer.d.ts +566 -611
  38. package/core/src/public/migration/CogniteModelBase.d.ts +17 -17
  39. package/core/src/public/migration/CognitePointCloudModel.d.ts +121 -121
  40. package/core/src/public/migration/NodeIdAndTreeIndexMaps.d.ts +4 -4
  41. package/core/src/public/migration/NotSupportedInMigrationWrapperError.d.ts +11 -11
  42. package/core/src/public/migration/RenderController.d.ts +4 -4
  43. package/core/src/public/migration/types.d.ts +290 -290
  44. package/core/src/public/types.d.ts +46 -46
  45. package/core/src/storage/RevealManagerHelper.d.ts +58 -58
  46. package/core/src/utilities/BoundingBoxClipper.d.ts +23 -23
  47. package/core/src/utilities/Spinner.d.ts +27 -27
  48. package/core/src/utilities/ViewStateHelper.d.ts +37 -33
  49. package/core/src/utilities/callActionWithIndicesAsync.d.ts +4 -4
  50. package/core/src/utilities/index.d.ts +8 -8
  51. package/core/src/utilities/reflection.d.ts +7 -7
  52. package/core/src/utilities/worldToViewport.d.ts +30 -30
  53. package/core/utilities.d.ts +4 -4
  54. package/extensions/datasource.d.ts +9 -9
  55. package/extensions/datasource.js +6 -6
  56. package/extensions/datasource.map +1 -1
  57. package/index.d.ts +9 -8
  58. package/index.js +101 -91
  59. package/index.map +1 -1
  60. package/package.json +2 -2
  61. package/packages/cad-geometry-loaders/index.d.ts +14 -14
  62. package/packages/cad-geometry-loaders/src/CadLoadingHints.d.ts +11 -11
  63. package/packages/cad-geometry-loaders/src/CadModelSectorBudget.d.ts +26 -26
  64. package/packages/cad-geometry-loaders/src/CadModelUpdateHandler.d.ts +44 -44
  65. package/packages/cad-geometry-loaders/src/sector/CachedRepository.d.ts +25 -25
  66. package/packages/cad-geometry-loaders/src/sector/ModelStateHandler.d.ts +12 -12
  67. package/packages/cad-geometry-loaders/src/sector/Repository.d.ts +9 -9
  68. package/packages/cad-geometry-loaders/src/sector/SectorLoader.d.ts +28 -28
  69. package/packages/cad-geometry-loaders/src/sector/SimpleAndDetailedToSector3D.d.ts +20 -20
  70. package/packages/cad-geometry-loaders/src/sector/culling/ByVisibilityGpuSectorCuller.d.ts +53 -53
  71. package/packages/cad-geometry-loaders/src/sector/culling/OccludingGeometryProvider.d.ts +6 -6
  72. package/packages/cad-geometry-loaders/src/sector/culling/OrderSectorsByVisibilityCoverage.d.ts +107 -107
  73. package/packages/cad-geometry-loaders/src/sector/culling/SectorCuller.d.ts +33 -33
  74. package/packages/cad-geometry-loaders/src/sector/culling/TakenSectorTree.d.ts +24 -24
  75. package/packages/cad-geometry-loaders/src/sector/culling/types.d.ts +71 -71
  76. package/packages/cad-geometry-loaders/src/sector/rxSectorUtilities.d.ts +12 -12
  77. package/packages/cad-geometry-loaders/src/sector/sectorUtilities.d.ts +20 -20
  78. package/packages/cad-geometry-loaders/src/utilities/PromiseUtils.d.ts +18 -18
  79. package/packages/cad-geometry-loaders/src/utilities/arrays.d.ts +5 -5
  80. package/packages/cad-geometry-loaders/src/utilities/groupMeshesByNumber.d.ts +8 -8
  81. package/packages/cad-geometry-loaders/src/utilities/rxOperations.d.ts +6 -6
  82. package/packages/cad-geometry-loaders/src/utilities/types.d.ts +25 -25
  83. package/packages/cad-parsers/index.d.ts +21 -21
  84. package/packages/cad-parsers/src/cad/CadSectorParser.d.ts +15 -15
  85. package/packages/cad-parsers/src/cad/LevelOfDetail.d.ts +8 -8
  86. package/packages/cad-parsers/src/cad/filterInstanceMesh.d.ts +6 -6
  87. package/packages/cad-parsers/src/cad/filterPrimitives.d.ts +9 -9
  88. package/packages/cad-parsers/src/cad/primitiveGeometries.d.ts +31 -31
  89. package/packages/cad-parsers/src/cad/triangleMeshes.d.ts +6 -6
  90. package/packages/cad-parsers/src/cad/types.d.ts +56 -56
  91. package/packages/cad-parsers/src/metadata/CadMetadataParser.d.ts +7 -7
  92. package/packages/cad-parsers/src/metadata/CadModelMetadata.d.ts +44 -44
  93. package/packages/cad-parsers/src/metadata/CadModelMetadataRepository.d.ts +16 -16
  94. package/packages/cad-parsers/src/metadata/MetadataRepository.d.ts +7 -7
  95. package/packages/cad-parsers/src/metadata/parsers/CadMetadataParserV8.d.ts +51 -51
  96. package/packages/cad-parsers/src/metadata/types.d.ts +41 -41
  97. package/packages/cad-parsers/src/sector/RootSectorNode.d.ts +12 -12
  98. package/packages/cad-parsers/src/sector/SectorNode.d.ts +21 -21
  99. package/packages/cad-parsers/src/utilities/SectorScene.d.ts +21 -21
  100. package/packages/cad-parsers/src/utilities/SectorSceneFactory.d.ts +9 -9
  101. package/packages/cad-parsers/src/utilities/computeBoundingBoxFromAttributes.d.ts +9 -9
  102. package/packages/cad-parsers/src/utilities/float32BufferToMatrix.d.ts +12 -12
  103. package/packages/cad-parsers/src/utilities/types.d.ts +48 -48
  104. package/packages/cad-styling/index.d.ts +9 -9
  105. package/packages/cad-styling/src/CombineNodeCollectionBase.d.ts +31 -31
  106. package/packages/cad-styling/src/IntersectionNodeCollection.d.ts +15 -15
  107. package/packages/cad-styling/src/NodeAppearance.d.ts +62 -62
  108. package/packages/cad-styling/src/NodeAppearanceProvider.d.ts +33 -33
  109. package/packages/cad-styling/src/NodeCollectionBase.d.ts +47 -47
  110. package/packages/cad-styling/src/TreeIndexNodeCollection.d.ts +23 -23
  111. package/packages/cad-styling/src/UnionNodeCollection.d.ts +15 -15
  112. package/packages/camera-manager/index.d.ts +6 -4
  113. package/packages/camera-manager/src/CameraManager.d.ts +85 -0
  114. package/packages/camera-manager/src/ComboControls.d.ts +102 -100
  115. package/packages/camera-manager/src/Keyboard.d.ts +17 -17
  116. package/packages/camera-manager/src/types.d.ts +64 -0
  117. package/packages/data-source/index.d.ts +6 -6
  118. package/packages/data-source/src/CdfDataSource.d.ts +19 -19
  119. package/packages/data-source/src/DataSource.d.ts +26 -26
  120. package/packages/data-source/src/LocalDataSource.d.ts +15 -15
  121. package/packages/logger/index.d.ts +5 -5
  122. package/packages/logger/src/Log.d.ts +5 -5
  123. package/packages/metrics/index.d.ts +5 -5
  124. package/packages/metrics/src/MetricsLogger.d.ts +21 -21
  125. package/packages/metrics/src/types.d.ts +7 -7
  126. package/packages/modeldata-api/index.d.ts +13 -13
  127. package/packages/modeldata-api/src/CdfModelDataProvider.d.ts +17 -15
  128. package/packages/modeldata-api/src/CdfModelIdentifier.d.ts +17 -17
  129. package/packages/modeldata-api/src/CdfModelMetadataProvider.d.ts +19 -19
  130. package/packages/modeldata-api/src/CdfModelOutputsProvider.d.ts +15 -15
  131. package/packages/modeldata-api/src/LocalModelDataProvider.d.ts +10 -10
  132. package/packages/modeldata-api/src/LocalModelIdentifier.d.ts +14 -14
  133. package/packages/modeldata-api/src/LocalModelMetadataProvider.d.ts +14 -14
  134. package/packages/modeldata-api/src/Model3DOutputList.d.ts +17 -17
  135. package/packages/modeldata-api/src/ModelIdentifier.d.ts +12 -12
  136. package/packages/modeldata-api/src/ModelMetadataProvider.d.ts +17 -17
  137. package/packages/modeldata-api/src/applyDefaultModelTransformation.d.ts +6 -6
  138. package/packages/modeldata-api/src/types.d.ts +41 -41
  139. package/packages/modeldata-api/src/utilities.d.ts +7 -7
  140. package/packages/nodes-api/index.d.ts +6 -6
  141. package/packages/nodes-api/src/NodesApiClient.d.ts +52 -52
  142. package/packages/nodes-api/src/NodesCdfClient.d.ts +24 -24
  143. package/packages/nodes-api/src/NodesLocalClient.d.ts +30 -30
  144. package/packages/nodes-api/src/types.d.ts +10 -10
  145. package/packages/rendering/index.d.ts +17 -17
  146. package/packages/rendering/src/CadMaterialManager.d.ts +37 -37
  147. package/packages/rendering/src/InstancedMeshManager.d.ts +20 -20
  148. package/packages/rendering/src/cameraconfig.d.ts +12 -12
  149. package/packages/rendering/src/rendering/EffectRenderManager.d.ts +99 -99
  150. package/packages/rendering/src/rendering/NodeAppearanceTextureBuilder.d.ts +51 -51
  151. package/packages/rendering/src/rendering/RenderMode.d.ts +15 -15
  152. package/packages/rendering/src/rendering/createSimpleGeometryMesh.d.ts +6 -6
  153. package/packages/rendering/src/rendering/matCapTextureData.d.ts +5 -5
  154. package/packages/rendering/src/rendering/materials.d.ts +23 -23
  155. package/packages/rendering/src/rendering/primitives.d.ts +12 -12
  156. package/packages/rendering/src/rendering/shaders.d.ts +101 -101
  157. package/packages/rendering/src/rendering/types.d.ts +76 -76
  158. package/packages/rendering/src/sector/CadNode.d.ts +54 -54
  159. package/packages/rendering/src/transform/NodeTransformProvider.d.ts +13 -13
  160. package/packages/rendering/src/transform/NodeTransformTextureBuilder.d.ts +23 -23
  161. package/packages/rendering/src/transform/TransformOverrideBuffer.d.ts +21 -21
  162. package/packages/rendering/src/utilities/types.d.ts +26 -26
  163. package/packages/tools/index.d.ts +15 -15
  164. package/packages/tools/src/AxisView/AxisViewTool.d.ts +32 -32
  165. package/packages/tools/src/AxisView/types.d.ts +98 -98
  166. package/packages/tools/src/Cognite3DViewerToolBase.d.ts +25 -25
  167. package/packages/tools/src/DebugCameraTool.d.ts +20 -20
  168. package/packages/tools/src/DebugLoadedSectorsTool.d.ts +23 -23
  169. package/packages/tools/src/ExplodedViewTool.d.ts +12 -12
  170. package/packages/tools/src/Geomap/Geomap.d.ts +17 -17
  171. package/packages/tools/src/Geomap/GeomapTool.d.ts +24 -24
  172. package/packages/tools/src/Geomap/MapConfig.d.ts +195 -195
  173. package/packages/tools/src/HtmlOverlay/BucketGrid2D.d.ts +28 -28
  174. package/packages/tools/src/HtmlOverlay/HtmlOverlayTool.d.ts +159 -159
  175. package/packages/tools/src/Timeline/Keyframe.d.ts +38 -38
  176. package/packages/tools/src/Timeline/TimelineTool.d.ts +79 -79
  177. package/packages/tools/src/Timeline/types.d.ts +13 -13
  178. package/packages/tools/src/types.d.ts +4 -4
  179. package/packages/utilities/index.d.ts +24 -24
  180. package/packages/utilities/src/CameraConfiguration.d.ts +10 -10
  181. package/packages/utilities/src/IndexSet.d.ts +1 -1
  182. package/packages/utilities/src/NumericRange.d.ts +22 -22
  183. package/packages/utilities/src/RandomColors.d.ts +34 -34
  184. package/packages/utilities/src/WebGLRendererStateHelper.d.ts +15 -15
  185. package/packages/utilities/src/assertNever.d.ts +7 -7
  186. package/packages/utilities/src/cache/MemoryRequestCache.d.ts +22 -22
  187. package/packages/utilities/src/cache/MostFrequentlyUsedCache.d.ts +19 -19
  188. package/packages/utilities/src/cache/RequestCache.d.ts +13 -13
  189. package/packages/utilities/src/datastructures/DynamicDefragmentedBuffer.d.ts +22 -22
  190. package/packages/utilities/src/determinePowerOfTwoDimensions.d.ts +11 -11
  191. package/packages/utilities/src/disposeAttributeArrayOnUpload.d.ts +17 -17
  192. package/packages/utilities/src/events/EventTrigger.d.ts +13 -13
  193. package/packages/utilities/src/events/InputHandler.d.ts +34 -0
  194. package/packages/utilities/src/events/clickOrTouchEventOffset.d.ts +13 -13
  195. package/packages/utilities/src/events/index.d.ts +6 -5
  196. package/packages/utilities/src/indexset/IndexSet.d.ts +26 -26
  197. package/packages/utilities/src/indexset/IntermediateIndexNode.d.ts +26 -26
  198. package/packages/utilities/src/indexset/LeafIndexNode.d.ts +16 -16
  199. package/packages/utilities/src/isMobileOrTablet.d.ts +4 -4
  200. package/packages/utilities/src/networking/isTheSameDomain.d.ts +11 -11
  201. package/packages/utilities/src/objectTraversal.d.ts +8 -8
  202. package/packages/utilities/src/packFloat.d.ts +6 -6
  203. package/packages/utilities/src/revealEnv.d.ts +10 -10
  204. package/packages/utilities/src/three/AutoDisposeGroup.d.ts +17 -17
  205. package/packages/utilities/src/three/BoundingBoxLOD.d.ts +27 -27
  206. package/packages/utilities/src/three/getBox3CornerPoints.d.ts +5 -5
  207. package/packages/utilities/src/transformCameraConfiguration.d.ts +6 -6
  208. package/packages/utilities/src/types.d.ts +10 -10
  209. package/packages/utilities/src/workers/WorkerPool.d.ts +14 -14
  210. package/tools.d.ts +7 -7
  211. package/tools.js +62 -58
  212. package/tools.map +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cognite/reveal",
3
- "version": "2.2.2",
3
+ "version": "2.3.0",
4
4
  "description": "WebGL based 3D viewer for CAD and point clouds processed in Cognite Data Fusion.",
5
5
  "homepage": "https://github.com/cognitedata/reveal/tree/master/viewer",
6
6
  "repository": {
@@ -20,7 +20,7 @@
20
20
  "types": "index.d.ts",
21
21
  "dependencies": {
22
22
  "@cognite/potree-core": "^1.5.1",
23
- "@cognite/reveal-parser-worker": "1.2.0",
23
+ "@cognite/reveal-parser-worker": "1.3.0",
24
24
  "@gltf-transform/core": "^0.12.11",
25
25
  "@gltf-transform/extensions": "^0.12.11",
26
26
  "@tweenjs/tween.js": "^18.6.4",
@@ -1,14 +1,14 @@
1
- /*!
2
- * Copyright 2021 Cognite AS
3
- */
4
- export { SimpleAndDetailedToSector3D } from './src/sector/SimpleAndDetailedToSector3D';
5
- export { CadModelSectorBudget } from './src/CadModelSectorBudget';
6
- export { CachedRepository } from './src/sector/CachedRepository';
7
- export { CadLoadingHints } from './src/CadLoadingHints';
8
- export { CadModelUpdateHandler } from './src/CadModelUpdateHandler';
9
- export { LoadingState } from './src/utilities/types';
10
- export { SectorCuller } from './src/sector/culling/SectorCuller';
11
- export { createDefaultSectorCuller, ByVisibilityGpuSectorCuller } from './src/sector/culling/ByVisibilityGpuSectorCuller';
12
- export { GpuOrderSectorsByVisibilityCoverage } from './src/sector/culling/OrderSectorsByVisibilityCoverage';
13
- export { OccludingGeometryProvider } from './src/sector/culling/OccludingGeometryProvider';
14
- export { DetermineSectorsInput } from './src/sector/culling/types';
1
+ /*!
2
+ * Copyright 2021 Cognite AS
3
+ */
4
+ export { SimpleAndDetailedToSector3D } from './src/sector/SimpleAndDetailedToSector3D';
5
+ export { CadModelSectorBudget } from './src/CadModelSectorBudget';
6
+ export { CachedRepository } from './src/sector/CachedRepository';
7
+ export { CadLoadingHints } from './src/CadLoadingHints';
8
+ export { CadModelUpdateHandler } from './src/CadModelUpdateHandler';
9
+ export { LoadingState } from './src/utilities/types';
10
+ export { SectorCuller } from './src/sector/culling/SectorCuller';
11
+ export { createDefaultSectorCuller, ByVisibilityGpuSectorCuller } from './src/sector/culling/ByVisibilityGpuSectorCuller';
12
+ export { GpuOrderSectorsByVisibilityCoverage } from './src/sector/culling/OrderSectorsByVisibilityCoverage';
13
+ export { OccludingGeometryProvider } from './src/sector/culling/OccludingGeometryProvider';
14
+ export { DetermineSectorsInput } from './src/sector/culling/types';
@@ -1,11 +1,11 @@
1
- /*!
2
- * Copyright 2021 Cognite AS
3
- */
4
- /**
5
- * Hints that are used to modify how CAD sectors are loaded.
6
- * @property `suspendLoading` - disables loading of sectors.
7
- */
8
- export declare type CadLoadingHints = {
9
- suspendLoading?: boolean;
10
- };
11
- export declare const defaultLoadingHints: Required<CadLoadingHints>;
1
+ /*!
2
+ * Copyright 2021 Cognite AS
3
+ */
4
+ /**
5
+ * Hints that are used to modify how CAD sectors are loaded.
6
+ * @property `suspendLoading` - disables loading of sectors.
7
+ */
8
+ export declare type CadLoadingHints = {
9
+ suspendLoading?: boolean;
10
+ };
11
+ export declare const defaultLoadingHints: Required<CadLoadingHints>;
@@ -1,26 +1,26 @@
1
- /*!
2
- * Copyright 2021 Cognite AS
3
- */
4
- /**
5
- * Represents a measurement of how much geometry can be loaded.
6
- */
7
- export declare type CadModelSectorBudget = {
8
- /**
9
- * Sectors within this distance from the camera will always be loaded in high details.
10
- */
11
- readonly highDetailProximityThreshold: number;
12
- /**
13
- * Number of bytes of the geometry that must be downloaded.
14
- */
15
- readonly geometryDownloadSizeBytes: number;
16
- /**
17
- * Maximum number of estimated draw calls of geometry to load.
18
- */
19
- readonly maximumNumberOfDrawCalls: number;
20
- /**
21
- * Maximum render cost. This number can be thought of as triangle count, although the number
22
- * doesn't match this directly.
23
- */
24
- readonly maximumRenderCost: number;
25
- };
26
- export declare const defaultCadModelSectorBudget: CadModelSectorBudget;
1
+ /*!
2
+ * Copyright 2021 Cognite AS
3
+ */
4
+ /**
5
+ * Represents a measurement of how much geometry can be loaded.
6
+ */
7
+ export declare type CadModelSectorBudget = {
8
+ /**
9
+ * Sectors within this distance from the camera will always be loaded in high details.
10
+ */
11
+ readonly highDetailProximityThreshold: number;
12
+ /**
13
+ * Number of bytes of the geometry that must be downloaded.
14
+ */
15
+ readonly geometryDownloadSizeBytes: number;
16
+ /**
17
+ * Maximum number of estimated draw calls of geometry to load.
18
+ */
19
+ readonly maximumNumberOfDrawCalls: number;
20
+ /**
21
+ * Maximum render cost. This number can be thought of as triangle count, although the number
22
+ * doesn't match this directly.
23
+ */
24
+ readonly maximumRenderCost: number;
25
+ };
26
+ export declare const defaultCadModelSectorBudget: CadModelSectorBudget;
@@ -1,44 +1,44 @@
1
- /*!
2
- * Copyright 2021 Cognite AS
3
- */
4
- import * as THREE from 'three';
5
- import { ConsumedSector } from '../../cad-parsers';
6
- import { CadNode } from '../../rendering';
7
- import { Observable } from 'rxjs';
8
- import { SectorCuller } from './sector/culling/SectorCuller';
9
- import { CadLoadingHints } from './CadLoadingHints';
10
- import { Repository } from './sector/Repository';
11
- import { LoadingState } from './utilities/types';
12
- import { CadModelSectorBudget } from './CadModelSectorBudget';
13
- import { SectorLoadingSpent } from './sector/culling/types';
14
- export declare class CadModelUpdateHandler {
15
- private readonly _sectorRepository;
16
- private readonly _sectorCuller;
17
- private readonly _modelStateHandler;
18
- private _budget;
19
- private _lastSpent;
20
- private readonly _cameraSubject;
21
- private readonly _clippingPlaneSubject;
22
- private readonly _loadingHintsSubject;
23
- private readonly _modelSubject;
24
- private readonly _budgetSubject;
25
- private readonly _progressSubject;
26
- private readonly _updateObservable;
27
- constructor(sectorRepository: Repository, sectorCuller: SectorCuller);
28
- dispose(): void;
29
- updateCamera(camera: THREE.PerspectiveCamera): void;
30
- set clippingPlanes(value: THREE.Plane[]);
31
- get budget(): CadModelSectorBudget;
32
- set budget(b: CadModelSectorBudget);
33
- get lastBudgetSpendage(): SectorLoadingSpent;
34
- addModel(model: CadNode): void;
35
- removeModel(model: CadNode): void;
36
- updateLoadingHints(cadLoadingHints: CadLoadingHints): void;
37
- consumedSectorObservable(): Observable<ConsumedSector>;
38
- getLoadingStateObserver(): Observable<LoadingState>;
39
- /**
40
- * When loading hints of a CAD model changes, propagate the event down to the stream and either add or remove
41
- * the {@link CadModelMetadata} from the array and push the new array down stream
42
- */
43
- private loadingModelObservable;
44
- }
1
+ /*!
2
+ * Copyright 2021 Cognite AS
3
+ */
4
+ import * as THREE from 'three';
5
+ import { ConsumedSector } from '../../cad-parsers';
6
+ import { CadNode } from '../../rendering';
7
+ import { Observable } from 'rxjs';
8
+ import { SectorCuller } from './sector/culling/SectorCuller';
9
+ import { CadLoadingHints } from './CadLoadingHints';
10
+ import { Repository } from './sector/Repository';
11
+ import { LoadingState } from './utilities/types';
12
+ import { CadModelSectorBudget } from './CadModelSectorBudget';
13
+ import { SectorLoadingSpent } from './sector/culling/types';
14
+ export declare class CadModelUpdateHandler {
15
+ private readonly _sectorRepository;
16
+ private readonly _sectorCuller;
17
+ private readonly _modelStateHandler;
18
+ private _budget;
19
+ private _lastSpent;
20
+ private readonly _cameraSubject;
21
+ private readonly _clippingPlaneSubject;
22
+ private readonly _loadingHintsSubject;
23
+ private readonly _modelSubject;
24
+ private readonly _budgetSubject;
25
+ private readonly _progressSubject;
26
+ private readonly _updateObservable;
27
+ constructor(sectorRepository: Repository, sectorCuller: SectorCuller);
28
+ dispose(): void;
29
+ updateCamera(camera: THREE.PerspectiveCamera): void;
30
+ set clippingPlanes(value: THREE.Plane[]);
31
+ get budget(): CadModelSectorBudget;
32
+ set budget(b: CadModelSectorBudget);
33
+ get lastBudgetSpendage(): SectorLoadingSpent;
34
+ addModel(model: CadNode): void;
35
+ removeModel(model: CadNode): void;
36
+ updateLoadingHints(cadLoadingHints: CadLoadingHints): void;
37
+ consumedSectorObservable(): Observable<ConsumedSector>;
38
+ getLoadingStateObserver(): Observable<LoadingState>;
39
+ /**
40
+ * When loading hints of a CAD model changes, propagate the event down to the stream and either add or remove
41
+ * the {@link CadModelMetadata} from the array and push the new array down stream
42
+ */
43
+ private loadingModelObservable;
44
+ }
@@ -1,25 +1,25 @@
1
- /*!
2
- * Copyright 2021 Cognite AS
3
- */
4
- import { SimpleAndDetailedToSector3D } from './SimpleAndDetailedToSector3D';
5
- import { Repository } from './Repository';
6
- import { CadSectorParser, WantedSector, ConsumedSector } from '../../../cad-parsers';
7
- import { BinaryFileProvider } from '../../../modeldata-api';
8
- export declare class CachedRepository implements Repository {
9
- private readonly _consumedSectorCache;
10
- private readonly _ctmFileCache;
11
- private readonly _modelSectorProvider;
12
- private readonly _modelDataParser;
13
- private readonly _modelDataTransformer;
14
- constructor(modelSectorProvider: BinaryFileProvider, modelDataParser: CadSectorParser, modelDataTransformer: SimpleAndDetailedToSector3D);
15
- clear(): void;
16
- loadSector(sector: WantedSector): Promise<ConsumedSector>;
17
- private loadSimpleSectorFromNetwork;
18
- private loadI3DFromNetwork;
19
- private loadCtmsFromNetwork;
20
- private loadDetailedSectorFromNetwork;
21
- private loadCtmFileFromNetwork;
22
- private finalizeDetailed;
23
- private wantedSectorCacheKey;
24
- private ctmFileCacheKey;
25
- }
1
+ /*!
2
+ * Copyright 2021 Cognite AS
3
+ */
4
+ import { SimpleAndDetailedToSector3D } from './SimpleAndDetailedToSector3D';
5
+ import { Repository } from './Repository';
6
+ import { CadSectorParser, WantedSector, ConsumedSector } from '../../../cad-parsers';
7
+ import { BinaryFileProvider } from '../../../modeldata-api';
8
+ export declare class CachedRepository implements Repository {
9
+ private readonly _consumedSectorCache;
10
+ private readonly _ctmFileCache;
11
+ private readonly _modelSectorProvider;
12
+ private readonly _modelDataParser;
13
+ private readonly _modelDataTransformer;
14
+ constructor(modelSectorProvider: BinaryFileProvider, modelDataParser: CadSectorParser, modelDataTransformer: SimpleAndDetailedToSector3D);
15
+ clear(): void;
16
+ loadSector(sector: WantedSector): Promise<ConsumedSector>;
17
+ private loadSimpleSectorFromNetwork;
18
+ private loadI3DFromNetwork;
19
+ private loadCtmsFromNetwork;
20
+ private loadDetailedSectorFromNetwork;
21
+ private loadCtmFileFromNetwork;
22
+ private finalizeDetailed;
23
+ private wantedSectorCacheKey;
24
+ private ctmFileCacheKey;
25
+ }
@@ -1,12 +1,12 @@
1
- /*!
2
- * Copyright 2021 Cognite AS
3
- */
4
- import { WantedSector, ConsumedSector } from '../../../cad-parsers';
5
- export declare class ModelStateHandler {
6
- private readonly _sceneModelState;
7
- constructor();
8
- hasStateChanged(wantedSector: WantedSector): boolean;
9
- addModel(modelIdentifier: string): void;
10
- removeModel(modelIdentifier: string): void;
11
- updateState(consumedSector: ConsumedSector): void;
12
- }
1
+ /*!
2
+ * Copyright 2021 Cognite AS
3
+ */
4
+ import { WantedSector, ConsumedSector } from '../../../cad-parsers';
5
+ export declare class ModelStateHandler {
6
+ private readonly _sceneModelState;
7
+ constructor();
8
+ hasStateChanged(wantedSector: WantedSector): boolean;
9
+ addModel(modelIdentifier: string): void;
10
+ removeModel(modelIdentifier: string): void;
11
+ updateState(consumedSector: ConsumedSector): void;
12
+ }
@@ -1,9 +1,9 @@
1
- /*!
2
- * Copyright 2021 Cognite AS
3
- */
4
- import { ConsumedSector, WantedSector } from '../../../cad-parsers';
5
- export declare type SectorId = number;
6
- export interface Repository {
7
- loadSector(sector: WantedSector): Promise<ConsumedSector>;
8
- clear(): void;
9
- }
1
+ /*!
2
+ * Copyright 2021 Cognite AS
3
+ */
4
+ import { ConsumedSector, WantedSector } from '../../../cad-parsers';
5
+ export declare type SectorId = number;
6
+ export interface Repository {
7
+ loadSector(sector: WantedSector): Promise<ConsumedSector>;
8
+ clear(): void;
9
+ }
@@ -1,28 +1,28 @@
1
- /*!
2
- * Copyright 2021 Cognite AS
3
- */
4
- import { ConsumedSector } from '../../../cad-parsers';
5
- import { DetermineSectorsInput, SectorLoadingSpent } from './culling/types';
6
- import { SectorCuller } from './culling/SectorCuller';
7
- import { ModelStateHandler } from './ModelStateHandler';
8
- import { Repository } from './Repository';
9
- /**
10
- * Loads sector based on a given camera pose, a set of models and budget.
11
- * Uses {@link SectorCuller} to determine what to load, {@link Repository} to
12
- * load sectors and {@link ModelStateHandler} to keep track of what has been
13
- * loaded to avoid loading data that's already available.
14
- *
15
- * The caller is responsible for making the result from the load operation visible
16
- * on screen.
17
- */
18
- export declare class SectorLoader {
19
- private readonly _modelStateHandler;
20
- private readonly _sectorCuller;
21
- private readonly _sectorRepository;
22
- private readonly _progressCallback;
23
- private readonly _collectStatisticsCallback;
24
- constructor(sectorRepository: Repository, sectorCuller: SectorCuller, modelStateHandler: ModelStateHandler, collectStatisticsCallback: (spent: SectorLoadingSpent) => void, progressCallback: (sectorsLoaded: number, sectorsScheduled: number, sectorsCulled: number) => void);
25
- loadSectors(input: DetermineSectorsInput): AsyncIterable<ConsumedSector>;
26
- private filterSectors;
27
- private startLoadingBatch;
28
- }
1
+ /*!
2
+ * Copyright 2021 Cognite AS
3
+ */
4
+ import { ConsumedSector } from '../../../cad-parsers';
5
+ import { DetermineSectorsInput, SectorLoadingSpent } from './culling/types';
6
+ import { SectorCuller } from './culling/SectorCuller';
7
+ import { ModelStateHandler } from './ModelStateHandler';
8
+ import { Repository } from './Repository';
9
+ /**
10
+ * Loads sector based on a given camera pose, a set of models and budget.
11
+ * Uses {@link SectorCuller} to determine what to load, {@link Repository} to
12
+ * load sectors and {@link ModelStateHandler} to keep track of what has been
13
+ * loaded to avoid loading data that's already available.
14
+ *
15
+ * The caller is responsible for making the result from the load operation visible
16
+ * on screen.
17
+ */
18
+ export declare class SectorLoader {
19
+ private readonly _modelStateHandler;
20
+ private readonly _sectorCuller;
21
+ private readonly _sectorRepository;
22
+ private readonly _progressCallback;
23
+ private readonly _collectStatisticsCallback;
24
+ constructor(sectorRepository: Repository, sectorCuller: SectorCuller, modelStateHandler: ModelStateHandler, collectStatisticsCallback: (spent: SectorLoadingSpent) => void, progressCallback: (sectorsLoaded: number, sectorsScheduled: number, sectorsCulled: number) => void);
25
+ loadSectors(input: DetermineSectorsInput): AsyncIterable<ConsumedSector>;
26
+ private filterSectors;
27
+ private startLoadingBatch;
28
+ }
@@ -1,20 +1,20 @@
1
- /*!
2
- * Copyright 2021 Cognite AS
3
- */
4
- import * as THREE from 'three';
5
- import { SectorQuads } from '@cognite/reveal-parser-worker';
6
- import { SectorMetadata, InstancedMeshFile, SectorGeometry } from '../../../cad-parsers';
7
- import { AutoDisposeGroup } from '../../../utilities';
8
- import { CadMaterialManager } from '../../../rendering';
9
- export declare class SimpleAndDetailedToSector3D {
10
- private readonly materialManager;
11
- constructor(materialManager: CadMaterialManager);
12
- transformSimpleSector(modelIdentifier: string, sector: SectorMetadata, geometry: SectorQuads, geometryClipBox: THREE.Box3 | null): Promise<{
13
- sectorMeshes: AutoDisposeGroup;
14
- instancedMeshes: InstancedMeshFile[];
15
- }>;
16
- transformDetailedSector(modelIdentifier: string, sector: SectorMetadata, geometry: SectorGeometry, geometryClipBox: THREE.Box3 | null): Promise<{
17
- sectorMeshes: AutoDisposeGroup;
18
- instancedMeshes: InstancedMeshFile[];
19
- }>;
20
- }
1
+ /*!
2
+ * Copyright 2021 Cognite AS
3
+ */
4
+ import * as THREE from 'three';
5
+ import { SectorQuads } from '@cognite/reveal-parser-worker';
6
+ import { SectorMetadata, InstancedMeshFile, SectorGeometry } from '../../../cad-parsers';
7
+ import { AutoDisposeGroup } from '../../../utilities';
8
+ import { CadMaterialManager } from '../../../rendering';
9
+ export declare class SimpleAndDetailedToSector3D {
10
+ private readonly materialManager;
11
+ constructor(materialManager: CadMaterialManager);
12
+ transformSimpleSector(modelIdentifier: string, sector: SectorMetadata, geometry: SectorQuads, geometryClipBox: THREE.Box3 | null): Promise<{
13
+ sectorMeshes: AutoDisposeGroup;
14
+ instancedMeshes: InstancedMeshFile[];
15
+ }>;
16
+ transformDetailedSector(modelIdentifier: string, sector: SectorMetadata, geometry: SectorGeometry, geometryClipBox: THREE.Box3 | null): Promise<{
17
+ sectorMeshes: AutoDisposeGroup;
18
+ instancedMeshes: InstancedMeshFile[];
19
+ }>;
20
+ }
@@ -1,53 +1,53 @@
1
- /*!
2
- * Copyright 2021 Cognite AS
3
- */
4
- import * as THREE from 'three';
5
- import { WantedSector } from '../../../../cad-parsers';
6
- import { OrderSectorsByVisibilityCoverage } from './OrderSectorsByVisibilityCoverage';
7
- import { SectorCuller } from './SectorCuller';
8
- import { DetermineSectorCostDelegate, DetermineSectorsInput, SectorLoadingSpent } from './types';
9
- import { OccludingGeometryProvider } from './OccludingGeometryProvider';
10
- /**
11
- * Options for creating GpuBasedSectorCuller.
12
- */
13
- export declare type ByVisibilityGpuSectorCullerOptions = {
14
- /**
15
- * Renderer used to determine what sector to load.
16
- */
17
- renderer: THREE.WebGLRenderer;
18
- /**
19
- * Optional callback for determining the cost of a sector. The default unit of the cost
20
- * function is bytes downloaded.
21
- */
22
- determineSectorCost?: DetermineSectorCostDelegate;
23
- /**
24
- * Use a custom coverage utility to determine how "visible" each sector is.
25
- */
26
- coverageUtil: OrderSectorsByVisibilityCoverage;
27
- /**
28
- * Logging function for debugging.
29
- */
30
- logCallback?: (message?: any, ...optionalParameters: any[]) => void;
31
- };
32
- /**
33
- * SectorCuller that uses the GPU to determine an approximation
34
- * of how "visible" each sector is to get a priority for each sector
35
- * and loads sectors based on priority within a budget.
36
- */
37
- export declare class ByVisibilityGpuSectorCuller implements SectorCuller {
38
- private readonly options;
39
- private readonly takenSectors;
40
- constructor(options: ByVisibilityGpuSectorCullerOptions);
41
- dispose(): void;
42
- determineSectors(input: DetermineSectorsInput): {
43
- wantedSectors: WantedSector[];
44
- spentBudget: SectorLoadingSpent;
45
- };
46
- filterSectorsToLoad(input: DetermineSectorsInput, wantedSectors: WantedSector[]): Promise<WantedSector[]>;
47
- private update;
48
- private addHighDetailsForNearSectors;
49
- private testForClippingOcclusion;
50
- private markSectorsAsDetailed;
51
- private log;
52
- }
53
- export declare function createDefaultSectorCuller(renderer: THREE.WebGLRenderer, occludingGeometryProvider: OccludingGeometryProvider): SectorCuller;
1
+ /*!
2
+ * Copyright 2021 Cognite AS
3
+ */
4
+ import * as THREE from 'three';
5
+ import { WantedSector } from '../../../../cad-parsers';
6
+ import { OrderSectorsByVisibilityCoverage } from './OrderSectorsByVisibilityCoverage';
7
+ import { SectorCuller } from './SectorCuller';
8
+ import { DetermineSectorCostDelegate, DetermineSectorsInput, SectorLoadingSpent } from './types';
9
+ import { OccludingGeometryProvider } from './OccludingGeometryProvider';
10
+ /**
11
+ * Options for creating GpuBasedSectorCuller.
12
+ */
13
+ export declare type ByVisibilityGpuSectorCullerOptions = {
14
+ /**
15
+ * Renderer used to determine what sector to load.
16
+ */
17
+ renderer: THREE.WebGLRenderer;
18
+ /**
19
+ * Optional callback for determining the cost of a sector. The default unit of the cost
20
+ * function is bytes downloaded.
21
+ */
22
+ determineSectorCost?: DetermineSectorCostDelegate;
23
+ /**
24
+ * Use a custom coverage utility to determine how "visible" each sector is.
25
+ */
26
+ coverageUtil: OrderSectorsByVisibilityCoverage;
27
+ /**
28
+ * Logging function for debugging.
29
+ */
30
+ logCallback?: (message?: any, ...optionalParameters: any[]) => void;
31
+ };
32
+ /**
33
+ * SectorCuller that uses the GPU to determine an approximation
34
+ * of how "visible" each sector is to get a priority for each sector
35
+ * and loads sectors based on priority within a budget.
36
+ */
37
+ export declare class ByVisibilityGpuSectorCuller implements SectorCuller {
38
+ private readonly options;
39
+ private readonly takenSectors;
40
+ constructor(options: ByVisibilityGpuSectorCullerOptions);
41
+ dispose(): void;
42
+ determineSectors(input: DetermineSectorsInput): {
43
+ wantedSectors: WantedSector[];
44
+ spentBudget: SectorLoadingSpent;
45
+ };
46
+ filterSectorsToLoad(input: DetermineSectorsInput, wantedSectors: WantedSector[]): Promise<WantedSector[]>;
47
+ private update;
48
+ private addHighDetailsForNearSectors;
49
+ private testForClippingOcclusion;
50
+ private markSectorsAsDetailed;
51
+ private log;
52
+ }
53
+ export declare function createDefaultSectorCuller(renderer: THREE.WebGLRenderer, occludingGeometryProvider: OccludingGeometryProvider): SectorCuller;
@@ -1,6 +1,6 @@
1
- /*!
2
- * Copyright 2021 Cognite AS
3
- */
4
- export interface OccludingGeometryProvider {
5
- renderOccludingGeometry(target: THREE.WebGLRenderTarget | null, camera: THREE.PerspectiveCamera): void;
6
- }
1
+ /*!
2
+ * Copyright 2021 Cognite AS
3
+ */
4
+ export interface OccludingGeometryProvider {
5
+ renderOccludingGeometry(target: THREE.WebGLRenderTarget | null, camera: THREE.PerspectiveCamera): void;
6
+ }