@kitware/vtk.js 21.2.0 → 21.3.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.
Files changed (26) hide show
  1. package/Filters/General/ImageCropFilter.js +3 -4
  2. package/IO/Geometry/STLReader.js +2 -2
  3. package/Rendering/Core/Actor2D.js +1 -3
  4. package/Rendering/Core/Mapper2D.d.ts +402 -0
  5. package/Rendering/Core/Mapper2D.js +213 -0
  6. package/Rendering/Core/Property2D/Constants.js +9 -0
  7. package/Rendering/Core/Property2D.js +30 -2
  8. package/Rendering/Core.js +2 -0
  9. package/Rendering/OpenGL/Actor2D.js +74 -30
  10. package/Rendering/OpenGL/ForwardPass.js +11 -0
  11. package/Rendering/OpenGL/PolyDataMapper.js +3 -2
  12. package/Rendering/OpenGL/PolyDataMapper2D.js +667 -0
  13. package/Rendering/OpenGL/Profiles/All.js +1 -0
  14. package/Rendering/OpenGL/Profiles/Geometry.js +1 -0
  15. package/Rendering/OpenGL/glsl/vtkPolyData2DFS.glsl.js +3 -0
  16. package/Rendering/OpenGL/glsl/vtkPolyData2DVS.glsl.js +3 -0
  17. package/Rendering/OpenGL.js +2 -0
  18. package/Rendering/Profiles/All.js +1 -0
  19. package/Rendering/Profiles/Geometry.js +1 -0
  20. package/_virtual/rollup-plugin-web-worker-loader__helper__browser__createInlineWorkerFactory.js +17 -0
  21. package/_virtual/rollup-plugin-web-worker-loader__helper__funcToSource.js +18 -0
  22. package/_virtual/rollup-plugin-worker-loader__module_Sources/Filters/General/PaintFilter/PaintFilter.worker.js +698 -2
  23. package/_virtual/rollup-plugin-worker-loader__module_Sources/Interaction/Widgets/PiecewiseGaussianWidget/ComputeHistogram.worker.js +274 -2
  24. package/macros.js +6 -2
  25. package/package.json +1 -1
  26. package/_virtual/rollup-plugin-web-worker-loader__helper__browser__createBase64WorkerFactory.js +0 -31
@@ -1,6 +1,278 @@
1
- import { c as createBase64WorkerFactory } from '../../../../rollup-plugin-web-worker-loader__helper__browser__createBase64WorkerFactory.js';
1
+ import { c as createInlineWorkerFactory } from '../../../../rollup-plugin-web-worker-loader__helper__browser__createInlineWorkerFactory.js';
2
2
 
