@webviz/subsurface-viewer 0.12.1 → 0.12.2

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.
@@ -22,14 +22,14 @@ type Frame = {
22
22
  */
23
23
  rotPoint?: [number, number];
24
24
  };
25
- export type Params = {
26
- meshData: Float32Array;
27
- propertiesData: Float32Array;
28
- isMesh: boolean;
29
- frame: Frame;
30
- smoothShading: boolean;
31
- gridLines: boolean;
32
- };
25
+ export type Params = [
26
+ meshData: Float32Array,
27
+ propertiesData: Float32Array,
28
+ isMesh: boolean,
29
+ frame: Frame,
30
+ smoothShading: boolean,
31
+ gridLines: boolean
32
+ ];
33
33
  export interface MapLayerProps extends ExtendedLayerProps {
34
34
  /** Url to the height (z values) mesh.
35
35
  */
@@ -9,16 +9,11 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  };
10
10
  import { CompositeLayer } from "@deck.gl/core/typed";
11
11
  import privateMapLayer from "./privateMapLayer";
12
+ import { makeFullMesh } from "./webworker";
12
13
  import { getModelMatrix } from "../utils/layerTools";
13
14
  import { isEqual } from "lodash";
14
15
  import * as png from "@vivaxy/png";
15
- import { makeFullMesh } from "./utils";
16
- // Rotate x,y around x0, y0 rad radians
17
- function rotate(x, y, x0, y0, rad) {
18
- const xRot = Math.cos(rad) * (x - x0) - Math.sin(rad) * (y - y0) + x0; // eslint-disable-line
19
- const yRot = Math.sin(rad) * (x - x0) + Math.cos(rad) * (y - y0) + y0; // eslint-disable-line
20
- return [xRot, yRot];
21
- }
16
+ import { rotate } from "./utils";
22
17
  /**
23
18
  * Will load data for the mesh and the properties. Both of which may be given as arrays (javascript or typed)
24
19
  * or as a URL to the data in binary format.
@@ -173,55 +168,73 @@ export default class MapLayer extends CompositeLayer {
173
168
  const propertiesData = (_b = this.props.propertiesData) !== null && _b !== void 0 ? _b : this.props.propertiesUrl;
174
169
  const p = loadMeshAndProperties(meshData, propertiesData);
175
170
  p.then(([isMesh, meshData, propertiesData]) => {
176
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v;
177
- const params = {
171
+ // Using inline web worker for calculating the triangle mesh from
172
+ // loaded input data so not to halt the GUI thread.
173
+ const blob = new Blob(["self.onmessage = ", makeFullMesh.toString()], { type: "text/javascript" });
174
+ const url = URL.createObjectURL(blob);
175
+ const webWorker = new Worker(url);
176
+ const webworkerParams = [
178
177
  meshData,
179
178
  propertiesData,
180
179
  isMesh,
181
- frame: this.props.frame,
182
- smoothShading: this.props.smoothShading,
183
- gridLines: this.props.gridLines,
184
- };
185
- const [positions, normals, triangleIndices, vertexProperties, lineIndices, meshZValueRange, propertyValueRange,] = makeFullMesh(params);
186
- this.setState(Object.assign(Object.assign({}, this.state), { positions,
187
- normals,
188
- triangleIndices,
189
- vertexProperties,
190
- lineIndices,
191
- propertyValueRange }));
192
- if (typeof this.props.reportBoundingBox !== "undefined" &&
193
- reportBoundingBox) {
194
- const xinc = (_c = (_b = (_a = this.props.frame) === null || _a === void 0 ? void 0 : _a.increment) === null || _b === void 0 ? void 0 : _b[0]) !== null && _c !== void 0 ? _c : 0;
195
- const yinc = (_f = (_e = (_d = this.props.frame) === null || _d === void 0 ? void 0 : _d.increment) === null || _e === void 0 ? void 0 : _e[1]) !== null && _f !== void 0 ? _f : 0;
196
- const nnodes_x = (_j = (_h = (_g = this.props.frame) === null || _g === void 0 ? void 0 : _g.count) === null || _h === void 0 ? void 0 : _h[0]) !== null && _j !== void 0 ? _j : 2; // number of nodes in x direction
197
- const nnodes_y = (_m = (_l = (_k = this.props.frame) === null || _k === void 0 ? void 0 : _k.count) === null || _l === void 0 ? void 0 : _l[1]) !== null && _m !== void 0 ? _m : 2;
198
- const xMin = (_q = (_p = (_o = this.props.frame) === null || _o === void 0 ? void 0 : _o.origin) === null || _p === void 0 ? void 0 : _p[0]) !== null && _q !== void 0 ? _q : 0;
199
- const yMin = (_t = (_s = (_r = this.props.frame) === null || _r === void 0 ? void 0 : _r.origin) === null || _s === void 0 ? void 0 : _s[1]) !== null && _t !== void 0 ? _t : 0;
200
- const zMin = -meshZValueRange[0];
201
- const xMax = xMin + xinc * (nnodes_x - 1);
202
- const yMax = yMin + yinc * (nnodes_y - 1);
203
- const zMax = -meshZValueRange[1];
204
- // If map is rotated the bounding box must reflect that.
205
- const center = (_u = this.props.frame.rotPoint) !== null && _u !== void 0 ? _u : this.props.frame.origin;
206
- const rotDeg = (_v = this.props.frame.rotDeg) !== null && _v !== void 0 ? _v : 0;
207
- const rotRad = (rotDeg * (2.0 * Math.PI)) / 360.0;
208
- // Rotate x,y around "center" "rad" radians
209
- const [x0, y0] = rotate(xMin, yMin, center[0], center[1], rotRad); // eslint-disable-line
210
- const [x1, y1] = rotate(xMax, yMin, center[0], center[1], rotRad); // eslint-disable-line
211
- const [x2, y2] = rotate(xMax, yMax, center[0], center[1], rotRad); // eslint-disable-line
212
- const [x3, y3] = rotate(xMin, yMax, center[0], center[1], rotRad); // eslint-disable-line
213
- // Rotated bounds in x/y plane.
214
- const x_min = Math.min(x0, x1, x2, x3);
215
- const x_max = Math.max(x0, x1, x2, x3);
216
- const y_min = Math.min(y0, y1, y2, y3);
217
- const y_max = Math.max(y0, y1, y2, y3);
218
- this.props.reportBoundingBox({
219
- layerBoundingBox: [x_min, y_min, zMin, x_max, y_max, zMax],
220
- });
221
- }
222
- this.setState(Object.assign(Object.assign({}, this.state), { isFinishedLoading: true }));
223
- });
224
- }
180
+ this.props.frame,
181
+ this.props.smoothShading,
182
+ this.props.gridLines,
183
+ ];
184
+ webWorker.postMessage(webworkerParams, [
185
+ meshData.buffer,
186
+ propertiesData.buffer,
187
+ ]); // transferable objects to avoid copying.
188
+ webWorker.onmessage = (e) => {
189
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v;
190
+ const [positions, normals, triangleIndices, vertexProperties, lineIndices, meshZValueRange, propertyValueRange,] = e.data;
191
+ this.setState(Object.assign(Object.assign({}, this.state), { positions,
192
+ normals,
193
+ triangleIndices,
194
+ vertexProperties,
195
+ lineIndices,
196
+ propertyValueRange, isFinishedLoading: true }));
197
+ if (typeof this.props.reportBoundingBox !== "undefined" &&
198
+ reportBoundingBox) {
199
+ const xinc = (_c = (_b = (_a = this.props.frame) === null || _a === void 0 ? void 0 : _a.increment) === null || _b === void 0 ? void 0 : _b[0]) !== null && _c !== void 0 ? _c : 0;
200
+ const yinc = (_f = (_e = (_d = this.props.frame) === null || _d === void 0 ? void 0 : _d.increment) === null || _e === void 0 ? void 0 : _e[1]) !== null && _f !== void 0 ? _f : 0;
201
+ const nnodes_x = (_j = (_h = (_g = this.props.frame) === null || _g === void 0 ? void 0 : _g.count) === null || _h === void 0 ? void 0 : _h[0]) !== null && _j !== void 0 ? _j : 2; // number of nodes in x direction
202
+ const nnodes_y = (_m = (_l = (_k = this.props.frame) === null || _k === void 0 ? void 0 : _k.count) === null || _l === void 0 ? void 0 : _l[1]) !== null && _m !== void 0 ? _m : 2;
203
+ const xMin = (_q = (_p = (_o = this.props.frame) === null || _o === void 0 ? void 0 : _o.origin) === null || _p === void 0 ? void 0 : _p[0]) !== null && _q !== void 0 ? _q : 0;
204
+ const yMin = (_t = (_s = (_r = this.props.frame) === null || _r === void 0 ? void 0 : _r.origin) === null || _s === void 0 ? void 0 : _s[1]) !== null && _t !== void 0 ? _t : 0;
205
+ const zMin = -meshZValueRange[0];
206
+ const xMax = xMin + xinc * (nnodes_x - 1);
207
+ const yMax = yMin + yinc * (nnodes_y - 1);
208
+ const zMax = -meshZValueRange[1];
209
+ // If map is rotated the bounding box must reflect that.
210
+ const center = (_u = this.props.frame.rotPoint) !== null && _u !== void 0 ? _u : this.props.frame.origin;
211
+ const rotDeg = (_v = this.props.frame.rotDeg) !== null && _v !== void 0 ? _v : 0;
212
+ const rotRad = (rotDeg * (2.0 * Math.PI)) / 360.0;
213
+ // Rotate x,y around "center" "rad" radians
214
+ const [x0, y0] = rotate(xMin, yMin, center[0], center[1], rotRad); // eslint-disable-line
215
+ const [x1, y1] = rotate(xMax, yMin, center[0], center[1], rotRad); // eslint-disable-line
216
+ const [x2, y2] = rotate(xMax, yMax, center[0], center[1], rotRad); // eslint-disable-line
217
+ const [x3, y3] = rotate(xMin, yMax, center[0], center[1], rotRad); // eslint-disable-line
218
+ // Rotated bounds in x/y plane.
219
+ const x_min = Math.min(x0, x1, x2, x3);
220
+ const x_max = Math.max(x0, x1, x2, x3);
221
+ const y_min = Math.min(y0, y1, y2, y3);
222
+ const y_max = Math.max(y0, y1, y2, y3);
223
+ this.props.reportBoundingBox({
224
+ layerBoundingBox: [
225
+ x_min,
226
+ y_min,
227
+ zMin,
228
+ x_max,
229
+ y_max,
230
+ zMax,
231
+ ],
232
+ });
233
+ }
234
+ webWorker.terminate();
235
+ }; // end onmessage
236
+ }); // end then
237
+ } // end rebuildData
225
238
  initializeState() {
226
239
  this.setState(Object.assign(Object.assign({}, this.state), { isFinishedLoading: false }));
227
240
  const reportBoundingBox = true;
@@ -1 +1 @@
1
- {"version":3,"file":"mapLayer.js","sourceRoot":"","sources":["../../../src/layers/map/mapLayer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mapLayer.js","sourceRoot":"","sources":["../../../src/layers/map/mapLayer.ts"],"names":[],"mappings":";;;;;;;;;AAMA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAKhD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACjC,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAmCjC;;;;GAIG;AACH,SAAe,qBAAqB,CAChC,QAA0C,EAC1C,cAAgD;;QAEhD,OAAO;QACP,+BAA+B;QAE/B,MAAM,MAAM,GAAG,OAAO,QAAQ,KAAK,WAAW,CAAC;QAC/C,MAAM,YAAY,GAAG,OAAO,cAAc,KAAK,WAAW,CAAC;QAE3D,IAAI,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE;YAC1B,OAAO,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;SAC1E;QAED,IAAI,MAAM,IAAI,CAAC,YAAY,EAAE;YACzB,cAAc,GAAG,QAAQ,CAAC;SAC7B;QAED,mBAAmB;QACnB,IAAI,UAAwB,CAAC;QAC7B,IAAI,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE;YACpC,6BAA6B;YAC7B,UAAU,GAAG,cAAc,CAAC,CAAC,qDAAqD;SACrF;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE;YACtC,yCAAyC;YACzC,UAAU,GAAG,IAAI,YAAY,CAAC,cAAc,CAAC,CAAC;SACjD;aAAM;YACH,wBAAwB;YACxB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,cAAc,CAAC,CAAC;YAC7C,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;gBACd,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC;aACpD;YAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnC,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YACzD,MAAM,KAAK,GAAG,WAAW,KAAK,WAAW,CAAC;YAC1C,IAAI,KAAK,EAAE;gBACP,0CAA0C;gBAC1C,UAAU,GAAG,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;oBACvC,MAAM,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;oBACpC,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;oBACnC,UAAU,CAAC,MAAM,GAAG,GAAG,EAAE;wBACrB,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC;wBACtC,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,WAA0B,CAAC,CAAC;wBACvD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,iBAAiB;wBAE5C,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;wBACtB,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;wBAClC,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;wBAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;4BACxB,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;yBAC7B;wBAED,MAAM,UAAU,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;wBAC5C,OAAO,CAAC,UAAU,CAAC,CAAC;oBACxB,CAAC,CAAC;gBACN,CAAC,CAAC,CAAC;aACN;iBAAM;gBACH,kCAAkC;gBAClC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;gBACxC,UAAU,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;aACzC;SACJ;QAED,YAAY;QACZ,IAAI,IAAI,GAAiB,IAAI,YAAY,EAAE,CAAC;QAC5C,IAAI,MAAM,EAAE;YACR,IAAI,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE;gBAC9B,6BAA6B;gBAC7B,IAAI,GAAG,QAAQ,CAAC,CAAC,iDAAiD;aACrE;iBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAChC,yCAAyC;gBACzC,IAAI,GAAG,IAAI,YAAY,CAAC,QAAQ,CAAC,CAAC;aACrC;iBAAM;gBACH,wBAAwB;gBACxB,MAAM,aAAa,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAC;gBAC5C,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE;oBACnB,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;iBACxC;gBAED,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC;gBAC7C,MAAM,gBAAgB,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;gBACnE,MAAM,UAAU,GAAG,gBAAgB,KAAK,WAAW,CAAC;gBACpD,IAAI,UAAU,EAAE;oBACZ,0CAA0C;oBAC1C,IAAI,GAAG,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;wBACjC,MAAM,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;wBACpC,UAAU,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;wBACxC,UAAU,CAAC,MAAM,GAAG,GAAG,EAAE;4BACrB,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC;4BACtC,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,WAA0B,CAAC,CAAC;4BACvD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,iBAAiB;4BAE5C,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;4BACtB,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;4BAClC,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;4BAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;gCACxB,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;6BAC7B;4BAED,MAAM,UAAU,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;4BAC5C,OAAO,CAAC,UAAU,CAAC,CAAC;wBACxB,CAAC,CAAC;oBACN,CAAC,CAAC,CAAC;iBACN;qBAAM;oBACH,kCAAkC;oBAClC,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,WAAW,EAAE,CAAC;oBAC7C,IAAI,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;iBACnC;aACJ;SACJ;QAED,aAAa;QACb,gCAAgC;QAChC,qEAAqE;QAErE,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;IACnD,CAAC;CAAA;AAwGD,MAAM,YAAY,GAAG;IACjB,QAAQ,EAAE,UAAU;IACpB,IAAI,EAAE,KAAK;IACX,EAAE,EAAE,qBAAqB;IACzB,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE,IAAI;IACb,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;IACnE,aAAa,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;IAChC,QAAQ,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC;IACtB,sDAAsD;IACtD,eAAe,EAAE,IAAI;IACrB,SAAS,EAAE,KAAK;IAChB,aAAa,EAAE,IAAI;IACnB,QAAQ,EAAE,IAAI;IACd,SAAS,EAAE,IAAI;IACf,oBAAoB,EAAE,IAAI;CAC7B,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,QAEnB,SAAQ,cAAoD;IAC1D,IAAI,QAAQ;;QACR,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACtC,MAAM,QAAQ,GACV,KAAK,CAAC,QAAQ;YACd,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,2EAA2E;YACnG,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAE/C,MAAM,UAAU,GAAG,MAAA,MAAA,IAAI,CAAC,KAAK,0CAAG,mBAAmB,CAAC,mCAAI,KAAK,CAAC;QAC9D,OAAO,QAAQ,IAAI,UAAU,CAAC;IAClC,CAAC;IAED,WAAW,CAAC,iBAA0B;;QAClC,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,KAAK,WAAW,EAAE;YAC3C,OAAO,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;SAC3D;QAED,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,KAAK,WAAW,EAAE;YACjD,OAAO,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;SACvE;QAED,MAAM,QAAQ,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,mCAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QAC3D,MAAM,cAAc,GAChB,MAAA,IAAI,CAAC,KAAK,CAAC,cAAc,mCAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;QAE1D,MAAM,CAAC,GAAG,qBAAqB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QAE1D,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,cAAc,CAAC,EAAE,EAAE;YAC1C,iEAAiE;YACjE,mDAAmD;YACnD,MAAM,IAAI,GAAG,IAAI,IAAI,CACjB,CAAC,mBAAmB,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC,EAC9C,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAC9B,CAAC;YACF,MAAM,GAAG,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YACtC,MAAM,SAAS,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC;YAElC,MAAM,eAAe,GAAW;gBAC5B,QAAQ;gBACR,cAAc;gBACd,MAAM;gBACN,IAAI,CAAC,KAAK,CAAC,KAAK;gBAChB,IAAI,CAAC,KAAK,CAAC,aAAa;gBACxB,IAAI,CAAC,KAAK,CAAC,SAAS;aACvB,CAAC;YAEF,SAAS,CAAC,WAAW,CAAC,eAAe,EAAE;gBACnC,QAAQ,CAAC,MAAM;gBACf,cAAc,CAAC,MAAM;aACxB,CAAC,CAAC,CAAC,yCAAyC;YAC7C,SAAS,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,EAAE;;gBACxB,MAAM,CACF,SAAS,EACT,OAAO,EACP,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,eAAe,EACf,kBAAkB,EACrB,GAAG,CAAC,CAAC,IAAI,CAAC;gBAEX,IAAI,CAAC,QAAQ,iCACN,IAAI,CAAC,KAAK,KACb,SAAS;oBACT,OAAO;oBACP,eAAe;oBACf,gBAAgB;oBAChB,WAAW;oBACX,kBAAkB,EAClB,iBAAiB,EAAE,IAAI,IACzB,CAAC;gBAEH,IACI,OAAO,IAAI,CAAC,KAAK,CAAC,iBAAiB,KAAK,WAAW;oBACnD,iBAAiB,EACnB;oBACE,MAAM,IAAI,GAAG,MAAA,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,0CAAE,SAAS,0CAAG,CAAC,CAAC,mCAAI,CAAC,CAAC;oBACnD,MAAM,IAAI,GAAG,MAAA,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,0CAAE,SAAS,0CAAG,CAAC,CAAC,mCAAI,CAAC,CAAC;oBAEnD,MAAM,QAAQ,GAAG,MAAA,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,0CAAE,KAAK,0CAAG,CAAC,CAAC,mCAAI,CAAC,CAAC,CAAC,iCAAiC;oBACrF,MAAM,QAAQ,GAAG,MAAA,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,0CAAE,KAAK,0CAAG,CAAC,CAAC,mCAAI,CAAC,CAAC;oBAEnD,MAAM,IAAI,GAAG,MAAA,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,0CAAE,MAAM,0CAAG,CAAC,CAAC,mCAAI,CAAC,CAAC;oBAChD,MAAM,IAAI,GAAG,MAAA,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,0CAAE,MAAM,0CAAG,CAAC,CAAC,mCAAI,CAAC,CAAC;oBAChD,MAAM,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;oBACjC,MAAM,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;oBAC1C,MAAM,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;oBAC1C,MAAM,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;oBAEjC,wDAAwD;oBACxD,MAAM,MAAM,GACR,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,mCAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;oBACzD,MAAM,MAAM,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,mCAAI,CAAC,CAAC;oBAC5C,MAAM,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;oBAElD,2CAA2C;oBAC3C,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,sBAAsB;oBACzF,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,sBAAsB;oBACzF,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,sBAAsB;oBACzF,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,sBAAsB;oBAEzF,+BAA+B;oBAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;oBACvC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;oBACvC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;oBACvC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;oBAEvC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC;wBACzB,gBAAgB,EAAE;4BACd,KAAK;4BACL,KAAK;4BACL,IAAI;4BACJ,KAAK;4BACL,KAAK;4BACL,IAAI;yBACP;qBACJ,CAAC,CAAC;iBACN;gBAED,SAAS,CAAC,SAAS,EAAE,CAAC;YAC1B,CAAC,CAAC,CAAC,gBAAgB;QACvB,CAAC,CAAC,CAAC,CAAC,WAAW;IACnB,CAAC,CAAC,kBAAkB;IAEpB,eAAe;QACX,IAAI,CAAC,QAAQ,iCACN,IAAI,CAAC,KAAK,KACb,iBAAiB,EAAE,KAAK,IAC1B,CAAC;QAEH,MAAM,iBAAiB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;IACxC,CAAC;IAED,WAAW,CAAC,EACR,KAAK,EACL,QAAQ,GAQX;QACG,MAAM,YAAY,GACd,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC;YACzC,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,QAAQ,CAAC,aAAa,CAAC;YACrD,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC;YAC3C,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,QAAQ,CAAC,cAAc,CAAC;YACvD,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC;YACrC,CAAC,OAAO,CACJ,KAAK,CAAC,oBAAoB,EAC1B,QAAQ,CAAC,oBAAoB,CAChC;YACD,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;QAElD,IAAI,YAAY,EAAE;YACd,IAAI,CAAC,QAAQ,iCACN,IAAI,CAAC,KAAK,KACb,iBAAiB,EAAE,KAAK,IAC1B,CAAC;YACH,MAAM,iBAAiB,GAAG,KAAK,CAAC;YAChC,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;SACvC;IACL,CAAC;IAED,YAAY;;QACR,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;YACtC,kCAAkC;YAClC,OAAO,EAAE,CAAC;SACb;QAED,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;QAC7C,MAAM,MAAM,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,mCAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAEzD,MAAM,mBAAmB,GAAG,cAAc,CACtC,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,mCAAI,CAAC,EAC5B,MAAM,CAAC,CAAC,CAAC,EACT,MAAM,CAAC,CAAC,CAAC,CACZ,CAAC;QAEF,MAAM,MAAM,GACR,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,KAAK,WAAW;YACtC,IAAI,CAAC,KAAK,CAAC,OAAO,KAAK,EAAE,CAAC;YAC9B,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,WAAW;gBACvC,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,EAAE,CAAC,CAAC;QAEpC,MAAM,aAAa,GACf,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,WAAW;YAC7C,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,IAAI,CAAC;QAEpC,IAAI,aAAa,EAAE;YACf,mBAAmB,CAAC,aAAa,CAC7B,IAAI,CAAC,KAAK,CAAC,WAAsB,CACpC,CAAC;SACL;QAED,MAAM,KAAK,GAAG,IAAI,eAAe,CAC7B,IAAI,CAAC,gBAAgB,CAAC;YAClB,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;YAClC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;YAC9B,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC;YAC9C,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC;YAChD,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;YACtC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;YAC7B,WAAW,EAAE,mBAAmB;YAChC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;YAC7B,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS;YAC/B,eAAe,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe;YAC7D,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY;YACrC,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa;YACvC,kBAAkB,EAAE,IAAI,CAAC,KAAK,CAAC,kBAAkB;YACjD,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,gBAAgB;YAC7C,kBAAkB,EAAE,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC;YACpD,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;YAC7B,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa;YACvC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS;YAC/B,oBAAoB,EAAE,IAAI,CAAC,KAAK,CAAC,oBAAoB;SACxD,CAAC,CACL,CAAC;QACF,OAAO,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC;CACJ;AAED,QAAQ,CAAC,SAAS,GAAG,UAAU,CAAC;AAChC,QAAQ,CAAC,YAAY,GAAG,YAAY,CAAC"}
@@ -1,5 +1 @@
1
- import type { Params } from "./mapLayer";
2
- /** Given the input data will build and return the attributes (vertices and indices for triangles and lines)
3
- * that is used by WebGl. Using indice, lines and triangles share common vertices to save memory.
4
- */
5
- export declare function makeFullMesh(params: Params): (number[] | Float32Array | Int8Array | Uint32Array)[];
1
+ export declare function rotate(x: number, y: number, x0: number, y0: number, rad: number): [number, number];
@@ -1,420 +1,7 @@
1
- function getFloat32ArrayMinMax(data) {
2
- let max = -99999999;
3
- let min = 99999999;
4
- for (let i = 0; i < data.length; i++) {
5
- max = data[i] > max ? data[i] : max;
6
- min = data[i] < min ? data[i] : min;
7
- }
8
- return [min, max];
9
- }
10
- function crossProduct(a, b) {
11
- const c = [
12
- a[1] * b[2] - a[2] * b[1],
13
- a[2] * b[0] - a[0] * b[2],
14
- a[0] * b[1] - a[1] * b[0],
15
- ];
16
- return c;
17
- }
18
- // Check if a number exists and has a defined value.
19
- function isDefined(x) {
20
- return typeof x === "number" && !isNaN(x);
21
- }
22
- function normalize(a) {
23
- const L = Math.sqrt(a[0] * a[0] + a[1] * a[1] + a[2] * a[2]);
24
- a[0] /= L;
25
- a[1] /= L;
26
- a[2] /= L;
27
- }
28
- function calcNormal(w, h, nx, ny, isMesh, smoothShading, meshData, ox, oy, dx, dy) {
29
- if (!smoothShading) {
30
- return [1, 1, 1];
31
- }
32
- if (!isMesh) {
33
- return [0, 0, 1];
34
- }
35
- const i0 = h * nx + w;
36
- const i1 = h * nx + (w - 1);
37
- const i2 = (h + 1) * nx + w;
38
- const i3 = h * nx + (w + 1);
39
- const i4 = (h - 1) * nx + w;
40
- const i0_act = isDefined(meshData[i0]); // eslint-disable-line
41
- const i1_act = (w - 1) >= 0 && isDefined(meshData[i1]); // eslint-disable-line
42
- const i2_act = (h + 1) < ny && isDefined(meshData[i2]); // eslint-disable-line
43
- const i3_act = (w + 1) < nx && isDefined(meshData[i3]); // eslint-disable-line
44
- const i4_act = (h - 1) >= 0 && isDefined(meshData[i4]); // eslint-disable-line
45
- const noNormal = [0, 0, 0]; // signals a normal could not be calculated.
46
- if (!i0_act) {
47
- return noNormal;
48
- }
49
- const hh = ny - 1 - h; // Note use hh for h for getting y values.
50
- const p0 = [ox + w * dx, oy + hh * dy, i0_act ? meshData[i0] : 0]; // eslint-disable-line
51
- const p1 = [ox + (w - 1) * dx, oy + hh * dy, i1_act ? meshData[i1] : 0]; // eslint-disable-line
52
- const p2 = [ox + w * dx, oy + (hh + 1) * dy, i2_act ? meshData[i2] : 0]; // eslint-disable-line
53
- const p3 = [ox + (w + 1) * dx, oy + hh * dy, i3_act ? meshData[i3] : 0]; // eslint-disable-line
54
- const p4 = [ox + w * dx, oy + (hh - 1) * dy, i4_act ? meshData[i4] : 0]; // eslint-disable-line
55
- const v1 = [p1[0] - p0[0], p1[1] - p0[1], p1[2] - p0[2]];
56
- const v2 = [p2[0] - p0[0], p2[1] - p0[1], p2[2] - p0[2]];
57
- const v3 = [p3[0] - p0[0], p3[1] - p0[1], p3[2] - p0[2]];
58
- const v4 = [p4[0] - p0[0], p4[1] - p0[1], p4[2] - p0[2]];
59
- // Estimating a normal vector at p0:
60
- // Take cross product of vectors v1, v2,
61
- // Do this for all 4 quadrants.
62
- // The resulting normal will be the mean of these four normals.
63
- // p2
64
- // |
65
- // p1 - p0 - p3
66
- // |
67
- // p4
68
- const normals = [];
69
- if (i1_act && i2_act) {
70
- const normal = crossProduct(v2, v1);
71
- normals.push(normal);
72
- }
73
- if (i2_act && i3_act) {
74
- const normal = crossProduct(v3, v2);
75
- normals.push(normal);
76
- }
77
- if (i3_act && i4_act) {
78
- const normal = crossProduct(v4, v3);
79
- normals.push(normal);
80
- }
81
- if (i4_act && i1_act) {
82
- const normal = crossProduct(v1, v4);
83
- normals.push(normal);
84
- }
85
- if (normals.length === 0) {
86
- return noNormal;
87
- }
88
- const mean = normals[0];
89
- for (let i = 1; i < normals.length; i++) {
90
- mean[0] += normals[i][0];
91
- mean[1] += normals[i][1];
92
- mean[2] += normals[i][2];
93
- }
94
- normalize(mean);
95
- return mean;
96
- }
97
- /** Given the input data will build and return the attributes (vertices and indices for triangles and lines)
98
- * that is used by WebGl. Using indice, lines and triangles share common vertices to save memory.
99
- */
100
- export function makeFullMesh(params) {
101
- // Keep
102
- //const t0 = performance.now();
103
- const meshData = params.meshData;
104
- const propertiesData = params.propertiesData;
105
- const isMesh = params.isMesh;
106
- const frame = params.frame;
107
- const smoothShading = params.smoothShading;
108
- const gridLines = params.gridLines;
109
- const meshZValueRange = getFloat32ArrayMinMax(meshData);
110
- const propertyValueRange = getFloat32ArrayMinMax(propertiesData);
111
- // Dimensions.
112
- const ox = frame.origin[0];
113
- const oy = frame.origin[1];
114
- const dx = frame.increment[0];
115
- const dy = frame.increment[1];
116
- const nx = frame.count[0]; // number of nodes in x direction
117
- const ny = frame.count[1];
118
- const propLength = propertiesData.length;
119
- const isCellCenteredProperties = propLength === (nx - 1) * (ny - 1);
120
- if (propLength !== (nx - 1) * (ny - 1) && propLength !== nx * ny) {
121
- console.error("There should be as many property values as nodes (nx*ny) OR as many as cells (nx - 1) * (ny - 1).");
122
- }
123
- const nNodes = nx * ny;
124
- const nCells = (nx - 1) * (ny - 1);
125
- const nTriangles = nCells * 2;
126
- const positions = new Float32Array(isCellCenteredProperties ? nCells * 6 * 3 : nNodes * 3);
127
- const normals = new Int8Array(isCellCenteredProperties || !smoothShading ? 0 : nNodes * 3);
128
- const triangleIndices = new Uint32Array(nTriangles * 3);
129
- const vertexProperties = new Float32Array(isCellCenteredProperties ? nCells * 6 : nNodes);
130
- let nLineIndices = 0;
131
- if (gridLines) {
132
- nLineIndices = isCellCenteredProperties
133
- ? nTriangles * 2 * 2
134
- : nCells * 4 + (nx - 1) * 2 + (ny - 1) * 2;
135
- }
136
- const lineIndices = new Uint32Array(nLineIndices);
137
- // Note: Assumed layout of the incomming 2D array of data:
138
- // First coloumn corresponds to lowest x value. Last column highest x value.
139
- // First row corresponds to max y value. Last row corresponds to lowest y value.
140
- // This must be taken into account when calculating vertex x,y values and texture coordinates.
141
- if (!isCellCenteredProperties) {
142
- // PROPERTIES IS SET INTERPOLATED OVER A CELL.
143
- // Loop vertices.
144
- let i = 0;
145
- for (let h = 0; h < ny; h++) {
146
- for (let w = 0; w < nx; w++) {
147
- const i0 = h * nx + w;
148
- const x0 = ox + w * dx;
149
- const y0 = oy + (ny - 1 - h) * dy; // See note above.
150
- const z = isMesh ? meshData[i0] : 0;
151
- const propertyValue = propertiesData[i0];
152
- positions[3 * i + 0] = x0;
153
- positions[3 * i + 1] = y0;
154
- positions[3 * i + 2] = z;
155
- if (smoothShading) {
156
- const normal = calcNormal(w, h, nx, ny, isMesh, smoothShading, meshData, ox, oy, dx, dy); // eslint-disable-line
157
- normals[3 * i + 0] = normal[0] * 127; // Normalize to signed 8 bit.
158
- normals[3 * i + 1] = normal[1] * 127;
159
- normals[3 * i + 2] = normal[2] * 127;
160
- }
161
- vertexProperties[i] = propertyValue;
162
- i++;
163
- }
164
- }
165
- // Loop cells.
166
- i = 0;
167
- let j = 0;
168
- for (let h = 0; h < ny - 1; h++) {
169
- for (let w = 0; w < nx - 1; w++) {
170
- const i0 = h * nx + w;
171
- const i1 = h * nx + (w + 1);
172
- const i2 = (h + 1) * nx + (w + 1);
173
- const i3 = (h + 1) * nx + w;
174
- const i0_act = !isMesh || (isDefined(meshData[i0]) && isDefined(propertiesData[i0])); // eslint-disable-line
175
- const i1_act = !isMesh || (isDefined(meshData[i1]) && isDefined(propertiesData[i1])); // eslint-disable-line
176
- const i2_act = !isMesh || (isDefined(meshData[i2]) && isDefined(propertiesData[i2])); // eslint-disable-line
177
- const i3_act = !isMesh || (isDefined(meshData[i3]) && isDefined(propertiesData[i3])); // eslint-disable-line
178
- // Triangles.
179
- if (i1_act && i3_act) {
180
- // diagonal i1, i3
181
- if (i0_act) {
182
- // t1 - i0 provoking index.
183
- triangleIndices[i++] = i1;
184
- triangleIndices[i++] = i3;
185
- triangleIndices[i++] = i0;
186
- }
187
- if (i2_act) {
188
- // t2 - i2 provoking index.
189
- triangleIndices[i++] = i1;
190
- triangleIndices[i++] = i3;
191
- triangleIndices[i++] = i2;
192
- }
193
- }
194
- else if (i0_act && i2_act) {
195
- // diagonal i0, i2
196
- if (i1_act) {
197
- // t1 - i0 provoking index.
198
- triangleIndices[i++] = i1;
199
- triangleIndices[i++] = i2;
200
- triangleIndices[i++] = i0;
201
- }
202
- if (i3_act) {
203
- // t2 - i2 provoking index.
204
- triangleIndices[i++] = i3;
205
- triangleIndices[i++] = i0;
206
- triangleIndices[i++] = i2;
207
- }
208
- }
209
- // Lines.
210
- if (gridLines) {
211
- if (i0_act && i1_act) {
212
- lineIndices[j++] = i0;
213
- lineIndices[j++] = i1;
214
- }
215
- if (i0_act && i3_act) {
216
- lineIndices[j++] = i0;
217
- lineIndices[j++] = i3;
218
- }
219
- if (h == ny - 2 && i2_act && i3_act) {
220
- lineIndices[j++] = i3;
221
- lineIndices[j++] = i2;
222
- }
223
- if (w == nx - 2 && i1_act && i2_act) {
224
- lineIndices[j++] = i1;
225
- lineIndices[j++] = i2;
226
- }
227
- // diagonal
228
- if ((i0_act && !i2_act) || (!i0_act && i2_act)) {
229
- lineIndices[j++] = i1;
230
- lineIndices[j++] = i3;
231
- }
232
- // diagonal
233
- if ((i3_act && !i1_act) || (!i3_act && i1_act)) {
234
- lineIndices[j++] = i0;
235
- lineIndices[j++] = i2;
236
- }
237
- }
238
- }
239
- }
240
- }
241
- else {
242
- // PROPERTIES IS SET CONSTANT OVER A CELL.
243
- // Loop cells.
244
- let i = 0;
245
- let j = 0;
246
- let k = 0;
247
- let l = 0;
248
- for (let h = 0; h < ny - 1; h++) {
249
- for (let w = 0; w < nx - 1; w++) {
250
- const hh = ny - 1 - h; // See note above.
251
- const i0 = h * nx + w;
252
- const i1 = h * nx + (w + 1);
253
- const i2 = (h + 1) * nx + (w + 1);
254
- const i3 = (h + 1) * nx + w;
255
- const i0_act = !isMesh || isDefined(meshData[i0]); // eslint-disable-line
256
- const i1_act = !isMesh || isDefined(meshData[i1]); // eslint-disable-line
257
- const i2_act = !isMesh || isDefined(meshData[i2]); // eslint-disable-line
258
- const i3_act = !isMesh || isDefined(meshData[i3]); // eslint-disable-line
259
- const x0 = ox + w * dx;
260
- const y0 = oy + hh * dy;
261
- const z0 = isMesh ? meshData[i0] : 0;
262
- const x1 = ox + (w + 1) * dx;
263
- const y1 = oy + hh * dy;
264
- const z1 = isMesh ? meshData[i1] : 0;
265
- const x2 = ox + (w + 1) * dx;
266
- const y2 = oy + (hh - 1) * dy; // Note hh - 1 here.
267
- const z2 = isMesh ? meshData[i2] : 0;
268
- const x3 = ox + w * dx;
269
- const y3 = oy + (hh - 1) * dy; // Note hh - 1 here.
270
- const z3 = isMesh ? meshData[i3] : 0;
271
- const propertyIndex = h * (nx - 1) + w; // (nx - 1) -> the width of the property 2D array is one less than for the nodes in this case.
272
- const propertyValue = propertiesData[propertyIndex];
273
- if (!isDefined(propertyValue)) {
274
- // Inactive cell, dont draw.
275
- continue;
276
- }
277
- // Triangles.
278
- if (i1_act && i3_act) {
279
- // diagonal i1, i3
280
- if (i0_act) {
281
- // t1 - i0 provoking index.
282
- triangleIndices[i] = i;
283
- const L1 = i;
284
- i++;
285
- positions[j++] = x1;
286
- positions[j++] = y1;
287
- positions[j++] = z1;
288
- triangleIndices[i] = i;
289
- const L2 = i;
290
- i++;
291
- positions[j++] = x3;
292
- positions[j++] = y3;
293
- positions[j++] = z3;
294
- triangleIndices[i] = i;
295
- const L3 = i;
296
- i++;
297
- positions[j++] = x0;
298
- positions[j++] = y0;
299
- positions[j++] = z0;
300
- if (gridLines) {
301
- lineIndices[l++] = L3;
302
- lineIndices[l++] = L1;
303
- lineIndices[l++] = L3;
304
- lineIndices[l++] = L2;
305
- }
306
- vertexProperties[k++] = propertyValue;
307
- vertexProperties[k++] = propertyValue;
308
- vertexProperties[k++] = propertyValue;
309
- }
310
- if (i2_act) {
311
- // t2 - i2 provoking index.
312
- triangleIndices[i] = i;
313
- const L1 = i;
314
- i++;
315
- positions[j++] = x1;
316
- positions[j++] = y1;
317
- positions[j++] = z1;
318
- triangleIndices[i] = i;
319
- const L2 = i;
320
- i++;
321
- positions[j++] = x3;
322
- positions[j++] = y3;
323
- positions[j++] = z3;
324
- triangleIndices[i] = i;
325
- const L3 = i;
326
- i++;
327
- positions[j++] = x2;
328
- positions[j++] = y2;
329
- positions[j++] = z2;
330
- if (gridLines) {
331
- lineIndices[l++] = L1;
332
- lineIndices[l++] = L3;
333
- lineIndices[l++] = L2;
334
- lineIndices[l++] = L3;
335
- }
336
- vertexProperties[k++] = propertyValue;
337
- vertexProperties[k++] = propertyValue;
338
- vertexProperties[k++] = propertyValue;
339
- }
340
- }
341
- else if (i0_act && i2_act) {
342
- // diagonal i0, i2
343
- if (i1_act) {
344
- //t1 - i0 provoking index.
345
- triangleIndices[i] = i;
346
- const L1 = i;
347
- i++;
348
- positions[j++] = x1;
349
- positions[j++] = y1;
350
- positions[j++] = z1;
351
- triangleIndices[i] = i;
352
- const L2 = i;
353
- i++;
354
- positions[j++] = x2;
355
- positions[j++] = y2;
356
- positions[j++] = z2;
357
- triangleIndices[i] = i;
358
- const L3 = i;
359
- i++;
360
- positions[j++] = x0;
361
- positions[j++] = y0;
362
- positions[j++] = z0;
363
- if (gridLines) {
364
- lineIndices[l++] = L1;
365
- lineIndices[l++] = L3;
366
- lineIndices[l++] = L1;
367
- lineIndices[l++] = L2;
368
- }
369
- vertexProperties[k++] = propertyValue;
370
- vertexProperties[k++] = propertyValue;
371
- vertexProperties[k++] = propertyValue;
372
- }
373
- if (i3_act) {
374
- // t2 - i2 provoking index.
375
- triangleIndices[i] = i;
376
- const L1 = i;
377
- i++;
378
- positions[j++] = x3;
379
- positions[j++] = y3;
380
- positions[j++] = z3;
381
- triangleIndices[i] = i;
382
- const L2 = i;
383
- i++;
384
- positions[j++] = x0;
385
- positions[j++] = y0;
386
- positions[j++] = z0;
387
- triangleIndices[i] = i;
388
- const L3 = i;
389
- i++;
390
- positions[j++] = x2;
391
- positions[j++] = y2;
392
- positions[j++] = z2;
393
- if (gridLines) {
394
- lineIndices[l++] = L1;
395
- lineIndices[l++] = L2;
396
- lineIndices[l++] = L1;
397
- lineIndices[l++] = L3;
398
- }
399
- vertexProperties[k++] = propertyValue;
400
- vertexProperties[k++] = propertyValue;
401
- vertexProperties[k++] = propertyValue;
402
- }
403
- }
404
- }
405
- }
406
- }
407
- // Keep this.
408
- // const t1 = performance.now();
409
- // console.debug(`Task makeMesh took ${(t1 - t0) * 0.001} seconds.`);
410
- return [
411
- positions,
412
- normals,
413
- triangleIndices,
414
- vertexProperties,
415
- lineIndices,
416
- meshZValueRange,
417
- propertyValueRange,
418
- ];
1
+ // Rotate x,y around x0, y0 rad radians
2
+ export function rotate(x, y, x0, y0, rad) {
3
+ const xRot = Math.cos(rad) * (x - x0) - Math.sin(rad) * (y - y0) + x0; // eslint-disable-line
4
+ const yRot = Math.sin(rad) * (x - x0) + Math.cos(rad) * (y - y0) + y0; // eslint-disable-line
5
+ return [xRot, yRot];
419
6
  }
420
7
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/layers/map/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/layers/map/utils.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,MAAM,UAAU,MAAM,CAClB,CAAS,EACT,CAAS,EACT,EAAU,EACV,EAAU,EACV,GAAW;IAEX,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,sBAAsB;IAC7F,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,sBAAsB;IAC7F,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACxB,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { Params } from "./mapLayer";
2
+ /** Given the input data will build and return the attributes (vertices and indices for triangles and lines)
3
+ * that is used by WebGl. Using indice, lines and triangles share common vertices to save memory.
4
+ */
5
+ export declare function makeFullMesh(e: {
6
+ data: Params;
7
+ }): void;
@@ -0,0 +1,419 @@
1
+ /** Given the input data will build and return the attributes (vertices and indices for triangles and lines)
2
+ * that is used by WebGl. Using indice, lines and triangles share common vertices to save memory.
3
+ */
4
+ export function makeFullMesh(e) {
5
+ const [meshData, propertiesData, isMesh, frame, smoothShading, gridLines] = e.data;
6
+ function getFloat32ArrayMinMax(data) {
7
+ let max = -99999999;
8
+ let min = 99999999;
9
+ for (let i = 0; i < data.length; i++) {
10
+ max = data[i] > max ? data[i] : max;
11
+ min = data[i] < min ? data[i] : min;
12
+ }
13
+ return [min, max];
14
+ }
15
+ function crossProduct(a, b) {
16
+ const c = [
17
+ a[1] * b[2] - a[2] * b[1],
18
+ a[2] * b[0] - a[0] * b[2],
19
+ a[0] * b[1] - a[1] * b[0],
20
+ ];
21
+ return c;
22
+ }
23
+ function isDefined(x) {
24
+ return typeof x === "number" && !isNaN(x);
25
+ }
26
+ function normalize(a) {
27
+ const L = Math.sqrt(a[0] * a[0] + a[1] * a[1] + a[2] * a[2]);
28
+ a[0] /= L;
29
+ a[1] /= L;
30
+ a[2] /= L;
31
+ }
32
+ function calcNormal(w, h, nx, ny, isMesh, smoothShading, meshData, ox, oy, dx, dy) {
33
+ if (!smoothShading) {
34
+ return [1, 1, 1];
35
+ }
36
+ if (!isMesh) {
37
+ return [0, 0, 1];
38
+ }
39
+ const i0 = h * nx + w;
40
+ const i1 = h * nx + (w - 1);
41
+ const i2 = (h + 1) * nx + w;
42
+ const i3 = h * nx + (w + 1);
43
+ const i4 = (h - 1) * nx + w;
44
+ const i0_act = isDefined(meshData[i0]); // eslint-disable-line
45
+ const i1_act = (w - 1) >= 0 && isDefined(meshData[i1]); // eslint-disable-line
46
+ const i2_act = (h + 1) < ny && isDefined(meshData[i2]); // eslint-disable-line
47
+ const i3_act = (w + 1) < nx && isDefined(meshData[i3]); // eslint-disable-line
48
+ const i4_act = (h - 1) >= 0 && isDefined(meshData[i4]); // eslint-disable-line
49
+ const noNormal = [0, 0, 0]; // signals a normal could not be calculated.
50
+ if (!i0_act) {
51
+ return noNormal;
52
+ }
53
+ const hh = ny - 1 - h; // Note use hh for h for getting y values.
54
+ const p0 = [ox + w * dx, oy + hh * dy, i0_act ? meshData[i0] : 0]; // eslint-disable-line
55
+ const p1 = [ox + (w - 1) * dx, oy + hh * dy, i1_act ? meshData[i1] : 0]; // eslint-disable-line
56
+ const p2 = [ox + w * dx, oy + (hh + 1) * dy, i2_act ? meshData[i2] : 0]; // eslint-disable-line
57
+ const p3 = [ox + (w + 1) * dx, oy + hh * dy, i3_act ? meshData[i3] : 0]; // eslint-disable-line
58
+ const p4 = [ox + w * dx, oy + (hh - 1) * dy, i4_act ? meshData[i4] : 0]; // eslint-disable-line
59
+ const v1 = [p1[0] - p0[0], p1[1] - p0[1], p1[2] - p0[2]];
60
+ const v2 = [p2[0] - p0[0], p2[1] - p0[1], p2[2] - p0[2]];
61
+ const v3 = [p3[0] - p0[0], p3[1] - p0[1], p3[2] - p0[2]];
62
+ const v4 = [p4[0] - p0[0], p4[1] - p0[1], p4[2] - p0[2]];
63
+ // Estimating a normal vector at p0:
64
+ // Take cross product of vectors v1, v2,
65
+ // Do this for all 4 quadrants.
66
+ // The resulting normal will be the mean of these four normals.
67
+ // p2
68
+ // |
69
+ // p1 - p0 - p3
70
+ // |
71
+ // p4
72
+ const normals = [];
73
+ if (i1_act && i2_act) {
74
+ const normal = crossProduct(v2, v1);
75
+ normals.push(normal);
76
+ }
77
+ if (i2_act && i3_act) {
78
+ const normal = crossProduct(v3, v2);
79
+ normals.push(normal);
80
+ }
81
+ if (i3_act && i4_act) {
82
+ const normal = crossProduct(v4, v3);
83
+ normals.push(normal);
84
+ }
85
+ if (i4_act && i1_act) {
86
+ const normal = crossProduct(v1, v4);
87
+ normals.push(normal);
88
+ }
89
+ if (normals.length === 0) {
90
+ return noNormal;
91
+ }
92
+ const mean = normals[0];
93
+ for (let i = 1; i < normals.length; i++) {
94
+ mean[0] += normals[i][0];
95
+ mean[1] += normals[i][1];
96
+ mean[2] += normals[i][2];
97
+ }
98
+ normalize(mean);
99
+ return mean;
100
+ }
101
+ const meshZValueRange = getFloat32ArrayMinMax(meshData);
102
+ const propertyValueRange = getFloat32ArrayMinMax(propertiesData);
103
+ // Dimensions.
104
+ const ox = frame.origin[0];
105
+ const oy = frame.origin[1];
106
+ const dx = frame.increment[0];
107
+ const dy = frame.increment[1];
108
+ const nx = frame.count[0]; // number of nodes in x direction
109
+ const ny = frame.count[1];
110
+ const propLength = propertiesData.length;
111
+ const isCellCenteredProperties = propLength === (nx - 1) * (ny - 1);
112
+ if (propLength !== (nx - 1) * (ny - 1) && propLength !== nx * ny) {
113
+ console.error("There should be as many property values as nodes (nx*ny) OR as many as cells (nx - 1) * (ny - 1).");
114
+ }
115
+ const nNodes = nx * ny;
116
+ const nCells = (nx - 1) * (ny - 1);
117
+ const nTriangles = nCells * 2;
118
+ const positions = new Float32Array(isCellCenteredProperties ? nCells * 6 * 3 : nNodes * 3);
119
+ const normals = new Int8Array(isCellCenteredProperties || !smoothShading ? 0 : nNodes * 3);
120
+ const triangleIndices = new Uint32Array(nTriangles * 3);
121
+ const vertexProperties = new Float32Array(isCellCenteredProperties ? nCells * 6 : nNodes);
122
+ let nLineIndices = 0;
123
+ if (gridLines) {
124
+ nLineIndices = isCellCenteredProperties
125
+ ? nTriangles * 2 * 2
126
+ : nCells * 4 + (nx - 1) * 2 + (ny - 1) * 2;
127
+ }
128
+ const lineIndices = new Uint32Array(nLineIndices);
129
+ // Note: Assumed layout of the incomming 2D array of data:
130
+ // First coloumn corresponds to lowest x value. Last column highest x value.
131
+ // First row corresponds to max y value. Last row corresponds to lowest y value.
132
+ // This must be taken into account when calculating vertex x,y values and texture coordinates.
133
+ if (!isCellCenteredProperties) {
134
+ // PROPERTIES IS SET INTERPOLATED OVER A CELL.
135
+ // Loop vertices.
136
+ let i = 0;
137
+ for (let h = 0; h < ny; h++) {
138
+ for (let w = 0; w < nx; w++) {
139
+ const i0 = h * nx + w;
140
+ const x0 = ox + w * dx;
141
+ const y0 = oy + (ny - 1 - h) * dy; // See note above.
142
+ const z = isMesh ? meshData[i0] : 0;
143
+ const propertyValue = propertiesData[i0];
144
+ positions[3 * i + 0] = x0;
145
+ positions[3 * i + 1] = y0;
146
+ positions[3 * i + 2] = z;
147
+ if (smoothShading) {
148
+ const normal = calcNormal(w, h, nx, ny, isMesh, smoothShading, meshData, ox, oy, dx, dy); // eslint-disable-line
149
+ normals[3 * i + 0] = normal[0] * 127; // Normalize to signed 8 bit.
150
+ normals[3 * i + 1] = normal[1] * 127;
151
+ normals[3 * i + 2] = normal[2] * 127;
152
+ }
153
+ vertexProperties[i] = propertyValue;
154
+ i++;
155
+ }
156
+ }
157
+ // Loop cells.
158
+ i = 0;
159
+ let j = 0;
160
+ for (let h = 0; h < ny - 1; h++) {
161
+ for (let w = 0; w < nx - 1; w++) {
162
+ const i0 = h * nx + w;
163
+ const i1 = h * nx + (w + 1);
164
+ const i2 = (h + 1) * nx + (w + 1);
165
+ const i3 = (h + 1) * nx + w;
166
+ const i0_act = !isMesh || (isDefined(meshData[i0]) && isDefined(propertiesData[i0])); // eslint-disable-line
167
+ const i1_act = !isMesh || (isDefined(meshData[i1]) && isDefined(propertiesData[i1])); // eslint-disable-line
168
+ const i2_act = !isMesh || (isDefined(meshData[i2]) && isDefined(propertiesData[i2])); // eslint-disable-line
169
+ const i3_act = !isMesh || (isDefined(meshData[i3]) && isDefined(propertiesData[i3])); // eslint-disable-line
170
+ // Triangles.
171
+ if (i1_act && i3_act) {
172
+ // diagonal i1, i3
173
+ if (i0_act) {
174
+ // t1 - i0 provoking index.
175
+ triangleIndices[i++] = i1;
176
+ triangleIndices[i++] = i3;
177
+ triangleIndices[i++] = i0;
178
+ }
179
+ if (i2_act) {
180
+ // t2 - i2 provoking index.
181
+ triangleIndices[i++] = i1;
182
+ triangleIndices[i++] = i3;
183
+ triangleIndices[i++] = i2;
184
+ }
185
+ }
186
+ else if (i0_act && i2_act) {
187
+ // diagonal i0, i2
188
+ if (i1_act) {
189
+ // t1 - i0 provoking index.
190
+ triangleIndices[i++] = i1;
191
+ triangleIndices[i++] = i2;
192
+ triangleIndices[i++] = i0;
193
+ }
194
+ if (i3_act) {
195
+ // t2 - i2 provoking index.
196
+ triangleIndices[i++] = i3;
197
+ triangleIndices[i++] = i0;
198
+ triangleIndices[i++] = i2;
199
+ }
200
+ }
201
+ // Lines.
202
+ if (gridLines) {
203
+ if (i0_act && i1_act) {
204
+ lineIndices[j++] = i0;
205
+ lineIndices[j++] = i1;
206
+ }
207
+ if (i0_act && i3_act) {
208
+ lineIndices[j++] = i0;
209
+ lineIndices[j++] = i3;
210
+ }
211
+ if (h == ny - 2 && i2_act && i3_act) {
212
+ lineIndices[j++] = i3;
213
+ lineIndices[j++] = i2;
214
+ }
215
+ if (w == nx - 2 && i1_act && i2_act) {
216
+ lineIndices[j++] = i1;
217
+ lineIndices[j++] = i2;
218
+ }
219
+ // diagonal
220
+ if ((i0_act && !i2_act) || (!i0_act && i2_act)) {
221
+ lineIndices[j++] = i1;
222
+ lineIndices[j++] = i3;
223
+ }
224
+ // diagonal
225
+ if ((i3_act && !i1_act) || (!i3_act && i1_act)) {
226
+ lineIndices[j++] = i0;
227
+ lineIndices[j++] = i2;
228
+ }
229
+ }
230
+ }
231
+ }
232
+ }
233
+ else {
234
+ // PROPERTIES IS SET CONSTANT OVER A CELL.
235
+ // Loop cells.
236
+ let i = 0;
237
+ let j = 0;
238
+ let k = 0;
239
+ let l = 0;
240
+ for (let h = 0; h < ny - 1; h++) {
241
+ for (let w = 0; w < nx - 1; w++) {
242
+ const hh = ny - 1 - h; // See note above.
243
+ const i0 = h * nx + w;
244
+ const i1 = h * nx + (w + 1);
245
+ const i2 = (h + 1) * nx + (w + 1);
246
+ const i3 = (h + 1) * nx + w;
247
+ const i0_act = !isMesh || isDefined(meshData[i0]); // eslint-disable-line
248
+ const i1_act = !isMesh || isDefined(meshData[i1]); // eslint-disable-line
249
+ const i2_act = !isMesh || isDefined(meshData[i2]); // eslint-disable-line
250
+ const i3_act = !isMesh || isDefined(meshData[i3]); // eslint-disable-line
251
+ const x0 = ox + w * dx;
252
+ const y0 = oy + hh * dy;
253
+ const z0 = isMesh ? meshData[i0] : 0;
254
+ const x1 = ox + (w + 1) * dx;
255
+ const y1 = oy + hh * dy;
256
+ const z1 = isMesh ? meshData[i1] : 0;
257
+ const x2 = ox + (w + 1) * dx;
258
+ const y2 = oy + (hh - 1) * dy; // Note hh - 1 here.
259
+ const z2 = isMesh ? meshData[i2] : 0;
260
+ const x3 = ox + w * dx;
261
+ const y3 = oy + (hh - 1) * dy; // Note hh - 1 here.
262
+ const z3 = isMesh ? meshData[i3] : 0;
263
+ const propertyIndex = h * (nx - 1) + w; // (nx - 1) -> the width of the property 2D array is one less than for the nodes in this case.
264
+ const propertyValue = propertiesData[propertyIndex];
265
+ if (!isDefined(propertyValue)) {
266
+ // Inactive cell, dont draw.
267
+ continue;
268
+ }
269
+ // Triangles.
270
+ if (i1_act && i3_act) {
271
+ // diagonal i1, i3
272
+ if (i0_act) {
273
+ // t1 - i0 provoking index.
274
+ triangleIndices[i] = i;
275
+ const L1 = i;
276
+ i++;
277
+ positions[j++] = x1;
278
+ positions[j++] = y1;
279
+ positions[j++] = z1;
280
+ triangleIndices[i] = i;
281
+ const L2 = i;
282
+ i++;
283
+ positions[j++] = x3;
284
+ positions[j++] = y3;
285
+ positions[j++] = z3;
286
+ triangleIndices[i] = i;
287
+ const L3 = i;
288
+ i++;
289
+ positions[j++] = x0;
290
+ positions[j++] = y0;
291
+ positions[j++] = z0;
292
+ if (gridLines) {
293
+ lineIndices[l++] = L3;
294
+ lineIndices[l++] = L1;
295
+ lineIndices[l++] = L3;
296
+ lineIndices[l++] = L2;
297
+ }
298
+ vertexProperties[k++] = propertyValue;
299
+ vertexProperties[k++] = propertyValue;
300
+ vertexProperties[k++] = propertyValue;
301
+ }
302
+ if (i2_act) {
303
+ // t2 - i2 provoking index.
304
+ triangleIndices[i] = i;
305
+ const L1 = i;
306
+ i++;
307
+ positions[j++] = x1;
308
+ positions[j++] = y1;
309
+ positions[j++] = z1;
310
+ triangleIndices[i] = i;
311
+ const L2 = i;
312
+ i++;
313
+ positions[j++] = x3;
314
+ positions[j++] = y3;
315
+ positions[j++] = z3;
316
+ triangleIndices[i] = i;
317
+ const L3 = i;
318
+ i++;
319
+ positions[j++] = x2;
320
+ positions[j++] = y2;
321
+ positions[j++] = z2;
322
+ if (gridLines) {
323
+ lineIndices[l++] = L1;
324
+ lineIndices[l++] = L3;
325
+ lineIndices[l++] = L2;
326
+ lineIndices[l++] = L3;
327
+ }
328
+ vertexProperties[k++] = propertyValue;
329
+ vertexProperties[k++] = propertyValue;
330
+ vertexProperties[k++] = propertyValue;
331
+ }
332
+ }
333
+ else if (i0_act && i2_act) {
334
+ // diagonal i0, i2
335
+ if (i1_act) {
336
+ //t1 - i0 provoking index.
337
+ triangleIndices[i] = i;
338
+ const L1 = i;
339
+ i++;
340
+ positions[j++] = x1;
341
+ positions[j++] = y1;
342
+ positions[j++] = z1;
343
+ triangleIndices[i] = i;
344
+ const L2 = i;
345
+ i++;
346
+ positions[j++] = x2;
347
+ positions[j++] = y2;
348
+ positions[j++] = z2;
349
+ triangleIndices[i] = i;
350
+ const L3 = i;
351
+ i++;
352
+ positions[j++] = x0;
353
+ positions[j++] = y0;
354
+ positions[j++] = z0;
355
+ if (gridLines) {
356
+ lineIndices[l++] = L1;
357
+ lineIndices[l++] = L3;
358
+ lineIndices[l++] = L1;
359
+ lineIndices[l++] = L2;
360
+ }
361
+ vertexProperties[k++] = propertyValue;
362
+ vertexProperties[k++] = propertyValue;
363
+ vertexProperties[k++] = propertyValue;
364
+ }
365
+ if (i3_act) {
366
+ // t2 - i2 provoking index.
367
+ triangleIndices[i] = i;
368
+ const L1 = i;
369
+ i++;
370
+ positions[j++] = x3;
371
+ positions[j++] = y3;
372
+ positions[j++] = z3;
373
+ triangleIndices[i] = i;
374
+ const L2 = i;
375
+ i++;
376
+ positions[j++] = x0;
377
+ positions[j++] = y0;
378
+ positions[j++] = z0;
379
+ triangleIndices[i] = i;
380
+ const L3 = i;
381
+ i++;
382
+ positions[j++] = x2;
383
+ positions[j++] = y2;
384
+ positions[j++] = z2;
385
+ if (gridLines) {
386
+ lineIndices[l++] = L1;
387
+ lineIndices[l++] = L2;
388
+ lineIndices[l++] = L1;
389
+ lineIndices[l++] = L3;
390
+ }
391
+ vertexProperties[k++] = propertyValue;
392
+ vertexProperties[k++] = propertyValue;
393
+ vertexProperties[k++] = propertyValue;
394
+ }
395
+ }
396
+ }
397
+ }
398
+ }
399
+ const webworkerParams = [
400
+ positions,
401
+ normals,
402
+ triangleIndices,
403
+ vertexProperties,
404
+ lineIndices,
405
+ meshZValueRange,
406
+ propertyValueRange,
407
+ ];
408
+ postMessage(webworkerParams,
409
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
410
+ // @ts-ignore
411
+ [
412
+ positions.buffer,
413
+ normals.buffer,
414
+ triangleIndices.buffer,
415
+ vertexProperties.buffer,
416
+ lineIndices.buffer,
417
+ ]); // tranferable objects. No copy.
418
+ }
419
+ //# sourceMappingURL=webworker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webworker.js","sourceRoot":"","sources":["../../../src/layers/map/webworker.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webviz/subsurface-viewer",
3
- "version": "0.12.1",
3
+ "version": "0.12.2",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",