@webviz/subsurface-viewer 0.0.1-alpha.1 → 0.0.2-alpha.1
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/package.json +5 -2
- package/package.json +6 -3
- package/src/DashSubsurfaceViewer.tsx +0 -270
- package/src/SubsurfaceViewer.stories.tsx +0 -449
- package/src/SubsurfaceViewer.test.tsx +0 -98
- package/src/SubsurfaceViewer.tsx +0 -356
- package/src/__snapshots__/SubsurfaceViewer.test.tsx.snap +0 -178
- package/src/assets/glTF/north_arrow/scene.bin +0 -0
- package/src/assets/glTF/north_arrow/scene.gltf +0 -315
- package/src/assets/glTF/north_arrow/textures/Arrow5_baseColor.png +0 -0
- package/src/assets/glTF/north_arrow/textures/Arrow5_metallicRoughness.png +0 -0
- package/src/assets/glTF/north_arrow/textures/Arrow5_normal.png +0 -0
- package/src/components/ColorLegend.test.tsx +0 -32
- package/src/components/ColorLegend.tsx +0 -80
- package/src/components/ColorLegends.test.tsx +0 -97
- package/src/components/ColorLegends.tsx +0 -46
- package/src/components/DistanceScale.stories.tsx +0 -28
- package/src/components/DistanceScale.test.tsx +0 -36
- package/src/components/DistanceScale.tsx +0 -84
- package/src/components/InfoCard.test.tsx +0 -110
- package/src/components/InfoCard.tsx +0 -263
- package/src/components/Map.test.tsx +0 -142
- package/src/components/Map.tsx +0 -1435
- package/src/components/StatusIndicator.test.tsx +0 -14
- package/src/components/StatusIndicator.tsx +0 -38
- package/src/components/ViewAnnotation.tsx +0 -16
- package/src/components/ViewFooter.test.tsx +0 -12
- package/src/components/ViewFooter.tsx +0 -30
- package/src/components/__snapshots__/ColorLegends.test.tsx.snap +0 -15
- package/src/components/__snapshots__/DistanceScale.test.tsx.snap +0 -33
- package/src/components/__snapshots__/InfoCard.test.tsx.snap +0 -561
- package/src/components/__snapshots__/Map.test.tsx.snap +0 -119
- package/src/components/__snapshots__/StatusIndicator.test.tsx.snap +0 -3
- package/src/components/__snapshots__/ViewFooter.test.tsx.snap +0 -7
- package/src/components/settings/DrawModeSelector.test.tsx +0 -45
- package/src/components/settings/DrawModeSelector.tsx +0 -58
- package/src/components/settings/DrawModeSelector_performance.test.tsx +0 -35
- package/src/components/settings/LayerProperty.test.tsx +0 -35
- package/src/components/settings/LayerProperty.tsx +0 -153
- package/src/components/settings/LayerProperty_performance.test.tsx +0 -39
- package/src/components/settings/LayerSettingsButton.test.tsx +0 -133
- package/src/components/settings/LayerSettingsButton.tsx +0 -95
- package/src/components/settings/LayersButton.test.tsx +0 -102
- package/src/components/settings/LayersButton.tsx +0 -97
- package/src/components/settings/NumericInput.test.tsx +0 -25
- package/src/components/settings/NumericInput.tsx +0 -67
- package/src/components/settings/Settings.tsx +0 -71
- package/src/components/settings/SliderInput.test.tsx +0 -28
- package/src/components/settings/SliderInput.tsx +0 -71
- package/src/components/settings/ToggleButton.test.tsx +0 -25
- package/src/components/settings/ToggleButton.tsx +0 -53
- package/src/components/settings/__snapshots__/DrawModeSelector.test.tsx.snap +0 -124
- package/src/components/settings/__snapshots__/LayerProperty.test.tsx.snap +0 -124
- package/src/components/settings/__snapshots__/LayerSettingsButton.test.tsx.snap +0 -36
- package/src/components/settings/__snapshots__/LayersButton.test.tsx.snap +0 -83
- package/src/components/settings/__snapshots__/NumericInput.test.tsx.snap +0 -123
- package/src/components/settings/__snapshots__/SliderInput.test.tsx.snap +0 -244
- package/src/components/settings/__snapshots__/ToggleButton.test.tsx.snap +0 -182
- package/src/custom.d.ts +0 -9
- package/src/index.ts +0 -5
- package/src/inputSchema/ColorTables.json +0 -51
- package/src/inputSchema/FaultPolygons.json +0 -80
- package/src/inputSchema/Grid.json +0 -39
- package/src/inputSchema/PieChart.json +0 -72
- package/src/inputSchema/WellLog.json +0 -126
- package/src/inputSchema/WellLogTemplate.json +0 -136
- package/src/inputSchema/WellLogs.json +0 -5
- package/src/inputSchema/Wells.json +0 -106
- package/src/inputSchema/schemaValidationUtil.tsx +0 -55
- package/src/inputSchema/validator.tsx +0 -72
- package/src/inputSchema/wellCompletions.json +0 -108
- package/src/layers/BoxSelectionLayer/boxSelectionLayer.stories.tsx +0 -172
- package/src/layers/BoxSelectionLayer/boxSelectionLayer.tsx +0 -136
- package/src/layers/axes/axes-fragment.glsl.ts +0 -15
- package/src/layers/axes/axesLayer.stories.tsx +0 -87
- package/src/layers/axes/axesLayer.ts +0 -692
- package/src/layers/axes/boxLayer.ts +0 -71
- package/src/layers/axes/grid-vertex.glsl.ts +0 -14
- package/src/layers/axes2d/axes2DLayer.stories.tsx +0 -150
- package/src/layers/axes2d/axes2DLayer.ts +0 -841
- package/src/layers/axes2d/font-atlas.png +0 -0
- package/src/layers/axes2d/label-fragment.glsl.js +0 -37
- package/src/layers/axes2d/label-vertex.glsl.js +0 -20
- package/src/layers/axes2d/line-fragment.glsl.js +0 -14
- package/src/layers/axes2d/line-vertex.glsl.js +0 -13
- package/src/layers/colormap/colormap.fs.glsl.ts +0 -42
- package/src/layers/colormap/colormapLayer.ts +0 -247
- package/src/layers/drawing/drawingLayer.tsx +0 -256
- package/src/layers/fault_polygons/faultPolygonsLayer.ts +0 -54
- package/src/layers/grid3d/fragment.fs.glsl.ts +0 -109
- package/src/layers/grid3d/fragment_lines.glsl.ts +0 -21
- package/src/layers/grid3d/grid3dLayer.stories.tsx +0 -172
- package/src/layers/grid3d/grid3dLayer.ts +0 -248
- package/src/layers/grid3d/privateLayer.ts +0 -292
- package/src/layers/grid3d/vertex.glsl.ts +0 -43
- package/src/layers/grid3d/vertex_lines.glsl.ts +0 -15
- package/src/layers/grid3d/webworker.ts +0 -173
- package/src/layers/hillshading2d/hillshading2d.fs.glsl.ts +0 -62
- package/src/layers/hillshading2d/hillshading2dLayer.ts +0 -172
- package/src/layers/index.ts +0 -35
- package/src/layers/intersection/intersectionView.stories.tsx +0 -294
- package/src/layers/intersection/unfoldedGeoJsonLayer.ts +0 -92
- package/src/layers/map/fragment.fs.glsl.ts +0 -127
- package/src/layers/map/fragment_lines.glsl.ts +0 -21
- package/src/layers/map/mapLayer.stories.tsx +0 -1369
- package/src/layers/map/mapLayer.ts +0 -470
- package/src/layers/map/privateMapLayer.ts +0 -317
- package/src/layers/map/vertex.glsl.ts +0 -45
- package/src/layers/map/vertex_lines.glsl.ts +0 -15
- package/src/layers/map/webworker.ts +0 -479
- package/src/layers/northarrow/northArrow.stories.tsx +0 -108
- package/src/layers/northarrow/northArrow3DLayer.ts +0 -204
- package/src/layers/northarrow/northarrow-fragment.glsl.js +0 -14
- package/src/layers/northarrow/northarrow-vertex.glsl.js +0 -13
- package/src/layers/piechart/fragment.glsl.js +0 -42
- package/src/layers/piechart/pieChartLayer.ts +0 -246
- package/src/layers/piechart/vertex.glsl.js +0 -42
- package/src/layers/points/pointsLayer.stories.tsx +0 -141
- package/src/layers/points/pointsLayer.ts +0 -143
- package/src/layers/polylines/polylinesLayer.stories.tsx +0 -144
- package/src/layers/polylines/polylinesLayer.ts +0 -263
- package/src/layers/selectable_geojson/selectableGeoJsonLayer.ts +0 -25
- package/src/layers/shader_modules/decoder.fs.glsl.ts +0 -41
- package/src/layers/shader_modules/decoder.ts +0 -46
- package/src/layers/shader_modules/index.ts +0 -1
- package/src/layers/terrain/map3DLayer.stories.tsx +0 -340
- package/src/layers/terrain/map3DLayer.ts +0 -556
- package/src/layers/terrain/terrainMapLayer.ts +0 -334
- package/src/layers/terrain/terrainmap.fs.glsl.ts +0 -134
- package/src/layers/triangle/fragment.fs.glsl.ts +0 -126
- package/src/layers/triangle/fragment_lines.glsl.ts +0 -21
- package/src/layers/triangle/privateTriangleLayer.ts +0 -203
- package/src/layers/triangle/test_data/surfacePoints.ts +0 -4344
- package/src/layers/triangle/test_data/surfaceTriangles.ts +0 -7392
- package/src/layers/triangle/triangleLayer.stories.tsx +0 -191
- package/src/layers/triangle/triangleLayer.ts +0 -273
- package/src/layers/triangle/vertex.glsl.ts +0 -35
- package/src/layers/triangle/vertex_lines.glsl.ts +0 -15
- package/src/layers/triangle/webworker.ts +0 -165
- package/src/layers/utils/glsl.d.ts +0 -4
- package/src/layers/utils/layerTools.ts +0 -182
- package/src/layers/utils/propertyMapTools.ts +0 -43
- package/src/layers/wells/utils/spline.ts +0 -318
- package/src/layers/wells/wellsLayer.stories.tsx +0 -625
- package/src/layers/wells/wellsLayer.ts +0 -1377
- package/src/redux/actions.ts +0 -8
- package/src/redux/reducer.ts +0 -43
- package/src/redux/store.ts +0 -15
- package/src/redux/types.ts +0 -114
- package/src/storybook/SubsurfaceViewer.stories.jsx +0 -644
- package/src/storybook/components/InfoCard.stories.jsx +0 -39
- package/src/storybook/components/colorLegends/ContinuousLegend.stories.jsx +0 -32
- package/src/storybook/components/colorLegends/DiscreteLegend.stories.jsx +0 -33
- package/src/storybook/components/colorLegends/IndividualScaleForMap.stories.jsx +0 -99
- package/src/storybook/components/colorLegends/SingleScaleForMap.stories.jsx +0 -120
- package/src/storybook/components/settings/LayerSettingsButton.stories.jsx +0 -34
- package/src/storybook/components/settings/NumericInput.stories.jsx +0 -17
- package/src/storybook/components/settings/ToggleButton.stories.jsx +0 -16
- package/src/storybook/schemaValidation/sampleData.js +0 -177
- package/src/storybook/schemaValidation/schemaValidation.stories.jsx +0 -91
- package/src/test/TestWrapper.tsx +0 -13
- package/src/utils/configuration.ts +0 -61
- package/src/utils/fit-bounds.js +0 -85
- package/src/utils/measurement.ts +0 -61
- package/src/utils/northArrow.ts +0 -4
- package/src/utils/specExtractor.ts +0 -36
- package/src/viewports/index.js +0 -1
- package/src/viewports/intersectionViewport.ts +0 -137
- package/src/views/index.js +0 -1
- package/src/views/intersectionView.ts +0 -38
- package/tsconfig.json +0 -7
|
@@ -1,317 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
COORDINATE_SYSTEM,
|
|
3
|
-
Layer,
|
|
4
|
-
picking,
|
|
5
|
-
project,
|
|
6
|
-
phongLighting,
|
|
7
|
-
PickingInfo,
|
|
8
|
-
UpdateParameters,
|
|
9
|
-
Color,
|
|
10
|
-
} from "@deck.gl/core/typed";
|
|
11
|
-
import {
|
|
12
|
-
createPropertyData,
|
|
13
|
-
LayerPickInfo,
|
|
14
|
-
PropertyDataType,
|
|
15
|
-
} from "../utils/layerTools";
|
|
16
|
-
import { Model, Geometry } from "@luma.gl/engine";
|
|
17
|
-
import { DeckGLLayerContext } from "../../components/Map";
|
|
18
|
-
import { ExtendedLayerProps, colorMapFunctionType } from "../utils/layerTools";
|
|
19
|
-
import vsShader from "./vertex.glsl";
|
|
20
|
-
import fsShader from "./fragment.fs.glsl";
|
|
21
|
-
import vsLineShader from "./vertex_lines.glsl";
|
|
22
|
-
import fsLineShader from "./fragment_lines.glsl";
|
|
23
|
-
|
|
24
|
-
import { colorTablesArray, rgbValues } from "@emerson-eps/color-tables/";
|
|
25
|
-
import { createDefaultContinuousColorScale } from "@emerson-eps/color-tables/dist/component/Utils/legendCommonFunction";
|
|
26
|
-
import { Texture2D } from "@luma.gl/webgl";
|
|
27
|
-
import GL from "@luma.gl/constants";
|
|
28
|
-
|
|
29
|
-
const DEFAULT_TEXTURE_PARAMETERS = {
|
|
30
|
-
[GL.TEXTURE_MIN_FILTER]: GL.LINEAR_MIPMAP_LINEAR,
|
|
31
|
-
[GL.TEXTURE_MAG_FILTER]: GL.LINEAR,
|
|
32
|
-
[GL.TEXTURE_WRAP_S]: GL.CLAMP_TO_EDGE,
|
|
33
|
-
[GL.TEXTURE_WRAP_T]: GL.CLAMP_TO_EDGE,
|
|
34
|
-
};
|
|
35
|
-
|
|
36
|
-
export type MeshType = {
|
|
37
|
-
drawMode?: number;
|
|
38
|
-
attributes: {
|
|
39
|
-
positions: { value: Float32Array; size: number };
|
|
40
|
-
TEXCOORD_0?: { value: Float32Array; size: number };
|
|
41
|
-
normals: { value: Float32Array; size: number };
|
|
42
|
-
properties: { value: Float32Array; size: number };
|
|
43
|
-
vertex_indexs: { value: Int32Array; size: number };
|
|
44
|
-
};
|
|
45
|
-
vertexCount: number;
|
|
46
|
-
indices: { value: Uint32Array; size: number };
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
export type MeshTypeLines = {
|
|
50
|
-
drawMode: number;
|
|
51
|
-
attributes: {
|
|
52
|
-
positions: { value: Float32Array; size: number };
|
|
53
|
-
};
|
|
54
|
-
vertexCount: number;
|
|
55
|
-
};
|
|
56
|
-
|
|
57
|
-
export type Material =
|
|
58
|
-
| {
|
|
59
|
-
ambient: number;
|
|
60
|
-
diffuse: number;
|
|
61
|
-
shininess: number;
|
|
62
|
-
specularColor: [number, number, number];
|
|
63
|
-
}
|
|
64
|
-
| boolean;
|
|
65
|
-
|
|
66
|
-
function getImageData(
|
|
67
|
-
colorMapName: string,
|
|
68
|
-
colorTables: colorTablesArray,
|
|
69
|
-
colorMapFunction: colorMapFunctionType | undefined
|
|
70
|
-
) {
|
|
71
|
-
type funcType = (x: number) => Color;
|
|
72
|
-
|
|
73
|
-
const isColorMapFunctionDefined = typeof colorMapFunction !== "undefined";
|
|
74
|
-
const isColorMapNameDefined = !!colorMapName;
|
|
75
|
-
|
|
76
|
-
const defaultColorMap = createDefaultContinuousColorScale;
|
|
77
|
-
let colorMap = defaultColorMap() as unknown as funcType;
|
|
78
|
-
|
|
79
|
-
if (isColorMapFunctionDefined) {
|
|
80
|
-
colorMap =
|
|
81
|
-
typeof colorMapFunction === "function"
|
|
82
|
-
? (colorMapFunction as funcType)
|
|
83
|
-
: ((() => colorMapFunction) as unknown as funcType);
|
|
84
|
-
} else if (isColorMapNameDefined) {
|
|
85
|
-
colorMap = (value: number) =>
|
|
86
|
-
rgbValues(value, colorMapName, colorTables);
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
const data = new Uint8Array(256 * 3);
|
|
90
|
-
|
|
91
|
-
for (let i = 0; i < 256; i++) {
|
|
92
|
-
const value = i / 255.0;
|
|
93
|
-
const color = colorMap ? colorMap(value) : [0, 0, 0];
|
|
94
|
-
if (color) {
|
|
95
|
-
data[3 * i + 0] = color[0];
|
|
96
|
-
data[3 * i + 1] = color[1];
|
|
97
|
-
data[3 * i + 2] = color[2];
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
return data ? data : [0, 0, 0];
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
export interface privateMapLayerProps<D> extends ExtendedLayerProps<D> {
|
|
105
|
-
mesh: MeshType;
|
|
106
|
-
meshLines: MeshTypeLines;
|
|
107
|
-
contours: [number, number];
|
|
108
|
-
gridLines: boolean;
|
|
109
|
-
isContoursDepth: boolean;
|
|
110
|
-
colorMapName: string;
|
|
111
|
-
colorMapRange: [number, number];
|
|
112
|
-
colorMapClampColor: Color | undefined | boolean;
|
|
113
|
-
colorMapFunction?: colorMapFunctionType;
|
|
114
|
-
propertyValueRange: [number, number];
|
|
115
|
-
smoothShading: boolean;
|
|
116
|
-
depthTest: boolean;
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
const defaultProps = {
|
|
120
|
-
data: ["dummy"],
|
|
121
|
-
contours: [-1, -1],
|
|
122
|
-
isContoursDepth: true,
|
|
123
|
-
gridLines: false,
|
|
124
|
-
colorMapName: "",
|
|
125
|
-
coordinateSystem: COORDINATE_SYSTEM.CARTESIAN,
|
|
126
|
-
propertyValueRange: [0.0, 1.0],
|
|
127
|
-
meshValueRange: [0.0, 1.0],
|
|
128
|
-
depthTest: true,
|
|
129
|
-
};
|
|
130
|
-
|
|
131
|
-
// This is a private layer used only by the composite Map3DLayer
|
|
132
|
-
export default class privateMapLayer extends Layer<
|
|
133
|
-
privateMapLayerProps<unknown>
|
|
134
|
-
> {
|
|
135
|
-
initializeState(context: DeckGLLayerContext): void {
|
|
136
|
-
const { gl } = context;
|
|
137
|
-
const [model_mesh, mesh_lines_model] = this._getModels(gl);
|
|
138
|
-
this.setState({ models: [model_mesh, mesh_lines_model] });
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
shouldUpdateState({
|
|
142
|
-
props,
|
|
143
|
-
oldProps,
|
|
144
|
-
context,
|
|
145
|
-
changeFlags,
|
|
146
|
-
}: UpdateParameters<this>): boolean {
|
|
147
|
-
return (
|
|
148
|
-
super.shouldUpdateState({
|
|
149
|
-
props,
|
|
150
|
-
oldProps,
|
|
151
|
-
context,
|
|
152
|
-
changeFlags,
|
|
153
|
-
}) || changeFlags.propsOrDataChanged
|
|
154
|
-
);
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
updateState({ context }: UpdateParameters<this>): void {
|
|
158
|
-
this.initializeState(context as DeckGLLayerContext);
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
//eslint-disable-next-line
|
|
162
|
-
_getModels(gl: any) {
|
|
163
|
-
// MESH MODEL
|
|
164
|
-
const mesh_model = new Model(gl, {
|
|
165
|
-
id: `${this.props.id}-mesh`,
|
|
166
|
-
vs: vsShader,
|
|
167
|
-
fs: fsShader,
|
|
168
|
-
geometry: new Geometry({
|
|
169
|
-
drawMode: this.props.mesh.drawMode,
|
|
170
|
-
attributes: {
|
|
171
|
-
positions: this.props.mesh.attributes.positions,
|
|
172
|
-
normals: this.props.mesh.attributes.normals,
|
|
173
|
-
properties: this.props.mesh.attributes.properties,
|
|
174
|
-
vertex_indexs: this.props.mesh.attributes.vertex_indexs,
|
|
175
|
-
},
|
|
176
|
-
vertexCount: this.props.mesh.vertexCount,
|
|
177
|
-
indices: this.props.mesh.indices,
|
|
178
|
-
}),
|
|
179
|
-
modules: [project, picking, phongLighting],
|
|
180
|
-
isInstanced: false, // This only works when set to false.
|
|
181
|
-
});
|
|
182
|
-
|
|
183
|
-
// MESH LINES
|
|
184
|
-
const mesh_lines_model = new Model(gl, {
|
|
185
|
-
id: `${this.props.id}-lines`,
|
|
186
|
-
vs: vsLineShader,
|
|
187
|
-
fs: fsLineShader,
|
|
188
|
-
geometry: new Geometry(this.props.meshLines),
|
|
189
|
-
modules: [project, picking],
|
|
190
|
-
isInstanced: false,
|
|
191
|
-
});
|
|
192
|
-
|
|
193
|
-
return [mesh_model, mesh_lines_model];
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
// Signature from the base class, eslint doesn't like the any type.
|
|
197
|
-
// eslint-disable-next-line
|
|
198
|
-
draw(args: any): void {
|
|
199
|
-
if (!this.state["models"]) {
|
|
200
|
-
return;
|
|
201
|
-
}
|
|
202
|
-
|
|
203
|
-
const { uniforms, context } = args;
|
|
204
|
-
const { gl } = context;
|
|
205
|
-
|
|
206
|
-
const contourReferencePoint = this.props.contours[0] ?? -1.0;
|
|
207
|
-
const contourInterval = this.props.contours[1] ?? -1.0;
|
|
208
|
-
const isContoursDepth = this.props.isContoursDepth;
|
|
209
|
-
|
|
210
|
-
const [model_mesh, mesh_lines_model] = this.state["models"];
|
|
211
|
-
|
|
212
|
-
const valueRangeMin = this.props.propertyValueRange[0] ?? 0.0;
|
|
213
|
-
const valueRangeMax = this.props.propertyValueRange[1] ?? 1.0;
|
|
214
|
-
|
|
215
|
-
// If specified color map will extend from colorMapRangeMin to colorMapRangeMax.
|
|
216
|
-
// Otherwise it will extend from valueRangeMin to valueRangeMax.
|
|
217
|
-
const colorMapRangeMin = this.props.colorMapRange?.[0] ?? valueRangeMin;
|
|
218
|
-
const colorMapRangeMax = this.props.colorMapRange?.[1] ?? valueRangeMax;
|
|
219
|
-
|
|
220
|
-
const isClampColor: boolean =
|
|
221
|
-
this.props.colorMapClampColor !== undefined &&
|
|
222
|
-
this.props.colorMapClampColor !== true &&
|
|
223
|
-
this.props.colorMapClampColor !== false;
|
|
224
|
-
let colorMapClampColor = isClampColor
|
|
225
|
-
? this.props.colorMapClampColor
|
|
226
|
-
: [0, 0, 0];
|
|
227
|
-
|
|
228
|
-
// Normalize to [0,1] range.
|
|
229
|
-
colorMapClampColor = (colorMapClampColor as Color).map(
|
|
230
|
-
(x) => (x ?? 0) / 255
|
|
231
|
-
);
|
|
232
|
-
|
|
233
|
-
const isColorMapClampColorTransparent: boolean =
|
|
234
|
-
(this.props.colorMapClampColor as boolean) === false;
|
|
235
|
-
|
|
236
|
-
const smoothShading = this.props.smoothShading;
|
|
237
|
-
|
|
238
|
-
gl.enable(GL.POLYGON_OFFSET_FILL);
|
|
239
|
-
if (!this.props.depthTest) {
|
|
240
|
-
gl.disable(GL.DEPTH_TEST);
|
|
241
|
-
}
|
|
242
|
-
|
|
243
|
-
gl.polygonOffset(1, 1);
|
|
244
|
-
model_mesh
|
|
245
|
-
.setUniforms({
|
|
246
|
-
...uniforms,
|
|
247
|
-
contourReferencePoint,
|
|
248
|
-
contourInterval,
|
|
249
|
-
isContoursDepth,
|
|
250
|
-
colormap: new Texture2D(context.gl, {
|
|
251
|
-
width: 256,
|
|
252
|
-
height: 1,
|
|
253
|
-
format: GL.RGB,
|
|
254
|
-
data: getImageData(
|
|
255
|
-
this.props.colorMapName,
|
|
256
|
-
(this.context as DeckGLLayerContext).userData
|
|
257
|
-
.colorTables,
|
|
258
|
-
this.props.colorMapFunction
|
|
259
|
-
),
|
|
260
|
-
parameters: DEFAULT_TEXTURE_PARAMETERS,
|
|
261
|
-
}),
|
|
262
|
-
valueRangeMin,
|
|
263
|
-
valueRangeMax,
|
|
264
|
-
colorMapRangeMin,
|
|
265
|
-
colorMapRangeMax,
|
|
266
|
-
colorMapClampColor,
|
|
267
|
-
isColorMapClampColorTransparent,
|
|
268
|
-
isClampColor,
|
|
269
|
-
smoothShading,
|
|
270
|
-
})
|
|
271
|
-
.draw();
|
|
272
|
-
gl.disable(GL.POLYGON_OFFSET_FILL);
|
|
273
|
-
|
|
274
|
-
if (!this.props.depthTest) {
|
|
275
|
-
gl.enable(GL.DEPTH_TEST);
|
|
276
|
-
}
|
|
277
|
-
|
|
278
|
-
if (this.props.gridLines) {
|
|
279
|
-
mesh_lines_model.draw();
|
|
280
|
-
}
|
|
281
|
-
}
|
|
282
|
-
|
|
283
|
-
decodePickingColor(): number {
|
|
284
|
-
return 0;
|
|
285
|
-
}
|
|
286
|
-
|
|
287
|
-
getPickingInfo({ info }: { info: PickingInfo }): LayerPickInfo {
|
|
288
|
-
if (!info.color) {
|
|
289
|
-
return info;
|
|
290
|
-
}
|
|
291
|
-
|
|
292
|
-
const layer_properties: PropertyDataType[] = [];
|
|
293
|
-
|
|
294
|
-
// Note these colors are in the 0-255 range.
|
|
295
|
-
const r = info.color[0];
|
|
296
|
-
const g = info.color[1];
|
|
297
|
-
const b = info.color[2];
|
|
298
|
-
|
|
299
|
-
const vertexIndex = 256 * 256 * r + 256 * g + b;
|
|
300
|
-
|
|
301
|
-
const vertexs = this.props.mesh.attributes.positions.value;
|
|
302
|
-
const depth = -vertexs[3 * vertexIndex + 2];
|
|
303
|
-
layer_properties.push(createPropertyData("Depth", depth));
|
|
304
|
-
|
|
305
|
-
const properties = this.props.mesh.attributes.properties.value;
|
|
306
|
-
const property = properties[vertexIndex];
|
|
307
|
-
layer_properties.push(createPropertyData("Property", property));
|
|
308
|
-
|
|
309
|
-
return {
|
|
310
|
-
...info,
|
|
311
|
-
properties: layer_properties,
|
|
312
|
-
};
|
|
313
|
-
}
|
|
314
|
-
}
|
|
315
|
-
|
|
316
|
-
privateMapLayer.layerName = "privateMapLayer";
|
|
317
|
-
privateMapLayer.defaultProps = defaultProps;
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
const vsShader = `\
|
|
2
|
-
#version 300 es
|
|
3
|
-
#define SHADER_NAME vertex-shader
|
|
4
|
-
|
|
5
|
-
precision highp float;
|
|
6
|
-
|
|
7
|
-
// Primitive attributes
|
|
8
|
-
in vec3 positions;
|
|
9
|
-
in float properties;
|
|
10
|
-
in vec3 normals;
|
|
11
|
-
in vec3 colors;
|
|
12
|
-
|
|
13
|
-
in int vertex_indexs;
|
|
14
|
-
flat out int vertex_indexs_;
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
// Outputs to fragment shader
|
|
18
|
-
out vec2 vTexCoord;
|
|
19
|
-
out vec3 cameraPosition;
|
|
20
|
-
out vec3 normals_commonspace;
|
|
21
|
-
out vec4 position_commonspace;
|
|
22
|
-
out vec4 vColor;
|
|
23
|
-
out vec3 worldPos;
|
|
24
|
-
out float property;
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
void main(void) {
|
|
28
|
-
cameraPosition = project_uCameraPosition;
|
|
29
|
-
|
|
30
|
-
worldPos = positions;
|
|
31
|
-
|
|
32
|
-
normals_commonspace = normals;
|
|
33
|
-
|
|
34
|
-
vertex_indexs_ = vertex_indexs;
|
|
35
|
-
|
|
36
|
-
vColor = vec4(colors.rgb, 1.0);
|
|
37
|
-
|
|
38
|
-
property = properties;
|
|
39
|
-
|
|
40
|
-
position_commonspace = vec4(project_position(positions), 0.0);
|
|
41
|
-
gl_Position = project_common_position_to_clipspace(position_commonspace);
|
|
42
|
-
}
|
|
43
|
-
`;
|
|
44
|
-
|
|
45
|
-
export default vsShader;
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
export default `\
|
|
2
|
-
#version 300 es
|
|
3
|
-
#define SHADER_NAME vertex-lines-shader
|
|
4
|
-
|
|
5
|
-
precision highp float;
|
|
6
|
-
|
|
7
|
-
in vec3 positions;
|
|
8
|
-
|
|
9
|
-
out vec4 position_commonspace;
|
|
10
|
-
|
|
11
|
-
void main(void) {
|
|
12
|
-
vec3 position_commonspace = project_position(positions);
|
|
13
|
-
gl_Position = project_common_position_to_clipspace(vec4(position_commonspace, 0.0));
|
|
14
|
-
}
|
|
15
|
-
`;
|