@cognite/reveal 2.1.2 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (211) hide show
  1. package/core/cad.d.ts +4 -5
  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 -43
  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 -10
  10. package/core/src/datamodels/cad/picking.d.ts +28 -28
  11. package/core/src/datamodels/cad/rendering/RenderAlreadyLoadedGeometryProvider.d.ts +10 -9
  12. package/core/src/datamodels/cad/sector/CadModelClipper.d.ts +10 -10
  13. package/core/src/datamodels/cad/styling/AssetNodeCollection.d.ts +39 -39
  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 +61 -61
  18. package/core/src/datamodels/cad/styling/SinglePropertyFilterNodeCollection.d.ts +60 -60
  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 -25
  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 -8
  28. package/core/src/datamodels/pointcloud/index.d.ts +5 -0
  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 -0
  33. package/core/src/migration.d.ts +8 -8
  34. package/core/src/public/RevealManager.d.ts +64 -61
  35. package/core/src/public/createRevealManager.d.ts +23 -24
  36. package/core/src/public/migration/Cognite3DModel.d.ts +339 -323
  37. package/core/src/public/migration/Cognite3DViewer.d.ts +555 -545
  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 +266 -240
  44. package/core/src/public/types.d.ts +46 -45
  45. package/core/src/{public/migration → 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 -28
  48. package/core/src/utilities/ViewStateHelper.d.ts +33 -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 -31
  53. package/core/utilities.d.ts +4 -4
  54. package/extensions/datasource.d.ts +9 -0
  55. package/extensions/datasource.js +33 -0
  56. package/extensions/datasource.map +1 -0
  57. package/index.d.ts +8 -8
  58. package/index.js +142 -130
  59. package/index.map +1 -1
  60. package/package.json +1 -1
  61. package/packages/cad-geometry-loaders/index.d.ts +14 -20
  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 -19
  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 +5 -5
  82. package/packages/cad-geometry-loaders/src/utilities/types.d.ts +25 -48
  83. package/packages/cad-parsers/index.d.ts +21 -20
  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-geometry-loaders/src/material-manager/rendering → 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-geometry-loaders/src/material-manager/rendering → 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 -6
  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-geometry-loaders → cad-parsers}/src/sector/RootSectorNode.d.ts +12 -12
  98. package/packages/{cad-geometry-loaders → 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 +12 -12
  101. package/packages/cad-parsers/src/{cad → utilities}/computeBoundingBoxFromAttributes.d.ts +9 -9
  102. package/packages/{cad-geometry-loaders → 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 +29 -29
  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 +4 -4
  113. package/packages/camera-manager/src/ComboControls.d.ts +84 -83
  114. package/packages/camera-manager/src/Keyboard.d.ts +14 -14
  115. package/packages/data-source/index.d.ts +6 -0
  116. package/packages/data-source/src/CdfDataSource.d.ts +19 -0
  117. package/packages/data-source/src/DataSource.d.ts +26 -0
  118. package/packages/data-source/src/LocalDataSource.d.ts +15 -0
  119. package/packages/logger/index.d.ts +5 -5
  120. package/packages/logger/src/Log.d.ts +5 -5
  121. package/packages/metrics/index.d.ts +5 -0
  122. package/packages/metrics/src/MetricsLogger.d.ts +21 -0
  123. package/packages/metrics/src/types.d.ts +7 -0
  124. package/packages/modeldata-api/index.d.ts +13 -8
  125. package/packages/modeldata-api/src/{CdfModelDataClient.d.ts → CdfModelDataProvider.d.ts} +15 -17
  126. package/packages/modeldata-api/src/CdfModelIdentifier.d.ts +17 -0
  127. package/packages/modeldata-api/src/CdfModelMetadataProvider.d.ts +19 -36
  128. package/packages/modeldata-api/src/CdfModelOutputsProvider.d.ts +15 -0
  129. package/packages/modeldata-api/src/{LocalModelDataClient.d.ts → LocalModelDataProvider.d.ts} +9 -10
  130. package/packages/modeldata-api/src/LocalModelIdentifier.d.ts +14 -0
  131. package/packages/modeldata-api/src/LocalModelMetadataProvider.d.ts +14 -19
  132. package/packages/modeldata-api/src/Model3DOutputList.d.ts +17 -17
  133. package/packages/modeldata-api/src/ModelIdentifier.d.ts +12 -0
  134. package/packages/modeldata-api/src/ModelMetadataProvider.d.ts +17 -0
  135. package/packages/modeldata-api/src/applyDefaultModelTransformation.d.ts +6 -6
  136. package/packages/modeldata-api/src/types.d.ts +41 -55
  137. package/packages/modeldata-api/src/utilities.d.ts +7 -7
  138. package/packages/nodes-api/index.d.ts +6 -7
  139. package/packages/nodes-api/src/NodesApiClient.d.ts +52 -43
  140. package/packages/nodes-api/src/NodesCdfClient.d.ts +24 -19
  141. package/packages/nodes-api/src/NodesLocalClient.d.ts +30 -25
  142. package/packages/nodes-api/src/types.d.ts +10 -14
  143. package/packages/rendering/index.d.ts +17 -0
  144. package/packages/{cad-geometry-loaders/src/material-manager → rendering/src}/CadMaterialManager.d.ts +37 -37
  145. package/packages/{cad-geometry-loaders → rendering}/src/InstancedMeshManager.d.ts +20 -20
  146. package/packages/{cad-geometry-loaders → rendering}/src/cameraconfig.d.ts +12 -12
  147. package/packages/{cad-geometry-loaders/src/material-manager → rendering/src}/rendering/EffectRenderManager.d.ts +99 -83
  148. package/packages/{cad-geometry-loaders/src/material-manager/styling → rendering/src/rendering}/NodeAppearanceTextureBuilder.d.ts +51 -50
  149. package/packages/{cad-parsers/src/cad → rendering/src/rendering}/RenderMode.d.ts +15 -15
  150. package/packages/{cad-geometry-loaders/src/material-manager → rendering/src}/rendering/createSimpleGeometryMesh.d.ts +6 -6
  151. package/packages/{cad-parsers/src/cad → rendering/src/rendering}/matCapTextureData.d.ts +5 -5
  152. package/packages/{cad-parsers/src/cad → rendering/src/rendering}/materials.d.ts +23 -23
  153. package/packages/{cad-parsers/src/cad → rendering/src/rendering}/primitives.d.ts +12 -12
  154. package/packages/{cad-parsers/src/cad → rendering/src/rendering}/shaders.d.ts +101 -101
  155. package/packages/{cad-geometry-loaders/src/material-manager → rendering/src}/rendering/types.d.ts +76 -76
  156. package/packages/{cad-geometry-loaders/src → rendering/src/sector}/CadNode.d.ts +54 -54
  157. package/packages/{cad-geometry-loaders/src/material-manager/styling → rendering/src/transform}/NodeTransformProvider.d.ts +13 -13
  158. package/packages/{cad-geometry-loaders/src/material-manager/styling → rendering/src/transform}/NodeTransformTextureBuilder.d.ts +23 -23
  159. package/packages/{cad-geometry-loaders/src/material-manager/styling → rendering/src/transform}/TransformOverrideBuffer.d.ts +21 -21
  160. package/packages/rendering/src/utilities/types.d.ts +26 -0
  161. package/packages/tools/index.d.ts +15 -12
  162. package/packages/tools/src/AxisView/AxisViewTool.d.ts +32 -32
  163. package/packages/tools/src/AxisView/types.d.ts +98 -98
  164. package/packages/tools/src/Cognite3DViewerToolBase.d.ts +25 -25
  165. package/packages/tools/src/DebugCameraTool.d.ts +20 -20
  166. package/packages/tools/src/DebugLoadedSectorsTool.d.ts +23 -23
  167. package/packages/tools/src/ExplodedViewTool.d.ts +12 -12
  168. package/packages/tools/src/Geomap/Geomap.d.ts +14 -14
  169. package/packages/tools/src/Geomap/GeomapTool.d.ts +21 -21
  170. package/packages/tools/src/Geomap/MapConfig.d.ts +195 -195
  171. package/packages/tools/src/HtmlOverlay/BucketGrid2D.d.ts +28 -0
  172. package/packages/tools/src/HtmlOverlay/HtmlOverlayTool.d.ts +159 -0
  173. package/packages/tools/src/Timeline/Keyframe.d.ts +38 -0
  174. package/packages/tools/src/Timeline/TimelineTool.d.ts +79 -0
  175. package/packages/tools/src/Timeline/types.d.ts +13 -0
  176. package/packages/tools/src/types.d.ts +4 -4
  177. package/packages/utilities/index.d.ts +24 -24
  178. package/packages/utilities/src/CameraConfiguration.d.ts +10 -10
  179. package/packages/utilities/src/IndexSet.d.ts +1 -1
  180. package/packages/utilities/src/NumericRange.d.ts +21 -21
  181. package/packages/utilities/src/RandomColors.d.ts +34 -0
  182. package/packages/utilities/src/WebGLRendererStateHelper.d.ts +15 -15
  183. package/packages/utilities/src/assertNever.d.ts +7 -7
  184. package/packages/utilities/src/cache/MemoryRequestCache.d.ts +22 -22
  185. package/packages/utilities/src/cache/MostFrequentlyUsedCache.d.ts +19 -19
  186. package/packages/utilities/src/cache/RequestCache.d.ts +13 -13
  187. package/packages/utilities/src/datastructures/DynamicDefragmentedBuffer.d.ts +22 -22
  188. package/packages/utilities/src/determinePowerOfTwoDimensions.d.ts +11 -11
  189. package/packages/utilities/src/disposeAttributeArrayOnUpload.d.ts +17 -17
  190. package/packages/utilities/src/events/EventTrigger.d.ts +13 -13
  191. package/packages/utilities/src/events/clickOrTouchEventOffset.d.ts +13 -13
  192. package/packages/utilities/src/events/index.d.ts +5 -5
  193. package/packages/utilities/src/indexset/IndexSet.d.ts +26 -26
  194. package/packages/utilities/src/indexset/IntermediateIndexNode.d.ts +26 -26
  195. package/packages/utilities/src/indexset/LeafIndexNode.d.ts +16 -16
  196. package/packages/utilities/src/isMobileOrTablet.d.ts +4 -4
  197. package/packages/utilities/src/networking/isTheSameDomain.d.ts +11 -11
  198. package/packages/utilities/src/objectTraversal.d.ts +8 -8
  199. package/packages/utilities/src/packFloat.d.ts +6 -6
  200. package/packages/utilities/src/revealEnv.d.ts +10 -10
  201. package/packages/utilities/src/three/AutoDisposeGroup.d.ts +17 -17
  202. package/packages/utilities/src/three/BoundingBoxLOD.d.ts +27 -27
  203. package/packages/utilities/src/three/getBox3CornerPoints.d.ts +5 -5
  204. package/packages/utilities/src/transformCameraConfiguration.d.ts +6 -6
  205. package/packages/utilities/src/types.d.ts +10 -10
  206. package/packages/utilities/src/workers/WorkerPool.d.ts +14 -14
  207. package/tools.d.ts +7 -7
  208. package/tools.js +70 -123
  209. package/tools.map +1 -1
  210. package/packages/tools/src/HtmlOverlayTool.d.ts +0 -88
  211. package/packages/utilities/src/metrics.d.ts +0 -15
@@ -1,240 +1,266 @@
1
- /*!
2
- * Copyright 2021 Cognite AS
3
- */
4
- import { CogniteClient } from '@cognite/sdk';
5
- import { Cognite3DModel } from './Cognite3DModel';
6
- import { CognitePointCloudModel } from './CognitePointCloudModel';
7
- /**
8
- * @module @cognite/reveal
9
- */
10
- export declare type Color = {
11
- r: number;
12
- g: number;
13
- b: number;
14
- };
15
- /**
16
- * Units supported by {@link Cognite3DModel}.
17
- */
18
- export declare type WellKnownUnit = 'Meters' | 'Centimeters' | 'Millimeters' | 'Micrometers' | 'Kilometers' | 'Feet' | 'Inches' | 'Yards' | 'Miles' | 'Mils' | 'Microinches';
19
- /**
20
- * Callback to monitor loaded requests and progress.
21
- * Use OnLoadingCallback instead of onProgress/onComplete.
22
- * @module @cognite/reveal
23
- *
24
- * @param itemsLoaded Number of items loaded so far in this batch.
25
- * @param itemsRequested Total number of items to load in this batch.
26
- * @param itemsCulled Number of items deemed unnecessary to load in this batch.
27
- */
28
- export declare type OnLoadingCallback = (itemsLoaded: number, itemsRequested: number, itemsCulled: number) => void;
29
- /**
30
- * @module @cognite/reveal
31
- */
32
- export interface Cognite3DViewerOptions {
33
- /** Initialized connection to CDF used to load data. */
34
- sdk: CogniteClient;
35
- /** An existing DOM element that we will render canvas into. */
36
- domElement?: HTMLElement;
37
- /** Send anonymous usage statistics. */
38
- logMetrics?: boolean;
39
- /**
40
- * Render to offscreen buffer instead of canvas.
41
- */
42
- renderTargetOptions?: {
43
- target: THREE.WebGLRenderTarget;
44
- autoSetSize?: boolean;
45
- };
46
- /**
47
- * When false, camera near and far planes will not be updated automatically (defaults to true).
48
- * This can be useful when you have custom content in the 3D view and need to better
49
- * control the view frustum.
50
- *
51
- * When automatic camera near/far planes are disabled, you are responsible for setting
52
- * this on your own.
53
- * @example
54
- * ```
55
- * viewer.camera.near = 0.1;
56
- * viewer.camera.far = 1000.0;
57
- * viewer.camera.updateProjectionMatrix();
58
- * ```
59
- */
60
- automaticCameraNearFar?: boolean;
61
- /**
62
- * When false, the sensitivity of the camera controls will not be updated automatically.
63
- * This can be useful to better control the sensitivity of the 3D navigation.
64
- *
65
- * When not set, control the sensitivity of the camera using `viewer.cameraControls.minDistance`
66
- * and `viewer.cameraControls.maxDistance`.
67
- */
68
- automaticControlsSensitivity?: boolean;
69
- /** Renderer used to visualize model (optional). */
70
- renderer?: THREE.WebGLRenderer;
71
- /**
72
- * Hints Reveal to use a given anti-aliasing technique.
73
- *
74
- * Fast approximate anti-aliasing (FXAA) is a fast technique that will remove some, but not all aliasing effects. See
75
- * https://en.wikipedia.org/wiki/Fast_approximate_anti-aliasing.
76
- *
77
- * Multi-sampling anti-aliasinbg (MSAA) is a technique for taking multiple samples per pixel to avoid aliasing effects.
78
- * This mode requires WebGL 2. See https://www.khronos.org/opengl/wiki/Multisampling.
79
- *
80
- * The combined modes will apply both MSAA and FXAA anti-aliasing and yields the best visual result.
81
- *
82
- * When using the MSAA modes combined with FXAA Reveal will fall back to FXAA on WebGL 1. There is no fallback for the
83
- * "plain" MSAA modes on WebGL 1.
84
- *
85
- * Currently the default mode is FXAA, but this is subject to change.
86
- */
87
- antiAliasingHint?: 'disabled' | 'fxaa' | 'msaa2+fxaa' | 'msaa4+fxaa' | 'msaa8+fxaa' | 'msaa16+fxaa' | 'msaa2' | 'msaa4' | 'msaa8' | 'msaa16';
88
- /**
89
- * Hints the renderer of the quality it should aim for for screen space ambient occlusion,
90
- * an effect creating shadows and that gives the rendered image more depth.
91
- */
92
- ssaoQualityHint?: 'medium' | 'high' | 'veryhigh' | 'disabled';
93
- /**
94
- * Enables / disables visualizing the edges of geometry. Defaults to true.
95
- */
96
- enableEdges?: boolean;
97
- /** Callback to download stream progress. */
98
- onLoading?: OnLoadingCallback;
99
- }
100
- import { GeometryFilter } from '../../public/types';
101
- export { GeometryFilter };
102
- /**
103
- * @module @cognite/reveal
104
- */
105
- export interface AddModelOptions {
106
- modelId: number;
107
- revisionId: number;
108
- localPath?: string;
109
- geometryFilter?: GeometryFilter;
110
- }
111
- export declare type CadIntersection = {
112
- /**
113
- * The intersection type.
114
- */
115
- type: 'cad';
116
- /**
117
- * The model that was intersected.
118
- */
119
- model: Cognite3DModel;
120
- /**
121
- * Coordinate of the intersection.
122
- */
123
- point: THREE.Vector3;
124
- /**
125
- * Tree index of the intersected 3D node.
126
- */
127
- treeIndex: number;
128
- /**
129
- * Distance from the camera to the intersection.
130
- */
131
- distanceToCamera: number;
132
- };
133
- export declare type PointCloudIntersection = {
134
- /**
135
- * The intersection type.
136
- */
137
- type: 'pointcloud';
138
- /**
139
- * The model that was intersected.
140
- */
141
- model: CognitePointCloudModel;
142
- /**
143
- * Tree index of the intersected 3D node.
144
- */
145
- point: THREE.Vector3;
146
- /**
147
- * The index of the point that was intersected.
148
- */
149
- pointIndex: number;
150
- /**
151
- * Distance from the camera to the intersection.
152
- */
153
- distanceToCamera: number;
154
- };
155
- /**
156
- * Represents the result from {@link Cognite3DViewer.getIntersectionFromPixel}.
157
- * @module @cognite/reveal
158
- */
159
- export declare type Intersection = CadIntersection | PointCloudIntersection;
160
- /**
161
- * @module @cognite/reveal
162
- */
163
- export { CameraConfiguration } from '../../../../packages/utilities';
164
- /**
165
- * Delegate for pointer events.
166
- * @module @cognite/reveal
167
- * @see {@link Cognite3DViewer.on}.
168
- */
169
- export declare type PointerEventDelegate = (event: {
170
- offsetX: number;
171
- offsetY: number;
172
- }) => void;
173
- /**
174
- * Delegate for camera update events.
175
- * @module @cognite/reveal
176
- * @see {@link Cognite3DViewer.on}.
177
- */
178
- export declare type CameraChangeDelegate = (position: THREE.Vector3, target: THREE.Vector3) => void;
179
- /**
180
- * Delegate for disposal events.
181
- */
182
- export declare type DisposedDelegate = () => void;
183
- /**
184
- * Delegate for rendering events.
185
- * @module @cognite/reveal
186
- * @see {@link Cognite3DViewer.on}.
187
- */
188
- export declare type SceneRenderedDelegate = (event: {
189
- frameNumber: number;
190
- renderTime: number;
191
- renderer: THREE.WebGLRenderer;
192
- camera: THREE.PerspectiveCamera;
193
- }) => void;
194
- export * from './NotSupportedInMigrationWrapperError';
195
- export { CogniteModelBase } from './CogniteModelBase';
196
- /**
197
- * Represents a measurement of how much geometry can be loaded.
198
- */
199
- export declare type CadModelBudget = {
200
- /**
201
- * Sectors within this distance from the camera will always be loaded in high details.
202
- */
203
- readonly highDetailProximityThreshold: number;
204
- /**
205
- * Number of bytes of the geometry that must be downloaded.
206
- */
207
- readonly geometryDownloadSizeBytes: number;
208
- /**
209
- * Estimated maximum number of WebGL draw calls to download geometry for. Draw calls
210
- * are very important for the framerate.
211
- */
212
- readonly maximumNumberOfDrawCalls: number;
213
- /**
214
- * Maximum render cost. This number can be thought of as triangle count, although the number
215
- * doesn't match this directly.
216
- */
217
- readonly maximumRenderCost: number;
218
- };
219
- /**
220
- * Represents a budget of how many point from point clouds can be
221
- * loaded at the same time.
222
- */
223
- export declare type PointCloudBudget = {
224
- /**
225
- * Total number of points that can be loaded for all point clouds models
226
- * accumulated.
227
- */
228
- readonly numberOfPoints: number;
229
- };
230
- /**
231
- * Options to control how {@link Cognite3DViewer.getIntersectionFromPixel} behaves.
232
- */
233
- export interface IntersectionFromPixelOptions {
234
- /**
235
- * Threshold (in meters) for how close a point must be an intersection
236
- * ray for it to be considered an intersection for point clouds. Defaults
237
- * to 0.05.
238
- */
239
- pointIntersectionThreshold?: number;
240
- }
1
+ /*!
2
+ * Copyright 2021 Cognite AS
3
+ */
4
+ import { CogniteClient } from '@cognite/sdk';
5
+ import { Cognite3DModel } from './Cognite3DModel';
6
+ import { CognitePointCloudModel } from './CognitePointCloudModel';
7
+ /**
8
+ * @module @cognite/reveal
9
+ */
10
+ export declare type Color = {
11
+ r: number;
12
+ g: number;
13
+ b: number;
14
+ };
15
+ /**
16
+ * Units supported by {@link Cognite3DModel}.
17
+ */
18
+ export declare type WellKnownUnit = 'Meters' | 'Centimeters' | 'Millimeters' | 'Micrometers' | 'Kilometers' | 'Feet' | 'Inches' | 'Yards' | 'Miles' | 'Mils' | 'Microinches';
19
+ /**
20
+ * Callback to monitor loaded requests and progress.
21
+ * Use OnLoadingCallback instead of onProgress/onComplete.
22
+ * @module @cognite/reveal
23
+ *
24
+ * @param itemsLoaded Number of items loaded so far in this batch.
25
+ * @param itemsRequested Total number of items to load in this batch.
26
+ * @param itemsCulled Number of items deemed unnecessary to load in this batch.
27
+ */
28
+ export declare type OnLoadingCallback = (itemsLoaded: number, itemsRequested: number, itemsCulled: number) => void;
29
+ /**
30
+ * @module @cognite/reveal
31
+ */
32
+ export interface Cognite3DViewerOptions {
33
+ /** Initialized connection to CDF used to load data. */
34
+ sdk: CogniteClient;
35
+ /** An existing DOM element that we will render canvas into. */
36
+ domElement?: HTMLElement;
37
+ /** Send anonymous usage statistics. */
38
+ logMetrics?: boolean;
39
+ /**
40
+ * Render to offscreen buffer instead of canvas.
41
+ */
42
+ renderTargetOptions?: {
43
+ target: THREE.WebGLRenderTarget;
44
+ autoSetSize?: boolean;
45
+ };
46
+ /**
47
+ * Style the loading indicator.
48
+ */
49
+ loadingIndicatorStyle?: {
50
+ /**
51
+ * What corner the spinner should be placed in. Defaults top topLeft.
52
+ */
53
+ placement: 'topLeft' | 'topRight' | 'bottomLeft' | 'bottomRight';
54
+ /**
55
+ * Opacity of the spinner in fractions. Valid values are between
56
+ * 0.2 and 1.0. Defaults to 1.0.
57
+ */
58
+ opacity: number;
59
+ };
60
+ /**
61
+ * When false, camera near and far planes will not be updated automatically (defaults to true).
62
+ * This can be useful when you have custom content in the 3D view and need to better
63
+ * control the view frustum.
64
+ *
65
+ * When automatic camera near/far planes are disabled, you are responsible for setting
66
+ * this on your own.
67
+ * @example
68
+ * ```
69
+ * viewer.camera.near = 0.1;
70
+ * viewer.camera.far = 1000.0;
71
+ * viewer.camera.updateProjectionMatrix();
72
+ * ```
73
+ */
74
+ automaticCameraNearFar?: boolean;
75
+ /**
76
+ * When false, the sensitivity of the camera controls will not be updated automatically.
77
+ * This can be useful to better control the sensitivity of the 3D navigation.
78
+ *
79
+ * When not set, control the sensitivity of the camera using `viewer.cameraControls.minDistance`
80
+ * and `viewer.cameraControls.maxDistance`.
81
+ */
82
+ automaticControlsSensitivity?: boolean;
83
+ /** Renderer used to visualize model (optional). */
84
+ renderer?: THREE.WebGLRenderer;
85
+ /**
86
+ * Hints Reveal to use a given anti-aliasing technique.
87
+ *
88
+ * Fast approximate anti-aliasing (FXAA) is a fast technique that will remove some, but not all aliasing effects. See
89
+ * https://en.wikipedia.org/wiki/Fast_approximate_anti-aliasing.
90
+ *
91
+ * Multi-sampling anti-aliasinbg (MSAA) is a technique for taking multiple samples per pixel to avoid aliasing effects.
92
+ * This mode requires WebGL 2. See https://www.khronos.org/opengl/wiki/Multisampling.
93
+ *
94
+ * The combined modes will apply both MSAA and FXAA anti-aliasing and yields the best visual result.
95
+ *
96
+ * When using the MSAA modes combined with FXAA Reveal will fall back to FXAA on WebGL 1. There is no fallback for the
97
+ * "plain" MSAA modes on WebGL 1.
98
+ *
99
+ * Currently the default mode is FXAA, but this is subject to change.
100
+ */
101
+ antiAliasingHint?: 'disabled' | 'fxaa' | 'msaa2+fxaa' | 'msaa4+fxaa' | 'msaa8+fxaa' | 'msaa16+fxaa' | 'msaa2' | 'msaa4' | 'msaa8' | 'msaa16';
102
+ /**
103
+ * Hints the renderer of the quality it should aim for for screen space ambient occlusion,
104
+ * an effect creating shadows and that gives the rendered image more depth.
105
+ */
106
+ ssaoQualityHint?: 'medium' | 'high' | 'veryhigh' | 'disabled';
107
+ /**
108
+ * Enables / disables visualizing the edges of geometry. Defaults to true.
109
+ */
110
+ enableEdges?: boolean;
111
+ /** Callback to download stream progress. */
112
+ onLoading?: OnLoadingCallback;
113
+ /**
114
+ * Allows providing a custom data source that Reveal will
115
+ * use to load model data. Note that some features might not
116
+ * work when implementing a custom data source. Please refer
117
+ * to the Reveal documentation for details.
118
+ *
119
+ * Note that the data source must support {@link CdfModelIdentifier}.
120
+ *
121
+ * This cannot be used together with {@link _localModels}.
122
+ */
123
+ customDataSource?: DataSource;
124
+ }
125
+ import { GeometryFilter } from '../../public/types';
126
+ import { DataSource } from '../../../../packages/data-source';
127
+ export { GeometryFilter };
128
+ /**
129
+ * @module @cognite/reveal
130
+ */
131
+ export interface AddModelOptions {
132
+ modelId: number;
133
+ revisionId: number;
134
+ localPath?: string;
135
+ geometryFilter?: GeometryFilter;
136
+ }
137
+ export declare type CadIntersection = {
138
+ /**
139
+ * The intersection type.
140
+ */
141
+ type: 'cad';
142
+ /**
143
+ * The model that was intersected.
144
+ */
145
+ model: Cognite3DModel;
146
+ /**
147
+ * Coordinate of the intersection.
148
+ */
149
+ point: THREE.Vector3;
150
+ /**
151
+ * Tree index of the intersected 3D node.
152
+ */
153
+ treeIndex: number;
154
+ /**
155
+ * Distance from the camera to the intersection.
156
+ */
157
+ distanceToCamera: number;
158
+ };
159
+ export declare type PointCloudIntersection = {
160
+ /**
161
+ * The intersection type.
162
+ */
163
+ type: 'pointcloud';
164
+ /**
165
+ * The model that was intersected.
166
+ */
167
+ model: CognitePointCloudModel;
168
+ /**
169
+ * Tree index of the intersected 3D node.
170
+ */
171
+ point: THREE.Vector3;
172
+ /**
173
+ * The index of the point that was intersected.
174
+ */
175
+ pointIndex: number;
176
+ /**
177
+ * Distance from the camera to the intersection.
178
+ */
179
+ distanceToCamera: number;
180
+ };
181
+ /**
182
+ * Represents the result from {@link Cognite3DViewer.getIntersectionFromPixel}.
183
+ * @module @cognite/reveal
184
+ */
185
+ export declare type Intersection = CadIntersection | PointCloudIntersection;
186
+ /**
187
+ * @module @cognite/reveal
188
+ */
189
+ export { CameraConfiguration } from '../../../../packages/utilities';
190
+ /**
191
+ * Delegate for pointer events.
192
+ * @module @cognite/reveal
193
+ * @see {@link Cognite3DViewer.on}.
194
+ */
195
+ export declare type PointerEventDelegate = (event: {
196
+ offsetX: number;
197
+ offsetY: number;
198
+ }) => void;
199
+ /**
200
+ * Delegate for camera update events.
201
+ * @module @cognite/reveal
202
+ * @see {@link Cognite3DViewer.on}.
203
+ */
204
+ export declare type CameraChangeDelegate = (position: THREE.Vector3, target: THREE.Vector3) => void;
205
+ /**
206
+ * Delegate for disposal events.
207
+ */
208
+ export declare type DisposedDelegate = () => void;
209
+ /**
210
+ * Delegate for rendering events.
211
+ * @module @cognite/reveal
212
+ * @see {@link Cognite3DViewer.on}.
213
+ */
214
+ export declare type SceneRenderedDelegate = (event: {
215
+ frameNumber: number;
216
+ renderTime: number;
217
+ renderer: THREE.WebGLRenderer;
218
+ camera: THREE.PerspectiveCamera;
219
+ }) => void;
220
+ export * from './NotSupportedInMigrationWrapperError';
221
+ export { CogniteModelBase } from './CogniteModelBase';
222
+ /**
223
+ * Represents a measurement of how much geometry can be loaded.
224
+ */
225
+ export declare type CadModelBudget = {
226
+ /**
227
+ * Sectors within this distance from the camera will always be loaded in high details.
228
+ */
229
+ readonly highDetailProximityThreshold: number;
230
+ /**
231
+ * Number of bytes of the geometry that must be downloaded.
232
+ */
233
+ readonly geometryDownloadSizeBytes: number;
234
+ /**
235
+ * Estimated maximum number of WebGL draw calls to download geometry for. Draw calls
236
+ * are very important for the framerate.
237
+ */
238
+ readonly maximumNumberOfDrawCalls: number;
239
+ /**
240
+ * Maximum render cost. This number can be thought of as triangle count, although the number
241
+ * doesn't match this directly.
242
+ */
243
+ readonly maximumRenderCost: number;
244
+ };
245
+ /**
246
+ * Represents a budget of how many point from point clouds can be
247
+ * loaded at the same time.
248
+ */
249
+ export declare type PointCloudBudget = {
250
+ /**
251
+ * Total number of points that can be loaded for all point clouds models
252
+ * accumulated.
253
+ */
254
+ readonly numberOfPoints: number;
255
+ };
256
+ /**
257
+ * Options to control how {@link Cognite3DViewer.getIntersectionFromPixel} behaves.
258
+ */
259
+ export interface IntersectionFromPixelOptions {
260
+ /**
261
+ * Threshold (in meters) for how close a point must be an intersection
262
+ * ray for it to be considered an intersection for point clouds. Defaults
263
+ * to 0.05.
264
+ */
265
+ pointIntersectionThreshold?: number;
266
+ }
@@ -1,45 +1,46 @@
1
- /*!
2
- * Copyright 2021 Cognite AS
3
- */
4
- import { SectorQuads, RenderOptions, LoadingState, SectorCuller } from '../../../packages/cad-geometry-loaders';
5
- import { SectorGeometry } from '../../../packages/cad-parsers';
6
- /**
7
- * @property logMetrics Might be used to disable usage statistics.
8
- * @property nodeAppearanceProvider Style node by tree-index.
9
- * @property internal Internals are for internal usage only (like unit-testing).
10
- */
11
- export declare type RevealOptions = {
12
- logMetrics?: boolean;
13
- renderOptions?: RenderOptions;
14
- internal?: {
15
- parseCallback?: (parsed: {
16
- lod: string;
17
- data: SectorGeometry | SectorQuads;
18
- }) => void;
19
- sectorCuller?: SectorCuller;
20
- };
21
- };
22
- export interface GeometryFilter {
23
- /**
24
- * The bounds to load geometry within. By default this box is in CDF coordinate space which
25
- * will be transformed into coordinates relative to the model using the the model transformation
26
- * which can be specified using {@link https://docs.cognite.com/api/v1/#operation/update3DRevisions |the CDF API},
27
- * or set in {@link https://fusion.cognite.com/ |Cognite Fusion}.
28
- * @see {@link isBoundingBoxInModelCoordinates}.
29
- */
30
- boundingBox?: THREE.Box3;
31
- /**
32
- * When set, the geometry filter {@link boundingBox} will be considered to be in "Reveal/ThreeJS space".
33
- * Rather than CDF space which is the default. When using Reveal space, the model transformation
34
- * which can be specified using {@link https://docs.cognite.com/api/v1/#operation/update3DRevisions |the CDF API},
35
- * or set in {@link https://fusion.cognite.com/ |Cognite Fusion}.
36
- */
37
- isBoundingBoxInModelCoordinates?: boolean;
38
- }
39
- /**
40
- * Handler for events about data being loaded.
41
- */
42
- export declare type LoadingStateChangeListener = (loadingState: LoadingState) => any;
43
- export * from '../datamodels/pointcloud/types';
44
- export * from './migration/types';
45
- export { SupportedModelTypes } from '../datamodels/base';
1
+ /*!
2
+ * Copyright 2021 Cognite AS
3
+ */
4
+ import { LoadingState, SectorCuller } from '../../../packages/cad-geometry-loaders';
5
+ import { SectorQuads, RenderOptions } from '../../../packages/rendering';
6
+ import { SectorGeometry } from '../../../packages/cad-parsers';
7
+ /**
8
+ * @property logMetrics Might be used to disable usage statistics.
9
+ * @property nodeAppearanceProvider Style node by tree-index.
10
+ * @property internal Internals are for internal usage only (like unit-testing).
11
+ */
12
+ export declare type RevealOptions = {
13
+ logMetrics?: boolean;
14
+ renderOptions?: RenderOptions;
15
+ internal?: {
16
+ parseCallback?: (parsed: {
17
+ lod: string;
18
+ data: SectorGeometry | SectorQuads;
19
+ }) => void;
20
+ sectorCuller?: SectorCuller;
21
+ };
22
+ };
23
+ export interface GeometryFilter {
24
+ /**
25
+ * The bounds to load geometry within. By default this box is in CDF coordinate space which
26
+ * will be transformed into coordinates relative to the model using the the model transformation
27
+ * which can be specified using {@link https://docs.cognite.com/api/v1/#operation/update3DRevisions |the CDF API},
28
+ * or set in {@link https://fusion.cognite.com/ |Cognite Fusion}.
29
+ * @see {@link isBoundingBoxInModelCoordinates}.
30
+ */
31
+ boundingBox?: THREE.Box3;
32
+ /**
33
+ * When set, the geometry filter {@link boundingBox} will be considered to be in "Reveal/ThreeJS space".
34
+ * Rather than CDF space which is the default. When using Reveal space, the model transformation
35
+ * which can be specified using {@link https://docs.cognite.com/api/v1/#operation/update3DRevisions |the CDF API},
36
+ * or set in {@link https://fusion.cognite.com/ |Cognite Fusion}.
37
+ */
38
+ isBoundingBoxInModelCoordinates?: boolean;
39
+ }
40
+ /**
41
+ * Handler for events about data being loaded.
42
+ */
43
+ export declare type LoadingStateChangeListener = (loadingState: LoadingState) => any;
44
+ export * from '../datamodels/pointcloud/types';
45
+ export * from './migration/types';
46
+ export { SupportedModelTypes } from '../datamodels/base';