3
- var WorkerFactory = createBase64WorkerFactory('Lyogcm9sbHVwLXBsdWdpbi13ZWItd29ya2VyLWxvYWRlciAqLwooZnVuY3Rpb24gKHJlZ2lzdGVyV2Vid29ya2VyKSB7CiAgJ3VzZSBzdHJpY3QnOwoKICBmdW5jdGlvbiBfaW50ZXJvcERlZmF1bHRMZWdhY3kgKGUpIHsgcmV0dXJuIGUgJiYgdHlwZW9mIGUgPT09ICdvYmplY3QnICYmICdkZWZhdWx0JyBpbiBlID8gZSA6IHsgJ2RlZmF1bHQnOiBlIH07IH0KCiAgdmFyIHJlZ2lzdGVyV2Vid29ya2VyX19kZWZhdWx0ID0gLyojX19QVVJFX18qL19pbnRlcm9wRGVmYXVsdExlZ2FjeShyZWdpc3RlcldlYndvcmtlcik7CgogIC8qIGVzbGludC1kaXNhYmxlICovCiAgLy8gcHJldHRpZXItaWdub3JlCgogIHJlZ2lzdGVyV2Vid29ya2VyX19kZWZhdWx0WydkZWZhdWx0J10oZnVuY3Rpb24gKG1lc3NhZ2UsIGVtaXQpIHsKICAgIHZhciBhcnJheSA9IG1lc3NhZ2UuYXJyYXk7CiAgICB2YXIgbWluID0gbWVzc2FnZS5taW47CiAgICB2YXIgbWF4ID0gbWVzc2FnZS5tYXg7CiAgICB2YXIgb2Zmc2V0ID0gbWVzc2FnZS5jb21wb25lbnQgfHwgMDsKICAgIHZhciBzdGVwID0gbWVzc2FnZS5udW1iZXJPZkNvbXBvbmVudHMgfHwgMTsKICAgIHZhciBudW1iZXJPZkJpbnMgPSBtZXNzYWdlLm51bWJlck9mQmluczsKICAgIHZhciBkZWx0YSA9IG1heCAtIG1pbjsKICAgIHZhciBoaXN0b2dyYW0gPSBuZXcgRmxvYXQzMkFycmF5KG51bWJlck9mQmlucyk7CiAgICBoaXN0b2dyYW0uZmlsbCgwKTsKICAgIHZhciBsZW4gPSBhcnJheS5sZW5ndGg7CgogICAgZm9yICh2YXIgaSA9IG9mZnNldDsgaSA8IGxlbjsgaSArPSBzdGVwKSB7CiAgICAgIHZhciBpZHggPSBNYXRoLmZsb29yKChudW1iZXJPZkJpbnMgLSAxKSAqIChOdW1iZXIoYXJyYXlbaV0pIC0gbWluKSAvIGRlbHRhKTsKICAgICAgaGlzdG9ncmFtW2lkeF0gKz0gMTsKICAgIH0KCiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG5ldyByZWdpc3RlcldlYndvcmtlcl9fZGVmYXVsdFsnZGVmYXVsdCddLlRyYW5zZmVyYWJsZVJlc3BvbnNlKGhpc3RvZ3JhbSwgW2hpc3RvZ3JhbS5idWZmZXJdKSk7CiAgfSk7Cgp9KHJlZ2lzdGVyV2Vid29ya2VyKSk7Cgo=', null, false);
3
+ var WorkerFactory = createInlineWorkerFactory(/* rollup-plugin-web-worker-loader */function () {
4
+ (function () {
5
+ '__worker_loader_strict__';
6
+
7
+ var register = {exports: {}};
8
+
9
+ var _createClass$1 = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
10
+
11
+ function _classCallCheck$1(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
12
+
13
+ var TinyEmitter$1 = function () {
14
+ function TinyEmitter() {
15
+ _classCallCheck$1(this, TinyEmitter);
16
+
17
+ Object.defineProperty(this, '__listeners', {
18
+ value: {},
19
+ enumerable: false,
20
+ writable: false
21
+ });
22
+ }
23
+
24
+ _createClass$1(TinyEmitter, [{
25
+ key: 'emit',
26
+ value: function emit(eventName) {
27
+ if (!this.__listeners[eventName]) return this;
28
+
29
+ for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
30
+ args[_key - 1] = arguments[_key];
31
+ }
32
+
33
+ var _iteratorNormalCompletion = true;
34
+ var _didIteratorError = false;
35
+ var _iteratorError = undefined;
36
+
37
+ try {
38
+ for (var _iterator = this.__listeners[eventName][Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
39
+ var handler = _step.value;
40
+
41
+ handler.apply(undefined, args);
42
+ }
43
+ } catch (err) {
44
+ _didIteratorError = true;
45
+ _iteratorError = err;
46
+ } finally {
47
+ try {
48
+ if (!_iteratorNormalCompletion && _iterator.return) {
49
+ _iterator.return();
50
+ }
51
+ } finally {
52
+ if (_didIteratorError) {
53
+ throw _iteratorError;
54
+ }
55
+ }
56
+ }
57
+
58
+ return this;
59
+ }
60
+ }, {
61
+ key: 'once',
62
+ value: function once(eventName, handler) {
63
+ var _this = this;
64
+
65
+ var once = function once() {
66
+ _this.off(eventName, once);
67
+ handler.apply(undefined, arguments);
68
+ };
69
+
70
+ return this.on(eventName, once);
71
+ }
72
+ }, {
73
+ key: 'on',
74
+ value: function on(eventName, handler) {
75
+ if (!this.__listeners[eventName]) this.__listeners[eventName] = [];
76
+
77
+ this.__listeners[eventName].push(handler);
78
+
79
+ return this;
80
+ }
81
+ }, {
82
+ key: 'off',
83
+ value: function off(eventName, handler) {
84
+ if (handler) this.__listeners[eventName] = this.__listeners[eventName].filter(function (h) {
85
+ return h !== handler;
86
+ });else this.__listeners[eventName] = [];
87
+
88
+ return this;
89
+ }
90
+ }]);
91
+
92
+ return TinyEmitter;
93
+ }();
94
+
95
+ var tinyEmitter = TinyEmitter$1;
96
+
97
+ var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
98
+
99
+ var _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };
100
+
101
+ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
102
+
103
+ function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
104
+
105
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
106
+
107
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
108
+
109
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
110
+
111
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
112
+
113
+ var TinyEmitter = tinyEmitter;
114
+
115
+ var MESSAGE_RESULT = 0;
116
+ var MESSAGE_EVENT = 1;
117
+
118
+ var RESULT_ERROR = 0;
119
+ var RESULT_SUCCESS = 1;
120
+
121
+ var DEFAULT_HANDLER = 'main';
122
+
123
+ var isPromise = function isPromise(o) {
124
+ return (typeof o === 'undefined' ? 'undefined' : _typeof(o)) === 'object' && o !== null && typeof o.then === 'function' && typeof o.catch === 'function';
125
+ };
126
+
127
+ function RegisterPromise(fn) {
128
+ var handlers = _defineProperty({}, DEFAULT_HANDLER, fn);
129
+ var sendPostMessage = self.postMessage.bind(self);
130
+
131
+ var server = new (function (_TinyEmitter) {
132
+ _inherits(WorkerRegister, _TinyEmitter);
133
+
134
+ function WorkerRegister() {
135
+ _classCallCheck(this, WorkerRegister);
136
+
137
+ return _possibleConstructorReturn(this, (WorkerRegister.__proto__ || Object.getPrototypeOf(WorkerRegister)).apply(this, arguments));
138
+ }
139
+
140
+ _createClass(WorkerRegister, [{
141
+ key: 'emit',
142
+ value: function emit(eventName) {
143
+ for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
144
+ args[_key - 1] = arguments[_key];
145
+ }
146
+
147
+ if (args.length == 1 && args[0] instanceof TransferableResponse) {
148
+ sendPostMessage({ eventName: eventName, args: args }, args[0].transferable);
149
+ } else {
150
+ sendPostMessage({ eventName: eventName, args: args });
151
+ }
152
+ return this;
153
+ }
154
+ }, {
155
+ key: 'emitLocally',
156
+ value: function emitLocally(eventName) {
157
+ var _get2;
158
+
159
+ for (var _len2 = arguments.length, args = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
160
+ args[_key2 - 1] = arguments[_key2];
161
+ }
162
+
163
+ (_get2 = _get(WorkerRegister.prototype.__proto__ || Object.getPrototypeOf(WorkerRegister.prototype), 'emit', this)).call.apply(_get2, [this, eventName].concat(args));
164
+ }
165
+ }, {
166
+ key: 'operation',
167
+ value: function operation(name, handler) {
168
+ handlers[name] = handler;
169
+ return this;
170
+ }
171
+ }]);
172
+
173
+ return WorkerRegister;
174
+ }(TinyEmitter))();
175
+
176
+ var run = function run(messageId, payload, handlerName) {
177
+
178
+ var onSuccess = function onSuccess(result) {
179
+ if (result && result instanceof TransferableResponse) {
180
+ sendResult(messageId, RESULT_SUCCESS, result.payload, result.transferable);
181
+ } else {
182
+ sendResult(messageId, RESULT_SUCCESS, result);
183
+ }
184
+ };
185
+
186
+ var onError = function onError(e) {
187
+ sendResult(messageId, RESULT_ERROR, {
188
+ message: e.message,
189
+ stack: e.stack
190
+ });
191
+ };
192
+
193
+ try {
194
+ var result = runFn(messageId, payload, handlerName);
195
+ if (isPromise(result)) {
196
+ result.then(onSuccess).catch(onError);
197
+ } else {
198
+ onSuccess(result);
199
+ }
200
+ } catch (e) {
201
+ onError(e);
202
+ }
203
+ };
204
+
205
+ var runFn = function runFn(messageId, payload, handlerName) {
206
+ var handler = handlers[handlerName || DEFAULT_HANDLER];
207
+ if (!handler) throw new Error('Not found handler for this request');
208
+
209
+ return handler(payload, sendEvent.bind(null, messageId));
210
+ };
211
+
212
+ var sendResult = function sendResult(messageId, success, payload) {
213
+ var transferable = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];
214
+
215
+ sendPostMessage([MESSAGE_RESULT, messageId, success, payload], transferable);
216
+ };
217
+
218
+ var sendEvent = function sendEvent(messageId, eventName, payload) {
219
+ if (!eventName) throw new Error('eventName is required');
220
+
221
+ if (typeof eventName !== 'string') throw new Error('eventName should be string');
222
+
223
+ sendPostMessage([MESSAGE_EVENT, messageId, eventName, payload]);
224
+ };
225
+
226
+ self.addEventListener('message', function (_ref) {
227
+ var data = _ref.data;
228
+
229
+ if (Array.isArray(data)) {
230
+ run.apply(undefined, _toConsumableArray(data));
231
+ } else if (data && data.eventName) {
232
+ server.emitLocally.apply(server, [data.eventName].concat(_toConsumableArray(data.args)));
233
+ }
234
+ });
235
+
236
+ return server;
237
+ }
238
+
239
+ var TransferableResponse = function TransferableResponse(payload, transferable) {
240
+ _classCallCheck(this, TransferableResponse);
241
+
242
+ this.payload = payload;
243
+ this.transferable = transferable;
244
+ };
245
+
246
+ register.exports = RegisterPromise;
247
+ register.exports.TransferableResponse = TransferableResponse;
248
+
249
+ var registerWebworker = register.exports;
250
+
251
+ /* eslint-disable */
252
+ // prettier-ignore
253
+
254
+ registerWebworker(function (message, emit) {
255
+ var array = message.array;
256
+ var min = message.min;
257
+ var max = message.max;
258
+ var offset = message.component || 0;
259
+ var step = message.numberOfComponents || 1;
260
+ var numberOfBins = message.numberOfBins;
261
+ var delta = max - min;
262
+ var histogram = new Float32Array(numberOfBins);
263
+ histogram.fill(0);
264
+ var len = array.length;
265
+
266
+ for (var i = offset; i < len; i += step) {
267
+ var idx = Math.floor((numberOfBins - 1) * (Number(array[i]) - min) / delta);
268
+ histogram[idx] += 1;
269
+ }
270
+
271
+ return Promise.resolve(new registerWebworker.TransferableResponse(histogram, [histogram.buffer]));
272
+ });
273
+
274
+ }());
275
+ }, null);
4
276
  /* eslint-enable */
