@cognite/reveal 2.2.2 → 3.0.0-beta.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 (255) 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 +43 -45
  7. package/core/src/datamodels/cad/CadModelFactory.d.ts +14 -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 +45 -38
  14. package/core/src/datamodels/cad/styling/InvertedNodeCollection.d.ts +25 -24
  15. package/core/src/datamodels/cad/styling/NodeCollectionDeserializer.d.ts +26 -26
  16. package/core/src/datamodels/cad/styling/PopulateIndexSetFromPagedResponseHelper.d.ts +30 -24
  17. package/core/src/datamodels/cad/styling/PropertyFilterNodeCollection.d.ts +55 -54
  18. package/core/src/datamodels/cad/styling/SinglePropertyFilterNodeCollection.d.ts +51 -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 +14 -11
  23. package/core/src/datamodels/pointcloud/PointCloudMetadataRepository.d.ts +14 -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 +21 -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 +486 -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 +239 -290
  44. package/core/src/public/types.d.ts +47 -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 +49 -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 +9 -12
  56. package/extensions/datasource.map +1 -1
  57. package/index.d.ts +9 -8
  58. package/index.js +219 -124
  59. package/index.map +1 -1
  60. package/package.json +17 -18
  61. package/packages/cad-geometry-loaders/index.d.ts +13 -14
  62. package/packages/cad-geometry-loaders/src/CadLoadingHints.d.ts +11 -11
  63. package/packages/cad-geometry-loaders/src/{CadModelSectorBudget.d.ts → CadModelBudget.d.ts} +21 -26
  64. package/packages/cad-geometry-loaders/src/CadModelUpdateHandler.d.ts +44 -44
  65. package/packages/cad-geometry-loaders/src/sector/ModelStateHandler.d.ts +12 -12
  66. package/packages/cad-geometry-loaders/src/sector/SectorDownloadScheduler.d.ts +22 -0
  67. package/packages/cad-geometry-loaders/src/sector/SectorLoader.d.ts +31 -28
  68. package/packages/cad-geometry-loaders/src/sector/culling/ByScreenSizeSectorCuller.d.ts +23 -0
  69. package/packages/cad-geometry-loaders/src/sector/culling/ByVisibilityGpuSectorCuller.d.ts +51 -53
  70. package/packages/cad-geometry-loaders/src/sector/culling/OccludingGeometryProvider.d.ts +6 -6
  71. package/packages/cad-geometry-loaders/src/sector/culling/OrderSectorsByVisibilityCoverage.d.ts +107 -107
  72. package/packages/cad-geometry-loaders/src/sector/culling/SectorCuller.d.ts +33 -33
  73. package/packages/cad-geometry-loaders/src/sector/culling/WeightFunctionsHelper.d.ts +50 -0
  74. package/packages/cad-geometry-loaders/src/sector/culling/computeNdcAreaOfBox.d.ts +12 -0
  75. package/packages/cad-geometry-loaders/src/sector/culling/computeSectorCost.d.ts +7 -0
  76. package/packages/cad-geometry-loaders/src/sector/culling/createV8SectorCuller.d.ts +7 -0
  77. package/packages/cad-geometry-loaders/src/sector/culling/takensectors/TakenSectorMapBase.d.ts +11 -0
  78. package/packages/cad-geometry-loaders/src/sector/culling/takensectors/TakenV8SectorMap.d.ts +17 -0
  79. package/packages/cad-geometry-loaders/src/sector/culling/{TakenSectorTree.d.ts → takensectors/TakenV8SectorTree.d.ts} +24 -24
  80. package/packages/cad-geometry-loaders/src/sector/culling/takensectors/TakenV9SectorMap.d.ts +20 -0
  81. package/packages/cad-geometry-loaders/src/sector/culling/takensectors/index.d.ts +5 -0
  82. package/packages/cad-geometry-loaders/src/sector/culling/transformBoxToNDC.d.ts +5 -0
  83. package/packages/cad-geometry-loaders/src/sector/culling/types.d.ts +83 -71
  84. package/packages/cad-geometry-loaders/src/sector/rxSectorUtilities.d.ts +12 -12
  85. package/packages/cad-geometry-loaders/src/utilities/PromiseUtils.d.ts +28 -18
  86. package/packages/cad-geometry-loaders/src/utilities/rxOperations.d.ts +6 -6
  87. package/packages/cad-geometry-loaders/src/utilities/types.d.ts +25 -25
  88. package/packages/cad-parsers/index.d.ts +21 -21
  89. package/packages/cad-parsers/src/cad/CadSectorParser.d.ts +15 -15
  90. package/packages/cad-parsers/src/cad/LevelOfDetail.d.ts +8 -8
  91. package/packages/cad-parsers/src/cad/filterInstanceMesh.d.ts +6 -6
  92. package/packages/cad-parsers/src/cad/filterPrimitivesCommon.d.ts +5 -0
  93. package/packages/cad-parsers/src/cad/{filterPrimitives.d.ts → filterPrimitivesV8.d.ts} +9 -9
  94. package/packages/cad-parsers/src/cad/filterPrimitivesV9.d.ts +6 -0
  95. package/packages/cad-parsers/src/cad/primitiveGeometries.d.ts +31 -31
  96. package/packages/cad-parsers/src/cad/triangleMeshes.d.ts +6 -6
  97. package/packages/cad-parsers/src/cad/types.d.ts +56 -56
  98. package/packages/cad-parsers/src/metadata/CadMetadataParser.d.ts +7 -7
  99. package/packages/cad-parsers/src/metadata/CadModelMetadata.d.ts +54 -44
  100. package/packages/cad-parsers/src/metadata/CadModelMetadataRepository.d.ts +16 -16
  101. package/packages/cad-parsers/src/metadata/MetadataRepository.d.ts +7 -7
  102. package/packages/cad-parsers/src/metadata/parsers/CadMetadataParserGltf.d.ts +8 -0
  103. package/packages/cad-parsers/src/metadata/parsers/CadMetadataParserV8.d.ts +6 -51
  104. package/packages/cad-parsers/src/metadata/parsers/types.d.ts +62 -0
  105. package/packages/cad-parsers/src/metadata/types.d.ts +53 -41
  106. package/packages/cad-parsers/src/sector/RootSectorNode.d.ts +12 -12
  107. package/packages/cad-parsers/src/sector/SectorNode.d.ts +21 -21
  108. package/packages/cad-parsers/src/utilities/SectorScene.d.ts +21 -21
  109. package/packages/cad-parsers/src/utilities/SectorSceneFactory.d.ts +9 -9
  110. package/packages/cad-parsers/src/utilities/computeBoundingBoxFromAttributes.d.ts +10 -9
  111. package/packages/cad-parsers/src/utilities/float32BufferToMatrix.d.ts +12 -12
  112. package/packages/cad-parsers/src/utilities/types.d.ts +71 -48
  113. package/packages/cad-styling/index.d.ts +14 -9
  114. package/packages/cad-styling/src/CombineNodeCollectionBase.d.ts +34 -31
  115. package/packages/cad-styling/src/IntersectionNodeCollection.d.ts +20 -15
  116. package/packages/cad-styling/src/NodeAppearance.d.ts +85 -62
  117. package/packages/cad-styling/src/NodeAppearanceProvider.d.ts +38 -33
  118. package/packages/cad-styling/src/NodeCollection.d.ts +26 -0
  119. package/packages/cad-styling/src/SerializedNodeCollection.d.ts +8 -0
  120. package/packages/cad-styling/src/TreeIndexNodeCollection.d.ts +40 -23
  121. package/packages/cad-styling/src/UnionNodeCollection.d.ts +19 -15
  122. package/packages/cad-styling/src/prioritized/AreaCollection.d.ts +39 -0
  123. package/packages/cad-styling/src/prioritized/BoxClusterer.d.ts +29 -0
  124. package/packages/cad-styling/src/prioritized/ClusteredAreaCollection.d.ts +17 -0
  125. package/packages/cad-styling/src/prioritized/EmptyAreaCollection.d.ts +18 -0
  126. package/packages/cad-styling/src/prioritized/types.d.ts +7 -0
  127. package/packages/camera-manager/index.d.ts +6 -4
  128. package/packages/camera-manager/src/CameraManager.d.ts +72 -0
  129. package/packages/camera-manager/src/ComboControls.d.ts +112 -100
  130. package/packages/camera-manager/src/DefaultCameraManager.d.ts +138 -0
  131. package/packages/camera-manager/src/Keyboard.d.ts +17 -17
  132. package/packages/camera-manager/src/types.d.ts +78 -0
  133. package/packages/data-source/index.d.ts +6 -6
  134. package/packages/data-source/src/CdfDataSource.d.ts +19 -19
  135. package/packages/data-source/src/DataSource.d.ts +25 -26
  136. package/packages/data-source/src/LocalDataSource.d.ts +15 -15
  137. package/packages/logger/index.d.ts +5 -5
  138. package/packages/logger/src/Log.d.ts +5 -5
  139. package/packages/metrics/index.d.ts +5 -5
  140. package/packages/metrics/src/MetricsLogger.d.ts +21 -21
  141. package/packages/metrics/src/types.d.ts +7 -7
  142. package/packages/modeldata-api/index.d.ts +13 -13
  143. package/packages/modeldata-api/src/CdfModelDataProvider.d.ts +17 -15
  144. package/packages/modeldata-api/src/CdfModelIdentifier.d.ts +15 -17
  145. package/packages/modeldata-api/src/CdfModelMetadataProvider.d.ts +20 -19
  146. package/packages/modeldata-api/src/CdfModelOutputsProvider.d.ts +16 -15
  147. package/packages/modeldata-api/src/LocalModelDataProvider.d.ts +10 -10
  148. package/packages/modeldata-api/src/LocalModelIdentifier.d.ts +14 -14
  149. package/packages/modeldata-api/src/LocalModelMetadataProvider.d.ts +16 -14
  150. package/packages/modeldata-api/src/Model3DOutputList.d.ts +17 -17
  151. package/packages/modeldata-api/src/ModelIdentifier.d.ts +12 -12
  152. package/packages/modeldata-api/src/ModelMetadataProvider.d.ts +18 -17
  153. package/packages/modeldata-api/src/applyDefaultModelTransformation.d.ts +6 -6
  154. package/packages/modeldata-api/src/types.d.ts +47 -41
  155. package/packages/modeldata-api/src/utilities.d.ts +7 -7
  156. package/packages/nodes-api/index.d.ts +6 -6
  157. package/packages/nodes-api/src/NodesApiClient.d.ts +50 -52
  158. package/packages/nodes-api/src/NodesCdfClient.d.ts +24 -24
  159. package/packages/nodes-api/src/NodesLocalClient.d.ts +30 -30
  160. package/packages/nodes-api/src/types.d.ts +10 -10
  161. package/packages/rendering/index.d.ts +17 -17
  162. package/packages/rendering/src/CadMaterialManager.d.ts +37 -37
  163. package/packages/rendering/src/GeometryBatchingManager.d.ts +30 -0
  164. package/packages/rendering/src/InstancedMeshManager.d.ts +20 -20
  165. package/packages/rendering/src/rendering/EffectRenderManager.d.ts +99 -99
  166. package/packages/rendering/src/rendering/NodeAppearanceTextureBuilder.d.ts +51 -51
  167. package/packages/rendering/src/rendering/RenderMode.d.ts +15 -15
  168. package/packages/rendering/src/rendering/createSimpleGeometryMesh.d.ts +6 -6
  169. package/packages/rendering/src/rendering/matCapTextureData.d.ts +5 -5
  170. package/packages/rendering/src/rendering/materials.d.ts +23 -23
  171. package/packages/rendering/src/rendering/primitives.d.ts +12 -12
  172. package/packages/rendering/src/rendering/shaders.d.ts +101 -101
  173. package/packages/rendering/src/rendering/types.d.ts +76 -76
  174. package/packages/rendering/src/sector/CadNode.d.ts +57 -54
  175. package/packages/rendering/src/transform/NodeTransformProvider.d.ts +13 -13
  176. package/packages/rendering/src/transform/NodeTransformTextureBuilder.d.ts +23 -23
  177. package/packages/rendering/src/transform/TransformOverrideBuffer.d.ts +21 -21
  178. package/packages/rendering/src/utilities/types.d.ts +26 -26
  179. package/packages/sector-loader/index.d.ts +6 -0
  180. package/packages/sector-loader/src/GltfSectorLoader.d.ts +12 -0
  181. package/packages/sector-loader/src/GltfSectorRepository.d.ts +19 -0
  182. package/packages/sector-loader/src/SectorRepository.d.ts +10 -0
  183. package/packages/{cad-geometry-loaders/src/sector/CachedRepository.d.ts → sector-loader/src/V8SectorRepository.d.ts} +26 -25
  184. package/packages/{cad-geometry-loaders/src/sector → sector-loader/src/v8}/SimpleAndDetailedToSector3D.d.ts +20 -20
  185. package/packages/{cad-geometry-loaders/src/utilities → sector-loader/src/v8}/arrays.d.ts +5 -5
  186. package/packages/{cad-geometry-loaders/src/utilities → sector-loader/src/v8}/groupMeshesByNumber.d.ts +8 -8
  187. package/packages/sector-loader/src/v8/sectorUtilities.d.ts +16 -0
  188. package/packages/sector-parser/index.d.ts +5 -0
  189. package/packages/sector-parser/src/DracoDecoderHelper.d.ts +32 -0
  190. package/packages/sector-parser/src/GltfSectorParser.d.ts +19 -0
  191. package/packages/sector-parser/src/constants.d.ts +6 -0
  192. package/packages/sector-parser/src/reveal-glb-parser/GlbMetadataParser.d.ts +14 -0
  193. package/packages/sector-parser/src/reveal-glb-parser/primitiveGeometries.d.ts +12 -0
  194. package/packages/sector-parser/src/types.d.ts +106 -0
  195. package/packages/tools/index.d.ts +15 -15
  196. package/packages/tools/src/AxisView/AxisViewTool.d.ts +32 -32
  197. package/packages/tools/src/AxisView/types.d.ts +98 -98
  198. package/packages/tools/src/Cognite3DViewerToolBase.d.ts +25 -25
  199. package/packages/tools/src/DebugCameraTool.d.ts +20 -20
  200. package/packages/tools/src/DebugLoadedSectorsTool.d.ts +23 -23
  201. package/packages/tools/src/ExplodedViewTool.d.ts +12 -12
  202. package/packages/tools/src/Geomap/Geomap.d.ts +17 -17
  203. package/packages/tools/src/Geomap/GeomapTool.d.ts +23 -24
  204. package/packages/tools/src/Geomap/MapConfig.d.ts +195 -195
  205. package/packages/tools/src/HtmlOverlay/BucketGrid2D.d.ts +28 -28
  206. package/packages/tools/src/HtmlOverlay/HtmlOverlayTool.d.ts +160 -159
  207. package/packages/tools/src/Timeline/Keyframe.d.ts +39 -38
  208. package/packages/tools/src/Timeline/TimelineTool.d.ts +79 -79
  209. package/packages/tools/src/Timeline/types.d.ts +13 -13
  210. package/packages/tools/src/types.d.ts +4 -4
  211. package/packages/utilities/index.d.ts +30 -24
  212. package/packages/utilities/src/CameraConfiguration.d.ts +10 -10
  213. package/packages/utilities/src/DeferredPromise.d.ts +17 -0
  214. package/packages/utilities/src/IndexSet.d.ts +1 -1
  215. package/packages/utilities/src/NumericRange.d.ts +22 -22
  216. package/packages/utilities/src/RandomColors.d.ts +34 -34
  217. package/packages/utilities/src/WebGLRendererStateHelper.d.ts +15 -15
  218. package/packages/utilities/src/assertNever.d.ts +7 -7
  219. package/packages/utilities/src/cache/MemoryRequestCache.d.ts +24 -22
  220. package/packages/utilities/src/cache/MostFrequentlyUsedCache.d.ts +19 -19
  221. package/packages/utilities/src/cache/RequestCache.d.ts +13 -13
  222. package/packages/utilities/src/calculateVolumeOfMesh.d.ts +4 -0
  223. package/packages/utilities/src/counterMap.d.ts +5 -0
  224. package/packages/utilities/src/datastructures/DynamicDefragmentedBuffer.d.ts +33 -22
  225. package/packages/utilities/src/determinePowerOfTwoDimensions.d.ts +11 -11
  226. package/packages/utilities/src/disposeAttributeArrayOnUpload.d.ts +17 -17
  227. package/packages/utilities/src/events/EventTrigger.d.ts +13 -13
  228. package/packages/utilities/src/events/InputHandler.d.ts +34 -0
  229. package/packages/utilities/src/events/clickOrTouchEventOffset.d.ts +13 -13
  230. package/packages/utilities/src/events/index.d.ts +6 -5
  231. package/packages/utilities/src/indexset/IndexSet.d.ts +26 -26
  232. package/packages/utilities/src/indexset/IntermediateIndexNode.d.ts +26 -26
  233. package/packages/utilities/src/indexset/LeafIndexNode.d.ts +16 -16
  234. package/packages/utilities/src/isMobileOrTablet.d.ts +4 -4
  235. package/packages/utilities/src/networking/isTheSameDomain.d.ts +11 -11
  236. package/packages/utilities/src/objectTraversal.d.ts +8 -8
  237. package/packages/utilities/src/packFloat.d.ts +6 -6
  238. package/packages/utilities/src/revealEnv.d.ts +10 -10
  239. package/packages/utilities/src/three/AutoDisposeGroup.d.ts +17 -17
  240. package/packages/utilities/src/three/BoundingBoxLOD.d.ts +27 -27
  241. package/packages/utilities/src/three/isBox3OnPositiveSideOfPlane.d.ts +10 -0
  242. package/packages/utilities/src/three/toThreeBox3.d.ts +6 -0
  243. package/packages/utilities/src/three/unionBoxes.d.ts +5 -0
  244. package/packages/utilities/src/three/visitBox3CornerPoints.d.ts +12 -0
  245. package/packages/utilities/src/transformCameraConfiguration.d.ts +6 -6
  246. package/packages/utilities/src/types.d.ts +11 -10
  247. package/packages/utilities/src/workers/WorkerPool.d.ts +14 -14
  248. package/tools.d.ts +7 -7
  249. package/tools.js +82 -68
  250. package/tools.map +1 -1
  251. package/packages/cad-geometry-loaders/src/sector/Repository.d.ts +0 -9
  252. package/packages/cad-geometry-loaders/src/sector/sectorUtilities.d.ts +0 -20
  253. package/packages/cad-styling/src/NodeCollectionBase.d.ts +0 -47
  254. package/packages/rendering/src/cameraconfig.d.ts +0 -12
  255. package/packages/utilities/src/three/getBox3CornerPoints.d.ts +0 -5
