@webviz/subsurface-viewer 0.0.2-alpha.4 → 0.0.2-alpha.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/dist/SubsurfaceViewer.d.ts +29 -0
  2. package/dist/SubsurfaceViewer.js +2 -2
  3. package/dist/SubsurfaceViewer.js.map +1 -1
  4. package/dist/components/Map.d.ts +6 -0
  5. package/dist/components/Map.js +66 -14
  6. package/dist/components/Map.js.map +1 -1
  7. package/dist/inputSchema/WellLogTemplate.json +0 -5
  8. package/dist/layers/BoxSelectionLayer/boxSelectionLayer.d.ts +3 -3
  9. package/dist/layers/BoxSelectionLayer/boxSelectionLayer.js +2 -5
  10. package/dist/layers/BoxSelectionLayer/boxSelectionLayer.js.map +1 -1
  11. package/dist/layers/axes2d/axes2DLayer.js +53 -21
  12. package/dist/layers/axes2d/axes2DLayer.js.map +1 -1
  13. package/dist/layers/grid3d/earcut.d.ts +5 -0
  14. package/dist/layers/grid3d/earcut.js +563 -0
  15. package/dist/layers/grid3d/earcut.js.map +1 -0
  16. package/dist/layers/grid3d/grid3dLayer.d.ts +3 -0
  17. package/dist/layers/grid3d/grid3dLayer.js +17 -1
  18. package/dist/layers/grid3d/grid3dLayer.js.map +1 -1
  19. package/dist/layers/grid3d/test_data/PentagonalToroid.d.ts +7 -0
  20. package/dist/layers/grid3d/test_data/PentagonalToroid.js +55 -0
  21. package/dist/layers/grid3d/test_data/PentagonalToroid.js.map +1 -0
  22. package/dist/layers/grid3d/test_data/TruncatedSnubCube.d.ts +7 -0
  23. package/dist/layers/grid3d/test_data/TruncatedSnubCube.js +267 -0
  24. package/dist/layers/grid3d/test_data/TruncatedSnubCube.js.map +1 -0
  25. package/dist/layers/grid3d/webworker.js +86 -71
  26. package/dist/layers/grid3d/webworker.js.map +1 -1
  27. package/dist/layers/map/mapLayer.d.ts +1 -0
  28. package/dist/layers/map/mapLayer.js +16 -5
  29. package/dist/layers/map/mapLayer.js.map +1 -1
  30. package/dist/layers/triangle/privateTriangleLayer.js.map +1 -1
  31. package/dist/layers/triangle/triangleLayer.d.ts +1 -0
  32. package/dist/layers/triangle/triangleLayer.js +14 -1
  33. package/dist/layers/triangle/triangleLayer.js.map +1 -1
  34. package/package.json +49 -36
  35. package/dist/assets/glTF/north_arrow/scene.bin +0 -0
  36. package/dist/assets/glTF/north_arrow/scene.gltf +0 -315
  37. package/dist/inputSchema/wellCompletions.json +0 -108
  38. package/dist/package.json +0 -38
@@ -12,6 +12,7 @@ import privateLayer from "./privateLayer";
12
12
  import { makeFullMesh } from "./webworker";
13
13
  import { isEqual } from "lodash";
14
14
  import { load, JSONLoader } from "@loaders.gl/core";