5
277
 
6
278
  export { WorkerFactory as W };
package/macros.js CHANGED
@@ -553,12 +553,15 @@ function setArray(publicAPI, model, fieldNames, size) {
553
553
  }
554
554
 
555
555
  var array = args;
556
- var changeDetected; // allow null or an array to be passed as a single arg.
556
+ var changeDetected;
557
+ var needCopy = false; // allow null or an array to be passed as a single arg.
557
558
 
558
559
  if (array.length === 1 && (array[0] == null || array[0].length >= 0)) {
559
560
  /* eslint-disable prefer-destructuring */
560
561
  array = array[0];
561
562
  /* eslint-enable prefer-destructuring */
563
+
564
+ needCopy = true;
562
565
  }
563
566
 
564
567
  if (array == null) {
@@ -567,6 +570,7 @@ function setArray(publicAPI, model, fieldNames, size) {
567
570
  if (size && array.length !== size) {
568
571
  if (array.length < size && defaultVal !== undefined) {
569
572
  array = Array.from(array);
573
+ needCopy = false;
570
574
 
571
575
  while (array.length < size) {
572
576
  array.push(defaultVal);
@@ -580,7 +584,7 @@ function setArray(publicAPI, model, fieldNames, size) {
580
584
  return item !== array[index];
581
585
  }) || model[field].length !== array.length;
582
586
 
583
- if (changeDetected && !Array.isArray(array)) {
587
+ if (changeDetected && needCopy) {
584
588
  array = Array.from(array);
585
589
  }
586
590
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kitware/vtk.js",
3
- "version": "21.2.0",
3
+ "version": "21.3.1",
4
4
  "description": "Visualization Toolkit for the Web",
5
5
  "keywords": [
6
6
  "3d",
@@ -1,31 +0,0 @@
1
- function decodeBase64(base64, enableUnicode) {
2
- var binaryString = atob(base64);
3
- if (enableUnicode) {
4
- var binaryView = new Uint8Array(binaryString.length);
5
- for (var i = 0, n = binaryString.length; i < n; ++i) {
6
- binaryView[i] = binaryString.charCodeAt(i);
7
- }
8
- return String.fromCharCode.apply(null, new Uint16Array(binaryView.buffer));
9
- }
10
- return binaryString;
11
- }
12
-
13
- function createURL(base64, sourcemapArg, enableUnicodeArg) {
14
- var sourcemap = sourcemapArg === undefined ? null : sourcemapArg;
15
- var enableUnicode = enableUnicodeArg === undefined ? false : enableUnicodeArg;
16
- var source = decodeBase64(base64, enableUnicode);
17
- var start = source.indexOf('\n', 10) + 1;
18
- var body = source.substring(start) + (sourcemap ? '\/\/# sourceMappingURL=' + sourcemap : '');
19
- var blob = new Blob([body], { type: 'application/javascript' });
20
- return URL.createObjectURL(blob);
21
- }
22
-
23
- function createBase64WorkerFactory(base64, sourcemapArg, enableUnicodeArg) {
24
- var url;
25
- return function WorkerFactory(options) {
26
- url = url || createURL(base64, sourcemapArg, enableUnicodeArg);
27
- return new Worker(url, options);
28
- };
29
- }
30
-
31
- export { createBase64WorkerFactory as c };