@cognite/reveal 3.2.0 → 4.0.0-dev.20221025

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 (209) hide show
  1. package/4ecf80bd209836dc884c.worker.js.LICENSE.txt +24 -0
  2. package/README.md +24 -1
  3. package/eptBinaryDecoder.worker.map +1 -1
  4. package/extensions/datasource.d.ts +1 -1
  5. package/extensions/datasource.js +1 -1
  6. package/extensions/datasource.map +1 -1
  7. package/index.d.ts +5 -2
  8. package/index.js +1 -1
  9. package/index.js.LICENSE.txt +8 -0
  10. package/index.map +1 -1
  11. package/package.json +6 -9
  12. package/packages/360-images/index.d.ts +6 -0
  13. package/packages/360-images/src/Image360Entity.d.ts +44 -0
  14. package/packages/360-images/src/Image360EntityFactory.d.ts +13 -0
  15. package/packages/360-images/src/Image360Facade.d.ts +20 -0
  16. package/packages/360-images/src/Image360Icon.d.ts +16 -0
  17. package/packages/api/src/api-helpers/Image360ApiHelper.d.ts +28 -0
  18. package/packages/api/src/public/RevealManager.d.ts +2 -3
  19. package/packages/api/src/public/migration/Cognite3DViewer.d.ts +44 -19
  20. package/packages/api/src/public/migration/types.d.ts +16 -14
  21. package/packages/api/src/public/types.d.ts +2 -1
  22. package/packages/api/src/storage/RevealManagerHelper.d.ts +1 -1
  23. package/packages/cad-geometry-loaders/index.d.ts +0 -1
  24. package/packages/cad-geometry-loaders/src/CadManager.d.ts +2 -2
  25. package/packages/cad-geometry-loaders/src/CadModelUpdateHandler.d.ts +1 -1
  26. package/packages/cad-geometry-loaders/src/InternalRevealCadOptions.d.ts +0 -6
  27. package/packages/cad-geometry-loaders/src/createCadManager.d.ts +3 -3
  28. package/packages/cad-geometry-loaders/src/sector/SectorLoader.d.ts +1 -2
  29. package/packages/cad-geometry-loaders/src/sector/culling/computeSectorCost.d.ts +0 -1
  30. package/packages/cad-geometry-loaders/src/sector/culling/takensectors/index.d.ts +0 -1
  31. package/packages/cad-model/src/CadModelFactory.d.ts +1 -2
  32. package/packages/cad-model/src/wrappers/CadNode.d.ts +2 -9
  33. package/packages/cad-model/src/wrappers/Cognite3DModel.d.ts +2 -2
  34. package/packages/cad-parsers/index.d.ts +2 -7
  35. package/packages/cad-parsers/src/cad/types.d.ts +0 -12
  36. package/packages/cad-parsers/src/metadata/CadModelMetadata.d.ts +1 -1
  37. package/packages/cad-parsers/src/metadata/CadModelMetadataRepository.d.ts +1 -1
  38. package/packages/cad-parsers/src/metadata/types.d.ts +0 -1
  39. package/packages/cad-parsers/src/utilities/computeBoundingBoxFromAttributes.d.ts +5 -1
  40. package/packages/cad-styling/index.d.ts +2 -1
  41. package/packages/cad-styling/src/CdfNodeCollectionBase.d.ts +20 -0
  42. package/packages/cad-styling/src/NodeCollectionDeserializer.d.ts +4 -9
  43. package/packages/cad-styling/src/NodeIdNodeCollection.d.ts +30 -0
  44. package/packages/cad-styling/src/PropertyFilterNodeCollection.d.ts +3 -15
  45. package/packages/cad-styling/src/SinglePropertyFilterNodeCollection.d.ts +2 -14
  46. package/packages/cad-styling/src/TreeIndexNodeCollection.d.ts +2 -0
  47. package/packages/camera-manager/index.d.ts +2 -0
  48. package/packages/camera-manager/src/ComboControls.d.ts +1 -3
  49. package/packages/camera-manager/src/Keyboard.d.ts +2 -1
  50. package/packages/camera-manager/src/ProxyCameraManager.d.ts +25 -0
  51. package/packages/camera-manager/src/StationaryCameraManager.d.ts +27 -0
  52. package/packages/data-providers/index.d.ts +21 -0
  53. package/packages/data-providers/src/Image360Provider.d.ts +6 -0
  54. package/packages/data-providers/src/ModelDataProvider.d.ts +21 -0
  55. package/packages/{modeldata-api → data-providers}/src/ModelIdentifier.d.ts +0 -0
  56. package/packages/{modeldata-api → data-providers}/src/ModelMetadataProvider.d.ts +0 -0
  57. package/packages/data-providers/src/PointCloudStylableObjectProvider.d.ts +8 -0
  58. package/packages/data-providers/src/image-360-data-providers/Cdf360ImageEventProvider.d.ts +16 -0
  59. package/packages/data-providers/src/image-360-data-providers/Local360ImageProvider.d.ts +8 -0
  60. package/packages/{modeldata-api/src → data-providers/src/metadata-providers}/CdfModelMetadataProvider.d.ts +3 -3
  61. package/packages/{modeldata-api/src → data-providers/src/metadata-providers}/LocalModelMetadataProvider.d.ts +3 -3
  62. package/packages/{modeldata-api/src → data-providers/src/model-data-providers}/CdfModelDataProvider.d.ts +1 -1
  63. package/packages/{modeldata-api/src → data-providers/src/model-data-providers}/LocalModelDataProvider.d.ts +1 -1
  64. package/packages/{modeldata-api/src → data-providers/src/model-identifiers}/CdfModelIdentifier.d.ts +1 -1
  65. package/packages/{modeldata-api/src → data-providers/src/model-identifiers}/LocalModelIdentifier.d.ts +1 -1
  66. package/packages/data-providers/src/pointcloud-stylable-object-providers/CdfPointCloudStylableObjectProvider.d.ts +14 -0
  67. package/packages/data-providers/src/pointcloud-stylable-object-providers/DummyPointCloudStylableObjectProvider.d.ts +9 -0
  68. package/packages/data-providers/src/pointcloud-stylable-object-providers/StylableObject.d.ts +12 -0
  69. package/packages/data-providers/src/pointcloud-stylable-object-providers/cdfAnnotationsToObjects.d.ts +5 -0
  70. package/packages/data-providers/src/pointcloud-stylable-object-providers/types.d.ts +19 -0
  71. package/packages/data-providers/src/types.d.ts +44 -0
  72. package/packages/{modeldata-api/src → data-providers/src/utilities}/applyDefaultModelTransformation.d.ts +1 -1
  73. package/packages/{modeldata-api/src/utilities.d.ts → data-providers/src/utilities/fetchWithStatusCheck.d.ts} +0 -2
  74. package/packages/data-source/src/CdfDataSource.d.ts +1 -1
  75. package/packages/data-source/src/DataSource.d.ts +1 -1
  76. package/packages/data-source/src/LocalDataSource.d.ts +1 -1
  77. package/packages/metrics/src/types.d.ts +1 -1
  78. package/packages/model-base/src/MetadataRepository.d.ts +1 -1
  79. package/packages/pointcloud-styling/index.d.ts +7 -0
  80. package/packages/pointcloud-styling/src/AnnotationIdPointCloudObjectCollection.d.ts +13 -0
  81. package/packages/pointcloud-styling/src/PointCloudAppearance.d.ts +10 -0
  82. package/packages/pointcloud-styling/src/PointCloudObjectCollection.d.ts +23 -0
  83. package/packages/pointcloud-styling/src/StyledPointCloudObjectCollection.d.ts +13 -0
  84. package/packages/pointclouds/index.d.ts +4 -1
  85. package/packages/pointclouds/src/CognitePointCloudModel.d.ts +68 -17
  86. package/packages/pointclouds/src/PointCloudFactory.d.ts +9 -4
  87. package/packages/pointclouds/src/PointCloudIntersection.d.ts +4 -0
  88. package/packages/pointclouds/src/PointCloudManager.d.ts +6 -5
  89. package/packages/pointclouds/src/PointCloudMetadata.d.ts +2 -2
  90. package/packages/pointclouds/src/PointCloudMetadataRepository.d.ts +1 -1
  91. package/packages/pointclouds/src/PointCloudNode.d.ts +17 -8
  92. package/packages/pointclouds/src/PointCloudPickingHandler.d.ts +4 -0
  93. package/packages/pointclouds/src/PotreeNodeWrapper.d.ts +28 -15
  94. package/packages/pointclouds/src/PotreePnextLoader.d.ts +1 -1
  95. package/packages/pointclouds/src/classificationsProviders/IPointClassificationsProvider.d.ts +8 -0
  96. package/packages/pointclouds/src/classificationsProviders/LocalPointClassificationsProvider.d.ts +9 -0
  97. package/packages/pointclouds/src/classificationsProviders/UrlPointClassificationsProvider.d.ts +12 -0
  98. package/packages/pointclouds/src/constants.d.ts +5 -0
  99. package/packages/pointclouds/src/createPointCloudManager.d.ts +4 -2
  100. package/packages/pointclouds/src/decomposeStylableObjects.d.ts +5 -0
  101. package/packages/pointclouds/src/potree-three-loader/Potree.d.ts +5 -10
  102. package/packages/pointclouds/src/potree-three-loader/geometry/PointCloudEptGeometry.d.ts +7 -12
  103. package/packages/pointclouds/src/potree-three-loader/geometry/PointCloudEptGeometryNode.d.ts +2 -1
  104. package/packages/pointclouds/src/potree-three-loader/index.d.ts +0 -1
  105. package/packages/pointclouds/src/potree-three-loader/loading/ClassificationInfo.d.ts +15 -0
  106. package/packages/pointclouds/src/potree-three-loader/loading/EptBinaryLoader.d.ts +6 -3
  107. package/packages/pointclouds/src/potree-three-loader/loading/EptJson.d.ts +25 -0
  108. package/packages/pointclouds/src/potree-three-loader/loading/EptLoader.d.ts +2 -2
  109. package/packages/pointclouds/src/potree-three-loader/loading/ILoader.d.ts +1 -1
  110. package/packages/pointclouds/src/potree-three-loader/tree/PointCloudOctree.d.ts +4 -4
  111. package/packages/pointclouds/src/potree-three-loader/tree/PointCloudOctreePickerHelper.d.ts +1 -1
  112. package/packages/pointclouds/src/potree-three-loader/types/IPotree.d.ts +2 -1
  113. package/packages/pointclouds/src/potree-three-loader/utils/createObjectIdMaps.d.ts +6 -0
  114. package/packages/pointclouds/src/potree-three-loader/utils/utils.d.ts +4 -0
  115. package/packages/pointclouds/src/potree-three-loader/workers/assignPointsToObjectsWithWasm.d.ts +5 -0
  116. package/packages/pointclouds/src/potree-three-loader/workers/eptBinaryDecoder.worker.d.ts +7 -18
  117. package/packages/pointclouds/src/potree-three-loader/workers/parseEpt.d.ts +4 -0
  118. package/packages/pointclouds/src/potree-three-loader/workers/types.d.ts +33 -0
  119. package/packages/pointclouds/wasm/index.d.ts +18 -0
  120. package/packages/rendering/index.d.ts +7 -3
  121. package/packages/rendering/src/PointCloudMaterialManager.d.ts +19 -0
  122. package/packages/rendering/src/pointcloud-rendering/PointCloudMaterial.d.ts +121 -0
  123. package/packages/rendering/src/pointcloud-rendering/PointCloudObjectAppearanceTexture.d.ts +30 -0
  124. package/packages/rendering/src/pointcloud-rendering/PointCloudObjectIdMaps.d.ts +7 -0
  125. package/packages/rendering/src/pointcloud-rendering/classification.d.ts +2 -0
  126. package/packages/{pointclouds/src/potree-three-loader/rendering → rendering/src/pointcloud-rendering}/constants.d.ts +7 -5
  127. package/packages/rendering/src/pointcloud-rendering/enums.d.ts +24 -0
  128. package/packages/{pointclouds/src/potree-three-loader/rendering → rendering/src/pointcloud-rendering}/gradients/SpectralGradient.d.ts +0 -0
  129. package/packages/rendering/src/pointcloud-rendering/index.d.ts +8 -0
  130. package/packages/rendering/src/pointcloud-rendering/texture-generation.d.ts +8 -0
  131. package/packages/{pointclouds/src/potree-three-loader/rendering → rendering/src/pointcloud-rendering}/types.d.ts +9 -1
  132. package/packages/rendering/src/render-passes/PointCloudEffectsPass.d.ts +3 -8
  133. package/packages/rendering/src/render-passes/PostProcessingPass.d.ts +1 -0
  134. package/packages/rendering/src/render-passes/types.d.ts +12 -11
  135. package/packages/rendering/src/render-pipeline-providers/DefaultRenderPipelineProvider.d.ts +2 -1
  136. package/packages/rendering/src/render-pipeline-providers/PointCloudRenderPipelineProvider.d.ts +2 -1
  137. package/packages/rendering/src/rendering/shaders.d.ts +4 -0
  138. package/packages/rendering/src/rendering/types.d.ts +0 -1
  139. package/packages/rendering/src/utilities/renderUtilities.d.ts +4 -2
  140. package/packages/sector-loader/index.d.ts +0 -1
  141. package/packages/sector-loader/src/GltfSectorLoader.d.ts +1 -1
  142. package/packages/sector-loader/src/GltfSectorRepository.d.ts +1 -1
  143. package/packages/tools/index.d.ts +0 -3
  144. package/packages/tools/src/Cognite3DViewerToolBase.d.ts +1 -1
  145. package/packages/tools/src/HtmlOverlay/HtmlOverlayTool.d.ts +1 -1
  146. package/packages/tools/src/Measurement/MeasurementTool.d.ts +1 -1
  147. package/packages/utilities/index.d.ts +7 -4
  148. package/packages/utilities/src/SceneHandler.d.ts +6 -6
  149. package/packages/utilities/src/events/types.d.ts +9 -1
  150. package/packages/utilities/src/linalg.d.ts +11 -0
  151. package/packages/utilities/src/shapes/Box.d.ts +12 -0
  152. package/packages/utilities/src/shapes/CompositeShape.d.ts +13 -0
  153. package/packages/utilities/src/shapes/Cylinder.d.ts +14 -0
  154. package/packages/utilities/src/shapes/ISerializableShape.d.ts +11 -0
  155. package/packages/utilities/src/shapes/IShape.d.ts +9 -0
  156. package/packages/utilities/src/shapes/SerializableBox.d.ts +8 -0
  157. package/packages/utilities/src/shapes/SerializableCompositeShape.d.ts +7 -0
  158. package/packages/utilities/src/shapes/SerializableCylinder.d.ts +10 -0
  159. package/packages/utilities/src/shapes/index.d.ts +11 -0
  160. package/packages/utilities/src/three/createDistinctColors.d.ts +5 -0
  161. package/packages/utilities/src/three/fromThreeVector3.d.ts +5 -0
  162. package/packages/utilities/src/workers/workerize-transferable/index.d.ts +7 -0
  163. package/packages/utilities/src/workers/workerize-transferable/message-types.d.ts +4 -0
  164. package/packages/utilities/src/workers/workerize-transferable/on-main.d.ts +13 -0
  165. package/packages/utilities/src/workers/workerize-transferable/on-worker.d.ts +14 -0
  166. package/packages/utilities/src/workers/workerize-transferable/util.d.ts +10 -0
  167. package/packages/utilities/src/worldToViewport.d.ts +4 -0
  168. package/tools.js +1 -1
  169. package/tools.map +1 -1
  170. package/packages/cad-geometry-loaders/src/sector/culling/ByVisibilityGpuSectorCuller.d.ts +0 -51
  171. package/packages/cad-geometry-loaders/src/sector/culling/OrderSectorsByVisibilityCoverage.d.ts +0 -106
  172. package/packages/cad-geometry-loaders/src/sector/culling/RenderAlreadyLoadedGeometryProvider.d.ts +0 -11
  173. package/packages/cad-geometry-loaders/src/sector/culling/createV8SectorCuller.d.ts +0 -7
  174. package/packages/cad-geometry-loaders/src/sector/culling/takensectors/TakenV8SectorMap.d.ts +0 -17
  175. package/packages/cad-geometry-loaders/src/sector/culling/takensectors/TakenV8SectorTree.d.ts +0 -24
  176. package/packages/cad-geometry-loaders/src/utilities/rxOperations.d.ts +0 -6
  177. package/packages/cad-model/src/batching/InstancedMeshManager.d.ts +0 -20
  178. package/packages/cad-parsers/src/cad/CadSectorParser.d.ts +0 -15
  179. package/packages/cad-parsers/src/cad/filterInstanceMesh.d.ts +0 -6
  180. package/packages/cad-parsers/src/cad/filterPrimitivesV8.d.ts +0 -9
  181. package/packages/cad-parsers/src/cad/primitiveGeometries.d.ts +0 -30
  182. package/packages/cad-parsers/src/cad/triangleMeshes.d.ts +0 -6
  183. package/packages/cad-parsers/src/metadata/parsers/CadMetadataParserV8.d.ts +0 -6
  184. package/packages/cad-parsers/src/utilities/float32BufferToMatrix.d.ts +0 -12
  185. package/packages/modeldata-api/index.d.ts +0 -12
  186. package/packages/modeldata-api/src/types.d.ts +0 -43
  187. package/packages/pointclouds/src/createPointClassKey.d.ts +0 -5
  188. package/packages/pointclouds/src/potree-three-loader/rendering/PointCloudMaterial.d.ts +0 -204
  189. package/packages/pointclouds/src/potree-three-loader/rendering/classification.d.ts +0 -2
  190. package/packages/pointclouds/src/potree-three-loader/rendering/clipping.d.ts +0 -12
  191. package/packages/pointclouds/src/potree-three-loader/rendering/enums.d.ts +0 -46
  192. package/packages/pointclouds/src/potree-three-loader/rendering/features.d.ts +0 -6
  193. package/packages/pointclouds/src/potree-three-loader/rendering/index.d.ts +0 -5
  194. package/packages/pointclouds/src/potree-three-loader/rendering/texture-generation.d.ts +0 -5
  195. package/packages/pointclouds/src/potree-three-loader/utils/math.d.ts +0 -1
  196. package/packages/rendering/src/rendering/createSimpleGeometryMesh.d.ts +0 -6
  197. package/packages/rendering/src/rendering/primitives.d.ts +0 -12
  198. package/packages/sector-loader/src/V8SectorRepository.d.ts +0 -26
  199. package/packages/sector-loader/src/v8/SimpleAndDetailedToSector3D.d.ts +0 -20
  200. package/packages/sector-loader/src/v8/arrays.d.ts +0 -5
  201. package/packages/sector-loader/src/v8/groupMeshesByNumber.d.ts +0 -8
  202. package/packages/sector-loader/src/v8/sectorUtilities.d.ts +0 -16
  203. package/packages/tools/src/DebugLoadedSectorsTool.d.ts +0 -23
  204. package/packages/tools/src/Geomap/Geomap.d.ts +0 -17
  205. package/packages/tools/src/Geomap/GeomapTool.d.ts +0 -23
  206. package/packages/tools/src/Geomap/MapConfig.d.ts +0 -195
  207. package/packages/utilities/src/networking/isTheSameDomain.d.ts +0 -11
  208. package/packages/utilities/src/revealEnv.d.ts +0 -10
  209. package/packages/utilities/src/workers/WorkerPool.d.ts +0 -14