15
+ import { default as earcut } from "./earcut";
15
16
  function GetBBox(points, isZIncreasingDownwards) {
16
17
  let xmax = -99999999;
17
18
  let ymax = -99999999;
@@ -56,6 +57,15 @@ const defaultProps = {
56
57
  ZIncreasingDownwards: true,
57
58
  };
58
59
  export default class Grid3DLayer extends CompositeLayer {
60
+ get isLoaded() {
61
+ var _a, _b;
62
+ const subLayers = this.getSubLayers();
63
+ const isLoaded = super.isLoaded &&
64
+ subLayers.length > 0 &&
65
+ subLayers.every((layer) => layer.isLoaded);
66
+ const isFinished = (_b = (_a = this.state) === null || _a === void 0 ? void 0 : _a["isFinishedLoading"]) !== null && _b !== void 0 ? _b : false;
67
+ return isLoaded && isFinished;
68
+ }
59
69
  rebuildData(reportBoundingBox) {
60
70
  const p = load_data(this.props.pointsData, this.props.polysData, this.props.propertiesData);
61
71
  p.then(([points, polys, properties]) => {
@@ -70,6 +80,8 @@ export default class Grid3DLayer extends CompositeLayer {
70
80
  polys,
71
81
  properties,
72
82
  isZIncreasingDownwards: this.props.ZIncreasingDownwards,
83
+ triangulateFunc: `return earcut(points);\n${earcut.toString()}`,
84
+ triangulateParamName: "points",
73
85
  };
74
86
  webWorker.postMessage(webworkerParams);
75
87
  webWorker.onmessage = (e) => {
@@ -93,10 +105,12 @@ export default class Grid3DLayer extends CompositeLayer {
93
105
  this.props.setReportedBoundingBox(bbox);
94
106
  }
95
107
  webWorker.terminate();
108
+ this.setState(Object.assign(Object.assign({}, this.state), { isFinishedLoading: true }));
96
109
  };
97
110
  });
98
111
  }
99
112
  initializeState() {
113
+ this.setState(Object.assign(Object.assign({}, this.state), { isFinishedLoading: false }));
100
114
  const reportBoundingBox = true;
101
115
  this.rebuildData(reportBoundingBox);
102
116
  }
@@ -106,12 +120,14 @@ export default class Grid3DLayer extends CompositeLayer {
106
120
  !isEqual(props.propertiesData, oldProps.propertiesData) ||
107
121
  !isEqual(props.ZIncreasingDownwards, oldProps.ZIncreasingDownwards);
108
122
  if (needs_reload) {
123
+ this.setState(Object.assign(Object.assign({}, this.state), { isFinishedLoading: false }));
109
124
  const reportBoundingBox = false;
110
125
  this.rebuildData(reportBoundingBox);
111
126
  }
112
127
  }
113
128
  renderLayers() {
114
- if (Object.keys(this.state).length === 0) {
129
+ if (Object.keys(this.state).length === 1) {
130
+ // isFinishedLoading only in state
115
131
  return [];
116
132
  }
117
133
  const layer = new privateLayer(this.getSubLayerProps({
@@ -1 +1 @@
1
- {"version":3,"file":"grid3dLayer.js","sourceRoot":"","sources":["../../../src/layers/grid3d/grid3dLayer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"grid3dLayer.js","sourceRoot":"","sources":["../../../src/layers/grid3d/grid3dLayer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Pentagonal Antiprism-Trapezohedron Toroid
3
+ * http://dmccooey.com/polyhedra/PentagonalAntiprismTrapezohedronToroid.html
4
+ */
5
+ export declare const Points: number[];
6
+ export declare const Faces: number[];
7
+ export declare const VertexCount = 80;
@@ -0,0 +1,55 @@
1
+ /* eslint-disable prettier/prettier */
2
+ /* eslint-disable @typescript-eslint/no-loss-of-precision */
3
+ /**
4
+ * Pentagonal Antiprism-Trapezohedron Toroid
5
+ * http://dmccooey.com/polyhedra/PentagonalAntiprismTrapezohedronToroid.html
6
+ */
7
+ const C0 = (3 - Math.sqrt(5)) / 4;
8
+ const C1 = (Math.sqrt(5) - 1) / 4;
9
+ const C2 = (1 + Math.sqrt(5)) / 4;
10
+ export const Points = [
11
+ 0.5, 0.0, C2,
12
+ 0.5, 0.0, -C2,
13
+ -0.5, 0.0, C2,
14
+ -0.5, 0.0, -C2,
15
+ 0.0, C2, 0.5,
16
+ 0.0, C2, -0.5,
17
+ 0.0, -C2, 0.5,
18
+ 0.0, -C2, -0.5,
19
+ C2, 0.5, 0.0,
20
+ -C2, -0.5, 0.0,
21
+ 0.0, C0, 0.5,
22
+ 0.0, C0, -0.5,
23
+ 0.0, -C0, 0.5,
24
+ 0.0, -C0, -0.5,
25
+ C1, C1, C1,
26
+ C1, C1, -C1,
27
+ -C1, -C1, C1,
28
+ -C1, -C1, -C1,
29
+ C0, 0.5, 0.0,
30
+ -C0, -0.5, 0.0,
31
+ ];
32
+ export const Faces = [
33
+ 5, 0, 6, 16, 12, 10,
34
+ 5, 1, 8, 18, 15, 11,
35
+ 5, 2, 4, 14, 10, 12,
36
+ 5, 3, 9, 19, 17, 13,
37
+ 5, 4, 5, 15, 18, 14,
38
+ 5, 5, 3, 13, 11, 15,
39
+ 5, 6, 7, 17, 19, 16,
40
+ 5, 7, 1, 11, 13, 17,
41
+ 5, 8, 0, 10, 14, 18,
42
+ 5, 9, 2, 12, 16, 19,
43
+ 3, 2, 6, 0,
44
+ 3, 2, 0, 4,
45
+ 3, 3, 1, 7,
46
+ 3, 3, 7, 9,
47
+ 3, 4, 0, 8,
48
+ 3, 4, 8, 5,
49
+ 3, 5, 8, 1,
50
+ 3, 5, 1, 3,
51
+ 3, 6, 2, 9,
52
+ 3, 6, 9, 7
53
+ ];
54
+ export const VertexCount = 80;
55
+ //# sourceMappingURL=PentagonalToroid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PentagonalToroid.js","sourceRoot":"","sources":["../../../../src/layers/grid3d/test_data/PentagonalToroid.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Canonical Truncated Snub Cube (laevo)
3
+ * http://dmccooey.com/polyhedra/CanonicalTruncatedLsnubCube.html
4
+ */
5
+ export declare const Points: number[];
6
+ export declare const Faces: number[];
7
+ export declare const VertexCount = 354;
@@ -0,0 +1,267 @@
1
+ /* eslint-disable @typescript-eslint/no-loss-of-precision */
2
+ /* eslint-disable prettier/prettier */
3
+ /**
4
+ * Canonical Truncated Snub Cube (laevo)
5
+ * http://dmccooey.com/polyhedra/CanonicalTruncatedLsnubCube.html
6
+ */
7
+ const C0 = 0.0302251764772701090307923300606;
8
+ const C1 = 0.0363071672915951331148593569212;
9
+ const C2 = 0.0409778062246362225458193945047;
10
+ const C3 = 0.0456429395787649414224784522932;
11
+ const C4 = 0.0517249303930899655065454791538;
12
+ const C5 = 0.0874428904727683864261001346480;
13
+ const C6 = 0.0889753108130376311630881430690;
14
+ const C7 = 0.09641163211454776963649003756654;
15
+ const C8 = 0.103835000017680081843811562026;
16
+ const C9 = 0.105367420357949326580799570447;
17
+ const C10 = 0.2450214662773631071920643581053;
18
+ const C11 = 0.252134792945065226794434215441;
19
+ const C12 = 0.255788526486979252796077241708;
20
+ const C13 = 0.259407893525480844065447649862;
21
+ const C14 = 0.266521220193182963667817507199;
22
+ const C15 = 0.3029689425643569933701316598948;
23
+ const C16 = 0.3107539819206035142821858189547;
24
+ const C17 = 0.313739895806156433849991991246;
25
+ const C18 = 0.316683657123930328933830649928;
26
+ const C19 = 0.324468696480176849845884808988;
27
+ const C20 = 0.341582160313331475749836432441;
28
+ const C21 = 0.342151628299672471981879473588;
29
+ const C22 = 0.349638984338757152241767048476;
30
+ const C23 = 0.357079364582979470793901403586;
31
+ const C24 = 0.357648832569320467025944444734;
32
+ const C25 = 0.391940478946977214295158968170;
33
+ const C26 = 0.402215383307808349008215898526;
34
+ const C27 = 0.402717409481951931035229823292;
35
+ const C28 = 0.403165328501965936057855186908;
36
+ const C29 = 0.413440232862797070770912117264;
37
+ const C30 = 0.422352352366772596332884976776;
38
+ const C31 = 0.4257635648947751879276442138453;
39
+ const C32 = 0.431361914520635145594778682227;
40
+ const C33 = 0.436902308455866726256044549281;
41
+ const C34 = 0.4403135209838693178508037863502;
42
+ const C35 = 0.471479357405498664795143730174;
43
+ const C36 = 0.475460037919842252621946008390;
44
+ const C37 = 0.480492220013909699306611793938;
45
+ const C38 = 0.485459845508251798486260261531;
46
+ const C39 = 0.489440526022595386313062539748;
47
+ const C40 = 0.631997406136481720130022548434;
48
+ const C41 = 0.635861486054042501323957014766;
49
+ const C42 = 0.639842166568386089150759292982;
50
+ const C43 = 0.641002732085134761084968597476;
51
+ const C44 = 0.6420771755897582912639852396851;
52
+ const C45 = 0.643938080377665686012635061440;
53
+ const C46 = 0.647947477795687904773262748842;
54
+ const C47 = 0.649921936021662660284721984233;
55
+ const C49 = 0.685557959079109566018258809311;
56
+ const C48 = 0.651928158310031492600065027059;
57
+ const C50 = 0.688969171607112157613018046380;
58
+ const C51 = 0.693068385870940239724468173151;
59
+ const C52 = 0.697074482834413973235521502239;
60
+ const C53 = 0.700485695362416564830280739309;
61
+ const C54 = 0.765729043260772372082807472863;
62
+ const C55 = 0.769169895674212281964023549568;
63
+ const C56 = 0.7697393636605532781960665907152;
64
+ const C57 = 0.772041383352407496366556208990;
65
+ const C58 = 0.773210830287960287716720126734;
66
+ const C59 = 0.774276392373779698479782155693;
67
+ const C60 = 0.774791316052818233077479806902;
68
+ const C61 = 0.779739171248962824060380843856;
69
+ const C62 = 0.780308639235303820292423885003;
70
+ const C63 = 0.780588732465414822763530891820;
71
+ const C64 = 0.922705157019364016574154365883;
72
+ const C65 = 0.923736492872741112092457196358;
73
+ const C66 = 0.924408205561285513402141498082;
74
+ const C67 = 0.926898070565870127203144269378;
75
+ const C68 = 0.927435346016054600951910190606;
76
+ const C69 = 0.927848015760027714252783557760;
77
+ const C70 = 0.930337880764612328053786329055496;
78
+ const C71 = 0.931009593453156729363470630779;
79
+ const C72 = 0.9320409293065338248817734612548;
80
+ export const Points = [
81
+ C72, -C25, -C2,
82
+ -C72, C25, -C2,
83
+ C25, C72, -C2,
84
+ -C25, -C72, -C2,
85
+ C71, -C15, C12,
86
+ -C71, C15, C12,
87
+ C15, C71, C12,
88
+ -C15, -C71, C12,
89
+ C10, C70, -C17,
90
+ -C10, -C70, -C17,
91
+ C70, -C10, -C17,
92
+ -C70, C10, -C17,
93
+ C0, C69, C27,
94
+ -C0, -C69, C27,
95
+ C69, -C0, C27,
96
+ -C69, C0, C27,
97
+ C28, -C1, -C68,
98
+ -C28, C1, -C68,
99
+ C1, C28, -C68,
100
+ -C1, -C28, -C68,
101
+ C26, C3, C68,
102
+ -C26, -C3, C68,
103
+ C3, -C26, C68,
104
+ -C3, C26, C68,
105
+ C18, -C11, C68,
106
+ -C18, C11, C68,
107
+ C11, C18, C68,
108
+ -C11, -C18, C68,
109
+ C16, C13, -C68,
110
+ -C16, -C13, -C68,
111
+ C13, -C16, -C68,
112
+ -C13, C16, -C68,
113
+ C4, -C67, -C27,
114
+ -C4, C67, -C27,
115
+ C67, C4, -C27,
116
+ -C67, -C4, -C27,
117
+ C14, -C66, C17,
118
+ -C14, C66, C17,
119
+ C66, C14, C17,
120
+ -C66, -C14, C17,
121
+ C65, C19, -C12,
122
+ -C65, -C19, -C12,
123
+ C19, -C65, -C12,
124
+ -C19, C65, -C12,
125
+ C64, C29, C2,
126
+ -C64, -C29, C2,
127
+ C29, -C64, C2,
128
+ -C29, C64, C2,
129
+ C63, -C40, -C7,
130
+ -C63, C40, -C7,
131
+ C40, C63, -C7,
132
+ -C40, -C63, -C7,
133
+ C62, -C35, C32,
134
+ -C62, C35, C32,
135
+ C35, C62, C32,
136
+ -C35, -C62, C32,
137
+ C30, C61, -C37,
138
+ -C30, -C61, -C37,
139
+ C61, -C30, -C37,
140
+ -C61, C30, -C37,
141
+ C38, -C31, C60,
142
+ -C38, C31, C60,
143
+ C31, C38, C60,
144
+ -C31, -C38, C60,
145
+ C36, C33, -C60,
146
+ -C36, -C33, -C60,
147
+ C33, -C36, -C60,
148
+ -C33, C36, -C60,
149
+ C5, C59, C43,
150
+ -C5, -C59, C43,
151
+ C59, -C5, C43,
152
+ -C59, C5, C43,
153
+ C44, -C6, -C58,
154
+ -C44, C6, -C58,
155
+ C6, C44, -C58,
156
+ -C6, -C44, -C58,
157
+ C42, C8, C58,
158
+ -C42, -C8, C58,
159
+ C8, -C42, C58,
160
+ -C8, C42, C58,
161
+ C9, -C57, -C43,
162
+ -C9, C57, -C43,
163
+ C57, C9, -C43,
164
+ -C57, -C9, -C43,
165
+ C34, -C56, C37,
166
+ -C34, C56, C37,
167
+ C56, C34, C37,
168
+ -C56, -C34, C37,
169
+ C55, C39, -C32,
170
+ -C55, -C39, -C32,
171
+ C39, -C55, -C32,
172
+ -C39, C55, -C32,
173
+ C54, C47, C7,
174
+ -C54, -C47, C7,
175
+ C47, -C54, C7,
176
+ -C47, C54, C7,
177
+ C53, -C41, -C22,
178
+ -C53, C41, -C22,
179
+ C41, C53, -C22,
180
+ -C41, -C53, -C22,
181
+ C20, C52, C45,
182
+ -C20, -C52, C45,
183
+ C52, -C20, C45,
184
+ -C52, C20, C45,
185
+ C46, -C21, -C51,
186
+ -C46, C21, -C51,
187
+ C21, C46, -C51,
188
+ -C21, -C46, -C51,
189
+ C42, C23, C51,
190
+ -C42, -C23, C51,
191
+ C23, -C42, C51,
192
+ -C23, C42, C51,
193
+ C24, -C50, -C45,
194
+ -C24, C50, -C45,
195
+ C50, C24, -C45,
196
+ -C50, -C24, -C45,
197
+ C49, C48, C22,
198
+ -C49, -C48, C22,
199
+ C48, -C49, C22,
200
+ -C48, C49, C22,
201
+ ];
202
+ export const Faces = [
203
+ 8, 0, 10, 34, 40, 44, 38, 14, 4,
204
+ 8, 1, 11, 35, 41, 45, 39, 15, 5,
205
+ 8, 2, 8, 33, 43, 47, 37, 12, 6,
206
+ 8, 3, 9, 32, 42, 46, 36, 13, 7,
207
+ 8, 16, 30, 19, 29, 17, 31, 18, 28,
208
+ 8, 20, 26, 23, 25, 21, 27, 22, 24,
209
+ 6, 52, 102, 60, 110, 84, 118,
210
+ 6, 53, 103, 61, 111, 85, 119,
211
+ 6, 54, 100, 62, 108, 86, 116,
212
+ 6, 55, 101, 63, 109, 87, 117,
213
+ 6, 56, 98, 88, 114, 64, 106,
214
+ 6, 57, 99, 89, 115, 65, 107,
215
+ 6, 58, 96, 90, 112, 66, 104,
216
+ 6, 59, 97, 91, 113, 67, 105,
217
+ 6, 0, 4, 52, 118, 94, 48,
218
+ 6, 1, 5, 53, 119, 95, 49,
219
+ 6, 2, 6, 54, 116, 92, 50,
220
+ 6, 3, 7, 55, 117, 93, 51,
221
+ 6, 8, 56, 106, 74, 81, 33,
222
+ 6, 9, 57, 107, 75, 80, 32,
223
+ 6, 10, 58, 104, 72, 82, 34,
224
+ 6, 11, 59, 105, 73, 83, 35,
225
+ 6, 12, 37, 85, 111, 79, 68,
226
+ 6, 13, 36, 84, 110, 78, 69,
227
+ 6, 14, 38, 86, 108, 76, 70,
228
+ 6, 15, 39, 87, 109, 77, 71,
229
+ 6, 16, 28, 64, 114, 82, 72,
230
+ 6, 17, 29, 65, 115, 83, 73,
231
+ 6, 18, 31, 67, 113, 81, 74,
232
+ 6, 19, 30, 66, 112, 80, 75,
233
+ 6, 20, 24, 60, 102, 70, 76,
234
+ 6, 21, 25, 61, 103, 71, 77,
235
+ 6, 22, 27, 63, 101, 69, 78,
236
+ 6, 23, 26, 62, 100, 68, 79,
237
+ 6, 40, 88, 98, 50, 92, 44,
238
+ 6, 41, 89, 99, 51, 93, 45,
239
+ 6, 42, 90, 96, 48, 94, 46,
240
+ 6, 43, 91, 97, 49, 95, 47,
241
+ 5, 0, 48, 96, 58, 10,
242
+ 5, 1, 49, 97, 59, 11,
243
+ 5, 2, 50, 98, 56, 8,
244
+ 5, 3, 51, 99, 57, 9,
245
+ 5, 4, 14, 70, 102, 52,
246
+ 5, 5, 15, 71, 103, 53,
247
+ 5, 6, 12, 68, 100, 54,
248
+ 5, 7, 13, 69, 101, 55,
249
+ 5, 16, 72, 104, 66, 30,
250
+ 5, 17, 73, 105, 67, 31,
251
+ 5, 18, 74, 106, 64, 28,
252
+ 5, 19, 75, 107, 65, 29,
253
+ 5, 20, 76, 108, 62, 26,
254
+ 5, 21, 77, 109, 63, 27,
255
+ 5, 22, 78, 110, 60, 24,
256
+ 5, 23, 79, 111, 61, 25,
257
+ 5, 32, 80, 112, 90, 42,
258
+ 5, 33, 81, 113, 91, 43,
259
+ 5, 34, 82, 114, 88, 40,
260
+ 5, 35, 83, 115, 89, 41,
261
+ 5, 36, 46, 94, 118, 84,
262
+ 5, 37, 47, 95, 119, 85,
263
+ 5, 38, 44, 92, 116, 86,
264
+ 5, 39, 45, 93, 117, 87
265
+ ];
266
+ export const VertexCount = 354;
267
+ //# sourceMappingURL=TruncatedSnubCube.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TruncatedSnubCube.js","sourceRoot":"","sources":["../../../../src/layers/grid3d/test_data/TruncatedSnubCube.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,sCAAsC;AACtC;;;EAGE;AAEF,MAAM,EAAE,GAAI,iCAAiC,CAAA;AAC7C,MAAM,EAAE,GAAI,iCAAiC,CAAA;AAC7C,MAAM,EAAE,GAAI,iCAAiC,CAAA;AAC7C,MAAM,EAAE,GAAI,iCAAiC,CAAA;AAC7C,MAAM,EAAE,GAAI,iCAAiC,CAAA;AAC7C,MAAM,EAAE,GAAI,iCAAiC,CAAA;AAC7C,MAAM,EAAE,GAAI,iCAAiC,CAAA;AAC7C,MAAM,EAAE,GAAI,kCAAkC,CAAA;AAC9C,MAAM,EAAE,GAAI,gCAAgC,CAAA;AAC5C,MAAM,EAAE,GAAI,gCAAgC,CAAA;AAC5C,MAAM,GAAG,GAAG,iCAAiC,CAAA;AAC7C,MAAM,GAAG,GAAG,gCAAgC,CAAA;AAC5C,MAAM,GAAG,GAAG,gCAAgC,CAAA;AAC5C,MAAM,GAAG,GAAG,gCAAgC,CAAA;AAC5C,MAAM,GAAG,GAAG,gCAAgC,CAAA;AAC5C,MAAM,GAAG,GAAG,iCAAiC,CAAA;AAC7C,MAAM,GAAG,GAAG,iCAAiC,CAAA;AAC7C,MAAM,GAAG,GAAG,gCAAgC,CAAA;AAC5C,MAAM,GAAG,GAAG,gCAAgC,CAAA;AAC5C,MAAM,GAAG,GAAG,gCAAgC,CAAA;AAC5C,MAAM,GAAG,GAAG,gCAAgC,CAAA;AAC5C,MAAM,GAAG,GAAG,gCAAgC,CAAA;AAC5C,MAAM,GAAG,GAAG,gCAAgC,CAAA;AAC5C,MAAM,GAAG,GAAG,gCAAgC,CAAA;AAC5C,MAAM,GAAG,GAAG,gCAAgC,CAAA;AAC5C,MAAM,GAAG,GAAG,gCAAgC,CAAA;AAC5C,MAAM,GAAG,GAAG,gCAAgC,CAAA;AAC5C,MAAM,GAAG,GAAG,gCAAgC,CAAA;AAC5C,MAAM,GAAG,GAAG,gCAAgC,CAAA;AAC5C,MAAM,GAAG,GAAG,gCAAgC,CAAA;AAC5C,MAAM,GAAG,GAAG,gCAAgC,CAAA;AAC5C,MAAM,GAAG,GAAG,iCAAiC,CAAA;AAC7C,MAAM,GAAG,GAAG,gCAAgC,CAAA;AAC5C,MAAM,GAAG,GAAG,gCAAgC,CAAA;AAC5C,MAAM,GAAG,GAAG,iCAAiC,CAAA;AAC7C,MAAM,GAAG,GAAG,gCAAgC,CAAA;AAC5C,MAAM,GAAG,GAAG,gCAAgC,CAAA;AAC5C,MAAM,GAAG,GAAG,gCAAgC,CAAA;AAC5C,MAAM,GAAG,GAAG,gCAAgC,CAAA;AAC5C,MAAM,GAAG,GAAG,gCAAgC,CAAA;AAC5C,MAAM,GAAG,GAAG,gCAAgC,CAAA;AAC5C,MAAM,GAAG,GAAG,gCAAgC,CAAA;AAC5C,MAAM,GAAG,GAAG,gCAAgC,CAAA;AAC5C,MAAM,GAAG,GAAG,gCAAgC,CAAA;AAC5C,MAAM,GAAG,GAAG,iCAAiC,CAAA;AAC7C,MAAM,GAAG,GAAG,gCAAgC,CAAA;AAC5C,MAAM,GAAG,GAAG,gCAAgC,CAAA;AAC5C,MAAM,GAAG,GAAG,gCAAgC,CAAA;AAC5C,MAAM,GAAG,GAAG,gCAAgC,CAAA;AAC5C,MAAM,GAAG,GAAG,gCAAgC,CAAA;AAC5C,MAAM,GAAG,GAAG,gCAAgC,CAAA;AAC5C,MAAM,GAAG,GAAG,gCAAgC,CAAA;AAC5C,MAAM,GAAG,GAAG,gCAAgC,CAAA;AAC5C,MAAM,GAAG,GAAG,gCAAgC,CAAA;AAC5C,MAAM,GAAG,GAAG,gCAAgC,CAAA;AAC5C,MAAM,GAAG,GAAG,gCAAgC,CAAA;AAC5C,MAAM,GAAG,GAAG,iCAAiC,CAAA;AAC7C,MAAM,GAAG,GAAG,gCAAgC,CAAA;AAC5C,MAAM,GAAG,GAAG,gCAAgC,CAAA;AAC5C,MAAM,GAAG,GAAG,gCAAgC,CAAA;AAC5C,MAAM,GAAG,GAAG,gCAAgC,CAAA;AAC5C,MAAM,GAAG,GAAG,gCAAgC,CAAA;AAC5C,MAAM,GAAG,GAAG,gCAAgC,CAAA;AAC5C,MAAM,GAAG,GAAG,gCAAgC,CAAA;AAC5C,MAAM,GAAG,GAAG,gCAAgC,CAAA;AAC5C,MAAM,GAAG,GAAG,gCAAgC,CAAA;AAC5C,MAAM,GAAG,GAAG,gCAAgC,CAAA;AAC5C,MAAM,GAAG,GAAG,gCAAgC,CAAA;AAC5C,MAAM,GAAG,GAAG,gCAAgC,CAAA;AAC5C,MAAM,GAAG,GAAG,gCAAgC,CAAA;AAC5C,MAAM,GAAG,GAAG,mCAAmC,CAAA;AAC/C,MAAM,GAAG,GAAG,gCAAgC,CAAA;AAC5C,MAAM,GAAG,GAAG,iCAAiC,CAAA;AAE7C,MAAM,CAAC,MAAM,MAAM,GAAG;IACtB,GAAG,EAAE,CAAC,GAAG,EAAG,CAAC,EAAE;IACf,CAAC,GAAG,EAAG,GAAG,EAAG,CAAC,EAAE;IAChB,GAAG,EAAG,GAAG,EAAG,CAAC,EAAE;IACf,CAAC,GAAG,EAAE,CAAC,GAAG,EAAG,CAAC,EAAE;IACf,GAAG,EAAE,CAAC,GAAG,EAAG,GAAG;IAChB,CAAC,GAAG,EAAG,GAAG,EAAG,GAAG;IACf,GAAG,EAAG,GAAG,EAAG,GAAG;IAChB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAG,GAAG;IACf,GAAG,EAAG,GAAG,EAAE,CAAC,GAAG;IAChB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG;IACf,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG;IAChB,CAAC,GAAG,EAAG,GAAG,EAAE,CAAC,GAAG;IACd,EAAE,EAAG,GAAG,EAAG,GAAG;IACf,CAAC,EAAE,EAAE,CAAC,GAAG,EAAG,GAAG;IACf,GAAG,EAAG,CAAC,EAAE,EAAG,GAAG;IAChB,CAAC,GAAG,EAAI,EAAE,EAAG,GAAG;IACf,GAAG,EAAG,CAAC,EAAE,EAAE,CAAC,GAAG;IAChB,CAAC,GAAG,EAAI,EAAE,EAAE,CAAC,GAAG;IACd,EAAE,EAAG,GAAG,EAAE,CAAC,GAAG;IACf,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG;IACf,GAAG,EAAI,EAAE,EAAG,GAAG;IAChB,CAAC,GAAG,EAAG,CAAC,EAAE,EAAG,GAAG;IACd,EAAE,EAAE,CAAC,GAAG,EAAG,GAAG;IACf,CAAC,EAAE,EAAG,GAAG,EAAG,GAAG;IACf,GAAG,EAAE,CAAC,GAAG,EAAG,GAAG;IAChB,CAAC,GAAG,EAAG,GAAG,EAAG,GAAG;IACf,GAAG,EAAG,GAAG,EAAG,GAAG;IAChB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAG,GAAG;IACf,GAAG,EAAG,GAAG,EAAE,CAAC,GAAG;IAChB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG;IACf,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG;IAChB,CAAC,GAAG,EAAG,GAAG,EAAE,CAAC,GAAG;IACd,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG;IACf,CAAC,EAAE,EAAG,GAAG,EAAE,CAAC,GAAG;IACf,GAAG,EAAI,EAAE,EAAE,CAAC,GAAG;IAChB,CAAC,GAAG,EAAG,CAAC,EAAE,EAAE,CAAC,GAAG;IACf,GAAG,EAAE,CAAC,GAAG,EAAG,GAAG;IAChB,CAAC,GAAG,EAAG,GAAG,EAAG,GAAG;IACf,GAAG,EAAG,GAAG,EAAG,GAAG;IAChB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAG,GAAG;IACf,GAAG,EAAG,GAAG,EAAE,CAAC,GAAG;IAChB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG;IACf,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG;IAChB,CAAC,GAAG,EAAG,GAAG,EAAE,CAAC,GAAG;IACf,GAAG,EAAG,GAAG,EAAI,EAAE;IAChB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAI,EAAE;IACf,GAAG,EAAE,CAAC,GAAG,EAAI,EAAE;IAChB,CAAC,GAAG,EAAG,GAAG,EAAI,EAAE;IACf,GAAG,EAAE,CAAC,GAAG,EAAG,CAAC,EAAE;IAChB,CAAC,GAAG,EAAG,GAAG,EAAG,CAAC,EAAE;IACf,GAAG,EAAG,GAAG,EAAG,CAAC,EAAE;IAChB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAG,CAAC,EAAE;IACf,GAAG,EAAE,CAAC,GAAG,EAAG,GAAG;IAChB,CAAC,GAAG,EAAG,GAAG,EAAG,GAAG;IACf,GAAG,EAAG,GAAG,EAAG,GAAG;IAChB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAG,GAAG;IACf,GAAG,EAAG,GAAG,EAAE,CAAC,GAAG;IAChB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG;IACf,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG;IAChB,CAAC,GAAG,EAAG,GAAG,EAAE,CAAC,GAAG;IACf,GAAG,EAAE,CAAC,GAAG,EAAG,GAAG;IAChB,CAAC,GAAG,EAAG,GAAG,EAAG,GAAG;IACf,GAAG,EAAG,GAAG,EAAG,GAAG;IAChB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAG,GAAG;IACf,GAAG,EAAG,GAAG,EAAE,CAAC,GAAG;IAChB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG;IACf,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG;IAChB,CAAC,GAAG,EAAG,GAAG,EAAE,CAAC,GAAG;IACd,EAAE,EAAG,GAAG,EAAG,GAAG;IACf,CAAC,EAAE,EAAE,CAAC,GAAG,EAAG,GAAG;IACf,GAAG,EAAG,CAAC,EAAE,EAAG,GAAG;IAChB,CAAC,GAAG,EAAI,EAAE,EAAG,GAAG;IACf,GAAG,EAAG,CAAC,EAAE,EAAE,CAAC,GAAG;IAChB,CAAC,GAAG,EAAI,EAAE,EAAE,CAAC,GAAG;IACd,EAAE,EAAG,GAAG,EAAE,CAAC,GAAG;IACf,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG;IACf,GAAG,EAAI,EAAE,EAAG,GAAG;IAChB,CAAC,GAAG,EAAG,CAAC,EAAE,EAAG,GAAG;IACd,EAAE,EAAE,CAAC,GAAG,EAAG,GAAG;IACf,CAAC,EAAE,EAAG,GAAG,EAAG,GAAG;IACd,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG;IACf,CAAC,EAAE,EAAG,GAAG,EAAE,CAAC,GAAG;IACf,GAAG,EAAI,EAAE,EAAE,CAAC,GAAG;IAChB,CAAC,GAAG,EAAG,CAAC,EAAE,EAAE,CAAC,GAAG;IACf,GAAG,EAAE,CAAC,GAAG,EAAG,GAAG;IAChB,CAAC,GAAG,EAAG,GAAG,EAAG,GAAG;IACf,GAAG,EAAG,GAAG,EAAG,GAAG;IAChB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAG,GAAG;IACf,GAAG,EAAG,GAAG,EAAE,CAAC,GAAG;IAChB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG;IACf,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG;IAChB,CAAC,GAAG,EAAG,GAAG,EAAE,CAAC,GAAG;IACf,GAAG,EAAG,GAAG,EAAI,EAAE;IAChB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAI,EAAE;IACf,GAAG,EAAE,CAAC,GAAG,EAAI,EAAE;IAChB,CAAC,GAAG,EAAG,GAAG,EAAI,EAAE;IACf,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG;IAChB,CAAC,GAAG,EAAG,GAAG,EAAE,CAAC,GAAG;IACf,GAAG,EAAG,GAAG,EAAE,CAAC,GAAG;IAChB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG;IACf,GAAG,EAAG,GAAG,EAAG,GAAG;IAChB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAG,GAAG;IACf,GAAG,EAAE,CAAC,GAAG,EAAG,GAAG;IAChB,CAAC,GAAG,EAAG,GAAG,EAAG,GAAG;IACf,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG;IAChB,CAAC,GAAG,EAAG,GAAG,EAAE,CAAC,GAAG;IACf,GAAG,EAAG,GAAG,EAAE,CAAC,GAAG;IAChB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG;IACf,GAAG,EAAG,GAAG,EAAG,GAAG;IAChB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAG,GAAG;IACf,GAAG,EAAE,CAAC,GAAG,EAAG,GAAG;IAChB,CAAC,GAAG,EAAG,GAAG,EAAG,GAAG;IACf,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG;IAChB,CAAC,GAAG,EAAG,GAAG,EAAE,CAAC,GAAG;IACf,GAAG,EAAG,GAAG,EAAE,CAAC,GAAG;IAChB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG;IACf,GAAG,EAAG,GAAG,EAAG,GAAG;IAChB,CAAC,GAAG,EAAE,CAAC,GAAG,EAAG,GAAG;IACf,GAAG,EAAE,CAAC,GAAG,EAAG,GAAG;IAChB,CAAC,GAAG,EAAG,GAAG,EAAG,GAAG;CACf,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG;IACrB,CAAC,EAAG,CAAC,EAAG,EAAE,EAAG,EAAE,EAAG,EAAE,EAAG,EAAE,EAAG,EAAE,EAAG,EAAE,EAAI,CAAC;IACxC,CAAC,EAAG,CAAC,EAAG,EAAE,EAAG,EAAE,EAAG,EAAE,EAAG,EAAE,EAAG,EAAE,EAAG,EAAE,EAAI,CAAC;IACxC,CAAC,EAAG,CAAC,EAAI,CAAC,EAAG,EAAE,EAAG,EAAE,EAAG,EAAE,EAAG,EAAE,EAAG,EAAE,EAAI,CAAC;IACxC,CAAC,EAAG,CAAC,EAAI,CAAC,EAAG,EAAE,EAAG,EAAE,EAAG,EAAE,EAAG,EAAE,EAAG,EAAE,EAAI,CAAC;IACxC,CAAC,EAAE,EAAE,EAAG,EAAE,EAAG,EAAE,EAAG,EAAE,EAAG,EAAE,EAAG,EAAE,EAAG,EAAE,EAAG,EAAE;IACxC,CAAC,EAAE,EAAE,EAAG,EAAE,EAAG,EAAE,EAAG,EAAE,EAAG,EAAE,EAAG,EAAE,EAAG,EAAE,EAAG,EAAE;IACxC,CAAC,EAAE,EAAE,EAAE,GAAG,EAAG,EAAE,EAAE,GAAG,EAAG,EAAE,EAAE,GAAG;IAC9B,CAAC,EAAE,EAAE,EAAE,GAAG,EAAG,EAAE,EAAE,GAAG,EAAG,EAAE,EAAE,GAAG;IAC9B,CAAC,EAAE,EAAE,EAAE,GAAG,EAAG,EAAE,EAAE,GAAG,EAAG,EAAE,EAAE,GAAG;IAC9B,CAAC,EAAE,EAAE,EAAE,GAAG,EAAG,EAAE,EAAE,GAAG,EAAG,EAAE,EAAE,GAAG;IAC9B,CAAC,EAAE,EAAE,EAAG,EAAE,EAAG,EAAE,EAAE,GAAG,EAAG,EAAE,EAAE,GAAG;IAC9B,CAAC,EAAE,EAAE,EAAG,EAAE,EAAG,EAAE,EAAE,GAAG,EAAG,EAAE,EAAE,GAAG;IAC9B,CAAC,EAAE,EAAE,EAAG,EAAE,EAAG,EAAE,EAAE,GAAG,EAAG,EAAE,EAAE,GAAG;IAC9B,CAAC,EAAE,EAAE,EAAG,EAAE,EAAG,EAAE,EAAE,GAAG,EAAG,EAAE,EAAE,GAAG;IAC9B,CAAC,EAAG,CAAC,EAAI,CAAC,EAAG,EAAE,EAAE,GAAG,EAAG,EAAE,EAAG,EAAE;IAC9B,CAAC,EAAG,CAAC,EAAI,CAAC,EAAG,EAAE,EAAE,GAAG,EAAG,EAAE,EAAG,EAAE;IAC9B,CAAC,EAAG,CAAC,EAAI,CAAC,EAAG,EAAE,EAAE,GAAG,EAAG,EAAE,EAAG,EAAE;IAC9B,CAAC,EAAG,CAAC,EAAI,CAAC,EAAG,EAAE,EAAE,GAAG,EAAG,EAAE,EAAG,EAAE;IAC9B,CAAC,EAAG,CAAC,EAAG,EAAE,EAAE,GAAG,EAAG,EAAE,EAAG,EAAE,EAAG,EAAE;IAC9B,CAAC,EAAG,CAAC,EAAG,EAAE,EAAE,GAAG,EAAG,EAAE,EAAG,EAAE,EAAG,EAAE;IAC9B,CAAC,EAAE,EAAE,EAAG,EAAE,EAAE,GAAG,EAAG,EAAE,EAAG,EAAE,EAAG,EAAE;IAC9B,CAAC,EAAE,EAAE,EAAG,EAAE,EAAE,GAAG,EAAG,EAAE,EAAG,EAAE,EAAG,EAAE;IAC9B,CAAC,EAAE,EAAE,EAAG,EAAE,EAAG,EAAE,EAAE,GAAG,EAAG,EAAE,EAAG,EAAE;IAC9B,CAAC,EAAE,EAAE,EAAG,EAAE,EAAG,EAAE,EAAE,GAAG,EAAG,EAAE,EAAG,EAAE;IAC9B,CAAC,EAAE,EAAE,EAAG,EAAE,EAAG,EAAE,EAAE,GAAG,EAAG,EAAE,EAAG,EAAE;IAC9B,CAAC,EAAE,EAAE,EAAG,EAAE,EAAG,EAAE,EAAE,GAAG,EAAG,EAAE,EAAG,EAAE;IAC9B,CAAC,EAAE,EAAE,EAAG,EAAE,EAAG,EAAE,EAAE,GAAG,EAAG,EAAE,EAAG,EAAE;IAC9B,CAAC,EAAE,EAAE,EAAG,EAAE,EAAG,EAAE,EAAE,GAAG,EAAG,EAAE,EAAG,EAAE;IAC9B,CAAC,EAAE,EAAE,EAAG,EAAE,EAAG,EAAE,EAAE,GAAG,EAAG,EAAE,EAAG,EAAE;IAC9B,CAAC,EAAE,EAAE,EAAG,EAAE,EAAG,EAAE,EAAE,GAAG,EAAG,EAAE,EAAG,EAAE;IAC9B,CAAC,EAAE,EAAE,EAAG,EAAE,EAAG,EAAE,EAAE,GAAG,EAAG,EAAE,EAAG,EAAE;IAC9B,CAAC,EAAE,EAAE,EAAG,EAAE,EAAG,EAAE,EAAE,GAAG,EAAG,EAAE,EAAG,EAAE;IAC9B,CAAC,EAAE,EAAE,EAAG,EAAE,EAAG,EAAE,EAAE,GAAG,EAAG,EAAE,EAAG,EAAE;IAC9B,CAAC,EAAE,EAAE,EAAG,EAAE,EAAG,EAAE,EAAE,GAAG,EAAG,EAAE,EAAG,EAAE;IAC9B,CAAC,EAAE,EAAE,EAAG,EAAE,EAAG,EAAE,EAAG,EAAE,EAAG,EAAE,EAAG,EAAE;IAC9B,CAAC,EAAE,EAAE,EAAG,EAAE,EAAG,EAAE,EAAG,EAAE,EAAG,EAAE,EAAG,EAAE;IAC9B,CAAC,EAAE,EAAE,EAAG,EAAE,EAAG,EAAE,EAAG,EAAE,EAAG,EAAE,EAAG,EAAE;IAC9B,CAAC,EAAE,EAAE,EAAG,EAAE,EAAG,EAAE,EAAG,EAAE,EAAG,EAAE,EAAG,EAAE;IAC9B,CAAC,EAAG,CAAC,EAAG,EAAE,EAAG,EAAE,EAAG,EAAE,EAAG,EAAE;IACzB,CAAC,EAAG,CAAC,EAAG,EAAE,EAAG,EAAE,EAAG,EAAE,EAAG,EAAE;IACzB,CAAC,EAAG,CAAC,EAAG,EAAE,EAAG,EAAE,EAAG,EAAE,EAAI,CAAC;IACzB,CAAC,EAAG,CAAC,EAAG,EAAE,EAAG,EAAE,EAAG,EAAE,EAAI,CAAC;IACzB,CAAC,EAAG,CAAC,EAAG,EAAE,EAAG,EAAE,EAAE,GAAG,EAAG,EAAE;IACzB,CAAC,EAAG,CAAC,EAAG,EAAE,EAAG,EAAE,EAAE,GAAG,EAAG,EAAE;IACzB,CAAC,EAAG,CAAC,EAAG,EAAE,EAAG,EAAE,EAAE,GAAG,EAAG,EAAE;IACzB,CAAC,EAAG,CAAC,EAAG,EAAE,EAAG,EAAE,EAAE,GAAG,EAAG,EAAE;IACzB,CAAC,EAAE,EAAE,EAAG,EAAE,EAAE,GAAG,EAAG,EAAE,EAAG,EAAE;IACzB,CAAC,EAAE,EAAE,EAAG,EAAE,EAAE,GAAG,EAAG,EAAE,EAAG,EAAE;IACzB,CAAC,EAAE,EAAE,EAAG,EAAE,EAAE,GAAG,EAAG,EAAE,EAAG,EAAE;IACzB,CAAC,EAAE,EAAE,EAAG,EAAE,EAAE,GAAG,EAAG,EAAE,EAAG,EAAE;IACzB,CAAC,EAAE,EAAE,EAAG,EAAE,EAAE,GAAG,EAAG,EAAE,EAAG,EAAE;IACzB,CAAC,EAAE,EAAE,EAAG,EAAE,EAAE,GAAG,EAAG,EAAE,EAAG,EAAE;IACzB,CAAC,EAAE,EAAE,EAAG,EAAE,EAAE,GAAG,EAAG,EAAE,EAAG,EAAE;IACzB,CAAC,EAAE,EAAE,EAAG,EAAE,EAAE,GAAG,EAAG,EAAE,EAAG,EAAE;IACzB,CAAC,EAAE,EAAE,EAAG,EAAE,EAAE,GAAG,EAAG,EAAE,EAAG,EAAE;IACzB,CAAC,EAAE,EAAE,EAAG,EAAE,EAAE,GAAG,EAAG,EAAE,EAAG,EAAE;IACzB,CAAC,EAAE,EAAE,EAAG,EAAE,EAAE,GAAG,EAAG,EAAE,EAAG,EAAE;IACzB,CAAC,EAAE,EAAE,EAAG,EAAE,EAAE,GAAG,EAAG,EAAE,EAAG,EAAE;IACzB,CAAC,EAAE,EAAE,EAAG,EAAE,EAAG,EAAE,EAAE,GAAG,EAAG,EAAE;IACzB,CAAC,EAAE,EAAE,EAAG,EAAE,EAAG,EAAE,EAAE,GAAG,EAAG,EAAE;IACzB,CAAC,EAAE,EAAE,EAAG,EAAE,EAAG,EAAE,EAAE,GAAG,EAAG,EAAE;IACzB,CAAC,EAAE,EAAE,EAAG,EAAE,EAAG,EAAE,EAAE,GAAG,EAAG,EAAE;CAAC,CAAA;AAE1B,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,CAAC"}
@@ -1,8 +1,73 @@
1
1
  export function makeFullMesh(e) {
2
+ const get3DPoint = (points, index) => {
3
+ return points.slice(index * 3, (index + 1) * 3);
4
+ };
5
+ const substractPoints = (a, b) => {
6
+ return [a[0] - b[0], a[1] - b[1], a[2] - b[2]];
7
+ };
8
+ const crossProduct = (a, b) => {
9
+ return [
10
+ a[1] * b[2] - a[2] * b[1],
11
+ a[2] * b[0] - a[0] * b[2],
12
+ a[0] * b[1] - a[1] * b[0],
13
+ ];
14
+ };
15
+ const dotProduct = (a, b) => {
16
+ return a[0] * b[0] + a[1] * b[1] + a[2] * b[2];
17
+ };
18
+ const normalize = (a) => {
19
+ const len = Math.sqrt(dotProduct(a, a));
20
+ return [a[0] / len, a[1] / len, a[2] / len];
21
+ };
22
+ /**
23
+ * Projects a 3D point to the coordinate system of the plane formed by two 3D orthogonal unit vectors u and v.
24
+ * @param u the first vector
25
+ * @param v the second vector
26
+ * @param p the point to be projected as [x, y, z] triplet.
27
+ * @returns projected point as [x, y] triplet.
28
+ */
29
+ const projectPoint = (u, v, p) => {
30
+ const a = dotProduct(p, u);
31
+ const b = dotProduct(p, v);
32
+ return [a, b];
33
+ };
34
+ /**
35
+ * Projects a polygon on the plane passing throught its points.
36
+ * Assumes the polygon to be flat, i.e. all the points lie on the same plane.
37
+ * @param points Polygon to be projected.
38
+ * @returns Projected polygon in the 2D coordinate system of the plane.
39
+ */
40
+ const projectPolygon = (points) => {
41
+ const p0 = get3DPoint(points, 0);
42
+ const p1 = get3DPoint(points, 1);
43
+ const p2 = get3DPoint(points, 2);
44
+ const v1 = substractPoints(p1, p0);
45
+ const v2 = substractPoints(p2, p0);
46
+ const normal = normalize(crossProduct(v1, v2));
47
+ const u = normalize(v1);
48
+ const v = normalize(crossProduct(normal, u));
49
+ const res = [];
50
+ const count = points.length / 3;
51
+ for (let i = 0; i < count; ++i) {
52
+ const p = get3DPoint(points, i);
53
+ const fp = projectPoint(u, v, p);
54
+ res.push(...fp);
55
+ }
56
+ return res;
57
+ };
58
+ const getLineSegment = (index0, index1, out) => {
59
+ const i1 = polys[index0];
60
+ const i2 = polys[index1];
61
+ const p1 = get3DPoint(params.points, i1);
62
+ const p2 = get3DPoint(params.points, i2);
63
+ p1[2] *= z_sign;
64
+ p2[2] *= z_sign;
65
+ out.push(...p1);
66
+ out.push(...p2);
67
+ };
2
68
  // Keep
3
69
  const t0 = performance.now();
4
70
  const params = e.data;
5
- const points = params.points;
6
71
  const polys = params.polys;
7
72
  const properties = params.properties;
8
73
  const isZIncreasingDownwards = params.isZIncreasingDownwards;
@@ -14,8 +79,9 @@ export function makeFullMesh(e) {
14
79
  let propertyValueRangeMax = -99999999;
15
80
  const z_sign = isZIncreasingDownwards ? -1 : 1;
16
81
  let pn = 0;
17
- let indice = 0;
18
82
  let i = 0;
83
+ let vertexIndex = 0;
84
+ const triangFunc = Function(params.triangulateParamName, params.triangulateFunc);
19
85
  while (i < polys.length) {
20
86
  const n = polys[i];
21
87
  const propertyValue = properties[pn++];
@@ -31,78 +97,27 @@ export function makeFullMesh(e) {
31
97
  : propertyValueRangeMax;
32
98
  }
33
99
  // Lines.
34
- for (let j = i + 1; j < i + n; j++) {
35
- const i1 = polys[j];
36
- const i2 = polys[j + 1];
37
- const x0 = points[3 * i1 + 0];
38
- const y0 = points[3 * i1 + 1];
39
- const z0 = points[3 * i1 + 2] * z_sign;
40
- const x1 = points[3 * i2 + 0];
41
- const y1 = points[3 * i2 + 1];
42
- const z1 = points[3 * i2 + 2] * z_sign;
43
- line_positions.push(x0, y0, z0);
44
- line_positions.push(x1, y1, z1);
100
+ for (let j = i + 1; j < i + n; ++j) {
101
+ getLineSegment(j, j + 1, line_positions);
45
102
  }
46
- // Triangles.
47
- if (n == 4) {
48
- const i1 = polys[i + 1];
49
- const i2 = polys[i + 2];
50
- const i3 = polys[i + 3];
51
- const i4 = polys[i + 4];
52
- const x1 = points[3 * i1 + 0];
53
- const y1 = points[3 * i1 + 1];
54
- const z1 = points[3 * i1 + 2] * z_sign;
55
- const x2 = points[3 * i2 + 0];
56
- const y2 = points[3 * i2 + 1];
57
- const z2 = points[3 * i2 + 2] * z_sign;
58
- const x3 = points[3 * i3 + 0];
59
- const y3 = points[3 * i3 + 1];
60
- const z3 = points[3 * i3 + 2] * z_sign;
61
- const x4 = points[3 * i4 + 0];
62
- const y4 = points[3 * i4 + 1];
63
- const z4 = points[3 * i4 + 2] * z_sign;
64
- // t1
65
- indices.push(indice++, indice++, indice++);
66
- positions.push(x1, y1, z1);
67
- positions.push(x2, y2, z2);
68
- positions.push(x3, y3, z3);
69
- vertexProperties.push(propertyValue);
70
- vertexProperties.push(propertyValue);
71
- vertexProperties.push(propertyValue);
72
- // t2
73
- indices.push(indice++, indice++, indice++);
74
- positions.push(x1, y1, z1);
75
- positions.push(x3, y3, z3);
76
- positions.push(x4, y4, z4);
77
- vertexProperties.push(propertyValue);
78
- vertexProperties.push(propertyValue);
79
- vertexProperties.push(propertyValue);
103
+ getLineSegment(i + 1, i + n, line_positions);
104
+ const polygon = [];
105
+ const vertexIndices = [];
106
+ for (let p = 1; p <= n; ++p) {
107
+ const i0 = polys[i + p];
108
+ const point = get3DPoint(params.points, i0);
109
+ point[2] *= z_sign;
110
+ vertexIndices.push(i0);
111
+ polygon.push(...point);
80
112
  }
81
- else if (n == 3) {
82
- // Refactor this n == 3 && n == 4.
83
- const i1 = polys[i + 1];
84
- const i2 = polys[i + 2];
85
- const i3 = polys[i + 3];
86
- const x1 = points[3 * i1 + 0];
87
- const y1 = points[3 * i1 + 1];
88
- const z1 = points[3 * i1 + 2] * z_sign;
89
- const x2 = points[3 * i2 + 0];
90
- const y2 = points[3 * i2 + 1];
91
- const z2 = points[3 * i2 + 2] * z_sign;
92
- const x3 = points[3 * i3 + 0];
93
- const y3 = points[3 * i3 + 1];
94
- const z3 = points[3 * i3 + 2] * z_sign;
95
- // t1
96
- indices.push(indice++, indice++, indice++);
97
- positions.push(x1, y1, z1);
98
- positions.push(x2, y2, z2);
99
- positions.push(x3, y3, z3);
100
- vertexProperties.push(propertyValue);
113
+ // As the triangulation algorythm works in 2D space
114
+ // the polygon should be projected on the plane passing through its points.
115
+ const flatPoly = projectPolygon(polygon);
116
+ const triangles = triangFunc(flatPoly);
117
+ for (const t of triangles) {
118
+ positions.push(...get3DPoint(polygon, t));
101
119
  vertexProperties.push(propertyValue);
102
- vertexProperties.push(propertyValue);
103
- }
104
- else {
105
- console.error("Only triangles or four corners are expected.");
120
+ indices.push(vertexIndex++);
106
121
  }
107
122
  i = i + n + 1;
108
123
  }