@cognite/reveal 4.0.0 → 4.1.0-dev.20230127
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.
- package/README.md +4 -15
- package/dist/api-entry-points/core.d.ts +2 -2
- package/dist/index.js +161 -145
- package/dist/index.js.map +1 -1
- package/dist/packages/360-images/index.d.ts +2 -0
- package/dist/packages/360-images/src/DefaultImage360Collection.d.ts +44 -0
- package/dist/packages/360-images/src/Image360Collection.d.ts +17 -0
- package/dist/packages/360-images/src/types.d.ts +12 -0
- package/dist/packages/api/index.d.ts +0 -1
- package/dist/packages/api/src/api-helpers/Image360ApiHelper.d.ts +4 -2
- package/dist/packages/api/src/public/RevealManager.d.ts +6 -2
- package/dist/packages/api/src/public/RevealOptions.d.ts +2 -1
- package/dist/packages/api/src/public/migration/Cognite3DViewer.d.ts +25 -8
- package/dist/packages/api/src/public/migration/types.d.ts +26 -0
- package/dist/packages/cad-geometry-loaders/src/CadManager.d.ts +2 -1
- package/dist/packages/cad-geometry-loaders/src/InternalRevealCadOptions.d.ts +1 -1
- package/dist/packages/cad-geometry-loaders/src/sector/culling/ByScreenSizeSectorCuller.d.ts +2 -2
- package/dist/packages/cad-geometry-loaders/src/sector/culling/WeightFunctionsHelper.d.ts +2 -2
- package/dist/packages/cad-geometry-loaders/src/sector/culling/takensectors/TakenV9SectorMap.d.ts +2 -2
- package/dist/packages/cad-geometry-loaders/src/sector/culling/types.d.ts +1 -1
- package/dist/packages/cad-model/src/batching/DrawCallBatchingManager.d.ts +9 -0
- package/dist/packages/cad-model/src/batching/MultiBufferBatchingManager.d.ts +38 -0
- package/dist/packages/cad-model/src/utilities/GeometryBufferUtils.d.ts +18 -0
- package/dist/packages/cad-model/src/utilities/getShaderMaterial.d.ts +7 -0
- package/dist/packages/cad-model/src/wrappers/CadNode.d.ts +6 -0
- package/dist/packages/cad-model/src/wrappers/CogniteCadModel.d.ts +17 -0
- package/dist/packages/cad-parsers/index.d.ts +1 -1
- package/dist/packages/cad-parsers/src/metadata/parsers/types.d.ts +1 -28
- package/dist/packages/cad-parsers/src/metadata/types.d.ts +1 -35
- package/dist/packages/cad-parsers/src/utilities/SectorScene.d.ts +11 -0
- package/dist/packages/camera-manager/src/ComboControls.d.ts +1 -1
- package/dist/packages/camera-manager/src/StationaryCameraManager.d.ts +5 -0
- package/dist/packages/camera-manager/src/types.d.ts +1 -1
- package/dist/packages/data-providers/index.d.ts +0 -1
- package/dist/packages/data-providers/src/pointcloud-stylable-object-providers/DummyPointCloudStylableObjectProvider.d.ts +1 -1
- package/dist/packages/data-providers/src/pointcloud-stylable-object-providers/types.d.ts +21 -1
- package/dist/packages/data-providers/src/utilities/applyDefaultModelTransformation.d.ts +0 -1
- package/dist/packages/logger/index.d.ts +3 -2
- package/dist/packages/pointclouds/src/CognitePointCloudModel.d.ts +17 -0
- package/dist/packages/pointclouds/src/PointCloudIntersection.d.ts +5 -0
- package/dist/packages/pointclouds/src/PointCloudNode.d.ts +5 -2
- package/dist/packages/pointclouds/src/PointCloudPickingHandler.d.ts +5 -0
- package/dist/packages/pointclouds/src/potree-three-loader/Potree.d.ts +2 -0
- package/dist/packages/pointclouds/src/potree-three-loader/geometry/PointCloudEptGeometry.d.ts +0 -1
- package/dist/packages/pointclouds/src/potree-three-loader/tree/PointCloudOctree.d.ts +11 -1
- package/dist/packages/rendering/index.d.ts +4 -1
- package/dist/packages/rendering/src/CadMaterialManager.d.ts +1 -0
- package/dist/packages/rendering/src/PointCloudMaterialManager.d.ts +1 -4
- package/dist/packages/rendering/src/ResizeHandler.d.ts +29 -0
- package/dist/packages/rendering/src/pipeline-executors/BasicPipelineExecutor.d.ts +1 -11
- package/dist/packages/rendering/src/pointcloud-rendering/PointCloudMaterial.d.ts +5 -5
- package/dist/packages/rendering/src/pointcloud-rendering/PointCloudObjectAppearanceTexture.d.ts +1 -3
- package/dist/packages/rendering/src/render-pipeline-providers/CadGeometryRenderModePipelineProvider.d.ts +2 -3
- package/dist/packages/rendering/src/render-pipeline-providers/DefaultRenderPipelineProvider.d.ts +5 -3
- package/dist/packages/rendering/src/rendering/SettableRenderTarget.d.ts +9 -0
- package/dist/packages/rendering/src/utilities/renderUtilities.d.ts +2 -4
- package/dist/packages/rendering/src/utilities/types.d.ts +7 -0
- package/dist/packages/tools/src/Measurement/MeasurementLine.d.ts +2 -2
- package/dist/packages/utilities/index.d.ts +1 -0
- package/dist/packages/{api/src/public → utilities/src}/constants.d.ts +1 -0
- package/package.json +37 -36
- package/dist/packages/cad-model/src/batching/GeometryBatchingManager.d.ts +0 -31
|
@@ -19,5 +19,16 @@ export declare class SectorSceneImpl implements SectorScene {
|
|
|
19
19
|
getSectorsIntersectingBox(b: THREE.Box3): SectorMetadata[];
|
|
20
20
|
getBoundsOfMostGeometry(): THREE.Box3;
|
|
21
21
|
getSectorsIntersectingFrustum(projectionMatrix: THREE.Matrix4, inverseCameraModelMatrix: THREE.Matrix4): SectorMetadata[];
|
|
22
|
+
/**
|
|
23
|
+
* Recursive intersection detection.
|
|
24
|
+
*/
|
|
25
|
+
private detectIntersectingBounds;
|
|
26
|
+
/**
|
|
27
|
+
* Use kmeans to group inputBounds into clusters.
|
|
28
|
+
*
|
|
29
|
+
* @param inBounds The bounds to be grouped into clusters.
|
|
30
|
+
* @returns Both the list of cluster bounds and the cluster with the highest node count
|
|
31
|
+
*/
|
|
32
|
+
private generateClusters;
|
|
22
33
|
private computeBoundsOfMostGeometry;
|
|
23
34
|
}
|
|
@@ -76,7 +76,7 @@ export declare class ComboControls extends EventDispatcher {
|
|
|
76
76
|
private readonly _scrollTarget;
|
|
77
77
|
private readonly _targetEnd;
|
|
78
78
|
private readonly _spherical;
|
|
79
|
-
private _sphericalEnd;
|
|
79
|
+
private readonly _sphericalEnd;
|
|
80
80
|
private readonly _deltaTarget;
|
|
81
81
|
private readonly _rawCameraRotation;
|
|
82
82
|
private readonly _keyboard;
|
|
@@ -9,10 +9,12 @@ export declare class StationaryCameraManager implements CameraManager {
|
|
|
9
9
|
private readonly _cameraChangedListeners;
|
|
10
10
|
private readonly _domElement;
|
|
11
11
|
private _defaultFOV;
|
|
12
|
+
private readonly _minFOV;
|
|
12
13
|
private readonly _stopEventTrigger;
|
|
13
14
|
private _isDragging;
|
|
14
15
|
constructor(domElement: HTMLElement, camera: THREE.PerspectiveCamera);
|
|
15
16
|
getCamera(): THREE.PerspectiveCamera;
|
|
17
|
+
get defaultFOV(): number;
|
|
16
18
|
setCameraState(state: CameraState): void;
|
|
17
19
|
getCameraState(): Required<CameraState>;
|
|
18
20
|
activate(cameraManager: CameraManager): void;
|
|
@@ -21,10 +23,13 @@ export declare class StationaryCameraManager implements CameraManager {
|
|
|
21
23
|
off(eventType: CameraManagerEventType, callback: CameraChangeDelegate): void;
|
|
22
24
|
fitCameraToBoundingBox(boundingBox: THREE.Box3, _?: number, radiusFactor?: number): void;
|
|
23
25
|
moveTo(targetPosition: THREE.Vector3, duration?: number): Promise<void>;
|
|
26
|
+
setFOV(fov: number): void;
|
|
24
27
|
update(_: number, boundingBox: THREE.Box3): void;
|
|
25
28
|
dispose(): void;
|
|
26
29
|
private readonly enableDragging;
|
|
27
30
|
private readonly disableDragging;
|
|
28
31
|
private readonly rotateCamera;
|
|
29
32
|
private readonly zoomCamera;
|
|
33
|
+
private getCursorRay;
|
|
34
|
+
private getTarget;
|
|
30
35
|
}
|
|
@@ -80,4 +80,4 @@ export declare const CAMERA_MANAGER_EVENT_TYPE_LIST: readonly ["cameraChange", "
|
|
|
80
80
|
/**
|
|
81
81
|
* Union type of the supported camera manager event types
|
|
82
82
|
*/
|
|
83
|
-
export type CameraManagerEventType = typeof CAMERA_MANAGER_EVENT_TYPE_LIST[number];
|
|
83
|
+
export type CameraManagerEventType = (typeof CAMERA_MANAGER_EVENT_TYPE_LIST)[number];
|
|
@@ -17,6 +17,5 @@ export { PointCloudStylableObjectProvider } from './src/PointCloudStylableObject
|
|
|
17
17
|
export { StylableObject, SerializableStylableObject } from './src/pointcloud-stylable-object-providers/StylableObject';
|
|
18
18
|
export { CdfPointCloudStylableObjectProvider } from './src/pointcloud-stylable-object-providers/CdfPointCloudStylableObjectProvider';
|
|
19
19
|
export { DummyPointCloudStylableObjectProvider } from './src/pointcloud-stylable-object-providers/DummyPointCloudStylableObjectProvider';
|
|
20
|
-
export { cadFromCdfToThreeMatrix } from './src/utilities/applyDefaultModelTransformation';
|
|
21
20
|
export { Image360Provider } from './src/Image360Provider';
|
|
22
21
|
export { BinaryFileProvider, JsonFileProvider, File3dFormat, BlobOutputMetadata, Image360Descriptor, Image360FileProvider, Image360Face } from './src/types';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Copyright 2022 Cognite AS
|
|
3
3
|
*/
|
|
4
|
-
import { ModelIdentifier } from '
|
|
4
|
+
import { ModelIdentifier } from '../ModelIdentifier';
|
|
5
5
|
import { PointCloudStylableObjectProvider } from '../PointCloudStylableObjectProvider';
|
|
6
6
|
import { PointCloudObject } from './types';
|
|
7
7
|
export declare class DummyPointCloudStylableObjectProvider implements PointCloudStylableObjectProvider {
|
|
@@ -4,14 +4,34 @@
|
|
|
4
4
|
import { StylableObject } from './StylableObject';
|
|
5
5
|
import { IShape } from '../../../utilities';
|
|
6
6
|
import { Box3 } from 'three';
|
|
7
|
+
import { AnnotationsAssetRef } from '@cognite/sdk';
|
|
7
8
|
export type CdfPointCloudObjectAnnotation = {
|
|
8
9
|
annotationId: number;
|
|
9
|
-
|
|
10
|
+
asset?: AnnotationsAssetRef;
|
|
10
11
|
region: IShape[];
|
|
11
12
|
};
|
|
13
|
+
/**
|
|
14
|
+
* @public
|
|
15
|
+
* Metadata for a single point cloud object
|
|
16
|
+
*/
|
|
12
17
|
export type PointCloudObjectMetadata = {
|
|
18
|
+
/**
|
|
19
|
+
* The CDF Annotation ID associated with the point cloud object.
|
|
20
|
+
*/
|
|
13
21
|
annotationId: number;
|
|
22
|
+
/**
|
|
23
|
+
* The CDF Asset ID associated with the point cloud object, if any.
|
|
24
|
+
*
|
|
25
|
+
* @deprecated Use {@link PointCloudObjectMetadata.assetRef} instead.
|
|
26
|
+
*/
|
|
14
27
|
assetId?: number;
|
|
28
|
+
/**
|
|
29
|
+
* Asset identifiers for asset associated with this point cloud object, if any.
|
|
30
|
+
*/
|
|
31
|
+
assetRef?: AnnotationsAssetRef;
|
|
32
|
+
/**
|
|
33
|
+
* The bounding box of this annotation
|
|
34
|
+
*/
|
|
15
35
|
boundingBox: Box3;
|
|
16
36
|
};
|
|
17
37
|
export type PointCloudObject = PointCloudObjectMetadata & {
|
|
@@ -64,6 +64,18 @@ export declare class CognitePointCloudModel {
|
|
|
64
64
|
* @param out Preallocated `THREE.Matrix4` (optional)
|
|
65
65
|
*/
|
|
66
66
|
getCdfToDefaultModelTransformation(out?: THREE.Matrix4): THREE.Matrix4;
|
|
67
|
+
/**
|
|
68
|
+
* Map point from CDF to model space, taking the model's custom transformation into account
|
|
69
|
+
* @param point Point to compute transformation from
|
|
70
|
+
* @param out Optional pre-allocated point
|
|
71
|
+
*/
|
|
72
|
+
mapPointFromCdfToModelCoordinates(point: THREE.Vector3, out?: THREE.Vector3): THREE.Vector3;
|
|
73
|
+
/**
|
|
74
|
+
* Map bounding box from CDF to model space, taking the model's custom transformation into account
|
|
75
|
+
* @param box Box to compute transformation from
|
|
76
|
+
* @param out Optional pre-allocated box
|
|
77
|
+
*/
|
|
78
|
+
mapBoxFromCdfToModelCoordinates(box: THREE.Box3, out?: THREE.Box3): THREE.Box3;
|
|
67
79
|
/**
|
|
68
80
|
* Sets a visible filter on points of a given class.
|
|
69
81
|
* @param pointClass ASPRS classification class code. Either one of the well known
|
|
@@ -143,6 +155,11 @@ export declare class CognitePointCloudModel {
|
|
|
143
155
|
* @see {@link PointShape}.
|
|
144
156
|
*/
|
|
145
157
|
set pointShape(shape: PointShape);
|
|
158
|
+
/**
|
|
159
|
+
* Sets the clipping planes for this model. They will be combined with the
|
|
160
|
+
* global clipping planes.
|
|
161
|
+
*/
|
|
162
|
+
setModelClippingPlanes(clippingPlanes: THREE.Plane[]): void;
|
|
146
163
|
/**
|
|
147
164
|
* Gets default point appearance
|
|
148
165
|
*/
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Copyright 2022 Cognite AS
|
|
3
3
|
*/
|
|
4
|
+
import { AnnotationsAssetRef } from '@cognite/sdk';
|
|
4
5
|
import { CognitePointCloudModel } from './CognitePointCloudModel';
|
|
5
6
|
export type PointCloudIntersection = {
|
|
6
7
|
/**
|
|
@@ -27,4 +28,8 @@ export type PointCloudIntersection = {
|
|
|
27
28
|
* Annotation Id of the intersected object within a pointcloud. (0 if not applicable)
|
|
28
29
|
*/
|
|
29
30
|
annotationId: number;
|
|
31
|
+
/**
|
|
32
|
+
* Reference to the asset associated to the intersected point cloud object, if any.
|
|
33
|
+
*/
|
|
34
|
+
assetRef?: AnnotationsAssetRef;
|
|
30
35
|
};
|
|
@@ -11,7 +11,7 @@ import { Matrix4, Group } from 'three';
|
|
|
11
11
|
export declare class PointCloudNode extends Group {
|
|
12
12
|
private readonly _cameraConfiguration?;
|
|
13
13
|
private readonly _octree;
|
|
14
|
-
private readonly
|
|
14
|
+
private readonly _objectIdToAnnotationsMap;
|
|
15
15
|
private readonly _classificationHandler;
|
|
16
16
|
private _needsRedraw;
|
|
17
17
|
private static readonly pickingWindowSize;
|
|
@@ -78,9 +78,12 @@ export declare class PointCloudNode extends Group {
|
|
|
78
78
|
getModelTransformation(out?: Matrix4): THREE.Matrix4;
|
|
79
79
|
getCdfToDefaultModelTransformation(out?: Matrix4): Matrix4;
|
|
80
80
|
get stylableObjectAnnotationMetadata(): Iterable<PointCloudObjectMetadata>;
|
|
81
|
-
|
|
81
|
+
getStylableObjectMetadata(objectId: number): PointCloudObjectMetadata | undefined;
|
|
82
|
+
get stylableObjectCount(): number;
|
|
82
83
|
get defaultAppearance(): CompletePointCloudAppearance;
|
|
83
84
|
set defaultAppearance(appearance: CompletePointCloudAppearance);
|
|
85
|
+
set clippingPlanes(clippingPlanes: THREE.Plane[]);
|
|
84
86
|
assignStyledPointCloudObjectCollection(styledCollection: StyledPointCloudObjectCollection): void;
|
|
85
87
|
removeAllStyledPointCloudObjects(): void;
|
|
88
|
+
dispose(): void;
|
|
86
89
|
}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
import * as THREE from 'three';
|
|
5
5
|
import { IntersectInput } from '../../model-base';
|
|
6
6
|
import { PointCloudNode } from './PointCloudNode';
|
|
7
|
+
import { AnnotationsAssetRef } from '@cognite/sdk';
|
|
7
8
|
export interface IntersectPointCloudNodeResult {
|
|
8
9
|
/**
|
|
9
10
|
* Distance from camera to intersected point.
|
|
@@ -29,6 +30,10 @@ export interface IntersectPointCloudNodeResult {
|
|
|
29
30
|
* annotationId of the clicked object within a pointcloud.
|
|
30
31
|
*/
|
|
31
32
|
annotationId: number;
|
|
33
|
+
/**
|
|
34
|
+
* asset reference of the clicked object in the pointcloud, if any.
|
|
35
|
+
*/
|
|
36
|
+
assetRef?: AnnotationsAssetRef;
|
|
32
37
|
}
|
|
33
38
|
export declare class PointCloudPickingHandler {
|
|
34
39
|
private readonly _normalized;
|
|
@@ -18,11 +18,13 @@ export declare class Potree implements IPotree {
|
|
|
18
18
|
private readonly _modelDataProvider;
|
|
19
19
|
private readonly _materialManager;
|
|
20
20
|
private readonly _throttledUpdateFunc;
|
|
21
|
+
private _shouldLoad;
|
|
21
22
|
maxNumNodesLoading: number;
|
|
22
23
|
lru: LRU;
|
|
23
24
|
constructor(modelDataProvider: ModelDataProvider, pointCloudMaterialManager: PointCloudMaterialManager);
|
|
24
25
|
loadPointCloud(baseUrl: string, fileName: string, pointCloudObjects: PointCloudObject[], modelIdentifier: symbol): Promise<PointCloudOctree>;
|
|
25
26
|
updatePointClouds(pointClouds: PointCloudOctree[], camera: Camera, renderer: WebGLRenderer): void;
|
|
27
|
+
set shouldLoad(value: boolean);
|
|
26
28
|
private innerUpdatePointClouds;
|
|
27
29
|
get pointBudget(): number;
|
|
28
30
|
set pointBudget(value: number);
|
package/dist/packages/pointclouds/src/potree-three-loader/geometry/PointCloudEptGeometry.d.ts
CHANGED
|
@@ -16,7 +16,6 @@ export declare class PointCloudEptGeometry implements IPointCloudTreeGeometry {
|
|
|
16
16
|
private readonly _spacing;
|
|
17
17
|
private readonly _schema;
|
|
18
18
|
private _root;
|
|
19
|
-
private readonly _projection;
|
|
20
19
|
get loader(): EptBinaryLoader;
|
|
21
20
|
get root(): PointCloudEptGeometryNode | undefined;
|
|
22
21
|
set root(r: PointCloudEptGeometryNode | undefined);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Box3, Camera, Object3D, Ray, Sphere, WebGLRenderer } from 'three';
|
|
1
|
+
import { Box3, Camera, Object3D, Plane, Ray, Sphere, WebGLRenderer } from 'three';
|
|
2
2
|
import { IPointCloudTreeGeometry } from '../geometry/IPointCloudTreeGeometry';
|
|
3
3
|
import { IPointCloudTreeGeometryNode } from '../geometry/IPointCloudTreeGeometryNode';
|
|
4
4
|
import { PickParams } from './PointCloudOctreePicker';
|
|
@@ -29,14 +29,24 @@ export declare class PointCloudOctree extends PointCloudTree {
|
|
|
29
29
|
showBoundingBox: boolean;
|
|
30
30
|
private readonly visibleBounds;
|
|
31
31
|
private picker;
|
|
32
|
+
private _globalClippingPlanes;
|
|
33
|
+
private _localClippingPlanes;
|
|
32
34
|
constructor(potree: IPotree, pcoGeometry: IPointCloudTreeGeometry, material: PointCloudMaterial);
|
|
33
35
|
private updateMaterial;
|
|
36
|
+
setGlobalClippingPlane(planes: Plane[]): void;
|
|
37
|
+
setModelClippingPlane(planes: Plane[]): void;
|
|
38
|
+
updateClippingPlanes(): void;
|
|
34
39
|
dispose(): void;
|
|
35
40
|
get pointSizeType(): PointSizeType;
|
|
36
41
|
set pointSizeType(value: PointSizeType);
|
|
37
42
|
toTreeNode(geometryNode: IPointCloudTreeGeometryNode, parent?: IPointCloudTreeNode | null): IPointCloudTreeNode;
|
|
38
43
|
updateVisibleBounds(): void;
|
|
39
44
|
updateBoundingBoxes(): void;
|
|
45
|
+
updateMatricesForDescendants(): void;
|
|
46
|
+
/**
|
|
47
|
+
* Override updateMatrixWorld to not update children recursively. Child transformations
|
|
48
|
+
* are defined in relation to the base octree, and are instead updated using updateMatricesfordescendants()
|
|
49
|
+
*/
|
|
40
50
|
updateMatrixWorld(force: boolean): void;
|
|
41
51
|
hideDescendants(object: Object3D): void;
|
|
42
52
|
moveToOrigin(): void;
|
|
@@ -11,7 +11,8 @@ export * from './src/pointcloud-rendering/types';
|
|
|
11
11
|
export * from './src/pointcloud-rendering/PointCloudObjectIdMaps';
|
|
12
12
|
export { DEFAULT_CLASSIFICATION } from './src/pointcloud-rendering/classification';
|
|
13
13
|
export { RenderMode } from './src/rendering/RenderMode';
|
|
14
|
-
export { RenderLayer } from './src/utilities/renderUtilities';
|
|
14
|
+
export { RenderLayer, setModelRenderLayers } from './src/utilities/renderUtilities';
|
|
15
|
+
export { StyledTreeIndexSets } from './src/utilities/types';
|
|
15
16
|
export { coverageShaders } from './src/rendering/shaders';
|
|
16
17
|
export { Materials } from './src/rendering/materials';
|
|
17
18
|
export { PointCloudMaterial, OctreeMaterialParams } from './src/pointcloud-rendering';
|
|
@@ -20,3 +21,5 @@ export { CadGeometryRenderModePipelineProvider } from './src/render-pipeline-pro
|
|
|
20
21
|
export { BasicPipelineExecutor } from './src/pipeline-executors/BasicPipelineExecutor';
|
|
21
22
|
export { RenderPipelineExecutor } from './src/RenderPipelineExecutor';
|
|
22
23
|
export { RenderPipelineProvider } from './src/RenderPipelineProvider';
|
|
24
|
+
export { ResizeHandler } from './src/ResizeHandler';
|
|
25
|
+
export { SettableRenderTarget } from './src/rendering/SettableRenderTarget';
|
|
@@ -22,6 +22,7 @@ export declare class CadMaterialManager {
|
|
|
22
22
|
getModelNodeAppearanceProvider(modelIdentifier: string): NodeAppearanceProvider;
|
|
23
23
|
getModelNodeTransformProvider(modelIdentifier: string): NodeTransformProvider;
|
|
24
24
|
getModelDefaultNodeAppearance(modelIdentifier: string): NodeAppearance;
|
|
25
|
+
getModelClippingPlanes(modelIdentifier: string): THREE.Plane[];
|
|
25
26
|
setModelClippingPlanes(modelIdentifier: string, clippingPlanes: THREE.Plane[]): void;
|
|
26
27
|
setModelDefaultNodeAppearance(modelIdentifier: string, defaultAppearance: NodeAppearance): void;
|
|
27
28
|
getModelBackTreeIndices(modelIdentifier: string): IndexSet;
|
|
@@ -6,13 +6,10 @@ import { PointCloudMaterial } from './pointcloud-rendering';
|
|
|
6
6
|
import { PointCloudMaterialParameters } from './render-passes/types';
|
|
7
7
|
export declare class PointCloudMaterialManager {
|
|
8
8
|
private readonly _modelsMaterialsMap;
|
|
9
|
-
private _clippingPlanes;
|
|
10
9
|
addModelMaterial(modelIdentifier: symbol, objectIdMaps: PointCloudObjectIdMaps): void;
|
|
11
10
|
removeModelMaterial(modelIdentifier: symbol): void;
|
|
12
11
|
getModelMaterial(modelIdentifier: symbol): PointCloudMaterial;
|
|
13
|
-
|
|
14
|
-
set clippingPlanes(clippingPlanes: THREE.Plane[]);
|
|
15
|
-
setClippingPlanesForPointCloud(modelIdentifier: symbol): void;
|
|
12
|
+
initializeClippingPlanesForPointCloud(modelIdentifier: symbol): void;
|
|
16
13
|
setModelsMaterialParameters(materialParameters: PointCloudMaterialParameters | undefined): void;
|
|
17
14
|
setMaterialParameters(material: PointCloudMaterial, parameters: PointCloudMaterialParameters): void;
|
|
18
15
|
dispose(): void;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright 2022 Cognite AS
|
|
3
|
+
*/
|
|
4
|
+
import { WebGLRenderer, PerspectiveCamera } from 'three';
|
|
5
|
+
import { CameraManager } from '../../camera-manager';
|
|
6
|
+
export type ResizeHandlerOptions = {
|
|
7
|
+
renderResolutionThreshold?: number;
|
|
8
|
+
};
|
|
9
|
+
export declare class ResizeHandler {
|
|
10
|
+
private readonly _defaultResolutionThreshold;
|
|
11
|
+
private readonly _renderer;
|
|
12
|
+
private readonly _cameraManager;
|
|
13
|
+
private _stoppedCameraResolutionThreshold;
|
|
14
|
+
private _currentResolutionThreshold;
|
|
15
|
+
private _movingResolutionFactor;
|
|
16
|
+
private readonly _onCameraChangeCallback;
|
|
17
|
+
private readonly _onCameraStopCallback;
|
|
18
|
+
private readonly _resizeObserver;
|
|
19
|
+
private _shouldResize;
|
|
20
|
+
constructor(renderer: WebGLRenderer, cameraManager: CameraManager, resizeOptions?: ResizeHandlerOptions);
|
|
21
|
+
get needsRedraw(): boolean;
|
|
22
|
+
resetRedraw(): void;
|
|
23
|
+
setResolutionThreshold(threshold: number): void;
|
|
24
|
+
setMovingCameraResolutionFactor(factor: number): void;
|
|
25
|
+
handleResize(camera: PerspectiveCamera): void;
|
|
26
|
+
private setupResizeListener;
|
|
27
|
+
private resize;
|
|
28
|
+
dispose(): void;
|
|
29
|
+
}
|
|
@@ -4,19 +4,9 @@
|
|
|
4
4
|
import * as THREE from 'three';
|
|
5
5
|
import { RenderPipelineExecutor } from '../RenderPipelineExecutor';
|
|
6
6
|
import { RenderPipelineProvider } from '../RenderPipelineProvider';
|
|
7
|
-
export type BasicPipelineExecutorOptions = {
|
|
8
|
-
autoResizeRenderer: boolean;
|
|
9
|
-
resolutionThreshold?: number;
|
|
10
|
-
};
|
|
11
7
|
export declare class BasicPipelineExecutor implements RenderPipelineExecutor {
|
|
12
|
-
private readonly _defaultResolutionThreshold;
|
|
13
8
|
private readonly _renderer;
|
|
14
|
-
|
|
15
|
-
private readonly _resizeObserver;
|
|
16
|
-
private _shouldResize;
|
|
17
|
-
constructor(renderer: THREE.WebGLRenderer, options?: BasicPipelineExecutorOptions);
|
|
9
|
+
constructor(renderer: THREE.WebGLRenderer);
|
|
18
10
|
render(renderPipeline: RenderPipelineProvider, camera: THREE.PerspectiveCamera): void;
|
|
19
|
-
private setupResizeListener;
|
|
20
|
-
private resize;
|
|
21
11
|
dispose(): void;
|
|
22
12
|
}
|
|
@@ -5,7 +5,7 @@ import { Camera, RawShaderMaterial, Texture, WebGLRenderer } from 'three';
|
|
|
5
5
|
import { PointColorType, PointShape, PointSizeType } from './enums';
|
|
6
6
|
import { PointClassification, IUniform, OctreeMaterialParams } from './types';
|
|
7
7
|
import { PointCloudObjectAppearanceTexture } from './PointCloudObjectAppearanceTexture';
|
|
8
|
-
import { PointCloudObjectIdMaps } from '
|
|
8
|
+
import { PointCloudObjectIdMaps } from './PointCloudObjectIdMaps';
|
|
9
9
|
export interface IPointCloudMaterialParameters {
|
|
10
10
|
size: number;
|
|
11
11
|
minSize: number;
|
|
@@ -39,7 +39,6 @@ export interface IPointCloudMaterialUniforms {
|
|
|
39
39
|
}
|
|
40
40
|
export declare class PointCloudMaterial extends RawShaderMaterial {
|
|
41
41
|
private static readonly helperVec3;
|
|
42
|
-
private static readonly helperVec2;
|
|
43
42
|
/**
|
|
44
43
|
* Use the drawing buffer size instead of the dom client width and height when passing the screen height and screen width uniforms to the
|
|
45
44
|
* shader. This is useful if you have offscreen canvases (which in some browsers return 0 as client width and client height).
|
|
@@ -51,7 +50,7 @@ export declare class PointCloudMaterial extends RawShaderMaterial {
|
|
|
51
50
|
visibleNodeTextureOffsets: Map<string, number>;
|
|
52
51
|
private readonly _gradient;
|
|
53
52
|
private gradientTexture;
|
|
54
|
-
private
|
|
53
|
+
private _objectAppearanceTexture;
|
|
55
54
|
private _classification;
|
|
56
55
|
private classificationTexture;
|
|
57
56
|
uniforms: IPointCloudMaterialUniforms & Record<string, IUniform<any>>;
|
|
@@ -108,6 +107,7 @@ export declare class PointCloudMaterial extends RawShaderMaterial {
|
|
|
108
107
|
updateShaderSource(): void;
|
|
109
108
|
applyDefines(shaderSrc: string): string;
|
|
110
109
|
get objectAppearanceTexture(): PointCloudObjectAppearanceTexture;
|
|
110
|
+
set objectAppearanceTexture(texture: PointCloudObjectAppearanceTexture);
|
|
111
111
|
get classification(): PointClassification;
|
|
112
112
|
set classification(value: PointClassification);
|
|
113
113
|
private recomputeClassification;
|
|
@@ -115,7 +115,7 @@ export declare class PointCloudMaterial extends RawShaderMaterial {
|
|
|
115
115
|
set elevationRange(value: [number, number]);
|
|
116
116
|
getUniform<K extends keyof IPointCloudMaterialUniforms>(name: K): IPointCloudMaterialUniforms[K]['value'];
|
|
117
117
|
setUniform<K extends keyof IPointCloudMaterialUniforms>(name: K, value: IPointCloudMaterialUniforms[K]['value']): void;
|
|
118
|
-
onBeforeRender(): void;
|
|
119
|
-
updateMaterial(octreeParams: OctreeMaterialParams, visibilityTextureData: Uint8Array, camera: Camera
|
|
118
|
+
onBeforeRender(renderer: WebGLRenderer): void;
|
|
119
|
+
updateMaterial(octreeParams: OctreeMaterialParams, visibilityTextureData: Uint8Array, camera: Camera): void;
|
|
120
120
|
private updateVisibilityTextureData;
|
|
121
121
|
}
|
package/dist/packages/rendering/src/pointcloud-rendering/PointCloudObjectAppearanceTexture.d.ts
CHANGED
|
@@ -5,17 +5,15 @@ import * as THREE from 'three';
|
|
|
5
5
|
import { StyledPointCloudObjectCollection, PointCloudObjectCollection, CompletePointCloudAppearance } from '../../../pointcloud-styling';
|
|
6
6
|
import { PointCloudObjectIdMaps } from './PointCloudObjectIdMaps';
|
|
7
7
|
export declare class PointCloudObjectAppearanceTexture {
|
|
8
|
-
private _objectStyleTexture;
|
|
8
|
+
private readonly _objectStyleTexture;
|
|
9
9
|
private _needsReconstruction;
|
|
10
10
|
private readonly _styledObjectSets;
|
|
11
11
|
private _defaultAppearance;
|
|
12
12
|
private readonly _width;
|
|
13
13
|
private readonly _height;
|
|
14
14
|
private _annotationIdsToObjectId;
|
|
15
|
-
private _objectIdsToAnnotationId;
|
|
16
15
|
constructor(width: number, height: number);
|
|
17
16
|
setObjectsMaps(objectsMaps: PointCloudObjectIdMaps): void;
|
|
18
|
-
convertObjectIdToAnnotationId(objectId: number): number;
|
|
19
17
|
private appearanceToRgba;
|
|
20
18
|
private setObjectStyle;
|
|
21
19
|
private setObjectCollectionStyle;
|
|
@@ -7,9 +7,8 @@ import { RenderPass } from '../RenderPass';
|
|
|
7
7
|
import { RenderPipelineProvider } from '../RenderPipelineProvider';
|
|
8
8
|
import { RenderMode } from '../rendering/RenderMode';
|
|
9
9
|
import { SceneHandler } from '../../../utilities';
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
private readonly _cadModels;
|
|
10
|
+
import { SettableRenderTarget } from '../rendering/SettableRenderTarget';
|
|
11
|
+
export declare class CadGeometryRenderModePipelineProvider implements RenderPipelineProvider, SettableRenderTarget {
|
|
13
12
|
private readonly _renderTargetData;
|
|
14
13
|
private readonly _geometryPass;
|
|
15
14
|
private _outputRenderTarget;
|
package/dist/packages/rendering/src/render-pipeline-providers/DefaultRenderPipelineProvider.d.ts
CHANGED
|
@@ -8,14 +8,15 @@ import { RenderPipelineProvider } from '../RenderPipelineProvider';
|
|
|
8
8
|
import { RenderOptions } from '../rendering/types';
|
|
9
9
|
import { SceneHandler } from '../../../utilities';
|
|
10
10
|
import { PointCloudMaterialManager } from '../PointCloudMaterialManager';
|
|
11
|
-
|
|
11
|
+
import { SettableRenderTarget } from '../rendering/SettableRenderTarget';
|
|
12
|
+
export declare class DefaultRenderPipelineProvider implements RenderPipelineProvider, SettableRenderTarget {
|
|
12
13
|
private readonly _viewerScene;
|
|
13
14
|
private readonly _renderTargetData;
|
|
14
15
|
private readonly _cadModels;
|
|
15
16
|
private readonly _pointCloudModels;
|
|
16
17
|
private readonly _customObjects;
|
|
17
|
-
private
|
|
18
|
-
private
|
|
18
|
+
private _autoResizeOutputTarget;
|
|
19
|
+
private _outputRenderTarget;
|
|
19
20
|
private readonly _cadGeometryRenderPipeline;
|
|
20
21
|
private readonly _pointCloudRenderPipeline;
|
|
21
22
|
private readonly _postProcessingPass;
|
|
@@ -29,6 +30,7 @@ export declare class DefaultRenderPipelineProvider implements RenderPipelineProv
|
|
|
29
30
|
target: THREE.WebGLRenderTarget;
|
|
30
31
|
autoSize?: boolean;
|
|
31
32
|
});
|
|
33
|
+
setOutputRenderTarget(target: THREE.WebGLRenderTarget | null, autoSizeRenderTarget?: boolean): void;
|
|
32
34
|
pipeline(renderer: THREE.WebGLRenderer): Generator<RenderPass>;
|
|
33
35
|
dispose(): void;
|
|
34
36
|
private pipelineSetup;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright 2022 Cognite AS
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Interface for allowing render targets in renderPipelines to be changed dynamicaly in RevealManager.
|
|
6
|
+
*/
|
|
7
|
+
export interface SettableRenderTarget {
|
|
8
|
+
setOutputRenderTarget(target: THREE.WebGLRenderTarget | null, autoSizeRenderTarget?: boolean): void;
|
|
9
|
+
}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
import * as THREE from 'three';
|
|
5
5
|
import { WebGLRendererStateHelper } from '../../../utilities';
|
|
6
6
|
import { CadMaterialManager } from '../CadMaterialManager';
|
|
7
|
+
import { StyledTreeIndexSets } from './types';
|
|
7
8
|
import { BlitOptions, DepthBlendBlitOptions, PointCloudPassParameters, PointCloudPostProcessingOptions } from '../render-passes/types';
|
|
8
9
|
export declare const unitOrthographicCamera: THREE.OrthographicCamera;
|
|
9
10
|
export declare function createFullScreenTriangleMesh(shaderMaterial: THREE.RawShaderMaterial): THREE.Mesh;
|
|
@@ -18,14 +19,11 @@ export declare enum RenderLayer {
|
|
|
18
19
|
PointCloud = 8,
|
|
19
20
|
Default = 0
|
|
20
21
|
}
|
|
21
|
-
export declare function setupCadModelsGeometryLayers(materialManager: CadMaterialManager, cadModels?: {
|
|
22
|
-
cadNode: THREE.Object3D;
|
|
23
|
-
modelIdentifier: string;
|
|
24
|
-
}[]): void;
|
|
25
22
|
export declare function getLayerMask(renderLayer: number): number;
|
|
26
23
|
export declare function hasStyledNodes(modelIdentifiers: string[], materialManager: CadMaterialManager): {
|
|
27
24
|
back: boolean;
|
|
28
25
|
inFront: boolean;
|
|
29
26
|
ghost: boolean;
|
|
30
27
|
};
|
|
28
|
+
export declare function setModelRenderLayers(rootNode: THREE.Object3D, stylingSets: StyledTreeIndexSets): void;
|
|
31
29
|
export declare function setRendererParameters(rendererHelper: WebGLRendererStateHelper, parameters: PointCloudPassParameters): void;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Copyright 2021 Cognite AS
|
|
3
3
|
*/
|
|
4
|
+
import { IndexSet } from '../../../utilities';
|
|
4
5
|
import * as THREE from 'three';
|
|
5
6
|
/**
|
|
6
7
|
* Colors from the Cognite theme.
|
|
@@ -24,3 +25,9 @@ export declare class RevealColors {
|
|
|
24
25
|
static readonly Red: THREE.Color;
|
|
25
26
|
static readonly Green: THREE.Color;
|
|
26
27
|
}
|
|
28
|
+
export type StyledTreeIndexSets = {
|
|
29
|
+
back: IndexSet;
|
|
30
|
+
ghost: IndexSet;
|
|
31
|
+
inFront: IndexSet;
|
|
32
|
+
visible: IndexSet;
|
|
33
|
+
};
|
|
@@ -7,7 +7,8 @@ export declare class MeasurementLine {
|
|
|
7
7
|
private readonly _meshes;
|
|
8
8
|
private readonly _fixedWidthLineMaterial;
|
|
9
9
|
private readonly _adaptiveWidthLineMaterial;
|
|
10
|
-
private readonly
|
|
10
|
+
private readonly _startPos;
|
|
11
|
+
private readonly _endpoint;
|
|
11
12
|
constructor(lineWidth: number, lineColor: THREE.Color, startPoint: THREE.Vector3);
|
|
12
13
|
dispose(): void;
|
|
13
14
|
get meshes(): THREE.Group;
|
|
@@ -38,7 +39,6 @@ export declare class MeasurementLine {
|
|
|
38
39
|
updateLineColor(color: THREE.Color): void;
|
|
39
40
|
/**
|
|
40
41
|
* Generate line geometry and create the mesh.
|
|
41
|
-
* @param point Point from where the line will be generated.
|
|
42
42
|
*/
|
|
43
43
|
private startLine;
|
|
44
44
|
}
|
|
@@ -34,6 +34,7 @@ export { calculateVolumeOfMesh } from './src/calculateVolumeOfMesh';
|
|
|
34
34
|
export { worldToNormalizedViewportCoordinates, worldToViewportCoordinates, pixelToNormalizedDeviceCoordinates } from './src/worldToViewport';
|
|
35
35
|
export { DeferredPromise } from './src/DeferredPromise';
|
|
36
36
|
export { SceneHandler } from './src/SceneHandler';
|
|
37
|
+
export { CDF_TO_VIEWER_TRANSFORMATION } from './src/constants';
|
|
37
38
|
export * from './src/workers/workerize-transferable';
|
|
38
39
|
export * from './src/shapes';
|
|
39
40
|
export * from './src/linalg';
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* Copyright 2022 Cognite AS
|
|
3
3
|
*/
|
|
4
4
|
import { Matrix4 } from 'three';
|
|
5
|
+
export declare const cadFromCdfToThreeMatrix: Matrix4;
|
|
5
6
|
/**
|
|
6
7
|
* The transformation matrix from CDF coordinates to ThreeJS/Reveal.
|
|
7
8
|
* Note that this is already applied to {@link CogniteCadModel} and {@link CognitePointCloudModel}
|