@@ -1,107 +1,107 @@
1
- /*!
2
- * Copyright 2021 Cognite AS
3
- */
4
- import * as THREE from 'three';
5
- import { CadModelMetadata, WantedSector } from '../../../../cad-parsers';
6
- import { OccludingGeometryProvider } from './OccludingGeometryProvider';
7
- /**
8
- * Options for OrderSectorsByVisibleCoverage.
9
- */
10
- export interface OrderSectorsByVisibleCoverageOptions {
11
- /**
12
- * Renderer used to render coverage.
13
- */
14
- renderer: THREE.WebGLRenderer;
15
- /**
16
- * Initializes a render target with already loaded geometry for pre-load
17
- * occlusion.
18
- */
19
- occludingGeometryProvider: OccludingGeometryProvider;
20
- }
21
- export declare type PrioritizedSectorIdentifier = {
22
- /**
23
- * The CAD model that holds the sector.
24
- */
25
- model: CadModelMetadata;
26
- /**
27
- * Sector ID contained in the model provided.
28
- */
29
- sectorId: number;
30
- /**
31
- * A number between 0 and 1 indicating how 'important' the sector is.
32
- */
33
- priority: number;
34
- };
35
- /**
36
- * Interface for classes that estimates how visible a sector will be on screen.
37
- */
38
- export interface OrderSectorsByVisibilityCoverage {
39
- /**
40
- * Dispose any resources that cannot be garbage collected.
41
- */
42
- dispose(): void;
43
- /**
44
- * Specifies what CAD models to estimate sector visibility for.
45
- * @param models Models to estimate sector visibility for.
46
- */
47
- setModels(models: CadModelMetadata[]): void;
48
- /**
49
- * Specify clipping planes.
50
- * @param planes A list of clip planes or null to disable clipping.
51
- */
52
- setClipping(planes: THREE.Plane[] | null): void;
53
- /**
54
- * Cull a set of sectors potentially being loaded towards already loaded geometry to determine if
55
- * the sector is visible or occluded.
56
- */
57
- cullOccludedSectors(camera: THREE.PerspectiveCamera, sectors: WantedSector[]): WantedSector[];
58
- /**
59
- * Estimates how visible the different sectors for the models added are and returns
60
- * a prioritized list.
61
- * @param camera The current viewpoint.
62
- */
63
- orderSectorsByVisibility(camera: THREE.Camera): PrioritizedSectorIdentifier[];
64
- }
65
- /**
66
- * Estimates sector visibility by rendering their bounds with a pattern confirming to how
67
- * much of the geometry covers of the bounding box.
68
- */
69
- export declare class GpuOrderSectorsByVisibilityCoverage implements OrderSectorsByVisibilityCoverage {
70
- /**
71
- * Factor of how big render target we use for determining visibility of sectors
72
- * compared to the full render size.
73
- */
74
- private static readonly CoverageRenderTargetScalingFactor;
75
- private sectorIdOffset;
76
- private readonly scene;
77
- private readonly _renderer;
78
- private readonly _alreadyLoadedProvider;
79
- private _debugImageElement?;
80
- private readonly renderTarget;
81
- private readonly containers;
82
- private readonly buffers;
83
- private readonly coverageMaterial;
84
- constructor(options: OrderSectorsByVisibleCoverageOptions);
85
- dispose(): void;
86
- get renderer(): THREE.WebGLRenderer;
87
- createDebugCanvas(options?: {
88
- width: number;
89
- height: number;
90
- }): HTMLElement;
91
- setModels(models: CadModelMetadata[]): void;
92
- setClipping(planes: THREE.Plane[] | null): void;
93
- cullOccludedSectors(camera: THREE.PerspectiveCamera, sectors: WantedSector[]): WantedSector[];
94
- orderSectorsByVisibility(camera: THREE.PerspectiveCamera): PrioritizedSectorIdentifier[];
95
- private readonly _ensureBuffersCorrectSizeVars;
96
- private ensureBuffersCorrectSize;
97
- private renderSectors;
98
- private setAllSectorsVisible;
99
- private setSectorsVisibility;
100
- private removeModel;
101
- private deleteSectorsFromBuffers;
102
- private addModel;
103
- private updateModel;
104
- private findSectorContainer;
105
- private unpackSectorVisibility;
106
- private createSectorTreeGeometry;
107
- }
1
+ /*!
2
+ * Copyright 2021 Cognite AS
3
+ */
4
+ import * as THREE from 'three';
5
+ import { CadModelMetadata, WantedSector } from '../../../../cad-parsers';
6
+ import { OccludingGeometryProvider } from './OccludingGeometryProvider';
7
+ /**
8
+ * Options for OrderSectorsByVisibleCoverage.
9
+ */
10
+ export interface OrderSectorsByVisibleCoverageOptions {
11
+ /**
12
+ * Renderer used to render coverage.
13
+ */
14
+ renderer: THREE.WebGLRenderer;
15
+ /**
16
+ * Initializes a render target with already loaded geometry for pre-load
17
+ * occlusion.
18
+ */
19
+ occludingGeometryProvider: OccludingGeometryProvider;
20
+ }
21
+ export declare type PrioritizedSectorIdentifier = {
22
+ /**
23
+ * The CAD model that holds the sector.
24
+ */
25
+ model: CadModelMetadata;
26
+ /**
27
+ * Sector ID contained in the model provided.
28
+ */
29
+ sectorId: number;
30
+ /**
31
+ * A number between 0 and 1 indicating how 'important' the sector is.
32
+ */
33
+ priority: number;
34
+ };
35
+ /**
36
+ * Interface for classes that estimates how visible a sector will be on screen.
37
+ */
38
+ export interface OrderSectorsByVisibilityCoverage {
39
+ /**
40
+ * Dispose any resources that cannot be garbage collected.
41
+ */
42
+ dispose(): void;
43
+ /**
44
+ * Specifies what CAD models to estimate sector visibility for.
45
+ * @param models Models to estimate sector visibility for.
46
+ */
47
+ setModels(models: CadModelMetadata[]): void;
48
+ /**
49
+ * Specify clipping planes.
50
+ * @param planes A list of clip planes or null to disable clipping.
51
+ */
52
+ setClipping(planes: THREE.Plane[] | null): void;
53
+ /**
54
+ * Cull a set of sectors potentially being loaded towards already loaded geometry to determine if
55
+ * the sector is visible or occluded.
56
+ */
57
+ cullOccludedSectors(camera: THREE.PerspectiveCamera, sectors: WantedSector[]): WantedSector[];
58
+ /**
59
+ * Estimates how visible the different sectors for the models added are and returns
60
+ * a prioritized list.
61
+ * @param camera The current viewpoint.
62
+ */
63
+ orderSectorsByVisibility(camera: THREE.Camera): PrioritizedSectorIdentifier[];
64
+ }
65
+ /**
66
+ * Estimates sector visibility by rendering their bounds with a pattern confirming to how
67
+ * much of the geometry covers of the bounding box.
68
+ */
69
+ export declare class GpuOrderSectorsByVisibilityCoverage implements OrderSectorsByVisibilityCoverage {
70
+ /**
71
+ * Factor of how big render target we use for determining visibility of sectors
72
+ * compared to the full render size.
73
+ */
74
+ private static readonly CoverageRenderTargetScalingFactor;
75
+ private sectorIdOffset;
76
+ private readonly scene;
77
+ private readonly _renderer;
78
+ private readonly _alreadyLoadedProvider;
79
+ private _debugImageElement?;
80
+ private readonly renderTarget;
81
+ private readonly containers;
82
+ private readonly buffers;
83
+ private readonly coverageMaterial;
84
+ constructor(options: OrderSectorsByVisibleCoverageOptions);
85
+ dispose(): void;
86
+ get renderer(): THREE.WebGLRenderer;
87
+ createDebugCanvas(options?: {
88
+ width: number;
89
+ height: number;
90
+ }): HTMLElement;
91
+ setModels(models: CadModelMetadata[]): void;
92
+ setClipping(planes: THREE.Plane[] | null): void;
93
+ cullOccludedSectors(camera: THREE.PerspectiveCamera, sectors: WantedSector[]): WantedSector[];
94
+ orderSectorsByVisibility(camera: THREE.PerspectiveCamera): PrioritizedSectorIdentifier[];
95
+ private readonly _ensureBuffersCorrectSizeVars;
96
+ private ensureBuffersCorrectSize;
97
+ private renderSectors;
98
+ private setAllSectorsVisible;
99
+ private setSectorsVisibility;
100
+ private removeModel;
101
+ private deleteSectorsFromBuffers;
102
+ private addModel;
103
+ private updateModel;
104
+ private findSectorContainer;
105
+ private unpackSectorVisibility;
106
+ private createSectorTreeGeometry;
107
+ }
@@ -1,33 +1,33 @@
1
- /*!
2
- * Copyright 2021 Cognite AS
3
- */
4
- import { WantedSector } from '../../../../cad-parsers';
5
- import { DetermineSectorsInput, SectorLoadingSpent } from './types';
6
- /**
7
- * Interface for implementations that are responsible for determining
8
- * what sectors should be loaded (i.e. "culls" sectors).
9
- */
10
- export interface SectorCuller {
11
- /**
12
- * Determine initial sector prioritization about what we think to load. This provides an initial guesstimate of
13
- * what sectors we should load. Use {@link filterSectorsToLoad} to improve this estimate as new data is loaded.
14
- * @param input
15
- */
16
- determineSectors(input: DetermineSectorsInput): {
17
- wantedSectors: WantedSector[];
18
- spentBudget: SectorLoadingSpent;
19
- };
20
- /**
21
- * Evaluates if sectors provided should be loaded or not, e.g. based on geometry we have now loaded
22
- * since {@link determineSectors} was called. This can be used to e.g. implement pre-load occlusion culling
23
- * of sectors based on geometry that has been loaded.
24
- *
25
- * @param input Same input as used in {@link determineSectors}.
26
- * @param wantedSectorsBatch A set of sectors from {@link determineSectors}, e.g. in batches of 5-10.
27
- */
28
- filterSectorsToLoad(input: DetermineSectorsInput, wantedSectorsBatch: WantedSector[]): Promise<WantedSector[]>;
29
- /**
30
- * Dispose all non-GCed resoures held.
31
- */
32
- dispose(): void;
33
- }
1
+ /*!
2
+ * Copyright 2021 Cognite AS
3
+ */
4
+ import { WantedSector } from '../../../../cad-parsers';
5
+ import { DetermineSectorsInput, SectorLoadingSpent } from './types';
6
+ /**
7
+ * Interface for implementations that are responsible for determining
8
+ * what sectors should be loaded (i.e. "culls" sectors).
9
+ */
10
+ export interface SectorCuller {
11
+ /**
12
+ * Determine initial sector prioritization about what we think to load. This provides an initial guesstimate of
13
+ * what sectors we should load. Use {@link filterSectorsToLoad} to improve this estimate as new data is loaded.
14
+ * @param input
15
+ */
16
+ determineSectors(input: DetermineSectorsInput): {
17
+ wantedSectors: WantedSector[];
18
+ spentBudget: SectorLoadingSpent;
19
+ };
20
+ /**
21
+ * Evaluates if sectors provided should be loaded or not, e.g. based on geometry we have now loaded
22
+ * since {@link determineSectors} was called. This can be used to e.g. implement pre-load occlusion culling
23
+ * of sectors based on geometry that has been loaded.
24
+ *
25
+ * @param input Same input as used in {@link determineSectors}.
26
+ * @param wantedSectorsBatch A set of sectors from {@link determineSectors}, e.g. in batches of 5-10.
27
+ */
28
+ filterSectorsToLoad(input: DetermineSectorsInput, wantedSectorsBatch: WantedSector[]): Promise<WantedSector[]>;
29
+ /**
30
+ * Dispose all non-GCed resoures held.
31
+ */
32
+ dispose(): void;
33
+ }
@@ -0,0 +1,50 @@
1
+ /*!
2
+ * Copyright 2021 Cognite AS
3
+ */
4
+ import * as THREE from 'three';
5
+ import { SectorMetadata, V9SectorMetadata } from '../../../../cad-parsers';
6
+ import { PrioritizedArea } from '../../../../cad-styling';
7
+ export declare class WeightFunctionsHelper {
8
+ private readonly _camera;
9
+ private _minSectorDistance;
10
+ private _maxSectorDistance;
11
+ private readonly _modifiedFrustums;
12
+ constructor(camera: THREE.PerspectiveCamera);
13
+ addCandidateSectors(sectors: SectorMetadata[], modelMatrix: THREE.Matrix4): void;
14
+ computeTransformedSectorBounds(sectorBounds: THREE.Box3, modelMatrix: THREE.Matrix4, out: THREE.Box3): void;
15
+ /**
16
+ * Computes a weight in range [0-1], where 1 means close to camera and 0 means far away.
17
+ */
18
+ computeDistanceToCameraWeight(transformedSectorBounds: THREE.Box3): number;
19
+ /**
20
+ * Compute a weight in range [0-1] where 1 means the sector covers the entire screen
21
+ * and 0 means no coverage.
22
+ * @param transformedSectorBounds
23
+ * @returns
24
+ */
25
+ computeScreenAreaWeight(transformedSectorBounds: THREE.Box3): number;
26
+ /**
27
+ * Compute a weight in range [0-1] based on at what "depths"
28
+ * in the frustum the sector is placed.
29
+ * @param transformedSectorBounds
30
+ */
31
+ computeFrustumDepthWeight(transformedSectorBounds: THREE.Box3): number;
32
+ /**
33
+ * Computes a weight based on placement in sector tree (i.e. prioritize)
34
+ * sectors right below root sector.
35
+ * @param sector
36
+ */
37
+ computeSectorTreePlacementWeight(sector: V9SectorMetadata): number;
38
+ /**
39
+ * Computes a weight based on how large the biggest node within the sector
40
+ * will be on screen (a number in range [0-1]).
41
+ */
42
+ computeMaximumNodeScreenSizeWeight(transformedSectorBounds: THREE.Box3, maxNodeDiagonalLength: number): number;
43
+ /**
44
+ * Returns a weight that is the maximum of the extra priority in intersecting prioritized areas.
45
+ * @param transformedSectorBounds Bounds of sectors in "Reveal coordinates".
46
+ * @param prioritizedAreas Zero or more areas with associated priorities.
47
+ */
48
+ computePrioritizedAreaWeight(transformedSectorBounds: THREE.Box3, prioritizedAreas: PrioritizedArea[]): number;
49
+ private distanceToCamera;
50
+ }
@@ -0,0 +1,12 @@
1
+ /*!
2
+ * Copyright 2021 Cognite AS
3
+ */
4
+ import * as THREE from 'three';
5
+ /**
6
+ * Computes area of the box after converting it to NDC space. The returned value will be a number
7
+ * in range [0, 1].
8
+ * @param camera
9
+ * @param box
10
+ * @returns
11
+ */
12
+ export declare function computeNdcAreaOfBox(camera: THREE.Camera, box: THREE.Box3): number;
@@ -0,0 +1,7 @@
1
+ /*!
2
+ * Copyright 2021 Cognite AS
3
+ */
4
+ import { SectorCost } from './types';
5
+ import { LevelOfDetail, SectorMetadata } from '../../../../cad-parsers';
6
+ export declare function computeV9SectorCost(sectorMetadata: SectorMetadata, lod: LevelOfDetail): SectorCost;
7
+ export declare function computeV8SectorCost(sectorMetadata: SectorMetadata, lod: LevelOfDetail): SectorCost;
@@ -0,0 +1,7 @@
1
+ /*!
2
+ * Copyright 2021 Cognite AS
3
+ */
4
+ import * as THREE from 'three';
5
+ import { SectorCuller } from './SectorCuller';
6
+ import { OccludingGeometryProvider } from './OccludingGeometryProvider';
7
+ export declare function createV8SectorCuller(renderer: THREE.WebGLRenderer, occludingGeometryProvider: OccludingGeometryProvider): SectorCuller;
@@ -0,0 +1,11 @@
1
+ /*!
2
+ * Copyright 2021 Cognite AS
3
+ */
4
+ import { PrioritizedWantedSector, SectorCost, SectorLoadingSpent } from '../types';
5
+ import { CadModelMetadata } from '../../../../../cad-parsers';
6
+ export declare abstract class TakenSectorMapBase {
7
+ protected abstract get modelsMetadata(): CadModelMetadata[];
8
+ abstract get totalCost(): SectorCost;
9
+ abstract collectWantedSectors(): PrioritizedWantedSector[];
10
+ computeSpentBudget(): SectorLoadingSpent;
11
+ }
@@ -0,0 +1,17 @@
1
+ import { PrioritizedWantedSector, DetermineSectorCostDelegate, SectorCost } from '../types';
2
+ import { CadModelBudget } from '../../../CadModelBudget';
3
+ import { TakenSectorMapBase } from './TakenSectorMapBase';
4
+ import { CadModelMetadata, V8SectorMetadata } from '../../../../../cad-parsers';
5
+ export declare class TakenV8SectorMap extends TakenSectorMapBase {
6
+ private readonly _takenSectorTrees;
7
+ private readonly determineSectorCost;
8
+ get totalCost(): SectorCost;
9
+ get modelsMetadata(): CadModelMetadata[];
10
+ constructor(determineSectorCost: DetermineSectorCostDelegate<V8SectorMetadata>);
11
+ initializeScene(modelMetadata: CadModelMetadata): void;
12
+ getWantedSectorCount(): number;
13
+ markSectorDetailed(model: CadModelMetadata, sectorId: number, priority: number): void;
14
+ isWithinBudget(budget: CadModelBudget): boolean;
15
+ collectWantedSectors(): PrioritizedWantedSector[];
16
+ clear(): void;
17
+ }
@@ -1,24 +1,24 @@
1
- /*!
2
- * Copyright 2021 Cognite AS
3
- */
4
- import { SectorMetadata } from '../../../../cad-parsers';
5
- import { PrioritizedWantedSector, DetermineSectorCostDelegate, SectorCost } from './types';
6
- export declare class TakenSectorTree {
7
- get totalCost(): SectorCost;
8
- private readonly sectors;
9
- private readonly determineSectorCost;
10
- private readonly _totalCost;
11
- constructor(sectorRoot: SectorMetadata, determineSectorCost: DetermineSectorCostDelegate);
12
- determineWantedSectorCount(): number;
13
- toWantedSectors(modelIdentifier: string, modelBaseUrl: string, geometryClipBox: THREE.Box3 | null): PrioritizedWantedSector[];
14
- markSectorDetailed(sectorId: number, priority: number): void;
15
- /**
16
- * Replaces a Simple sector by marking all its non-detailed children as Simple and
17
- * marking the sector itself Detailed.
18
- */
19
- private replaceSimpleWithDetailed;
20
- private markAllDiscardedChildrenAsSimple;
21
- private setSectorLod;
22
- private setSectorPriority;
23
- private getSectorLod;
24
- }
1
+ /*!
2
+ * Copyright 2021 Cognite AS
3
+ */
4
+ import { V8SectorMetadata } from '../../../../../cad-parsers';
5
+ import { PrioritizedWantedSector, DetermineSectorCostDelegate, SectorCost } from '../types';
6
+ export declare class TakenV8SectorTree {
7
+ get totalCost(): SectorCost;
8
+ private readonly sectors;
9
+ private readonly determineSectorCost;
10
+ private readonly _totalCost;
11
+ constructor(sectorRoot: V8SectorMetadata, determineSectorCost: DetermineSectorCostDelegate<V8SectorMetadata>);
12
+ getWantedSectorCount(): number;
13
+ toWantedSectors(modelIdentifier: string, modelBaseUrl: string, geometryClipBox: THREE.Box3 | null): PrioritizedWantedSector[];
14
+ markSectorDetailed(sectorId: number, priority: number): void;
15
+ /**
16
+ * Replaces a Simple sector by marking all its non-detailed children as Simple and
17
+ * marking the sector itself Detailed.
18
+ */
19
+ private replaceSimpleWithDetailed;
20
+ private markAllDiscardedChildrenAsSimple;
21
+ private setSectorLod;
22
+ private setSectorPriority;
23
+ private getSectorLod;
24
+ }
@@ -0,0 +1,20 @@
1
+ /*!
2
+ * Copyright 2021 Cognite AS
3
+ */
4
+ import { DetermineSectorCostDelegate, PrioritizedWantedSector, SectorCost } from '../types';
5
+ import { CadModelBudget } from '../../../CadModelBudget';
6
+ import { TakenSectorMapBase } from './TakenSectorMapBase';
7
+ import { CadModelMetadata, V9SectorMetadata } from '../../../../../cad-parsers';
8
+ export declare class TakenV9SectorMap extends TakenSectorMapBase {
9
+ private readonly determineSectorCost;
10
+ private readonly _totalCost;
11
+ private readonly _models;
12
+ get totalCost(): SectorCost;
13
+ get modelsMetadata(): CadModelMetadata[];
14
+ constructor(determineSectorCost: DetermineSectorCostDelegate<V9SectorMetadata>);
15
+ initializeScene(modelMetadata: CadModelMetadata): void;
16
+ markSectorDetailed(model: CadModelMetadata, sectorId: number, priority: number): void;
17
+ isWithinBudget(budget: CadModelBudget): boolean;
18
+ collectWantedSectors(): PrioritizedWantedSector[];
19
+ clear(): void;
20
+ }
@@ -0,0 +1,5 @@
1
+ /*!
2
+ * Copyright 2021 Cognite AS
3
+ */
4
+ export { TakenV9SectorMap } from './TakenV9SectorMap';
5
+ export { TakenV8SectorMap } from './TakenV8SectorMap';
@@ -0,0 +1,5 @@
1
+ /*!
2
+ * Copyright 2021 Cognite AS
3
+ */
4
+ import * as THREE from 'three';
5
+ export declare function transformBoxToNDC(box: THREE.Box3, camera: THREE.Camera, out?: THREE.Box3): THREE.Box3;
@@ -1,71 +1,83 @@
1
- /*!
2
- * Copyright 2021 Cognite AS
3
- */
4
- import * as THREE from 'three';
5
- import { SectorMetadata, CadModelMetadata, LevelOfDetail, WantedSector } from '../../../../cad-parsers';
6
- import { CadLoadingHints } from '../../CadLoadingHints';
7
- import { CadModelSectorBudget } from '../../CadModelSectorBudget';
8
- export interface DetermineSectorsInput {
9
- camera: THREE.PerspectiveCamera;
10
- clippingPlanes: THREE.Plane[];
11
- cadModelsMetadata: CadModelMetadata[];
12
- loadingHints: CadLoadingHints;
13
- cameraInMotion: boolean;
14
- budget: CadModelSectorBudget;
15
- }
16
- /**
17
- * Statistics for how much data is required to load set of sectors.
18
- */
19
- export declare type SectorLoadingSpent = {
20
- /**
21
- * Estimated number of bytes to download sectors.
22
- */
23
- readonly downloadSize: number;
24
- /**
25
- * Estimated number of draw calls required to draw the sectors.
26
- */
27
- readonly drawCalls: number;
28
- /**
29
- * Estimated "render cost" which can be compared to triangle count (but
30
- * due to how Reveal renders primitives doesn't map directly to triangles).
31
- */
32
- readonly renderCost: number;
33
- /**
34
- * Total number of sectors to load.
35
- */
36
- readonly loadedSectorCount: number;
37
- /**
38
- * Number of 'simple' sectors to load.
39
- */
40
- readonly simpleSectorCount: number;
41
- /**
42
- * Number of 'detailed' sectors to load.
43
- */
44
- readonly detailedSectorCount: number;
45
- /**
46
- * How many sectors that was "forced prioritized".
47
- */
48
- readonly forcedDetailedSectorCount: number;
49
- /**
50
- * The total number of sectors in models we are loading.
51
- */
52
- readonly totalSectorCount: number;
53
- /**
54
- * How much of the prioritized nodes that are loaded (between 0 and 1).
55
- */
56
- readonly accumulatedPriority: number;
57
- };
58
- export declare type SectorCost = {
59
- downloadSize: number;
60
- drawCalls: number;
61
- renderCost: number;
62
- };
63
- export declare function addSectorCost(sum: SectorCost, cost: SectorCost): void;
64
- export declare function reduceSectorCost(sum: SectorCost, cost: SectorCost): void;
65
- export declare type PrioritizedWantedSector = WantedSector & {
66
- priority: number;
67
- };
68
- /**
69
- * Delegates that computes 'cost' of loading/visualizing a given sector.
70
- */
71
- export declare type DetermineSectorCostDelegate = (sector: SectorMetadata, levelOfDetail: LevelOfDetail) => SectorCost;
1
+ /*!
2
+ * Copyright 2021 Cognite AS
3
+ */
4
+ import * as THREE from 'three';
5
+ import { PrioritizedArea } from '../../../../cad-styling';
6
+ import { CadModelMetadata, LevelOfDetail, WantedSector } from '../../../../cad-parsers';
7
+ import { CadLoadingHints } from '../../CadLoadingHints';
8
+ import { CadModelBudget } from '../../CadModelBudget';
9
+ import { CadNode } from '../../../../rendering';
10
+ export interface DetermineSectorsInput {
11
+ camera: THREE.PerspectiveCamera;
12
+ clippingPlanes: THREE.Plane[];
13
+ cadModelsMetadata: CadModelMetadata[];
14
+ loadingHints: CadLoadingHints;
15
+ cameraInMotion: boolean;
16
+ budget: CadModelBudget;
17
+ prioritizedAreas: PrioritizedArea[];
18
+ }
19
+ export declare type DetermineSectorsPayload = {
20
+ camera: THREE.PerspectiveCamera;
21
+ clippingPlanes: THREE.Plane[];
22
+ models: CadNode[];
23
+ loadingHints: CadLoadingHints;
24
+ cameraInMotion: boolean;
25
+ budget: CadModelBudget;
26
+ prioritizedAreas: PrioritizedArea[];
27
+ };
28
+ /**
29
+ * Statistics for how much data is required to load set of sectors.
30
+ */
31
+ export declare type SectorLoadingSpent = {
32
+ /**
33
+ * Estimated number of bytes to download sectors.
34
+ */
35
+ readonly downloadSize: number;
36
+ /**
37
+ * Estimated number of draw calls required to draw the sectors.
38
+ */
39
+ readonly drawCalls: number;
40
+ /**
41
+ * Estimated "render cost" which can be compared to triangle count (but
42
+ * due to how Reveal renders primitives doesn't map directly to triangles).
43
+ */
44
+ readonly renderCost: number;
45
+ /**
46
+ * Total number of sectors to load.
47
+ */
48
+ readonly loadedSectorCount: number;
49
+ /**
50
+ * Number of 'simple' sectors to load.
51
+ */
52
+ readonly simpleSectorCount: number;
53
+ /**
54
+ * Number of 'detailed' sectors to load.
55
+ */
56
+ readonly detailedSectorCount: number;
57
+ /**
58
+ * How many sectors that was "forced prioritized".
59
+ */
60
+ readonly forcedDetailedSectorCount: number;
61
+ /**
62
+ * The total number of sectors in models we are loading.
63
+ */
64
+ readonly totalSectorCount: number;
65
+ /**
66
+ * How much of the prioritized nodes that are loaded (between 0 and 1).
67
+ */
68
+ readonly accumulatedPriority: number;
69
+ };
70
+ export declare type SectorCost = {
71
+ downloadSize: number;
72
+ drawCalls: number;
73
+ renderCost: number;
74
+ };
75
+ export declare function addSectorCost(sum: SectorCost, cost: SectorCost): void;
76
+ export declare function reduceSectorCost(sum: SectorCost, cost: SectorCost): void;
77
+ export declare type PrioritizedWantedSector = WantedSector & {
78
+ priority: number;
79
+ };
80
+ /**
81
+ * Delegates that computes 'cost' of loading/visualizing a given sector.
82
+ */
83
+ export declare type DetermineSectorCostDelegate<TSectorMetadata> = (sector: TSectorMetadata, levelOfDetail: LevelOfDetail) => SectorCost;