@@ -1,51 +0,0 @@
1
- /*!
2
- * Copyright 2021 Cognite AS
3
- */
4
- import * as THREE from 'three';
5
- import { OrderSectorsByVisibilityCoverage } from './OrderSectorsByVisibilityCoverage';
6
- import { SectorCuller } from './SectorCuller';
7
- import { DetermineSectorCostDelegate, DetermineSectorsInput, SectorLoadingSpent } from './types';
8
- import { WantedSector, V8SectorMetadata } from '../../../../cad-parsers';
9
- /**
10
- * Options for creating {@link ByVisibilityGpuSectorCuller}.
11
- */
12
- export declare type ByVisibilityGpuSectorCullerOptions = {
13
- /**
14
- * Renderer used to determine what sector to load.
15
- */
16
- renderer: THREE.WebGLRenderer;
17
- /**
18
- * Optional callback for determining the cost of a sector. The default unit of the cost
19
- * function is bytes downloaded.
20
- */
21
- determineSectorCost?: DetermineSectorCostDelegate<V8SectorMetadata>;
22
- /**
23
- * Use a custom coverage utility to determine how "visible" each sector is.
24
- */
25
- coverageUtil: OrderSectorsByVisibilityCoverage;
26
- /**
27
- * Logging function for debugging.
28
- */
29
- logCallback?: (message?: any, ...optionalParameters: any[]) => void;
30
- };
31
- /**
32
- * SectorCuller that uses the GPU to determine an approximation
33
- * of how "visible" each sector is to get a priority for each sector
34
- * and loads sectors based on priority within a budget.
35
- */
36
- export declare class ByVisibilityGpuSectorCuller implements SectorCuller {
37
- private readonly options;
38
- private readonly takenSectors;
39
- constructor(options: ByVisibilityGpuSectorCullerOptions);
40
- dispose(): void;
41
- determineSectors(input: DetermineSectorsInput): {
42
- wantedSectors: WantedSector[];
43
- spentBudget: SectorLoadingSpent;
44
- };
45
- filterSectorsToLoad(input: DetermineSectorsInput, wantedSectors: WantedSector[]): Promise<WantedSector[]>;
46
- private update;
47
- private addHighDetailsForNearSectors;
48
- private testForClippingOcclusion;
49
- private markSectorsAsDetailed;
50
- private log;
51
- }
@@ -1,106 +0,0 @@
1
- /*!
2
- * Copyright 2021 Cognite AS
3
- */
4
- import * as THREE from 'three';
5
- import { CadModelMetadata, WantedSector } from '../../../../cad-parsers';
6
- import { CadGeometryRenderModePipelineProvider } from '../../../../rendering';
7
- /**
8
- * Options for OrderSectorsByVisibleCoverage.
9
- */
10
- export interface OrderSectorsByVisibleCoverageOptions {
11
- /**
12
- * Renderer used to render coverage.
13
- */
14
- renderer: THREE.WebGLRenderer;
15
- /**
16
- * GeometryDepthRenderPipeline used to initialize the RenderAlreadyLoadedGeometryProvider
17
- */
18
- depthOnlyRenderPipeline: CadGeometryRenderModePipelineProvider;
19
- }
20
- export declare type PrioritizedSectorIdentifier = {
21
- /**
22
- * The CAD model that holds the sector.
23
- */
24
- model: CadModelMetadata;
25
- /**
26
- * Sector ID contained in the model provided.
27
- */
28
- sectorId: number;
29
- /**
30
- * A number between 0 and 1 indicating how 'important' the sector is.
31
- */
32
- priority: number;
33
- };
34
- /**
35
- * Interface for classes that estimates how visible a sector will be on screen.
36
- */
37
- export interface OrderSectorsByVisibilityCoverage {
38
- /**
39
- * Dispose any resources that cannot be garbage collected.
40
- */
41
- dispose(): void;
42
- /**
43
- * Specifies what CAD models to estimate sector visibility for.
44
- * @param models Models to estimate sector visibility for.
45
- */
46
- setModels(models: CadModelMetadata[]): void;
47
- /**
48
- * Specify clipping planes.
49
- * @param planes A list of clip planes or null to disable clipping.
50
- */
51
- setClipping(planes: THREE.Plane[] | null): void;
52
- /**
53
- * Cull a set of sectors potentially being loaded towards already loaded geometry to determine if
54
- * the sector is visible or occluded.
55
- */
56
- cullOccludedSectors(camera: THREE.PerspectiveCamera, sectors: WantedSector[]): WantedSector[];
57
- /**
58
- * Estimates how visible the different sectors for the models added are and returns
59
- * a prioritized list.
60
- * @param camera The current viewpoint.
61
- */
62
- orderSectorsByVisibility(camera: THREE.Camera): PrioritizedSectorIdentifier[];
63
- }
64
- /**
65
- * Estimates sector visibility by rendering their bounds with a pattern confirming to how
66
- * much of the geometry covers of the bounding box.
67
- */
68
- export declare class GpuOrderSectorsByVisibilityCoverage implements OrderSectorsByVisibilityCoverage {
69
- /**
70
- * Factor of how big render target we use for determining visibility of sectors
71
- * compared to the full render size.
72
- */
73
- private static readonly CoverageRenderTargetScalingFactor;
74
- private sectorIdOffset;
75
- private readonly scene;
76
- private readonly _renderer;
77
- private readonly _alreadyLoadedProvider;
78
- private _debugImageElement?;
79
- private readonly renderTarget;
80
- private readonly containers;
81
- private readonly buffers;
82
- private readonly coverageMaterial;
83
- constructor(options: OrderSectorsByVisibleCoverageOptions);
84
- dispose(): void;
85
- get renderer(): THREE.WebGLRenderer;
86
- createDebugCanvas(options?: {
87
- width: number;
88
- height: number;
89
- }): HTMLElement;
90
- setModels(models: CadModelMetadata[]): void;
91
- setClipping(planes: THREE.Plane[] | null): void;
92
- cullOccludedSectors(camera: THREE.PerspectiveCamera, sectors: WantedSector[]): WantedSector[];
93
- orderSectorsByVisibility(camera: THREE.PerspectiveCamera): PrioritizedSectorIdentifier[];
94
- private readonly _ensureBuffersCorrectSizeVars;
95
- private ensureBuffersCorrectSize;
96
- private renderSectors;
97
- private setAllSectorsVisible;
98
- private setSectorsVisibility;
99
- private removeModel;
100
- private deleteSectorsFromBuffers;
101
- private addModel;
102
- private updateModel;
103
- private findSectorContainer;
104
- private unpackSectorVisibility;
105
- private createSectorTreeGeometry;
106
- }
@@ -1,11 +0,0 @@
1
- /*!
2
- * Copyright 2021 Cognite AS
3
- */
4
- import * as THREE from 'three';
5
- import { CadGeometryRenderModePipelineProvider } from '../../../../rendering';
6
- export declare class RenderAlreadyLoadedGeometryProvider {
7
- private readonly _depthOnlyRenderPipeline;
8
- private readonly _basicPipelineExecutor;
9
- constructor(renderer: THREE.WebGLRenderer, depthOnlyRenderPipeline: CadGeometryRenderModePipelineProvider);
10
- renderOccludingGeometry(target: THREE.WebGLRenderTarget | null, camera: THREE.PerspectiveCamera): void;
11
- }
@@ -1,7 +0,0 @@
1
- /*!
2
- * Copyright 2021 Cognite AS
3
- */
4
- import * as THREE from 'three';
5
- import { CadGeometryRenderModePipelineProvider } from '../../../../rendering';
6
- import { SectorCuller } from './SectorCuller';
7
- export declare function createV8SectorCuller(renderer: THREE.WebGLRenderer, depthOnlyRenderPipeline: CadGeometryRenderModePipelineProvider): SectorCuller;
@@ -1,17 +0,0 @@
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 +0,0 @@
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
- }
@@ -1,6 +0,0 @@
1
- /*!
2
- * Copyright 2021 Cognite AS
3
- */
4
- import { Observable, OperatorFunction } from 'rxjs';
5
- export declare function emissionLastMillis(millis: number): OperatorFunction<unknown, boolean>;
6
- export declare function delayedSwitch(millis: number): Observable<boolean>;
@@ -1,20 +0,0 @@
1
- /*!
2
- * Copyright 2021 Cognite AS
3
- */
4
- import * as THREE from 'three';
5
- import { InstancedMeshFile } from '../../../cad-parsers';
6
- import { CadMaterialManager } from '../../../rendering';
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,15 +0,0 @@
1
- /*!
2
- * Copyright 2021 Cognite AS
3
- */
4
- import { WorkerPool } from '../../../utilities';
5
- import { ParseSectorResult, ParseCtmResult, SectorQuads } from '@cognite/reveal-parser-worker';
6
- export declare class CadSectorParser {
7
- private readonly workerPool;
8
- constructor(workerPool?: WorkerPool);
9
- parseI3D(data: Uint8Array): Promise<ParseSectorResult>;
10
- parseF3D(data: Uint8Array): Promise<SectorQuads>;
11
- parseCTM(data: Uint8Array): Promise<ParseCtmResult>;
12
- private parseSimple;
13
- private parseDetailed;
14
- private parseCtm;
15
- }
@@ -1,6 +0,0 @@
1
- /*!
2
- * Copyright 2021 Cognite AS
3
- */
4
- import * as THREE from 'three';
5
- import { InstancedMesh } from './types';
6
- export declare function filterInstanceMesh(vertices: Float32Array, indices: Uint32Array, instanceMesh: InstancedMesh, geometryClipBox: THREE.Box3 | null): InstancedMesh;
@@ -1,9 +0,0 @@
1
- /*!
2
- * Copyright 2021 Cognite AS
3
- */
4
- import * as THREE from 'three';
5
- import { ParsePrimitiveAttribute } from '@cognite/reveal-parser-worker';
6
- export declare function filterPrimitivesOutsideClipBoxByBaseBoundsAndInstanceMatrix(attributesByteValues: Uint8Array, attributes: Map<string, ParsePrimitiveAttribute>, baseBox: THREE.Box3, geometryClipBox: THREE.Box3 | null): Uint8Array;
7
- export declare function filterPrimitivesOutsideClipBoxByCenterAndRadius(attributesByteValues: Uint8Array, attributes: Map<string, ParsePrimitiveAttribute>, geometryClipBox: THREE.Box3 | null, radiusAattributeName?: string, radiusBattributeName?: string): Uint8Array;
8
- export declare function filterPrimitivesOutsideClipBoxByVertices(attributesByteValues: Uint8Array, attributes: Map<string, ParsePrimitiveAttribute>, geometryClipBox: THREE.Box3 | null): Uint8Array;
9
- export declare function filterPrimitivesOutsideClipBoxByEllipse(attributesByteValues: Uint8Array, attributes: Map<string, ParsePrimitiveAttribute>, geometryClipBox: THREE.Box3 | null, radius1AttributeName?: string, radius2AttributeName?: string): Uint8Array;
@@ -1,30 +0,0 @@
1
- /*!
2
- * Copyright 2021 Cognite AS
3
- */
4
- import * as THREE from 'three';
5
- export declare const boxGeometry: {
6
- index: THREE.BufferAttribute | null;
7
- position: THREE.BufferAttribute | THREE.InterleavedBufferAttribute;
8
- }, boxGeometryBoundingBox: THREE.Box3;
9
- export declare const quadGeometry: {
10
- index: THREE.BufferAttribute | null;
11
- position: THREE.BufferAttribute | THREE.InterleavedBufferAttribute;
12
- normal: THREE.BufferAttribute | THREE.InterleavedBufferAttribute;
13
- }, quadGeometryBoundingBox: THREE.Box3;
14
- export declare const trapeziumGeometry: {
15
- index: THREE.BufferAttribute;
16
- position: THREE.BufferAttribute;
17
- }, trapeziumGeometryBoundingBox: THREE.Box3;
18
- export declare const coneGeometry: {
19
- index: THREE.BufferAttribute;
20
- position: THREE.BufferAttribute;
21
- }, coneGeometryBoundingBox: THREE.Box3;
22
- export declare const torusLodGeometries: {
23
- index: THREE.Uint16BufferAttribute;
24
- position: THREE.Float32BufferAttribute;
25
- }[];
26
- export declare const nutGeometry: {
27
- index: THREE.BufferAttribute | null;
28
- position: THREE.BufferAttribute | THREE.InterleavedBufferAttribute;
29
- normal: THREE.BufferAttribute | THREE.InterleavedBufferAttribute;
30
- }, nutGeometryBoundingBox: THREE.Box3;
@@ -1,6 +0,0 @@
1
- /*!
2
- * Copyright 2021 Cognite AS
3
- */
4
- import * as THREE from 'three';
5
- import { TriangleMesh } from './types';
6
- export declare function createTriangleMeshes(triangleMeshes: TriangleMesh[], bounds: THREE.Box3, material: THREE.RawShaderMaterial, geometryClipBox: THREE.Box3 | null): THREE.Mesh[];
@@ -1,6 +0,0 @@
1
- /*!
2
- * Copyright 2021 Cognite AS
3
- */
4
- import { SectorScene } from '../../utilities/types';
5
- import { CadSceneRootMetadata } from './types';
6
- export declare function parseCadMetadataV8(metadata: CadSceneRootMetadata): SectorScene;
@@ -1,12 +0,0 @@
1
- /*!
2
- * Copyright 2021 Cognite AS
3
- */
4
- import * as THREE from 'three';
5
- /**
6
- * Sets the elements of a matrix from a row-major
7
- * matrix stored in a Float32Array.
8
- * @param buffer
9
- * @param indexOffset
10
- * @param outMatrix
11
- */
12
- export declare function float32BufferToMatrix(buffer: Float32Array, indexOffset: number, outMatrix: THREE.Matrix4): THREE.Matrix4;
@@ -1,12 +0,0 @@
1
- /*!
2
- * Copyright 2021 Cognite AS
3
- */
4
- export { CdfModelDataProvider } from './src/CdfModelDataProvider';
5
- export { CdfModelIdentifier } from './src/CdfModelIdentifier';
6
- export { CdfModelMetadataProvider } from './src/CdfModelMetadataProvider';
7
- export { LocalModelDataProvider } from './src/LocalModelDataProvider';
8
- export { LocalModelIdentifier } from './src/LocalModelIdentifier';
9
- export { LocalModelMetadataProvider } from './src/LocalModelMetadataProvider';
10
- export { ModelIdentifier } from './src/ModelIdentifier';
11
- export { ModelMetadataProvider } from './src/ModelMetadataProvider';
12
- export { BinaryFileProvider, File3dFormat, ModelDataProvider, BlobOutputMetadata } from './src/types';
@@ -1,43 +0,0 @@
1
- /*!
2
- * Copyright 2021 Cognite AS
3
- */
4
- export interface JsonFileProvider {
5
- getJsonFile(baseUrl: string, fileName: string): Promise<any>;
6
- }
7
- export interface BinaryFileProvider {
8
- getBinaryFile(baseUrl: string, fileName: string): Promise<ArrayBuffer>;
9
- }
10
- /**
11
- * Provides data for 3D models.
12
- */
13
- export interface ModelDataProvider extends JsonFileProvider, BinaryFileProvider {
14
- /**
15
- * Download and parse a JSON file and return the resulting struct.
16
- * @param baseUrl Base URL of the model.
17
- * @param fileName Filename of JSON file.
18
- */
19
- getJsonFile(baseUrl: string, fileName: string): Promise<any>;
20
- /**
21
- * Downloads a binary blob.
22
- * @param baseUrl Base URL of the model.
23
- * @param fileName Filename of binary file.
24
- */
25
- getBinaryFile(baseUrl: string, fileName: string): Promise<ArrayBuffer>;
26
- }
27
- export declare enum File3dFormat {
28
- EptPointCloud = "ept-pointcloud",
29
- /**
30
- * V8 models only due to bug for version checks in Reveal <3.0
31
- */
32
- RevealCadModel = "reveal-directory",
33
- /**
34
- * Reveal v9 and above (GLTF based output)
35
- */
36
- GltfCadModel = "gltf-directory",
37
- AnyFormat = "all-outputs"
38
- }
39
- export interface BlobOutputMetadata {
40
- blobId: number;
41
- format: File3dFormat | string;
42
- version: number;
43
- }
@@ -1,5 +0,0 @@
1
- /*!
2
- * Copyright 2022 Cognite AS
3
- */
4
- import { WellKnownAsprsPointClassCodes } from './types';
5
- export declare function createPointClassKey(pointClass: number | WellKnownAsprsPointClassCodes): number;
@@ -1,204 +0,0 @@
1
- import { BufferGeometry, Camera, Color, Material, RawShaderMaterial, Scene, Texture, Vector3, Vector4, WebGLRenderer } from 'three';
2
- import { PointCloudOctree } from '../tree/PointCloudOctree';
3
- import { IPointCloudTreeNodeBase } from '../tree/IPointCloudTreeNodeBase';
4
- import { IPointCloudTreeNode } from '../tree/IPointCloudTreeNode';
5
- import { ClipMode, IClipBox } from './clipping';
6
- import { PointCloudMixingMode, PotreePointColorType, PointOpacityType, PotreePointShape, PotreePointSizeType, TreeType } from './enums';
7
- import { IClassification, IUniform } from './types';
8
- export interface IPointCloudMaterialParameters {
9
- size: number;
10
- minSize: number;
11
- maxSize: number;
12
- treeType: TreeType;
13
- }
14
- export interface IPointCloudMaterialUniforms {
15
- bbSize: IUniform<[number, number, number]>;
16
- blendDepthSupplement: IUniform<number>;
17
- blendHardness: IUniform<number>;
18
- classificationLUT: IUniform<Texture>;
19
- clipBoxCount: IUniform<number>;
20
- clipBoxes: IUniform<Float32Array>;
21
- depthMap: IUniform<Texture | null>;
22
- diffuse: IUniform<[number, number, number]>;
23
- fov: IUniform<number>;
24
- gradient: IUniform<Texture>;
25
- heightMax: IUniform<number>;
26
- heightMin: IUniform<number>;
27
- intensityBrightness: IUniform<number>;
28
- intensityContrast: IUniform<number>;
29
- intensityGamma: IUniform<number>;
30
- intensityRange: IUniform<[number, number]>;
31
- isLeafNode: IUniform<boolean>;
32
- level: IUniform<number>;
33
- maxSize: IUniform<number>;
34
- minSize: IUniform<number>;
35
- octreeSize: IUniform<number>;
36
- opacity: IUniform<number>;
37
- pcIndex: IUniform<number>;
38
- rgbBrightness: IUniform<number>;
39
- rgbContrast: IUniform<number>;
40
- rgbGamma: IUniform<number>;
41
- screenHeight: IUniform<number>;
42
- screenWidth: IUniform<number>;
43
- size: IUniform<number>;
44
- spacing: IUniform<number>;
45
- toModel: IUniform<number[]>;
46
- transition: IUniform<number>;
47
- uColor: IUniform<Color>;
48
- visibleNodes: IUniform<Texture>;
49
- vnStart: IUniform<number>;
50
- wClassification: IUniform<number>;
51
- wElevation: IUniform<number>;
52
- wIntensity: IUniform<number>;
53
- wReturnNumber: IUniform<number>;
54
- wRGB: IUniform<number>;
55
- wSourceID: IUniform<number>;
56
- opacityAttenuation: IUniform<number>;
57
- filterByNormalThreshold: IUniform<number>;
58
- highlightedPointCoordinate: IUniform<Vector3>;
59
- highlightedPointColor: IUniform<Vector4>;
60
- enablePointHighlighting: IUniform<boolean>;
61
- highlightedPointScale: IUniform<number>;
62
- normalFilteringMode: IUniform<number>;
63
- backgroundMap: IUniform<Texture | null>;
64
- pointCloudID: IUniform<number>;
65
- pointCloudMixAngle: IUniform<number>;
66
- stripeDistanceX: IUniform<number>;
67
- stripeDistanceY: IUniform<number>;
68
- stripeDivisorX: IUniform<number>;
69
- stripeDivisorY: IUniform<number>;
70
- pointCloudMixingMode: IUniform<number>;
71
- }
72
- export declare class PointCloudMaterial extends RawShaderMaterial {
73
- private static readonly helperVec3;
74
- private static readonly helperVec2;
75
- /**
76
- * Use the drawing buffer size instead of the dom client width and height when passing the screen height and screen width uniforms to the
77
- * shader. This is useful if you have offscreen canvases (which in some browsers return 0 as client width and client height).
78
- */
79
- useDrawingBufferSize: boolean;
80
- lights: boolean;
81
- fog: boolean;
82
- numClipBoxes: number;
83
- clipBoxes: IClipBox[];
84
- visibleNodesTexture: Texture | undefined;
85
- private readonly visibleNodeTextureOffsets;
86
- private readonly _gradient;
87
- private gradientTexture;
88
- private _classification;
89
- private classificationTexture;
90
- uniforms: IPointCloudMaterialUniforms & Record<string, IUniform<any>>;
91
- bbSize: [number, number, number];
92
- depthMap: Texture | undefined;
93
- fov: number;
94
- heightMax: number;
95
- heightMin: number;
96
- intensityBrightness: number;
97
- intensityContrast: number;
98
- intensityGamma: number;
99
- intensityRange: [number, number];
100
- maxSize: number;
101
- minSize: number;
102
- octreeSize: number;
103
- opacity: number;
104
- rgbBrightness: number;
105
- rgbContrast: number;
106
- rgbGamma: number;
107
- screenHeight: number;
108
- screenWidth: number;
109
- size: number;
110
- spacing: number;
111
- transition: number;
112
- color: Color;
113
- weightClassification: number;
114
- weightElevation: number;
115
- weightIntensity: number;
116
- weightReturnNumber: number;
117
- weightRGB: number;
118
- weightSourceID: number;
119
- opacityAttenuation: number;
120
- filterByNormalThreshold: number;
121
- highlightedPointCoordinate: Vector3;
122
- highlightedPointColor: Vector4;
123
- enablePointHighlighting: boolean;
124
- highlightedPointScale: number;
125
- normalFilteringMode: number;
126
- backgroundMap: Texture | undefined;
127
- pointCloudID: number;
128
- pointCloudMixingMode: number;
129
- stripeDistanceX: number;
130
- stripeDistanceY: number;
131
- stripeDivisorX: number;
132
- stripeDivisorY: number;
133
- pointCloudMixAngle: number;
134
- useClipBox: boolean;
135
- weighted: boolean;
136
- hqDepthPass: boolean;
137
- pointColorType: PotreePointColorType;
138
- pointSizeType: PotreePointSizeType;
139
- clipMode: ClipMode;
140
- useEDL: boolean;
141
- shape: PotreePointShape;
142
- treeType: TreeType;
143
- pointOpacityType: PointOpacityType;
144
- useFilterByNormal: boolean;
145
- useTextureBlending: boolean;
146
- usePointCloudMixing: boolean;
147
- highlightPoint: boolean;
148
- attributes: {
149
- position: {
150
- type: string;
151
- value: never[];
152
- };
153
- color: {
154
- type: string;
155
- value: never[];
156
- };
157
- normal: {
158
- type: string;
159
- value: never[];
160
- };
161
- intensity: {
162
- type: string;
163
- value: never[];
164
- };
165
- classification: {
166
- type: string;
167
- value: never[];
168
- };
169
- returnNumber: {
170
- type: string;
171
- value: never[];
172
- };
173
- numberOfReturns: {
174
- type: string;
175
- value: never[];
176
- };
177
- pointSourceID: {
178
- type: string;
179
- value: never[];
180
- };
181
- indices: {
182
- type: string;
183
- value: never[];
184
- };
185
- };
186
- constructor(parameters?: Partial<IPointCloudMaterialParameters>);
187
- dispose(): void;
188
- clearVisibleNodeTextureOffsets(): void;
189
- updateShaderSource(): void;
190
- applyDefines(shaderSrc: string): string;
191
- setPointCloudMixingMode(mode: PointCloudMixingMode): void;
192
- getPointCloudMixingMode(): PointCloudMixingMode;
193
- setClipBoxes(clipBoxes: IClipBox[]): void;
194
- get classification(): IClassification;
195
- set classification(value: IClassification);
196
- private recomputeClassification;
197
- get elevationRange(): [number, number];
198
- set elevationRange(value: [number, number]);
199
- getUniform<K extends keyof IPointCloudMaterialUniforms>(name: K): IPointCloudMaterialUniforms[K]['value'];
200
- setUniform<K extends keyof IPointCloudMaterialUniforms>(name: K, value: IPointCloudMaterialUniforms[K]['value']): void;
201
- updateMaterial(octree: PointCloudOctree, visibleNodes: IPointCloudTreeNodeBase[], camera: Camera, renderer: WebGLRenderer): void;
202
- private updateVisibilityTextureData;
203
- static makeOnBeforeRender(octree: PointCloudOctree, node: IPointCloudTreeNode, pcIndex?: number): (renderer: WebGLRenderer, scene: Scene, camera: Camera, bufferGeometry: BufferGeometry, material: Material) => void;
204
- }
@@ -1,2 +0,0 @@
1
- import { IClassification } from './types';
2
- export declare const DEFAULT_CLASSIFICATION: IClassification;
@@ -1,12 +0,0 @@
1
- import { Box3, Matrix4, Vector3 } from 'three';
2
- export declare enum ClipMode {
3
- DISABLED = 0,
4
- CLIP_OUTSIDE = 1,
5
- HIGHLIGHT_INSIDE = 2
6
- }
7
- export interface IClipBox {
8
- box: Box3;
9
- inverse: Matrix4;
10
- matrix: Matrix4;
11
- position: Vector3;
12
- }