@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,52 +1,50 @@
1
- /*!
2
- * Copyright 2021 Cognite AS
3
- */
4
- import * as THREE from 'three';
5
- import { CogniteInternalId } from '@cognite/sdk';
6
- /**
7
- * Client for retrieving metadata information about CAD nodes.
8
- * @version New since 2.2
9
- */
10
- export interface NodesApiClient {
11
- /**
12
- * Maps a set of "tree indexes" that identify nodes, to the respective
13
- * "node IDs".
14
- */
15
- mapTreeIndicesToNodeIds(modelId: CogniteInternalId, revisionId: CogniteInternalId, treeIndices: number[]): Promise<CogniteInternalId[]>;
16
- /**
17
- * Maps a set of "node IDs" that identify nodes, to the respective
18
- * "tree indexes".
19
- */
20
- mapNodeIdsToTreeIndices(modelId: CogniteInternalId, revisionId: CogniteInternalId, nodeIds: CogniteInternalId[]): Promise<number[]>;
21
- /**
22
- * Determines tree index and subtreeSize (i.e. span of the subtree a node is parent
23
- * of) given a set of node IDs.
24
- */
25
- determineTreeIndexAndSubtreeSizesByNodeIds(modelId: CogniteInternalId, revisionId: CogniteInternalId, nodeIds: CogniteInternalId[]): Promise<{
26
- treeIndex: number;
27
- subtreeSize: number;
28
- }[]>;
29
- /**
30
- * Determine ancestor subtree span of a given node. If the node doesn't have an
31
- * ancestor at the generation given, the span of the root node is returned.
32
- * @param modelId ID of 3D model
33
- * @param revisionId ID of 3D model revision
34
- * @param nodeId Node ID of node
35
- * @param generation Generation to retrieve (0 means node itself, 1 is parent, 2 grand-parent etc).
36
- */
37
- determineNodeAncestorsByNodeId(modelId: CogniteInternalId, revisionId: CogniteInternalId, nodeId: CogniteInternalId, generation: number): Promise<{
38
- treeIndex: number;
39
- subtreeSize: number;
40
- }>;
41
- /**
42
- * Determines the bounds of the node provided. Note that the returned
43
- * box returned will be in "CDF coordinates" and not transformed using
44
- * the model transformation for the given model.
45
- *
46
- * @param modelId ID of 3D model
47
- * @param revisionId ID of 3D model revision
48
- * @param nodeId Node ID of node
49
- * @param box Pre-allocated THREE.Box3 (optional).
50
- */
51
- getBoundingBoxByNodeId(modelId: CogniteInternalId, revisionId: CogniteInternalId, nodeId: CogniteInternalId, box?: THREE.Box3): Promise<THREE.Box3>;
52
- }
1
+ /*!
2
+ * Copyright 2021 Cognite AS
3
+ */
4
+ import * as THREE from 'three';
5
+ import { CogniteInternalId } from '@cognite/sdk';
6
+ /**
7
+ * Client for retrieving metadata information about CAD nodes.
8
+ */
9
+ export interface NodesApiClient {
10
+ /**
11
+ * Maps a set of "tree indexes" that identify nodes, to the respective
12
+ * "node IDs".
13
+ */
14
+ mapTreeIndicesToNodeIds(modelId: CogniteInternalId, revisionId: CogniteInternalId, treeIndices: number[]): Promise<CogniteInternalId[]>;
15
+ /**
16
+ * Maps a set of "node IDs" that identify nodes, to the respective
17
+ * "tree indexes".
18
+ */
19
+ mapNodeIdsToTreeIndices(modelId: CogniteInternalId, revisionId: CogniteInternalId, nodeIds: CogniteInternalId[]): Promise<number[]>;
20
+ /**
21
+ * Determines tree index and subtreeSize (i.e. span of the subtree a node is parent
22
+ * of) given a set of node IDs.
23
+ */
24
+ determineTreeIndexAndSubtreeSizesByNodeIds(modelId: CogniteInternalId, revisionId: CogniteInternalId, nodeIds: CogniteInternalId[]): Promise<{
25
+ treeIndex: number;
26
+ subtreeSize: number;
27
+ }[]>;
28
+ /**
29
+ * Determine ancestor subtree span of a given node. If the node doesn't have an
30
+ * ancestor at the generation given, the span of the root node is returned.
31
+ * @param modelId ID of 3D model
32
+ * @param revisionId ID of 3D model revision
33
+ * @param nodeId Node ID of node
34
+ * @param generation Generation to retrieve (0 means node itself, 1 is parent, 2 grand-parent etc).
35
+ */
36
+ determineNodeAncestorsByNodeId(modelId: CogniteInternalId, revisionId: CogniteInternalId, nodeId: CogniteInternalId, generation: number): Promise<{
37
+ treeIndex: number;
38
+ subtreeSize: number;
39
+ }>;
40
+ /**
41
+ * Determines the bounds of the individual nodes provided. Note that the returned
42
+ * boxes will be in "CDF coordinates" and not transformed using
43
+ * the model transformation for the given model.
44
+ *
45
+ * @param modelId ID of 3D model
46
+ * @param revisionId ID of 3D model revision
47
+ * @param nodeIds Node IDs of nodes
48
+ */
49
+ getBoundingBoxesByNodeIds(modelId: CogniteInternalId, revisionId: CogniteInternalId, nodeIds: CogniteInternalId[]): Promise<THREE.Box3[]>;
50
+ }
@@ -1,24 +1,24 @@
1
- /*!
2
- * Copyright 2021 Cognite AS
3
- */
4
- import * as THREE from 'three';
5
- import { CogniteClient, CogniteInternalId } from '@cognite/sdk';
6
- import { NodesApiClient } from './NodesApiClient';
7
- export declare class NodesCdfClient implements NodesApiClient {
8
- private static readonly MaxItemsPerRequest;
9
- private readonly _client;
10
- constructor(client: CogniteClient);
11
- mapTreeIndicesToNodeIds(modelId: CogniteInternalId, revisionId: CogniteInternalId, treeIndices: number[]): Promise<number[]>;
12
- mapNodeIdsToTreeIndices(modelId: CogniteInternalId, revisionId: CogniteInternalId, treeIndices: number[]): Promise<CogniteInternalId[]>;
13
- determineTreeIndexAndSubtreeSizesByNodeIds(modelId: CogniteInternalId, revisionId: CogniteInternalId, nodeIds: CogniteInternalId[]): Promise<{
14
- treeIndex: number;
15
- subtreeSize: number;
16
- }[]>;
17
- determineNodeAncestorsByNodeId(modelId: CogniteInternalId, revisionId: CogniteInternalId, nodeId: CogniteInternalId, generation: number): Promise<{
18
- treeIndex: number;
19
- subtreeSize: number;
20
- }>;
21
- getBoundingBoxByNodeId(modelId: CogniteInternalId, revisionId: CogniteInternalId, nodeId: CogniteInternalId, box?: THREE.Box3): Promise<THREE.Box3>;
22
- private postByTreeIndicesRequest;
23
- private postByNodeIdsRequest;
24
- }
1
+ /*!
2
+ * Copyright 2021 Cognite AS
3
+ */
4
+ import * as THREE from 'three';
5
+ import { CogniteClient, CogniteInternalId } from '@cognite/sdk';
6
+ import { NodesApiClient } from './NodesApiClient';
7
+ export declare class NodesCdfClient implements NodesApiClient {
8
+ private static readonly MaxItemsPerRequest;
9
+ private readonly _client;
10
+ constructor(client: CogniteClient);
11
+ mapTreeIndicesToNodeIds(modelId: CogniteInternalId, revisionId: CogniteInternalId, treeIndices: number[]): Promise<number[]>;
12
+ mapNodeIdsToTreeIndices(modelId: CogniteInternalId, revisionId: CogniteInternalId, treeIndices: number[]): Promise<CogniteInternalId[]>;
13
+ determineTreeIndexAndSubtreeSizesByNodeIds(modelId: CogniteInternalId, revisionId: CogniteInternalId, nodeIds: CogniteInternalId[]): Promise<{
14
+ treeIndex: number;
15
+ subtreeSize: number;
16
+ }[]>;
17
+ determineNodeAncestorsByNodeId(modelId: CogniteInternalId, revisionId: CogniteInternalId, nodeId: CogniteInternalId, generation: number): Promise<{
18
+ treeIndex: number;
19
+ subtreeSize: number;
20
+ }>;
21
+ getBoundingBoxesByNodeIds(modelId: CogniteInternalId, revisionId: CogniteInternalId, nodeIds: CogniteInternalId[]): Promise<THREE.Box3[]>;
22
+ private postByTreeIndicesRequest;
23
+ private postByNodeIdsRequest;
24
+ }
@@ -1,30 +1,30 @@
1
- /*!
2
- * Copyright 2021 Cognite AS
3
- */
4
- import * as THREE from 'three';
5
- import { NodesApiClient } from './NodesApiClient';
6
- import { CogniteInternalId } from '@cognite/sdk';
7
- export declare class NodesLocalClient implements NodesApiClient {
8
- constructor();
9
- mapTreeIndicesToNodeIds(_modelId: CogniteInternalId, _revisionId: CogniteInternalId, treeIndices: number[]): Promise<CogniteInternalId[]>;
10
- mapNodeIdsToTreeIndices(_modelId: CogniteInternalId, _revisionId: CogniteInternalId, nodeIds: CogniteInternalId[]): Promise<number[]>;
11
- /**
12
- * Determines tree index and subtreeSize (i.e. span of the subtree a node is parent
13
- * of) given a set of node IDs.
14
- */
15
- determineTreeIndexAndSubtreeSizesByNodeIds(_modelId: CogniteInternalId, _revisionId: CogniteInternalId, _nodeIds: CogniteInternalId[]): Promise<{
16
- treeIndex: number;
17
- subtreeSize: number;
18
- }[]>;
19
- /**
20
- * Not supported.
21
- */
22
- determineNodeAncestorsByNodeId(_modelId: CogniteInternalId, _revisionId: CogniteInternalId, _nodeId: CogniteInternalId, _generation: number): Promise<{
23
- treeIndex: number;
24
- subtreeSize: number;
25
- }>;
26
- /**
27
- * Not supported.
28
- */
29
- getBoundingBoxByNodeId(_modelId: CogniteInternalId, _revisionId: CogniteInternalId, _nodeId: CogniteInternalId, _box?: THREE.Box3): Promise<THREE.Box3>;
30
- }
1
+ /*!
2
+ * Copyright 2021 Cognite AS
3
+ */
4
+ import * as THREE from 'three';
5
+ import { NodesApiClient } from './NodesApiClient';
6
+ import { CogniteInternalId } from '@cognite/sdk';
7
+ export declare class NodesLocalClient implements NodesApiClient {
8
+ constructor();
9
+ mapTreeIndicesToNodeIds(_modelId: CogniteInternalId, _revisionId: CogniteInternalId, treeIndices: number[]): Promise<CogniteInternalId[]>;
10
+ mapNodeIdsToTreeIndices(_modelId: CogniteInternalId, _revisionId: CogniteInternalId, nodeIds: CogniteInternalId[]): Promise<number[]>;
11
+ /**
12
+ * Determines tree index and subtreeSize (i.e. span of the subtree a node is parent
13
+ * of) given a set of node IDs.
14
+ */
15
+ determineTreeIndexAndSubtreeSizesByNodeIds(_modelId: CogniteInternalId, _revisionId: CogniteInternalId, _nodeIds: CogniteInternalId[]): Promise<{
16
+ treeIndex: number;
17
+ subtreeSize: number;
18
+ }[]>;
19
+ /**
20
+ * Not supported.
21
+ */
22
+ determineNodeAncestorsByNodeId(_modelId: CogniteInternalId, _revisionId: CogniteInternalId, _nodeId: CogniteInternalId, _generation: number): Promise<{
23
+ treeIndex: number;
24
+ subtreeSize: number;
25
+ }>;
26
+ /**
27
+ * Not supported.
28
+ */
29
+ getBoundingBoxesByNodeIds(_modelId: CogniteInternalId, _revisionId: CogniteInternalId, _nodeIds: CogniteInternalId[]): Promise<THREE.Box3[]>;
30
+ }
@@ -1,10 +1,10 @@
1
- /*!
2
- * Copyright 2021 Cognite AS
3
- */
4
- import { CogniteInternalId } from '@cognite/sdk';
5
- export declare type ByTreeIndicesResponse = {
6
- items: CogniteInternalId[];
7
- };
8
- export declare type ByNodeIdsResponse = {
9
- items: number[];
10
- };
1
+ /*!
2
+ * Copyright 2021 Cognite AS
3
+ */
4
+ import { CogniteInternalId } from '@cognite/sdk';
5
+ export declare type ByTreeIndicesResponse = {
6
+ items: CogniteInternalId[];
7
+ };
8
+ export declare type ByNodeIdsResponse = {
9
+ items: number[];
10
+ };
@@ -1,17 +1,17 @@
1
- /**
2
- * Copyright 2021 Cognite AS
3
- */
4
- export { SectorQuads } from './src/rendering/types';
5
- export { CadMaterialManager } from './src/CadMaterialManager';
6
- export { createSimpleGeometryMesh } from './src/rendering/createSimpleGeometryMesh';
7
- export { NodeAppearanceTextureBuilder } from './src/rendering/NodeAppearanceTextureBuilder';
8
- export { NodeTransformTextureBuilder } from './src/transform/NodeTransformTextureBuilder';
9
- export { NodeTransformProvider } from './src/transform/NodeTransformProvider';
10
- export { CogniteColors, RevealColors } from './src/utilities/types';
11
- export { CadNode, SuggestedCameraConfig } from './src/sector/CadNode';
12
- export { RenderOptions, defaultRenderOptions, SsaoParameters, SsaoSampleQuality, AntiAliasingMode } from './src/rendering/types';
13
- export { EffectRenderManager } from './src/rendering/EffectRenderManager';
14
- export { RenderMode } from './src/rendering/RenderMode';
15
- export { coverageShaders } from './src/rendering/shaders';
16
- export { Materials, createMaterials } from './src/rendering/materials';
17
- export { createPrimitives } from './src/rendering/primitives';
1
+ /**
2
+ * Copyright 2021 Cognite AS
3
+ */
4
+ export { SectorQuads } from './src/rendering/types';
5
+ export { CadMaterialManager } from './src/CadMaterialManager';
6
+ export { createSimpleGeometryMesh } from './src/rendering/createSimpleGeometryMesh';
7
+ export { NodeAppearanceTextureBuilder } from './src/rendering/NodeAppearanceTextureBuilder';
8
+ export { NodeTransformTextureBuilder } from './src/transform/NodeTransformTextureBuilder';
9
+ export { NodeTransformProvider } from './src/transform/NodeTransformProvider';
10
+ export { CogniteColors, RevealColors } from './src/utilities/types';
11
+ export { CadNode } from './src/sector/CadNode';
12
+ export { RenderOptions, defaultRenderOptions, SsaoParameters, SsaoSampleQuality, AntiAliasingMode } from './src/rendering/types';
13
+ export { EffectRenderManager } from './src/rendering/EffectRenderManager';
14
+ export { RenderMode } from './src/rendering/RenderMode';
15
+ export { coverageShaders } from './src/rendering/shaders';
16
+ export { Materials, createMaterials } from './src/rendering/materials';
17
+ export { createPrimitives } from './src/rendering/primitives';
@@ -1,37 +1,37 @@
1
- /*!
2
- * Copyright 2021 Cognite AS
3
- */
4
- import * as THREE from 'three';
5
- import { NodeTransformProvider } from './transform/NodeTransformProvider';
6
- import { Materials } from './rendering/materials';
7
- import { RenderMode } from './rendering/RenderMode';
8
- import { NodeAppearance, NodeAppearanceProvider } from '../../cad-styling';
9
- import { IndexSet } from '../../utilities';
10
- export declare class CadMaterialManager {
11
- private readonly _events;
12
- get clippingPlanes(): THREE.Plane[];
13
- set clippingPlanes(clippingPlanes: THREE.Plane[]);
14
- private _renderMode;
15
- private readonly materialsMap;
16
- private _clippingPlanes;
17
- on(event: 'materialsChanged', listener: () => void): void;
18
- off(event: 'materialsChanged', listener: () => void): void;
19
- addModelMaterials(modelIdentifier: string, maxTreeIndex: number): void;
20
- getModelMaterials(modelIdentifier: string): Materials;
21
- getModelNodeAppearanceProvider(modelIdentifier: string): NodeAppearanceProvider;
22
- getModelNodeTransformProvider(modelIdentifier: string): NodeTransformProvider;
23
- getModelDefaultNodeAppearance(modelIdentifier: string): NodeAppearance;
24
- setModelClippingPlanes(modelIdentifier: string, clippingPlanes: THREE.Plane[]): void;
25
- private updateClippingPlanesForModel;
26
- setModelDefaultNodeAppearance(modelIdentifier: string, defaultAppearance: NodeAppearance): void;
27
- getModelBackTreeIndices(modelIdentifier: string): IndexSet;
28
- getModelInFrontTreeIndices(modelIdentifier: string): IndexSet;
29
- getModelGhostedTreeIndices(modelIdentifier: string): IndexSet;
30
- setRenderMode(mode: RenderMode): void;
31
- getRenderMode(): RenderMode;
32
- private updateMaterials;
33
- private updateTransforms;
34
- private getModelMaterialsWrapper;
35
- private applyToAllMaterials;
36
- private triggerMaterialsChanged;
37
- }
1
+ /*!
2
+ * Copyright 2021 Cognite AS
3
+ */
4
+ import * as THREE from 'three';
5
+ import { NodeTransformProvider } from './transform/NodeTransformProvider';
6
+ import { Materials } from './rendering/materials';
7
+ import { RenderMode } from './rendering/RenderMode';
8
+ import { NodeAppearance, NodeAppearanceProvider } from '../../cad-styling';
9
+ import { IndexSet } from '../../utilities';
10
+ export declare class CadMaterialManager {
11
+ private readonly _events;
12
+ get clippingPlanes(): THREE.Plane[];
13
+ set clippingPlanes(clippingPlanes: THREE.Plane[]);
14
+ private _renderMode;
15
+ private readonly materialsMap;
16
+ private _clippingPlanes;
17
+ on(event: 'materialsChanged', listener: () => void): void;
18
+ off(event: 'materialsChanged', listener: () => void): void;
19
+ addModelMaterials(modelIdentifier: string, maxTreeIndex: number): void;
20
+ getModelMaterials(modelIdentifier: string): Materials;
21
+ getModelNodeAppearanceProvider(modelIdentifier: string): NodeAppearanceProvider;
22
+ getModelNodeTransformProvider(modelIdentifier: string): NodeTransformProvider;
23
+ getModelDefaultNodeAppearance(modelIdentifier: string): NodeAppearance;
24
+ setModelClippingPlanes(modelIdentifier: string, clippingPlanes: THREE.Plane[]): void;
25
+ private updateClippingPlanesForModel;
26
+ setModelDefaultNodeAppearance(modelIdentifier: string, defaultAppearance: NodeAppearance): void;
27
+ getModelBackTreeIndices(modelIdentifier: string): IndexSet;
28
+ getModelInFrontTreeIndices(modelIdentifier: string): IndexSet;
29
+ getModelGhostedTreeIndices(modelIdentifier: string): IndexSet;
30
+ setRenderMode(mode: RenderMode): void;
31
+ getRenderMode(): RenderMode;
32
+ private updateMaterials;
33
+ private updateTransforms;
34
+ private getModelMaterialsWrapper;
35
+ private applyToAllMaterials;
36
+ private triggerMaterialsChanged;
37
+ }
@@ -0,0 +1,30 @@
1
+ /*!
2
+ * Copyright 2021 Cognite AS
3
+ */
4
+ import * as THREE from 'three';
5
+ import { ParsedGeometry } from '../../sector-parser';
6
+ import { Materials } from './rendering/materials';
7
+ export declare class GeometryBatchingManager {
8
+ private readonly _batchedGeometriesGroup;
9
+ private readonly _materials;
10
+ private readonly _instancedTypeMap;
11
+ private readonly _sectorMap;
12
+ private static readonly TypedArrayViews;
13
+ constructor(group: THREE.Group, materials: Materials);
14
+ batchGeometries(geometryBatchingQueue: ParsedGeometry[], sectorId: number): void;
15
+ removeSectorBatches(sectorId: number): void;
16
+ private processGeometries;
17
+ private updateInstanceAttributes;
18
+ private extendUpdateRange;
19
+ private reallocateBufferGeometry;
20
+ private createSectorBatch;
21
+ private createInstanceMeshGeometry;
22
+ private getInstanceAttributesSharedView;
23
+ private getTreeIndexAttribute;
24
+ private removeTreeIndicesFromMeshUserData;
25
+ private createDefragmentedBufferGeometry;
26
+ private createInstanceMesh;
27
+ private getAttributes;
28
+ private copyGeometryWithBufferAttributes;
29
+ private getShaderMaterial;
30
+ }
@@ -1,20 +1,20 @@
1
- /*!
2
- * Copyright 2021 Cognite AS
3
- */
4
- import * as THREE from 'three';
5
- import { InstancedMeshFile } from '../../cad-parsers';
6
- import { CadMaterialManager } from './CadMaterialManager';
7
- export declare class InstancedMeshManager {
8
- private readonly _instancedGeometryMap;
9
- private readonly _instancedAttributeMap;
10
- private readonly _processedSectorMap;
11
- private readonly _instancedMeshGroup;
12
- private readonly _materialManager;
13
- constructor(instancedMeshGroup: THREE.Group, materialManager: CadMaterialManager);
14
- addInstanceMeshes(meshFile: InstancedMeshFile, modelIdentifier: string, sectorId: number): void;
15
- removeSectorInstancedMeshes(sectorId: number): void;
16
- private createInstancedBufferGeometry;
17
- private recreateBufferGeometry;
18
- private createInstance;
19
- private addBatchDescriptor;
20
- }
1
+ /*!
2
+ * Copyright 2021 Cognite AS
3
+ */
4
+ import * as THREE from 'three';
5
+ import { InstancedMeshFile } from '../../cad-parsers';
6
+ import { CadMaterialManager } from './CadMaterialManager';
7
+ export declare class InstancedMeshManager {
8
+ private readonly _instancedGeometryMap;
9
+ private readonly _instancedAttributeMap;
10
+ private readonly _processedSectorMap;
11
+ private readonly _instancedMeshGroup;
12
+ private readonly _materialManager;
13
+ constructor(instancedMeshGroup: THREE.Group, materialManager: CadMaterialManager);
14
+ addInstanceMeshes(meshFile: InstancedMeshFile, modelIdentifier: string, sectorId: number): void;
15
+ removeSectorInstancedMeshes(sectorId: number): void;
16
+ private createInstancedBufferGeometry;
17
+ private recreateBufferGeometry;
18
+ private createInstance;
19
+ private addBatchDescriptor;
20
+ }
@@ -1,99 +1,99 @@
1
- /*!
2
- * Copyright 2021 Cognite AS
3
- */
4
- import * as THREE from 'three';
5
- import { CadMaterialManager } from '../CadMaterialManager';
6
- import { RenderOptions } from './types';
7
- export declare class EffectRenderManager {
8
- private readonly _materialManager;
9
- private readonly _orthographicCamera;
10
- private readonly _originalScene;
11
- private readonly _compositionScene;
12
- private readonly _fxaaScene;
13
- private readonly _ssaoScene;
14
- private readonly _ssaoBlurCombineScene;
15
- private readonly _cadScene;
16
- private readonly _normalScene;
17
- private readonly _inFrontScene;
18
- private readonly _emptyScene;
19
- private readonly _normalSceneBuilder;
20
- private readonly _inFrontSceneBuilder;
21
- private _renderOptions;
22
- private readonly _combineOutlineDetectionMaterial;
23
- private readonly _fxaaMaterial;
24
- private _ssaoMaterial;
25
- private readonly _ssaoBlurCombineMaterial;
26
- private readonly _customObjectRenderTarget;
27
- private readonly _ghostObjectRenderTarget;
28
- private readonly _normalRenderedCadModelTarget;
29
- private readonly _inFrontRenderedCadModelTarget;
30
- private readonly _compositionTarget;
31
- private readonly _ssaoTarget;
32
- private readonly _ssaoBlurCombineTarget;
33
- /**
34
- * Holds state of how the last frame was rendered by `render()`. This is used to explicit clear
35
- * WebGL2 render targets which might cause geometry to "get stuck" after e.g. removing models.
36
- */
37
- private _lastFrameSceneState;
38
- private readonly _rootSectorNodeBuffer;
39
- private readonly _outlineTexelSize;
40
- private readonly _renderer;
41
- private _renderTarget;
42
- private _autoSetTargetSize;
43
- private _debugRenderTimings;
44
- private _uiObjects;
45
- set renderOptions(options: RenderOptions);
46
- set debugRenderTimings(logTimings: boolean);
47
- get debugRenderTimings(): boolean;
48
- addUiObject(object: THREE.Object3D, screenPos: THREE.Vector2, size: THREE.Vector2): void;
49
- removeUiObject(object: THREE.Object3D): void;
50
- private ssaoParameters;
51
- private get antiAliasingMode();
52
- private get multiSampleCountHint();
53
- constructor(renderer: THREE.WebGLRenderer, scene: THREE.Scene, materialManager: CadMaterialManager, options: RenderOptions);
54
- private supportsSsao;
55
- renderDetailedToDepthOnly(camera: THREE.PerspectiveCamera): void;
56
- render(camera: THREE.PerspectiveCamera): void;
57
- private restoreCadNodes;
58
- private extractCadNodes;
59
- setRenderTarget(target: THREE.WebGLRenderTarget | null): void;
60
- getRenderTarget(): THREE.WebGLRenderTarget | null;
61
- setRenderTargetAutoSize(autoSize: boolean): void;
62
- getRenderTargetAutoSize(): boolean;
63
- private clearTarget;
64
- private explicitFlushRender;
65
- private splitToScenes;
66
- private renderNormalCadModels;
67
- private renderNormalCadModelsFromBaseScene;
68
- private renderInFrontCadModels;
69
- private renderGhostedCadModelsFromBaseScene;
70
- private renderCustomObjects;
71
- private updateRenderSize;
72
- private renderComposition;
73
- private setSsaoParameters;
74
- private renderPostProcessStep;
75
- private renderSsao;
76
- private renderStep;
77
- private readonly _deepFlushRendererArgs;
78
- private deepFlushRenderer;
79
- private createOutlineColorTexture;
80
- private setupCompositionScene;
81
- private setupFxaaScene;
82
- private setupSsaoScene;
83
- private setupSsaoBlurCombineScene;
84
- private createKernel;
85
- private createRenderTriangle;
86
- private traverseForRootSectorNode;
87
- private setVisibilityOfSectors;
88
- /**
89
- * Assign SpectorJS metadata containing names for the render targets when running Reveal
90
- * in development mode.
91
- */
92
- private setupRenderTargetSpectorDebugging;
93
- /**
94
- * Assigns SpectorJS metadata to the current framebuffer (render target).
95
- * This is useful to assign e.g. names to framebuffers to easy debugging in SpectorJS. The metadata
96
- * will be visible in 'bindFramebuffer'-commands in the SpectorJS report.
97
- */
98
- private assignSpectorJsMetadataToRenderTarget;
99
- }
1
+ /*!
2
+ * Copyright 2021 Cognite AS
3
+ */
4
+ import * as THREE from 'three';
5
+ import { CadMaterialManager } from '../CadMaterialManager';
6
+ import { RenderOptions } from './types';
7
+ export declare class EffectRenderManager {
8
+ private readonly _materialManager;
9
+ private readonly _orthographicCamera;
10
+ private readonly _originalScene;
11
+ private readonly _compositionScene;
12
+ private readonly _fxaaScene;
13
+ private readonly _ssaoScene;
14
+ private readonly _ssaoBlurCombineScene;
15
+ private readonly _cadScene;
16
+ private readonly _normalScene;
17
+ private readonly _inFrontScene;
18
+ private readonly _emptyScene;
19
+ private readonly _normalSceneBuilder;
20
+ private readonly _inFrontSceneBuilder;
21
+ private _renderOptions;
22
+ private readonly _combineOutlineDetectionMaterial;
23
+ private readonly _fxaaMaterial;
24
+ private _ssaoMaterial;
25
+ private readonly _ssaoBlurCombineMaterial;
26
+ private readonly _customObjectRenderTarget;
27
+ private readonly _ghostObjectRenderTarget;
28
+ private readonly _normalRenderedCadModelTarget;
29
+ private readonly _inFrontRenderedCadModelTarget;
30
+ private readonly _compositionTarget;
31
+ private readonly _ssaoTarget;
32
+ private readonly _ssaoBlurCombineTarget;
33
+ /**
34
+ * Holds state of how the last frame was rendered by `render()`. This is used to explicit clear
35
+ * WebGL2 render targets which might cause geometry to "get stuck" after e.g. removing models.
36
+ */
37
+ private _lastFrameSceneState;
38
+ private readonly _rootSectorNodeBuffer;
39
+ private readonly _outlineTexelSize;
40
+ private readonly _renderer;
41
+ private _renderTarget;
42
+ private _autoSetTargetSize;
43
+ private _debugRenderTimings;
44
+ private _uiObjects;
45
+ set renderOptions(options: RenderOptions);
46
+ set debugRenderTimings(logTimings: boolean);
47
+ get debugRenderTimings(): boolean;
48
+ addUiObject(object: THREE.Object3D, screenPos: THREE.Vector2, size: THREE.Vector2): void;
49
+ removeUiObject(object: THREE.Object3D): void;
50
+ private ssaoParameters;
51
+ private get antiAliasingMode();
52
+ private get multiSampleCountHint();
53
+ constructor(renderer: THREE.WebGLRenderer, scene: THREE.Scene, materialManager: CadMaterialManager, options: RenderOptions);
54
+ private supportsSsao;
55
+ renderDetailedToDepthOnly(camera: THREE.PerspectiveCamera): void;
56
+ render(camera: THREE.PerspectiveCamera): void;
57
+ private restoreCadNodes;
58
+ private extractCadNodes;
59
+ setRenderTarget(target: THREE.WebGLRenderTarget | null): void;
60
+ getRenderTarget(): THREE.WebGLRenderTarget | null;
61
+ setRenderTargetAutoSize(autoSize: boolean): void;
62
+ getRenderTargetAutoSize(): boolean;
63
+ private clearTarget;
64
+ private explicitFlushRender;
65
+ private splitToScenes;
66
+ private renderNormalCadModels;
67
+ private renderNormalCadModelsFromBaseScene;
68
+ private renderInFrontCadModels;
69
+ private renderGhostedCadModelsFromBaseScene;
70
+ private renderCustomObjects;
71
+ private updateRenderSize;
72
+ private renderComposition;
73
+ private setSsaoParameters;
74
+ private renderPostProcessStep;
75
+ private renderSsao;
76
+ private renderStep;
77
+ private readonly _deepFlushRendererArgs;
78
+ private deepFlushRenderer;
79
+ private createOutlineColorTexture;
80
+ private setupCompositionScene;
81
+ private setupFxaaScene;
82
+ private setupSsaoScene;
83
+ private setupSsaoBlurCombineScene;
84
+ private createKernel;
85
+ private createRenderTriangle;
86
+ private traverseForRootSectorNode;
87
+ private setVisibilityOfSectors;
88
+ /**
89
+ * Assign SpectorJS metadata containing names for the render targets when running Reveal
90
+ * in development mode.
91
+ */
92
+ private setupRenderTargetSpectorDebugging;
93
+ /**
94
+ * Assigns SpectorJS metadata to the current framebuffer (render target).
95
+ * This is useful to assign e.g. names to framebuffers to easy debugging in SpectorJS. The metadata
96
+ * will be visible in 'bindFramebuffer'-commands in the SpectorJS report.
97
+ */
98
+ private assignSpectorJsMetadataToRenderTarget;
99
+ }