UNPKG

8.94 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6exports.MeshState = undefined;
7
8var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
9
10var _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; }; }();
11
12var _utils = require('../utils');
13
14var _core = require('../core');
15
16var _defaults2 = require('./defaults');
17
18var _defaults = _interopRequireWildcard(_defaults2);
19
20var _defined = require('defined');
21
22var _defined2 = _interopRequireDefault(_defined);
23
24function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
26function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
27
28function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
29
30function _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; }
31
32function _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; }
33
34var MeshState = exports.MeshState = function (_Component) {
35 _inherits(MeshState, _Component);
36
37 _createClass(MeshState, null, [{
38 key: 'defaults',
39 value: function defaults() {
40 return _extends({}, _defaults);
41 }
42 }]);
43
44 function MeshState(ctx, initialState) {
45 _classCallCheck(this, MeshState);
46
47 (0, _utils.assignDefaults)(initialState, MeshState.defaults());
48 var geometry = initialState.geometry;
49
50 var elements = null;
51 var opts = {
52 primitive: function primitive(ctx, args) {
53 if ((0, _utils.get)('wireframe', [args, ctx])) {
54 return (0, _utils.get)('wireframePrimitive', [args, ctx]);
55 }
56 return (0, _utils.get)('primitive', [args, ctx]);
57 },
58 lineWidth: function lineWidth(ctx, args) {
59 return Math.max(1, (0, _utils.get)('lineWidth', [args, ctx]));
60 }
61 };
62
63 if (geometry.cells) {
64 elements = ctx.regl.elements({ data: geometry.cells });
65 Object.assign(opts, {
66 elements: elements,
67 count: function count(ctx, args) {
68 var dim = geometry.positions[0].length;
69 var max = dim * geometry.cells.length;
70 var count = (0, _utils.get)('count', [args, ctx]);
71 if (null != count) {
72 return (0, _defined2.default)(count, 0, max);
73 }
74 return max;
75 }
76 });
77 } else if (geometry.positions) {
78 Object.assign(opts, {
79 count: function count(ctx, args) {
80 var count = (0, _utils.get)('count', [args, ctx]);
81 var max = geometry.positions.length;
82 if (null != count) {
83 return (0, _defined2.default)(count, 0, max);
84 }
85 return max;
86 }
87 });
88 }
89
90 return _possibleConstructorReturn(this, (MeshState.__proto__ || Object.getPrototypeOf(MeshState)).call(this, ctx, initialState, ctx.regl(opts)));
91 }
92
93 return MeshState;
94}(_core.Component);
95//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tZXNoL3N0YXRlLmpzIl0sIm5hbWVzIjpbImRlZmF1bHRzIiwiTWVzaFN0YXRlIiwiY3R4IiwiaW5pdGlhbFN0YXRlIiwiZ2VvbWV0cnkiLCJlbGVtZW50cyIsIm9wdHMiLCJwcmltaXRpdmUiLCJhcmdzIiwibGluZVdpZHRoIiwiTWF0aCIsIm1heCIsImNlbGxzIiwicmVnbCIsImRhdGEiLCJPYmplY3QiLCJhc3NpZ24iLCJjb3VudCIsImRpbSIsInBvc2l0aW9ucyIsImxlbmd0aCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7SUFBWUEsUzs7QUFDWjs7Ozs7Ozs7Ozs7Ozs7SUFFYUMsUyxXQUFBQSxTOzs7OzsrQkFDTztBQUFFLDBCQUFZRCxTQUFaO0FBQXdCOzs7QUFDNUMscUJBQVlFLEdBQVosRUFBaUJDLFlBQWpCLEVBQStCO0FBQUE7O0FBQzdCLCtCQUFlQSxZQUFmLEVBQTZCRixVQUFVRCxRQUFWLEVBQTdCO0FBRDZCLFFBRXRCSSxRQUZzQixHQUVWRCxZQUZVLENBRXRCQyxRQUZzQjs7QUFHN0IsUUFBSUMsV0FBVyxJQUFmO0FBQ0EsUUFBTUMsT0FBTztBQUNYQyxlQURXLHFCQUNETCxHQURDLEVBQ0lNLElBREosRUFDVTtBQUNuQixZQUFJLGdCQUFJLFdBQUosRUFBaUIsQ0FBQ0EsSUFBRCxFQUFPTixHQUFQLENBQWpCLENBQUosRUFBbUM7QUFDakMsaUJBQU8sZ0JBQUksb0JBQUosRUFBMEIsQ0FBQ00sSUFBRCxFQUFPTixHQUFQLENBQTFCLENBQVA7QUFDRDtBQUNELGVBQU8sZ0JBQUksV0FBSixFQUFpQixDQUFDTSxJQUFELEVBQU9OLEdBQVAsQ0FBakIsQ0FBUDtBQUNELE9BTlU7QUFRWE8sZUFSVyxxQkFRRFAsR0FSQyxFQVFJTSxJQVJKLEVBUVU7QUFDbkIsZUFBT0UsS0FBS0MsR0FBTCxDQUFTLENBQVQsRUFBWSxnQkFBSSxXQUFKLEVBQWlCLENBQUNILElBQUQsRUFBT04sR0FBUCxDQUFqQixDQUFaLENBQVA7QUFDRDtBQVZVLEtBQWI7O0FBYUEsUUFBSUUsU0FBU1EsS0FBYixFQUFvQjtBQUNsQlAsaUJBQVdILElBQUlXLElBQUosQ0FBU1IsUUFBVCxDQUFrQixFQUFDUyxNQUFNVixTQUFTUSxLQUFoQixFQUFsQixDQUFYO0FBQ0FHLGFBQU9DLE1BQVAsQ0FBY1YsSUFBZCxFQUFvQjtBQUNsQkQsMEJBRGtCO0FBRWxCWSxhQUZrQixpQkFFWmYsR0FGWSxFQUVQTSxJQUZPLEVBRUQ7QUFDZixjQUFNVSxNQUFNZCxTQUFTZSxTQUFULENBQW1CLENBQW5CLEVBQXNCQyxNQUFsQztBQUNBLGNBQU1ULE1BQU1PLE1BQUlkLFNBQVNRLEtBQVQsQ0FBZVEsTUFBL0I7QUFDQSxjQUFNSCxRQUFRLGdCQUFJLE9BQUosRUFBYSxDQUFDVCxJQUFELEVBQU9OLEdBQVAsQ0FBYixDQUFkO0FBQ0EsY0FBSSxRQUFRZSxLQUFaLEVBQW1CO0FBQUUsbUJBQU8sdUJBQU1BLEtBQU4sRUFBYSxDQUFiLEVBQWdCTixHQUFoQixDQUFQO0FBQTZCO0FBQ2xELGlCQUFPQSxHQUFQO0FBQ0Q7QUFSaUIsT0FBcEI7QUFVRCxLQVpELE1BWU8sSUFBSVAsU0FBU2UsU0FBYixFQUF3QjtBQUM3QkosYUFBT0MsTUFBUCxDQUFjVixJQUFkLEVBQW9CO0FBQ2xCVyxhQURrQixpQkFDWmYsR0FEWSxFQUNQTSxJQURPLEVBQ0Q7QUFDZixjQUFNUyxRQUFRLGdCQUFJLE9BQUosRUFBYSxDQUFDVCxJQUFELEVBQU9OLEdBQVAsQ0FBYixDQUFkO0FBQ0EsY0FBTVMsTUFBTVAsU0FBU2UsU0FBVCxDQUFtQkMsTUFBL0I7QUFDQSxjQUFJLFFBQVFILEtBQVosRUFBbUI7QUFBRSxtQkFBTyx1QkFBTUEsS0FBTixFQUFhLENBQWIsRUFBZ0JOLEdBQWhCLENBQVA7QUFBNkI7QUFDbEQsaUJBQU9BLEdBQVA7QUFDRDtBQU5pQixPQUFwQjtBQVFEOztBQXRDNEIsaUhBd0N2QlQsR0F4Q3VCLEVBd0NsQkMsWUF4Q2tCLEVBd0NKRCxJQUFJVyxJQUFKLENBQVNQLElBQVQsQ0F4Q0k7QUF5QzlCIiwiZmlsZSI6InN0YXRlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXNzaWduRGVmYXVsdHMsIGdldCB9IGZyb20gJy4uL3V0aWxzJ1xuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnLi4vY29yZSdcbmltcG9ydCAqIGFzIGRlZmF1bHRzIGZyb20gJy4vZGVmYXVsdHMnXG5pbXBvcnQgY2xhbXAgZnJvbSAnZGVmaW5lZCdcblxuZXhwb3J0IGNsYXNzIE1lc2hTdGF0ZSBleHRlbmRzIENvbXBvbmVudCB7XG4gIHN0YXRpYyBkZWZhdWx0cygpIHsgcmV0dXJuIHsgLi4uZGVmYXVsdHMgfSB9XG4gIGNvbnN0cnVjdG9yKGN0eCwgaW5pdGlhbFN0YXRlKSB7XG4gICAgYXNzaWduRGVmYXVsdHMoaW5pdGlhbFN0YXRlLCBNZXNoU3RhdGUuZGVmYXVsdHMoKSlcbiAgICBjb25zdCB7Z2VvbWV0cnl9ID0gaW5pdGlhbFN0YXRlXG4gICAgbGV0IGVsZW1lbnRzID0gbnVsbFxuICAgIGNvbnN0IG9wdHMgPSB7XG4gICAgICBwcmltaXRpdmUoY3R4LCBhcmdzKSB7XG4gICAgICAgIGlmIChnZXQoJ3dpcmVmcmFtZScsIFthcmdzLCBjdHhdKSkge1xuICAgICAgICAgIHJldHVybiBnZXQoJ3dpcmVmcmFtZVByaW1pdGl2ZScsIFthcmdzLCBjdHhdKVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBnZXQoJ3ByaW1pdGl2ZScsIFthcmdzLCBjdHhdKVxuICAgICAgfSxcblxuICAgICAgbGluZVdpZHRoKGN0eCwgYXJncykge1xuICAgICAgICByZXR1cm4gTWF0aC5tYXgoMSwgZ2V0KCdsaW5lV2lkdGgnLCBbYXJncywgY3R4XSkpXG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGdlb21ldHJ5LmNlbGxzKSB7XG4gICAgICBlbGVtZW50cyA9IGN0eC5yZWdsLmVsZW1lbnRzKHtkYXRhOiBnZW9tZXRyeS5jZWxsc30pXG4gICAgICBPYmplY3QuYXNzaWduKG9wdHMsIHtcbiAgICAgICAgZWxlbWVudHMsXG4gICAgICAgIGNvdW50KGN0eCwgYXJncykge1xuICAgICAgICAgIGNvbnN0IGRpbSA9IGdlb21ldHJ5LnBvc2l0aW9uc1swXS5sZW5ndGhcbiAgICAgICAgICBjb25zdCBtYXggPSBkaW0qZ2VvbWV0cnkuY2VsbHMubGVuZ3RoXG4gICAgICAgICAgY29uc3QgY291bnQgPSBnZXQoJ2NvdW50JywgW2FyZ3MsIGN0eF0pXG4gICAgICAgICAgaWYgKG51bGwgIT0gY291bnQpIHsgcmV0dXJuIGNsYW1wKGNvdW50LCAwLCBtYXgpIH1cbiAgICAgICAgICByZXR1cm4gbWF4XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfSBlbHNlIGlmIChnZW9tZXRyeS5wb3NpdGlvbnMpIHtcbiAgICAgIE9iamVjdC5hc3NpZ24ob3B0cywge1xuICAgICAgICBjb3VudChjdHgsIGFyZ3MpIHtcbiAgICAgICAgICBjb25zdCBjb3VudCA9IGdldCgnY291bnQnLCBbYXJncywgY3R4XSlcbiAgICAgICAgICBjb25zdCBtYXggPSBnZW9tZXRyeS5wb3NpdGlvbnMubGVuZ3RoXG4gICAgICAgICAgaWYgKG51bGwgIT0gY291bnQpIHsgcmV0dXJuIGNsYW1wKGNvdW50LCAwLCBtYXgpIH1cbiAgICAgICAgICByZXR1cm4gbWF4XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfVxuXG4gICAgc3VwZXIoY3R4LCBpbml0aWFsU3RhdGUsIGN0eC5yZWdsKG9wdHMpKVxuICB9XG59XG4iXX0=
\No newline at end of file