@webviz/subsurface-viewer 1.1.4 → 1.1.5
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/dist/components/ColorLegend.d.ts +2 -2
- package/dist/components/InfoCard.js +8 -0
- package/dist/components/InfoCard.js.map +1 -1
- package/dist/components/Map.js +2 -2
- package/dist/components/Map.js.map +1 -1
- package/dist/layers/colormap/colormapLayer.d.ts +2 -2
- package/dist/layers/grid3d/cellProperty.fs.glsl.d.ts +2 -0
- package/dist/layers/grid3d/{fragment.fs.glsl.js → cellProperty.fs.glsl.js} +41 -51
- package/dist/layers/grid3d/cellProperty.fs.glsl.js.map +1 -0
- package/dist/layers/grid3d/cellProperty.vs.glsl.d.ts +2 -0
- package/dist/layers/grid3d/cellProperty.vs.glsl.js +47 -0
- package/dist/layers/grid3d/cellProperty.vs.glsl.js.map +1 -0
- package/dist/layers/grid3d/grid3dLayer.d.ts +27 -7
- package/dist/layers/grid3d/grid3dLayer.js +39 -11
- package/dist/layers/grid3d/grid3dLayer.js.map +1 -1
- package/dist/layers/grid3d/nodeProperty.fs.glsl.d.ts +2 -0
- package/dist/layers/grid3d/nodeProperty.fs.glsl.js +66 -0
- package/dist/layers/grid3d/nodeProperty.fs.glsl.js.map +1 -0
- package/dist/layers/grid3d/nodeProperty.vs.glsl.d.ts +2 -0
- package/dist/layers/grid3d/{vertex.glsl.js → nodeProperty.vs.glsl.js} +17 -13
- package/dist/layers/grid3d/nodeProperty.vs.glsl.js.map +1 -0
- package/dist/layers/grid3d/privateGrid3dLayer.d.ts +4 -5
- package/dist/layers/grid3d/privateGrid3dLayer.js +76 -61
- package/dist/layers/grid3d/privateGrid3dLayer.js.map +1 -1
- package/dist/layers/grid3d/typeDefs.d.ts +1 -1
- package/dist/layers/grid3d/webworker.js +22 -13
- package/dist/layers/grid3d/webworker.js.map +1 -1
- package/dist/layers/map/mapLayer.d.ts +2 -2
- package/dist/layers/map/privateMapLayer.d.ts +2 -2
- package/dist/layers/utils/layerTools.d.ts +9 -4
- package/dist/layers/utils/layerTools.js +12 -7
- package/dist/layers/utils/layerTools.js.map +1 -1
- package/package.json +1 -1
- package/dist/layers/grid3d/fragment.fs.glsl.d.ts +0 -2
- package/dist/layers/grid3d/fragment.fs.glsl.js.map +0 -1
- package/dist/layers/grid3d/vertex.glsl.d.ts +0 -2
- package/dist/layers/grid3d/vertex.glsl.js.map +0 -1
@@ -613,11 +613,13 @@ export function makeFullMesh(e) {
|
|
613
613
|
* @param counts Numbers of WebGL primitives.
|
614
614
|
* @returns Arrays of the length enough to contain WebGL data for the given number of primitives, null otherwise.
|
615
615
|
*/
|
616
|
-
const tryCreateArrays = (counts) => {
|
616
|
+
const tryCreateArrays = (counts, withProperties) => {
|
617
617
|
try {
|
618
618
|
const trianglePoints = new Float32Array(counts.triangles * 9); // 3 points * 3 coordinates per point per 1 triangle
|
619
619
|
const triangleNormals = new Float32Array(counts.triangles * 9); // 3 points * 3 coordinates per point per 1 triangle
|
620
|
-
const properties =
|
620
|
+
const properties = withProperties
|
621
|
+
? new Float32Array(counts.triangles * 3) // 3 points per 1 triangle
|
622
|
+
: undefined;
|
621
623
|
const lineIndices = new Uint32Array(counts.lineSegments * 2); // 2 point indices per segment
|
622
624
|
return {
|
623
625
|
trianglePoints,
|
@@ -638,11 +640,11 @@ export function makeFullMesh(e) {
|
|
638
640
|
* If fails, reduces the number of primitives by 10% and tries again. Null is returned if zero count of primitives reached.
|
639
641
|
* Counts returned contain the actual number of primitives the arrays are created for.
|
640
642
|
*/
|
641
|
-
const createMeshArrays = (counts) => {
|
643
|
+
const createMeshArrays = (counts, withProperties) => {
|
642
644
|
const currentCounts = Object.assign({}, counts);
|
643
645
|
let res = null;
|
644
646
|
do {
|
645
|
-
res = tryCreateArrays(currentCounts);
|
647
|
+
res = tryCreateArrays(currentCounts, withProperties);
|
646
648
|
if (res === null) {
|
647
649
|
currentCounts.triangles -= counts.triangles * 0.1;
|
648
650
|
currentCounts.lineSegments -= counts.lineSegments * 0.1;
|
@@ -663,12 +665,14 @@ export function makeFullMesh(e) {
|
|
663
665
|
* Creates empty meshes.
|
664
666
|
* @returns Empty meshes with empty data arrays and zero vertex counts.
|
665
667
|
*/
|
666
|
-
const createEmptyMeshes = () => {
|
668
|
+
const createEmptyMeshes = (withProperties) => {
|
667
669
|
const mesh = {
|
668
670
|
drawMode: "triangle-list",
|
669
671
|
attributes: {
|
670
672
|
positions: { value: new Float32Array(), size: 3 },
|
671
|
-
properties:
|
673
|
+
properties: withProperties
|
674
|
+
? { value: new Float32Array(), size: 1 }
|
675
|
+
: undefined,
|
672
676
|
normals: { value: new Float32Array(), size: 3 },
|
673
677
|
},
|
674
678
|
vertexCount: 0,
|
@@ -698,9 +702,9 @@ export function makeFullMesh(e) {
|
|
698
702
|
let pn = 0;
|
699
703
|
let i = 0;
|
700
704
|
const counts = getPrimitiveCounts(polys);
|
701
|
-
const meshArrays = createMeshArrays(counts);
|
705
|
+
const meshArrays = createMeshArrays(counts, !!properties);
|
702
706
|
if (!(meshArrays === null || meshArrays === void 0 ? void 0 : meshArrays.arrays)) {
|
703
|
-
return createEmptyMeshes();
|
707
|
+
return createEmptyMeshes(!!properties);
|
704
708
|
}
|
705
709
|
let arraysIndex = 0;
|
706
710
|
let propertyIndex = 0;
|
@@ -711,8 +715,9 @@ export function makeFullMesh(e) {
|
|
711
715
|
while (i < polys.length &&
|
712
716
|
arraysIndex < meshArrays.arrays.trianglePoints.length - 3) {
|
713
717
|
const n = polys[i];
|
714
|
-
let propertyValue = properties[pn++];
|
715
|
-
if (
|
718
|
+
let propertyValue = properties === null || properties === void 0 ? void 0 : properties[pn++];
|
719
|
+
if (propertyValue != undefined &&
|
720
|
+
isPropertyValueDefined(propertyValue, params.undefinedValue)) {
|
716
721
|
propertyValueRangeMin =
|
717
722
|
propertyValue < propertyValueRangeMin
|
718
723
|
? propertyValue
|
@@ -757,7 +762,9 @@ export function makeFullMesh(e) {
|
|
757
762
|
meshArrays.arrays.triangleNormals[arraysIndex] = normal[0];
|
758
763
|
meshArrays.arrays.triangleNormals[arraysIndex + 1] = normal[1];
|
759
764
|
meshArrays.arrays.triangleNormals[arraysIndex + 2] = normal[2];
|
760
|
-
meshArrays.arrays.properties
|
765
|
+
if (meshArrays.arrays.properties) {
|
766
|
+
meshArrays.arrays.properties[propertyIndex] = propertyValue;
|
767
|
+
}
|
761
768
|
arraysIndex += 3;
|
762
769
|
propertyIndex += 1;
|
763
770
|
}
|
@@ -769,7 +776,9 @@ export function makeFullMesh(e) {
|
|
769
776
|
drawMode: "triangle-list",
|
770
777
|
attributes: {
|
771
778
|
positions: { value: meshArrays.arrays.trianglePoints, size: 3 },
|
772
|
-
properties:
|
779
|
+
properties: meshArrays.arrays.properties
|
780
|
+
? { value: meshArrays.arrays.properties, size: 1 }
|
781
|
+
: undefined,
|
773
782
|
normals: { value: meshArrays.arrays.triangleNormals, size: 3 },
|
774
783
|
},
|
775
784
|
vertexCount: trianglesVertexCount,
|
@@ -794,7 +803,7 @@ export function makeFullMesh(e) {
|
|
794
803
|
}
|
795
804
|
catch (error) {
|
796
805
|
console.log("Grid3d webworker failed with error: ", error);
|
797
|
-
return createEmptyMeshes();
|
806
|
+
return createEmptyMeshes(!!properties);
|
798
807
|
}
|
799
808
|
}
|
800
809
|
//# sourceMappingURL=webworker.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"webworker.js","sourceRoot":"","sources":["../../../src/layers/grid3d/webworker.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"webworker.js","sourceRoot":"","sources":["../../../src/layers/grid3d/webworker.ts"],"names":[],"mappings":"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"}
|
@@ -2,7 +2,7 @@ import type React from "react";
|
|
2
2
|
import type { Color, CompositeLayerProps, Layer, UpdateParameters } from "@deck.gl/core";
|
3
3
|
import { CompositeLayer } from "@deck.gl/core";
|
4
4
|
import type { ReportBoundingBoxAction } from "../../components/Map";
|
5
|
-
import type { ExtendedLayerProps,
|
5
|
+
import type { ExtendedLayerProps, ColorMapFunctionType } from "../utils/layerTools";
|
6
6
|
import type { Material } from "./privateMapLayer";
|
7
7
|
import PrivateMapLayer from "./privateMapLayer";
|
8
8
|
type Frame = {
|
@@ -90,7 +90,7 @@ export interface MapLayerProps extends ExtendedLayerProps {
|
|
90
90
|
* May also be set as constant color:
|
91
91
|
* E.g. [255, 0, 0] for constant red surface.
|
92
92
|
*/
|
93
|
-
colorMapFunction?:
|
93
|
+
colorMapFunction?: ColorMapFunctionType;
|
94
94
|
/** Surface material properties.
|
95
95
|
* material: true = default material, coloring depends on surface orientation and lighting.
|
96
96
|
* false = no material, coloring is independent on surface orientation and lighting.
|
@@ -2,7 +2,7 @@ import type { Color, LayerContext, PickingInfo, UpdateParameters } from "@deck.g
|
|
2
2
|
import { Layer } from "@deck.gl/core";
|
3
3
|
import type { Device, UniformValue } from "@luma.gl/core";
|
4
4
|
import { Model } from "@luma.gl/engine";
|
5
|
-
import type { ExtendedLayerProps, LayerPickInfo,
|
5
|
+
import type { ExtendedLayerProps, LayerPickInfo, ColorMapFunctionType } from "../utils/layerTools";
|
6
6
|
import type { DeckGLLayerContext } from "../../components/Map";
|
7
7
|
export type Material = {
|
8
8
|
ambient: number;
|
@@ -23,7 +23,7 @@ export interface PrivateMapLayerProps extends ExtendedLayerProps {
|
|
23
23
|
colorMapName: string;
|
24
24
|
colorMapRange: [number, number];
|
25
25
|
colorMapClampColor: Color | undefined | boolean;
|
26
|
-
colorMapFunction?:
|
26
|
+
colorMapFunction?: ColorMapFunctionType;
|
27
27
|
propertyValueRange: [number, number];
|
28
28
|
smoothShading: boolean;
|
29
29
|
depthTest: boolean;
|
@@ -5,7 +5,10 @@ import type { Layer, LayersList, LayerManager, CompositeLayerProps } from "@deck
|
|
5
5
|
import { Matrix4 } from "math.gl";
|
6
6
|
import type { ContinuousLegendDataType, DiscreteLegendDataType } from "../../components/ColorLegend";
|
7
7
|
export type Position3D = [number, number, number];
|
8
|
-
|
8
|
+
/** Type of functions returning a color from a value in the [0,1] range. */
|
9
|
+
export type ColorMapFunctionType = (x: number) => [number, number, number];
|
10
|
+
/** @deprecated Use ColorMapFunctionType instead. */
|
11
|
+
export type colorMapFunctionType = ColorMapFunctionType;
|
9
12
|
export interface TypeAndNameLayerProps {
|
10
13
|
"@@type"?: string;
|
11
14
|
name: string;
|
@@ -53,13 +56,15 @@ export declare function isDrawingEnabled(layer_manager: LayerManager): boolean;
|
|
53
56
|
export declare function invertZCoordinate(dataArray: Float32Array): void;
|
54
57
|
export declare function defineBoundingBox(dataArray: Float32Array, zIncreasingDownwards?: boolean): [number, number, number, number, number, number];
|
55
58
|
/**
|
56
|
-
* Creates an array of
|
59
|
+
* Creates an array of colors as RGB triplets in range [0, 1] using the color map or color map function.
|
57
60
|
* ColorMapFunction has priority.
|
58
61
|
* @param colorMapName Name of the color map in color tables.
|
59
62
|
* @param colorTables Color tables.
|
60
63
|
* @param colorMapFunction Either a function which returns a color
|
61
64
|
* or an array representing a constant color.
|
62
|
-
* @
|
65
|
+
* @param colormapSize Number of colors in the color map.
|
66
|
+
* @param discreteColormapFunction If true, the color map function is targeting indices ranging from 0 to colormapSize.
|
67
|
+
* @returns Array of colors.
|
63
68
|
*/
|
64
|
-
export declare function getImageData(colorMapName: string, colorTables: colorTablesArray, colorMapFunction:
|
69
|
+
export declare function getImageData(colorMapName: string, colorTables: colorTablesArray, colorMapFunction: ColorMapFunctionType | undefined, colormapSize?: number, discreteColormapFunction?: boolean): Uint8Array | number[];
|
65
70
|
export {};
|
@@ -96,15 +96,17 @@ export function defineBoundingBox(dataArray, zIncreasingDownwards = false) {
|
|
96
96
|
return [minX, minY, minZ, maxX, maxY, maxZ];
|
97
97
|
}
|
98
98
|
/**
|
99
|
-
* Creates an array of
|
99
|
+
* Creates an array of colors as RGB triplets in range [0, 1] using the color map or color map function.
|
100
100
|
* ColorMapFunction has priority.
|
101
101
|
* @param colorMapName Name of the color map in color tables.
|
102
102
|
* @param colorTables Color tables.
|
103
103
|
* @param colorMapFunction Either a function which returns a color
|
104
104
|
* or an array representing a constant color.
|
105
|
-
* @
|
105
|
+
* @param colormapSize Number of colors in the color map.
|
106
|
+
* @param discreteColormapFunction If true, the color map function is targeting indices ranging from 0 to colormapSize.
|
107
|
+
* @returns Array of colors.
|
106
108
|
*/
|
107
|
-
export function getImageData(colorMapName, colorTables, colorMapFunction) {
|
109
|
+
export function getImageData(colorMapName, colorTables, colorMapFunction, colormapSize = 256, discreteColormapFunction = false) {
|
108
110
|
const isColorMapFunctionDefined = typeof colorMapFunction !== "undefined";
|
109
111
|
const isColorMapNameDefined = !!colorMapName;
|
110
112
|
const defaultColorMap = createDefaultContinuousColorScale;
|
@@ -116,12 +118,15 @@ export function getImageData(colorMapName, colorTables, colorMapFunction) {
|
|
116
118
|
: (() => colorMapFunction);
|
117
119
|
}
|
118
120
|
else if (isColorMapNameDefined) {
|
121
|
+
discreteColormapFunction = false;
|
119
122
|
colorMap = (value) => rgbValues(value, colorMapName, colorTables);
|
120
123
|
}
|
121
|
-
const data = new Uint8Array(
|
122
|
-
|
123
|
-
|
124
|
-
|
124
|
+
const data = new Uint8Array(colormapSize * 3);
|
125
|
+
const scaling = discreteColormapFunction
|
126
|
+
? 1
|
127
|
+
: 1 / Math.max(colormapSize - 1, 1);
|
128
|
+
for (let i = 0; i < colormapSize; i++) {
|
129
|
+
const color = colorMap ? colorMap(scaling * i) : [1, 0, 0];
|
125
130
|
if (color) {
|
126
131
|
data[3 * i + 0] = color[0];
|
127
132
|
data[3 * i + 1] = color[1];
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"layerTools.js","sourceRoot":"","sources":["../../../src/layers/utils/layerTools.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,iCAAiC,EAAE,MAAM,qEAAqE,CAAC;AAQxH,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;
|
1
|
+
{"version":3,"file":"layerTools.js","sourceRoot":"","sources":["../../../src/layers/utils/layerTools.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,2 +0,0 @@
|
|
1
|
-
declare const fsShader = "#version 300 es\n#define SHADER_NAME grid3d-fragment-shader\n\nprecision highp float;\n\nin vec3 cameraPosition;\nin vec4 position_commonspace;\nflat in float property;\nin float property_interpolated;\n\nflat in vec3 normal;\nflat in int vertexIndex;\n\nout vec4 fragColor;\n\nuniform sampler2D colormap;\n\nuniform float valueRangeMin;\nuniform float valueRangeMax;\nuniform float colorMapRangeMin;\nuniform float colorMapRangeMax;\n\nuniform bool isColoringDiscrete;\nuniform float colorMapSize;\nuniform lowp int coloringMode;\n\nuniform vec3 colorMapClampColor;\nuniform vec3 undefinedPropertyColor;\nuniform bool isClampColor;\nuniform bool isColorMapClampColorTransparent;\n\nvec4 getContinuousPropertyColor (float propertyValue) {\n \n vec4 color = vec4(1.0, 1.0, 1.0, 1.0);\n float x = (propertyValue - colorMapRangeMin) / (colorMapRangeMax - colorMapRangeMin);\n if (x < 0.0 || x > 1.0) {\n // Out of range. Use clampcolor.\n if (isClampColor) {\n color = vec4(colorMapClampColor.rgb, 1.0);\n\n }\n else if (isColorMapClampColorTransparent) {\n discard;\n }\n else {\n // Use min/max color to clamp.\n x = clamp (x, 0.0, 1.0); \n color = texture(colormap, vec2(x, 0.5));\n }\n }\n else {\n color = texture(colormap, vec2(x, 0.5));\n }\n return color;\n}\n\n// Calculate color from propertyValue using discrete colormap.\nvec4 getDiscretePropertyColor (float propertyValue) {\n\n vec4 color = vec4(1.0, 1.0, 1.0, 1.0);\n float tolerance = (1.0 / colorMapSize) * 0.5;\n\n if (propertyValue < colorMapRangeMin - tolerance || propertyValue > colorMapRangeMax + tolerance) {\n // Out of range. Use clampcolor.\n if (isClampColor) {\n color = vec4(colorMapClampColor.rgb, 1.0);\n\n }\n else if (isColorMapClampColorTransparent) {\n discard;\n }\n else {\n // Use min/max color to clamp.\n float p = clamp (propertyValue, colorMapRangeMin, colorMapRangeMax);\n float x = p / colorMapSize;\n color = texture(colormap, vec2(x, 0.5));\n }\n }\n else {\n float x = propertyValue / colorMapSize;\n color = texture(colormap, vec2(x + tolerance, 0.5));\n }\n return color;\n}\n\nvec4 getPropertyColor (float propertyValue) {\n if(isColoringDiscrete) {\n return getDiscretePropertyColor (propertyValue);\n }\n return getContinuousPropertyColor (propertyValue);\n}\n\nvoid main(void) {\n\n if (picking.isActive > 0.5 && !(picking.isAttribute > 0.5)) {\n fragColor = encodeVertexIndexToRGB(vertexIndex); \n return;\n }\n\n if (coloringMode == 0 && isnan(property)) {\n vec3 lightColor = getPhongLightColor(undefinedPropertyColor.rgb, cameraPosition, position_commonspace.xyz, normal);\n fragColor = vec4(lightColor, 1.0); \n return;\n } \n \n // Property values other than X,Y or Z are passed as \"flat\" i.e. constant over faces.\n float propertyValue = coloringMode == 0 ? property : property_interpolated;\n propertyValue = clamp(propertyValue, valueRangeMin, valueRangeMax);\n\n vec4 color = getPropertyColor(propertyValue);\n\n // Use two sided phong lighting. This has no effect if \"material\" property is not set.\n vec3 lightColor = getPhongLightColor(color.rgb, cameraPosition, position_commonspace.xyz, normal);\n fragColor = vec4(lightColor, 1.0);\n DECKGL_FILTER_COLOR(fragColor, geometry);\n}\n";
|
2
|
-
export default fsShader;
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"fragment.fs.glsl.js","sourceRoot":"","sources":["../../../src/layers/grid3d/fragment.fs.glsl.ts"],"names":[],"mappings":"AAAA,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoHhB,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
@@ -1,2 +0,0 @@
|
|
1
|
-
declare const vsShader = "#version 300 es\n#define SHADER_NAME grid3d-vertex-shader\nprecision highp float;\n\nin vec3 positions;\nin float properties;\nin vec3 normals;\n\nuniform lowp int coloringMode;\n\n// Outputs to fragment shader\nout vec3 cameraPosition;\nout vec4 position_commonspace;\nflat out float property;\nout float property_interpolated;\n\nflat out vec3 normal;\nflat out int vertexIndex;\n\nuniform bool ZIncreasingDownwards;\n\nconst vec3 pickingColor = vec3(1.0, 1.0, 0.0);\n\nvoid main(void) { \n \n vertexIndex = gl_VertexID;\n cameraPosition = project_uCameraPosition; \n geometry.pickingColor = pickingColor;\n\n normal = normals;\n vec3 position = positions;\n\n float zSign = ZIncreasingDownwards ? -1.0 : 1.0;\n\n position.z *= zSign;\n normal.z *= zSign;\n\n switch(coloringMode) {\n case 0: property = properties; break;\n case 1: property_interpolated = position.x; break;\n case 2: property_interpolated = position.y; break;\n case 3: property_interpolated = position.z; break;\n default: property = properties; break;\n }\n\n position_commonspace = vec4(project_position(position), 0.0);\n gl_Position = project_common_position_to_clipspace(position_commonspace);\n\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n vec4 color = vec4(0.0);\n DECKGL_FILTER_COLOR(color, geometry);\n}\n";
|
2
|
-
export default vsShader;
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"vertex.glsl.js","sourceRoot":"","sources":["../../../src/layers/grid3d/vertex.glsl.ts"],"names":[],"mappings":"AAAA,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsDhB,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|