figureone 1.7.1 → 1.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.js
CHANGED
|
@@ -7167,6 +7167,13 @@ function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf
|
|
|
7167
7167
|
* @group Misc Figure Element
|
|
7168
7168
|
*/
|
|
7169
7169
|
var GLObject = /*#__PURE__*/function (_DrawingObject) {
|
|
7170
|
+
// Optional mask textures used by the `textureMap` color mode (one or more).
|
|
7171
|
+
// They share the base texture's coordinates (`a_texcoord`/`v_texcoord`), so
|
|
7172
|
+
// each needs no buffer or mapping of its own - just an id/src and a load
|
|
7173
|
+
// color. Mask i is bound to the shader's u_mask{i} sampler (its uniform name
|
|
7174
|
+
// is precomputed so the draw loop allocates nothing). A mask with an empty
|
|
7175
|
+
// src is a transparent placeholder - an index-preserving no-op slot.
|
|
7176
|
+
|
|
7170
7177
|
function GLObject(webgl) {
|
|
7171
7178
|
var _this;
|
|
7172
7179
|
var vertexShader = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
|
|
@@ -7196,6 +7203,7 @@ var GLObject = /*#__PURE__*/function (_DrawingObject) {
|
|
|
7196
7203
|
_this.numVertices = 0;
|
|
7197
7204
|
_this.uniforms = {};
|
|
7198
7205
|
_this.texture = null;
|
|
7206
|
+
_this.maskTextures = [];
|
|
7199
7207
|
// this.selectorProgramIndex = this.webgl.getProgram(selectorVertexShader, selectorFragShader);
|
|
7200
7208
|
_this.initProgram();
|
|
7201
7209
|
return _this;
|
|
@@ -7393,6 +7401,31 @@ var GLObject = /*#__PURE__*/function (_DrawingObject) {
|
|
|
7393
7401
|
}
|
|
7394
7402
|
this.onLoad = onLoad;
|
|
7395
7403
|
}
|
|
7404
|
+
|
|
7405
|
+
/**
|
|
7406
|
+
* Buffer a mask texture for the `textureMap` color mode. Each call appends a
|
|
7407
|
+
* mask, bound to the next u_mask{i} sampler. Masks share the base texture's
|
|
7408
|
+
* coordinates, so only a source and load color are needed. The default load
|
|
7409
|
+
* color is fully transparent so that, until the mask loads, no region is
|
|
7410
|
+
* recolored and the base texture shows through unchanged.
|
|
7411
|
+
*
|
|
7412
|
+
* An empty `location` registers a transparent placeholder, which keeps the
|
|
7413
|
+
* u_mask{i} indexing aligned with the tint blocks when a caller supplies an
|
|
7414
|
+
* invalid/missing mask in a positional list (the slot becomes a no-op).
|
|
7415
|
+
*/
|
|
7416
|
+
}, {
|
|
7417
|
+
key: "addMaskTexture",
|
|
7418
|
+
value: function addMaskTexture() {
|
|
7419
|
+
var location = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
7420
|
+
var loadColor = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [0, 0, 0, 0];
|
|
7421
|
+
var isPlaceholder = location == null || location === '';
|
|
7422
|
+
this.maskTextures.push({
|
|
7423
|
+
id: isPlaceholder ? '__figureOneEmptyMask' : location,
|
|
7424
|
+
src: isPlaceholder ? '' : location,
|
|
7425
|
+
loadColor: isPlaceholder ? [0, 0, 0, 0] : loadColor,
|
|
7426
|
+
uniformName: "u_mask".concat(this.maskTextures.length)
|
|
7427
|
+
});
|
|
7428
|
+
}
|
|
7396
7429
|
}, {
|
|
7397
7430
|
key: "updateTexture",
|
|
7398
7431
|
value: function updateTexture(data) {
|
|
@@ -7406,6 +7439,7 @@ var GLObject = /*#__PURE__*/function (_DrawingObject) {
|
|
|
7406
7439
|
}, {
|
|
7407
7440
|
key: "initTexture",
|
|
7408
7441
|
value: function initTexture() {
|
|
7442
|
+
var _this4 = this;
|
|
7409
7443
|
var force = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
7410
7444
|
var texture = this.texture,
|
|
7411
7445
|
webgl = this.webgl;
|
|
@@ -7430,6 +7464,15 @@ var GLObject = /*#__PURE__*/function (_DrawingObject) {
|
|
|
7430
7464
|
// );
|
|
7431
7465
|
webgl.addTexture(id, data || src, loadColor, repeat, this.executeOnLoad.bind(this), force);
|
|
7432
7466
|
this.state = webgl.textures[texture.id].state;
|
|
7467
|
+
|
|
7468
|
+
// Register the optional mask textures (textureMap color mode). Each loads
|
|
7469
|
+
// onto its own texture unit and reuses the base texture's coordinates. A
|
|
7470
|
+
// placeholder (empty src) is registered directly from its load color as a
|
|
7471
|
+
// 1x1 transparent texture, with no image to load.
|
|
7472
|
+
this.maskTextures.forEach(function (maskTexture) {
|
|
7473
|
+
var data = maskTexture.src !== '' ? maskTexture.src : maskTexture.loadColor;
|
|
7474
|
+
webgl.addTexture(maskTexture.id, data, maskTexture.loadColor, false, _this4.executeOnLoad.bind(_this4), force);
|
|
7475
|
+
});
|
|
7433
7476
|
// if (
|
|
7434
7477
|
// !(texture.id in webgl.textures)
|
|
7435
7478
|
// || (
|
|
@@ -7661,6 +7704,7 @@ var GLObject = /*#__PURE__*/function (_DrawingObject) {
|
|
|
7661
7704
|
value: function resetTextureBuffer() {
|
|
7662
7705
|
var deleteTexture = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
|
|
7663
7706
|
var texture = this.texture,
|
|
7707
|
+
maskTextures = this.maskTextures,
|
|
7664
7708
|
webgl = this.webgl,
|
|
7665
7709
|
gl = this.gl;
|
|
7666
7710
|
if (texture) {
|
|
@@ -7672,6 +7716,13 @@ var GLObject = /*#__PURE__*/function (_DrawingObject) {
|
|
|
7672
7716
|
texture.buffer = null;
|
|
7673
7717
|
}
|
|
7674
7718
|
}
|
|
7719
|
+
if (deleteTexture) {
|
|
7720
|
+
maskTextures.forEach(function (maskTexture) {
|
|
7721
|
+
if (webgl.textures[maskTexture.id] != null) {
|
|
7722
|
+
webgl.deleteTexture(maskTexture.id);
|
|
7723
|
+
}
|
|
7724
|
+
});
|
|
7725
|
+
}
|
|
7675
7726
|
}
|
|
7676
7727
|
}, {
|
|
7677
7728
|
key: "cleanup",
|
|
@@ -7682,14 +7733,14 @@ var GLObject = /*#__PURE__*/function (_DrawingObject) {
|
|
|
7682
7733
|
}, {
|
|
7683
7734
|
key: "resetBuffers",
|
|
7684
7735
|
value: function resetBuffers() {
|
|
7685
|
-
var
|
|
7736
|
+
var _this5 = this;
|
|
7686
7737
|
var deleteTexture = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
|
|
7687
7738
|
var gl = this.gl;
|
|
7688
7739
|
Object.keys(this.attributes).forEach(function (attributeName) {
|
|
7689
|
-
if (
|
|
7690
|
-
gl.deleteBuffer(
|
|
7740
|
+
if (_this5.attributes[attributeName].buffer != null) {
|
|
7741
|
+
gl.deleteBuffer(_this5.attributes[attributeName].buffer);
|
|
7691
7742
|
}
|
|
7692
|
-
|
|
7743
|
+
_this5.attributes[attributeName].buffer = null;
|
|
7693
7744
|
});
|
|
7694
7745
|
this.attributes = {};
|
|
7695
7746
|
this.resetTextureBuffer(deleteTexture);
|
|
@@ -7869,7 +7920,7 @@ var GLObject = /*#__PURE__*/function (_DrawingObject) {
|
|
|
7869
7920
|
}, {
|
|
7870
7921
|
key: "drawWithTransformMatrix",
|
|
7871
7922
|
value: function drawWithTransformMatrix(scene, worldMatrix, color) {
|
|
7872
|
-
var
|
|
7923
|
+
var _this6 = this;
|
|
7873
7924
|
var numDrawVertices = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : this.numVertices;
|
|
7874
7925
|
var targetTexture = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
|
|
7875
7926
|
// if (targetTexture) {
|
|
@@ -7899,13 +7950,13 @@ var GLObject = /*#__PURE__*/function (_DrawingObject) {
|
|
|
7899
7950
|
if (targetTexture && attributeName !== 'a_vertex') {
|
|
7900
7951
|
return;
|
|
7901
7952
|
}
|
|
7902
|
-
var
|
|
7903
|
-
buffer =
|
|
7904
|
-
size =
|
|
7905
|
-
type =
|
|
7906
|
-
stride =
|
|
7907
|
-
offset =
|
|
7908
|
-
normalize =
|
|
7953
|
+
var _this6$attributes$att = _this6.attributes[attributeName],
|
|
7954
|
+
buffer = _this6$attributes$att.buffer,
|
|
7955
|
+
size = _this6$attributes$att.size,
|
|
7956
|
+
type = _this6$attributes$att.type,
|
|
7957
|
+
stride = _this6$attributes$att.stride,
|
|
7958
|
+
offset = _this6$attributes$att.offset,
|
|
7959
|
+
normalize = _this6$attributes$att.normalize;
|
|
7909
7960
|
gl.enableVertexAttribArray(locations[attributeName]);
|
|
7910
7961
|
// Bind it to ARRAY_BUFFER (think of it as ARRAY_BUFFER = positionBuffer)
|
|
7911
7962
|
gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
|
|
@@ -7937,7 +7988,7 @@ var GLObject = /*#__PURE__*/function (_DrawingObject) {
|
|
|
7937
7988
|
gl.uniformMatrix4fv(locations.u_viewMatrix, false, _tools_m3__WEBPACK_IMPORTED_MODULE_0__.transpose(scene.viewMatrix));
|
|
7938
7989
|
}
|
|
7939
7990
|
Object.keys(this.uniforms).forEach(function (uniformName) {
|
|
7940
|
-
var method =
|
|
7991
|
+
var method = _this6.uniforms[uniformName].method;
|
|
7941
7992
|
method(locations[uniformName], uniformName);
|
|
7942
7993
|
});
|
|
7943
7994
|
gl.uniform1f(locations.u_z, this.z);
|
|
@@ -7959,6 +8010,20 @@ var GLObject = /*#__PURE__*/function (_DrawingObject) {
|
|
|
7959
8010
|
gl.uniform1i(locations.u_use_texture, 1);
|
|
7960
8011
|
var index = webglInstance.textures[texture.id].index;
|
|
7961
8012
|
gl.uniform1i(locations.u_texture, index);
|
|
8013
|
+
|
|
8014
|
+
// Bind the mask textures (textureMap color mode), each to its own texture
|
|
8015
|
+
// unit and precomputed u_mask{i} sampler. They reuse the a_texcoord /
|
|
8016
|
+
// v_texcoord bound above, so no extra attribute is needed. Uses an indexed
|
|
8017
|
+
// loop with precomputed uniform names to avoid per-frame allocation.
|
|
8018
|
+
var maskTextures = this.maskTextures;
|
|
8019
|
+
for (var i = 0; i < maskTextures.length; i += 1) {
|
|
8020
|
+
var maskTexture = maskTextures[i];
|
|
8021
|
+
var maskLocation = locations[maskTexture.uniformName];
|
|
8022
|
+
var maskRegistered = webglInstance.textures[maskTexture.id];
|
|
8023
|
+
if (maskLocation != null && maskRegistered != null) {
|
|
8024
|
+
gl.uniform1i(maskLocation, maskRegistered.index);
|
|
8025
|
+
}
|
|
8026
|
+
}
|
|
7962
8027
|
} else {
|
|
7963
8028
|
gl.uniform1i(locations.u_use_texture, 0);
|
|
7964
8029
|
}
|
|
@@ -54522,27 +54587,28 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
54522
54587
|
/* harmony import */ var _tools_g2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../tools/g2 */ "./src/js/tools/g2.ts");
|
|
54523
54588
|
/* harmony import */ var _tools_htmlGenerator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../tools/htmlGenerator */ "./src/js/tools/htmlGenerator.ts");
|
|
54524
54589
|
/* harmony import */ var _Element__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Element */ "./src/js/figure/Element.ts");
|
|
54525
|
-
/* harmony import */ var
|
|
54526
|
-
/* harmony import */ var
|
|
54527
|
-
/* harmony import */ var
|
|
54528
|
-
/* harmony import */ var
|
|
54529
|
-
/* harmony import */ var
|
|
54530
|
-
/* harmony import */ var
|
|
54531
|
-
/* harmony import */ var
|
|
54532
|
-
/* harmony import */ var
|
|
54533
|
-
/* harmony import */ var
|
|
54534
|
-
/* harmony import */ var
|
|
54535
|
-
/* harmony import */ var
|
|
54536
|
-
/* harmony import */ var
|
|
54537
|
-
/* harmony import */ var
|
|
54538
|
-
/* harmony import */ var
|
|
54539
|
-
/* harmony import */ var
|
|
54540
|
-
/* harmony import */ var
|
|
54541
|
-
/* harmony import */ var
|
|
54542
|
-
/* harmony import */ var
|
|
54543
|
-
/* harmony import */ var
|
|
54544
|
-
/* harmony import */ var
|
|
54545
|
-
/* harmony import */ var
|
|
54590
|
+
/* harmony import */ var _webgl_shaders__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../webgl/shaders */ "./src/js/figure/webgl/shaders.ts");
|
|
54591
|
+
/* harmony import */ var _tools_math__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../tools/math */ "./src/js/tools/math.ts");
|
|
54592
|
+
/* harmony import */ var _tools_tools__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../tools/tools */ "./src/js/tools/tools.ts");
|
|
54593
|
+
/* harmony import */ var _DrawingObjects_GLObject_GLObject__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../DrawingObjects/GLObject/GLObject */ "./src/js/figure/DrawingObjects/GLObject/GLObject.ts");
|
|
54594
|
+
/* harmony import */ var _Animation_Animation__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../Animation/Animation */ "./src/js/figure/Animation/Animation.ts");
|
|
54595
|
+
/* harmony import */ var _FigureElementPrimitiveMorph__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./FigureElementPrimitiveMorph */ "./src/js/figure/FigurePrimitives/FigureElementPrimitiveMorph.ts");
|
|
54596
|
+
/* harmony import */ var _FigureElementPrimitive2DText__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./FigureElementPrimitive2DText */ "./src/js/figure/FigurePrimitives/FigureElementPrimitive2DText.ts");
|
|
54597
|
+
/* harmony import */ var _FigureElementPrimitiveGLText__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./FigureElementPrimitiveGLText */ "./src/js/figure/FigurePrimitives/FigureElementPrimitiveGLText.ts");
|
|
54598
|
+
/* harmony import */ var _Text__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./Text */ "./src/js/figure/FigurePrimitives/Text.ts");
|
|
54599
|
+
/* harmony import */ var _DrawingObjects_HTMLObject_HTMLObject__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../DrawingObjects/HTMLObject/HTMLObject */ "./src/js/figure/DrawingObjects/HTMLObject/HTMLObject.ts");
|
|
54600
|
+
/* harmony import */ var _geometries_lines_lines__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../geometries/lines/lines */ "./src/js/figure/geometries/lines/lines.ts");
|
|
54601
|
+
/* harmony import */ var _geometries_polygon_polygon__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../geometries/polygon/polygon */ "./src/js/figure/geometries/polygon/polygon.ts");
|
|
54602
|
+
/* harmony import */ var _geometries_rectangle__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../geometries/rectangle */ "./src/js/figure/geometries/rectangle.ts");
|
|
54603
|
+
/* harmony import */ var _geometries_ellipse__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../geometries/ellipse */ "./src/js/figure/geometries/ellipse.ts");
|
|
54604
|
+
/* harmony import */ var _geometries_arc__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../geometries/arc */ "./src/js/figure/geometries/arc.ts");
|
|
54605
|
+
/* harmony import */ var _geometries_triangle__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../geometries/triangle */ "./src/js/figure/geometries/triangle.ts");
|
|
54606
|
+
/* harmony import */ var _geometries_arrow__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../geometries/arrow */ "./src/js/figure/geometries/arrow.ts");
|
|
54607
|
+
/* harmony import */ var _geometries_line__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../geometries/line */ "./src/js/figure/geometries/line.ts");
|
|
54608
|
+
/* harmony import */ var _geometries_copy_copy__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../geometries/copy/copy */ "./src/js/figure/geometries/copy/copy.ts");
|
|
54609
|
+
/* harmony import */ var _geometries_buffer__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ../geometries/buffer */ "./src/js/figure/geometries/buffer.ts");
|
|
54610
|
+
/* harmony import */ var _tools_geometry_scene__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ../../tools/geometry/scene */ "./src/js/tools/geometry/scene.ts");
|
|
54611
|
+
/* harmony import */ var _FigureElementPrimitiveGesture__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./FigureElementPrimitiveGesture */ "./src/js/figure/FigurePrimitives/FigureElementPrimitiveGesture.ts");
|
|
54546
54612
|
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
54547
54613
|
function _construct(t, e, r) { if (_isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments); var o = [null]; o.push.apply(o, e); var p = new (t.bind.apply(t, o))(); return r && _setPrototypeOf(p, r.prototype), p; }
|
|
54548
54614
|
function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }
|
|
@@ -54573,6 +54639,7 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
|
|
|
54573
54639
|
|
|
54574
54640
|
|
|
54575
54641
|
|
|
54642
|
+
|
|
54576
54643
|
// eslint-disable-next-line import/no-cycle
|
|
54577
54644
|
// eslint-disable-next-line import/no-cycle
|
|
54578
54645
|
|
|
@@ -54668,7 +54735,7 @@ function setupPulse(element, options) {
|
|
|
54668
54735
|
element.pulseDefault.scale = options.pulse;
|
|
54669
54736
|
} else {
|
|
54670
54737
|
// eslint-disable-next-line no-param-reassign
|
|
54671
|
-
element.pulseDefault = (0,
|
|
54738
|
+
element.pulseDefault = (0,_tools_tools__WEBPACK_IMPORTED_MODULE_5__.joinObjects)({}, element.pulseDefault, options.pulse);
|
|
54672
54739
|
}
|
|
54673
54740
|
}
|
|
54674
54741
|
}
|
|
@@ -54742,7 +54809,45 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
54742
54809
|
optionsIn[_key] = arguments[_key];
|
|
54743
54810
|
}
|
|
54744
54811
|
// Setup the default options
|
|
54745
|
-
var oIn =
|
|
54812
|
+
var oIn = _tools_tools__WEBPACK_IMPORTED_MODULE_5__.joinObjects.apply(void 0, [{}].concat(optionsIn));
|
|
54813
|
+
// The mask recolor (textureMap) path supports one or more mask textures,
|
|
54814
|
+
// supplied as `mask` (single) or `masks` (array). Normalize the input: a
|
|
54815
|
+
// non-array `masks` is coerced to an array, and an empty/absent `masks`
|
|
54816
|
+
// falls back to the singular `mask`. `masks` takes precedence when both are
|
|
54817
|
+
// given and `masks` is non-empty.
|
|
54818
|
+
var rawMasks;
|
|
54819
|
+
if (oIn.masks != null) {
|
|
54820
|
+
rawMasks = Array.isArray(oIn.masks) ? oIn.masks : [oIn.masks];
|
|
54821
|
+
} else {
|
|
54822
|
+
rawMasks = [];
|
|
54823
|
+
}
|
|
54824
|
+
if (rawMasks.length === 0 && oIn.mask != null) {
|
|
54825
|
+
rawMasks = [oIn.mask];
|
|
54826
|
+
}
|
|
54827
|
+
var isValidMask = function isValidMask(m) {
|
|
54828
|
+
return m != null && m.src != null && m.src !== '';
|
|
54829
|
+
};
|
|
54830
|
+
// Masks are positional: each slot owns its own u_mask{i} sampler and tint
|
|
54831
|
+
// block (tints[CHANNELS_PER_MASK * i ...]). Invalid/missing slots are kept
|
|
54832
|
+
// as transparent no-ops rather than dropped, so a conditionally-built list
|
|
54833
|
+
// never shifts later masks onto the wrong tints. The textureMap path is only
|
|
54834
|
+
// selected when at least one slot is a valid mask.
|
|
54835
|
+
var hasMask = rawMasks.some(isValidMask);
|
|
54836
|
+
var maskList = hasMask ? rawMasks : [];
|
|
54837
|
+
var numMasks = maskList.length;
|
|
54838
|
+
var NUM_TINTS = numMasks * _webgl_shaders__WEBPACK_IMPORTED_MODULE_3__.CHANNELS_PER_MASK;
|
|
54839
|
+
// Guard the per-element mask count against the device's texture units (one
|
|
54840
|
+
// is reserved for the base texture). This catches an excessive count with a
|
|
54841
|
+
// clear error instead of an opaque GL failure. Note: a figure with many
|
|
54842
|
+
// other textures can still exhaust units - that global limit is pre-existing
|
|
54843
|
+
// and not checked here.
|
|
54844
|
+
if (hasMask) {
|
|
54845
|
+
var _gl = this.webgl[0].gl;
|
|
54846
|
+
var maxUnits = _gl.getParameter(_gl.MAX_TEXTURE_IMAGE_UNITS);
|
|
54847
|
+
if (typeof maxUnits === 'number' && maxUnits > 0 && numMasks + 1 > maxUnits) {
|
|
54848
|
+
throw new Error("FigureOne gl: ".concat(numMasks, " mask textures (plus the base texture) exceed this device's ").concat(maxUnits, " texture units. Use fewer masks."));
|
|
54849
|
+
}
|
|
54850
|
+
}
|
|
54746
54851
|
var defaultOptions = {
|
|
54747
54852
|
glPrimitive: 'TRIANGLES',
|
|
54748
54853
|
vertexShader: {
|
|
@@ -54762,7 +54867,8 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
54762
54867
|
coords: [],
|
|
54763
54868
|
loadColor: [0, 0, 1, 0.5]
|
|
54764
54869
|
},
|
|
54765
|
-
|
|
54870
|
+
tints: [],
|
|
54871
|
+
name: (0,_tools_tools__WEBPACK_IMPORTED_MODULE_5__.generateUniqueId)('primitive_'),
|
|
54766
54872
|
color: this.defaultColor,
|
|
54767
54873
|
drawNumber: 0,
|
|
54768
54874
|
transform: [['s', 1], ['r', 0, 0, 0, 1], ['t', 0, 0, 0]],
|
|
@@ -54773,6 +54879,16 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
54773
54879
|
defaultOptions.vertexShader.color = 'texture';
|
|
54774
54880
|
defaultOptions.fragmentShader.color = 'texture';
|
|
54775
54881
|
}
|
|
54882
|
+
// A mask recolors regions of the base texture, so it uses the textureMap
|
|
54883
|
+
// color mode (which also samples the base texture). It therefore takes
|
|
54884
|
+
// precedence over the plain 'texture' mode set above. The fragment shader is
|
|
54885
|
+
// composed for the exact number of masks, so a single mask generates the
|
|
54886
|
+
// same shader (and cost) as before.
|
|
54887
|
+
if (hasMask) {
|
|
54888
|
+
defaultOptions.vertexShader.color = 'textureMap';
|
|
54889
|
+
defaultOptions.fragmentShader.color = 'textureMap';
|
|
54890
|
+
defaultOptions.fragmentShader.masks = numMasks;
|
|
54891
|
+
}
|
|
54776
54892
|
if (oIn.dimension != null) {
|
|
54777
54893
|
defaultOptions.vertexShader.dimension = oIn.dimension;
|
|
54778
54894
|
}
|
|
@@ -54790,7 +54906,7 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
54790
54906
|
}
|
|
54791
54907
|
|
|
54792
54908
|
// Combine default and input options
|
|
54793
|
-
var options = (0,
|
|
54909
|
+
var options = (0,_tools_tools__WEBPACK_IMPORTED_MODULE_5__.joinObjects)({}, defaultOptions, oIn);
|
|
54794
54910
|
options.transform = (0,_tools_g2__WEBPACK_IMPORTED_MODULE_0__.getTransform)(options.transform);
|
|
54795
54911
|
if (options.position != null) {
|
|
54796
54912
|
options.position = (0,_tools_g2__WEBPACK_IMPORTED_MODULE_0__.getPoint)(options.position);
|
|
@@ -54798,7 +54914,7 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
54798
54914
|
}
|
|
54799
54915
|
|
|
54800
54916
|
// User shaders to create a gl drawing object
|
|
54801
|
-
var glObject = new
|
|
54917
|
+
var glObject = new _DrawingObjects_GLObject_GLObject__WEBPACK_IMPORTED_MODULE_6__["default"](this.webgl[0], options.vertexShader, options.fragmentShader);
|
|
54802
54918
|
|
|
54803
54919
|
// Set the glPrimitive
|
|
54804
54920
|
glObject.setPrimitive(options.glPrimitive.toUpperCase());
|
|
@@ -54879,7 +54995,7 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
54879
54995
|
usage: 'STATIC',
|
|
54880
54996
|
size: 2
|
|
54881
54997
|
};
|
|
54882
|
-
var b = (0,
|
|
54998
|
+
var b = (0,_tools_tools__WEBPACK_IMPORTED_MODULE_5__.joinObjects)({}, defaultAttribute, buffer);
|
|
54883
54999
|
glObject.addAttribute(b.name, b.size, b.data, b.type, b.normalize, b.stride, b.offset, b.usageIn);
|
|
54884
55000
|
});
|
|
54885
55001
|
glObject.initAttributes();
|
|
@@ -54892,18 +55008,58 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
54892
55008
|
type: 'FLOAT',
|
|
54893
55009
|
length: 1
|
|
54894
55010
|
};
|
|
54895
|
-
var u = (0,
|
|
55011
|
+
var u = (0,_tools_tools__WEBPACK_IMPORTED_MODULE_5__.joinObjects)({}, defaultUniform, uniform);
|
|
54896
55012
|
glObject.addUniform(u.name, u.length, u.type, u.value);
|
|
54897
55013
|
});
|
|
54898
55014
|
}
|
|
54899
55015
|
|
|
55016
|
+
// Normalize a tint color to a 4-component [r, g, b, a] array. A missing
|
|
55017
|
+
// tint becomes fully transparent (alpha 0), which leaves the base texture
|
|
55018
|
+
// unchanged. A 3-component color defaults to alpha 1 (fully recolored).
|
|
55019
|
+
var toTint = function toTint(c) {
|
|
55020
|
+
if (c == null) {
|
|
55021
|
+
return [0, 0, 0, 0];
|
|
55022
|
+
}
|
|
55023
|
+
if (c.length < 4) {
|
|
55024
|
+
return [c[0] || 0, c[1] || 0, c[2] || 0, 1];
|
|
55025
|
+
}
|
|
55026
|
+
return [c[0], c[1], c[2], c[3]];
|
|
55027
|
+
};
|
|
55028
|
+
|
|
54900
55029
|
// Add a texture - use mapFrom and mapTo if texture coords is not defined
|
|
54901
55030
|
if (options.texture.src !== '') {
|
|
54902
55031
|
var t = options.texture;
|
|
54903
55032
|
glObject.addTexture(t.src, (0,_tools_g2__WEBPACK_IMPORTED_MODULE_0__.getRect)(t.mapFrom), (0,_tools_g2__WEBPACK_IMPORTED_MODULE_0__.getRect)(t.mapTo), t.mapToAttribute, t.coords || [], t.repeat, t.onLoad, t.loadColor);
|
|
55033
|
+
// A mask recolors regions of the base texture (textureMap color mode).
|
|
55034
|
+
// Each mask is bound to u_mask{i} and shares the base texture coordinates.
|
|
55035
|
+
// Invalid slots register a transparent placeholder so masks stay
|
|
55036
|
+
// positional (later masks keep their tint block).
|
|
55037
|
+
maskList.forEach(function (m) {
|
|
55038
|
+
if (isValidMask(m)) {
|
|
55039
|
+
glObject.addMaskTexture(m.src, m.loadColor);
|
|
55040
|
+
} else {
|
|
55041
|
+
glObject.addMaskTexture('');
|
|
55042
|
+
}
|
|
55043
|
+
});
|
|
54904
55044
|
glObject.initTexture();
|
|
54905
55045
|
}
|
|
54906
55046
|
|
|
55047
|
+
// Seed the textureMap tint uniforms (u_tint0..u_tint{4*numMasks-1}). Each
|
|
55048
|
+
// corresponds to a mask channel (r, g, b, a). Any tints beyond the available
|
|
55049
|
+
// mask channels are ignored. The values are mirrored into customState so
|
|
55050
|
+
// they survive state save/restore and recordings.
|
|
55051
|
+
var tintColors = [];
|
|
55052
|
+
if (hasMask) {
|
|
55053
|
+
tintColors = Array.from({
|
|
55054
|
+
length: NUM_TINTS
|
|
55055
|
+
}, function (_, i) {
|
|
55056
|
+
return toTint(options.tints[i]);
|
|
55057
|
+
});
|
|
55058
|
+
tintColors.forEach(function (tint, i) {
|
|
55059
|
+
glObject.addUniform("u_tint".concat(i), 4, 'FLOAT', tint);
|
|
55060
|
+
});
|
|
55061
|
+
}
|
|
55062
|
+
|
|
54907
55063
|
// Create th figure element primitive with the gl drawing object
|
|
54908
55064
|
var element;
|
|
54909
55065
|
if (options.figureElementPrimitiveCallback != null) {
|
|
@@ -54920,6 +55076,49 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
54920
55076
|
element.custom.getUniform = element.drawingObject.getUniform.bind(element.drawingObject);
|
|
54921
55077
|
element.dimColor = this.defaultDimColor.slice();
|
|
54922
55078
|
|
|
55079
|
+
// textureMap tints: expose setters and mirror the current values in
|
|
55080
|
+
// customState so they are captured by state save/restore and recordings.
|
|
55081
|
+
if (hasMask) {
|
|
55082
|
+
element.customState.tints = tintColors.map(function (t) {
|
|
55083
|
+
return t.slice();
|
|
55084
|
+
});
|
|
55085
|
+
// Set a single region's tint. Indices outside the available tints
|
|
55086
|
+
// (4 * numMasks) are ignored rather than throwing - an out-of-range index
|
|
55087
|
+
// would otherwise reference a nonexistent u_tint uniform and corrupt
|
|
55088
|
+
// customState, which would then re-throw on every later state restore.
|
|
55089
|
+
element.custom.setTint = function (index, color) {
|
|
55090
|
+
if (index < 0 || index >= NUM_TINTS) {
|
|
55091
|
+
return;
|
|
55092
|
+
}
|
|
55093
|
+
var tint = toTint(color);
|
|
55094
|
+
element.customState.tints[index] = tint;
|
|
55095
|
+
element.drawingObject.updateUniform("u_tint".concat(index), tint);
|
|
55096
|
+
};
|
|
55097
|
+
// Replace all region tints. Missing or null entries reset that region to
|
|
55098
|
+
// transparent (no recolor), so setTints always defines the full set.
|
|
55099
|
+
element.custom.setTints = function (colors) {
|
|
55100
|
+
for (var index = 0; index < NUM_TINTS; index += 1) {
|
|
55101
|
+
element.custom.setTint(index, colors[index] == null ? null : colors[index]);
|
|
55102
|
+
}
|
|
55103
|
+
};
|
|
55104
|
+
// Custom uniforms are not part of drawing object state, so after a state
|
|
55105
|
+
// restore (including Recorder playback and seek) the tint values are
|
|
55106
|
+
// merged back into customState but not re-applied to the GPU. Re-push them
|
|
55107
|
+
// to the u_tint uniforms whenever state is set. Only the valid tints are
|
|
55108
|
+
// applied so a malformed customState can never throw here.
|
|
55109
|
+
element.notifications.add('setState', function () {
|
|
55110
|
+
var tints = element.customState.tints;
|
|
55111
|
+
if (tints == null) {
|
|
55112
|
+
return;
|
|
55113
|
+
}
|
|
55114
|
+
for (var index = 0; index < NUM_TINTS; index += 1) {
|
|
55115
|
+
if (tints[index] != null) {
|
|
55116
|
+
element.drawingObject.updateUniform("u_tint".concat(index), tints[index]);
|
|
55117
|
+
}
|
|
55118
|
+
}
|
|
55119
|
+
});
|
|
55120
|
+
}
|
|
55121
|
+
|
|
54923
55122
|
// Setup move, touch, scenarios, dim and default colors if defined in
|
|
54924
55123
|
// options
|
|
54925
55124
|
if (options.move != null && options.move !== false) {
|
|
@@ -54940,7 +55139,7 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
54940
55139
|
element.scenarios = options.scenarios;
|
|
54941
55140
|
}
|
|
54942
55141
|
if (options.scene != null) {
|
|
54943
|
-
if (options.scene instanceof
|
|
55142
|
+
if (options.scene instanceof _tools_geometry_scene__WEBPACK_IMPORTED_MODULE_23__["default"]) {
|
|
54944
55143
|
element.scene = options.scene;
|
|
54945
55144
|
} else {
|
|
54946
55145
|
element.setScene(options.scene);
|
|
@@ -54966,13 +55165,13 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
54966
55165
|
for (var _len2 = arguments.length, optionsIn = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
54967
55166
|
optionsIn[_key2] = arguments[_key2];
|
|
54968
55167
|
}
|
|
54969
|
-
var oIn =
|
|
55168
|
+
var oIn = _tools_tools__WEBPACK_IMPORTED_MODULE_5__.joinObjects.apply(void 0, [{}].concat(optionsIn));
|
|
54970
55169
|
var defaultOptions = {
|
|
54971
55170
|
dimension: 3,
|
|
54972
55171
|
light: oIn.lines ? null : 'directional',
|
|
54973
55172
|
usage: 'STATIC'
|
|
54974
55173
|
};
|
|
54975
|
-
var options = (0,
|
|
55174
|
+
var options = (0,_tools_tools__WEBPACK_IMPORTED_MODULE_5__.joinObjects)({}, defaultOptions, oIn);
|
|
54976
55175
|
var dim = options.dimension;
|
|
54977
55176
|
var processOptions = function processOptions(o, u) {
|
|
54978
55177
|
if (o.usage == null) {
|
|
@@ -54985,13 +55184,13 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
54985
55184
|
// and colors
|
|
54986
55185
|
if (o.copy != null) {
|
|
54987
55186
|
if (o.vertices != null) {
|
|
54988
|
-
o.vertices = (0,
|
|
55187
|
+
o.vertices = (0,_geometries_copy_copy__WEBPACK_IMPORTED_MODULE_21__.copyPoints)(o.vertices, o.copy, 'points');
|
|
54989
55188
|
}
|
|
54990
55189
|
if (o.normals != null) {
|
|
54991
|
-
o.normals = (0,
|
|
55190
|
+
o.normals = (0,_geometries_copy_copy__WEBPACK_IMPORTED_MODULE_21__.copyPoints)(o.normals, o.copy, 'normals');
|
|
54992
55191
|
}
|
|
54993
55192
|
if (o.colors != null) {
|
|
54994
|
-
var count = (0,
|
|
55193
|
+
var count = (0,_geometries_copy_copy__WEBPACK_IMPORTED_MODULE_21__.getCopyCount)(o.copy);
|
|
54995
55194
|
var out = [];
|
|
54996
55195
|
for (var i = 0; i < count; i += 1) {
|
|
54997
55196
|
out.push.apply(out, _toConsumableArray(o.colors.map(function (c) {
|
|
@@ -55001,7 +55200,7 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
55001
55200
|
o.colors = out;
|
|
55002
55201
|
}
|
|
55003
55202
|
if (o.texture != null && o.texture.coords != null) {
|
|
55004
|
-
var _count = (0,
|
|
55203
|
+
var _count = (0,_geometries_copy_copy__WEBPACK_IMPORTED_MODULE_21__.getCopyCount)(o.copy);
|
|
55005
55204
|
var _out = [];
|
|
55006
55205
|
for (var _i = 0; _i < _count; _i += 1) {
|
|
55007
55206
|
_out.push.apply(_out, _toConsumableArray(o.texture.coords.slice()));
|
|
@@ -55072,8 +55271,8 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
55072
55271
|
}, {
|
|
55073
55272
|
key: "generic3DBase",
|
|
55074
55273
|
value: function generic3DBase(defaultOptions, optionsIn, getPointsFn) {
|
|
55075
|
-
var options = (0,
|
|
55076
|
-
var element = this.generic3((0,
|
|
55274
|
+
var options = (0,_tools_tools__WEBPACK_IMPORTED_MODULE_5__.joinObjects)({}, defaultOptions, optionsIn);
|
|
55275
|
+
var element = this.generic3((0,_tools_tools__WEBPACK_IMPORTED_MODULE_5__.joinObjects)({}, options, {
|
|
55077
55276
|
points: [],
|
|
55078
55277
|
normals: options.lines ? null : [],
|
|
55079
55278
|
glPrimitive: options.lines ? 'LINES' : undefined
|
|
@@ -55085,7 +55284,7 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
55085
55284
|
element.custom.options = options;
|
|
55086
55285
|
element.custom.getPoints = getPointsFn;
|
|
55087
55286
|
element.custom.updatePoints = function (updateOptions) {
|
|
55088
|
-
var o = (0,
|
|
55287
|
+
var o = (0,_tools_tools__WEBPACK_IMPORTED_MODULE_5__.joinObjects)({}, element.custom.options, {
|
|
55089
55288
|
transform: [],
|
|
55090
55289
|
position: [0, 0]
|
|
55091
55290
|
}, updateOptions);
|
|
@@ -55098,12 +55297,12 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
55098
55297
|
points = _element$custom$getPo2[0],
|
|
55099
55298
|
normals = _element$custom$getPo2[1];
|
|
55100
55299
|
if (o.lines == null || o.lines === false) {
|
|
55101
|
-
element.custom.updateGeneric3((0,
|
|
55300
|
+
element.custom.updateGeneric3((0,_tools_tools__WEBPACK_IMPORTED_MODULE_5__.joinObjects)({}, o, {
|
|
55102
55301
|
points: points,
|
|
55103
55302
|
normals: normals
|
|
55104
55303
|
}));
|
|
55105
55304
|
} else {
|
|
55106
|
-
element.custom.updateGeneric3((0,
|
|
55305
|
+
element.custom.updateGeneric3((0,_tools_tools__WEBPACK_IMPORTED_MODULE_5__.joinObjects)({}, o, {
|
|
55107
55306
|
points: points,
|
|
55108
55307
|
normals: null
|
|
55109
55308
|
}));
|
|
@@ -55123,7 +55322,7 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
55123
55322
|
sides: 10,
|
|
55124
55323
|
normals: 'flat',
|
|
55125
55324
|
center: [0, 0, 0]
|
|
55126
|
-
},
|
|
55325
|
+
}, _tools_tools__WEBPACK_IMPORTED_MODULE_5__.joinObjects.apply(void 0, [{}].concat(optionsIn)), function (o) {
|
|
55127
55326
|
return (0,_tools_g2__WEBPACK_IMPORTED_MODULE_0__.sphere)(o);
|
|
55128
55327
|
});
|
|
55129
55328
|
}
|
|
@@ -55135,7 +55334,7 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
55135
55334
|
}
|
|
55136
55335
|
return this.generic3DBase({
|
|
55137
55336
|
side: this.defaultLength
|
|
55138
|
-
},
|
|
55337
|
+
}, _tools_tools__WEBPACK_IMPORTED_MODULE_5__.joinObjects.apply(void 0, [{}].concat(optionsIn)), function (o) {
|
|
55139
55338
|
return (0,_tools_g2__WEBPACK_IMPORTED_MODULE_0__.cube)(o);
|
|
55140
55339
|
});
|
|
55141
55340
|
}
|
|
@@ -55147,7 +55346,7 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
55147
55346
|
}
|
|
55148
55347
|
return this.generic3DBase({
|
|
55149
55348
|
length: this.defaultLength / 3
|
|
55150
|
-
},
|
|
55349
|
+
}, _tools_tools__WEBPACK_IMPORTED_MODULE_5__.joinObjects.apply(void 0, [{}].concat(optionsIn)), function (o) {
|
|
55151
55350
|
return (0,_tools_g2__WEBPACK_IMPORTED_MODULE_0__.prism)(o);
|
|
55152
55351
|
});
|
|
55153
55352
|
}
|
|
@@ -55161,7 +55360,7 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
55161
55360
|
radius: this.defaultLength / 20,
|
|
55162
55361
|
sides: 10,
|
|
55163
55362
|
normals: 'flat'
|
|
55164
|
-
},
|
|
55363
|
+
}, _tools_tools__WEBPACK_IMPORTED_MODULE_5__.joinObjects.apply(void 0, [{}].concat(optionsIn)), function (o) {
|
|
55165
55364
|
return (0,_tools_g2__WEBPACK_IMPORTED_MODULE_0__.cylinder)(o);
|
|
55166
55365
|
});
|
|
55167
55366
|
}
|
|
@@ -55176,7 +55375,7 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
55176
55375
|
sides: 10,
|
|
55177
55376
|
normals: 'flat',
|
|
55178
55377
|
length: 1
|
|
55179
|
-
},
|
|
55378
|
+
}, _tools_tools__WEBPACK_IMPORTED_MODULE_5__.joinObjects.apply(void 0, [{}].concat(optionsIn)), function (o) {
|
|
55180
55379
|
return (0,_tools_g2__WEBPACK_IMPORTED_MODULE_0__.cone)(o);
|
|
55181
55380
|
});
|
|
55182
55381
|
}
|
|
@@ -55190,7 +55389,7 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
55190
55389
|
width: this.defaultLength / 40,
|
|
55191
55390
|
sides: 10,
|
|
55192
55391
|
normals: 'curve'
|
|
55193
|
-
},
|
|
55392
|
+
}, _tools_tools__WEBPACK_IMPORTED_MODULE_5__.joinObjects.apply(void 0, [{}].concat(optionsIn)), function (o) {
|
|
55194
55393
|
return (0,_tools_g2__WEBPACK_IMPORTED_MODULE_0__.line3)(o);
|
|
55195
55394
|
});
|
|
55196
55395
|
}
|
|
@@ -55203,7 +55402,7 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
55203
55402
|
return this.generic3DBase({
|
|
55204
55403
|
sides: 10,
|
|
55205
55404
|
normals: 'flat'
|
|
55206
|
-
},
|
|
55405
|
+
}, _tools_tools__WEBPACK_IMPORTED_MODULE_5__.joinObjects.apply(void 0, [{}].concat(optionsIn)), function (o) {
|
|
55207
55406
|
return (0,_tools_g2__WEBPACK_IMPORTED_MODULE_0__.revolve)(o);
|
|
55208
55407
|
});
|
|
55209
55408
|
}
|
|
@@ -55216,7 +55415,7 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
55216
55415
|
return this.generic3DBase({
|
|
55217
55416
|
normals: 'flat',
|
|
55218
55417
|
lines: false
|
|
55219
|
-
},
|
|
55418
|
+
}, _tools_tools__WEBPACK_IMPORTED_MODULE_5__.joinObjects.apply(void 0, [{}].concat(optionsIn)), function (o) {
|
|
55220
55419
|
return _tools_g2__WEBPACK_IMPORTED_MODULE_0__.surface.surface(o);
|
|
55221
55420
|
});
|
|
55222
55421
|
}
|
|
@@ -55244,7 +55443,7 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
55244
55443
|
value: function morph() {
|
|
55245
55444
|
var _this = this;
|
|
55246
55445
|
var defaultOptions = {
|
|
55247
|
-
name: (0,
|
|
55446
|
+
name: (0,_tools_tools__WEBPACK_IMPORTED_MODULE_5__.generateUniqueId)('primitive_'),
|
|
55248
55447
|
color: this.defaultColor,
|
|
55249
55448
|
points: [],
|
|
55250
55449
|
glPrimitive: 'TRIANGLES',
|
|
@@ -55254,7 +55453,7 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
55254
55453
|
for (var _len1 = arguments.length, optionsIn = new Array(_len1), _key1 = 0; _key1 < _len1; _key1++) {
|
|
55255
55454
|
optionsIn[_key1] = arguments[_key1];
|
|
55256
55455
|
}
|
|
55257
|
-
var options =
|
|
55456
|
+
var options = _tools_tools__WEBPACK_IMPORTED_MODULE_5__.joinObjects.apply(void 0, [{}, defaultOptions].concat(optionsIn));
|
|
55258
55457
|
options.transform = (0,_tools_g2__WEBPACK_IMPORTED_MODULE_0__.getTransform)(options.transform);
|
|
55259
55458
|
if (options.position != null) {
|
|
55260
55459
|
options.position = (0,_tools_g2__WEBPACK_IMPORTED_MODULE_0__.getPoint)(options.position);
|
|
@@ -55266,7 +55465,7 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
55266
55465
|
colorVertex = true;
|
|
55267
55466
|
fragmentShader = 'vertexColor';
|
|
55268
55467
|
}
|
|
55269
|
-
var glObject = new
|
|
55468
|
+
var glObject = new _DrawingObjects_GLObject_GLObject__WEBPACK_IMPORTED_MODULE_6__["default"](this.webgl[0], ['morpher', options.points.length, colorVertex], fragmentShader);
|
|
55270
55469
|
glObject.setPrimitive(options.glPrimitive.toUpperCase());
|
|
55271
55470
|
var shapeNameMap = {};
|
|
55272
55471
|
if (options.names != null) {
|
|
@@ -55285,7 +55484,7 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
55285
55484
|
usage: 'STATIC',
|
|
55286
55485
|
size: 2
|
|
55287
55486
|
};
|
|
55288
|
-
var b = (0,
|
|
55487
|
+
var b = (0,_tools_tools__WEBPACK_IMPORTED_MODULE_5__.joinObjects)({}, defaultBuffer);
|
|
55289
55488
|
glObject.addAttribute(attribute, b.size, points, b.type, b.normalize, b.stride, b.offset, b.usageIn);
|
|
55290
55489
|
});
|
|
55291
55490
|
if (colorVertex) {
|
|
@@ -55310,7 +55509,7 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
55310
55509
|
usage: 'STATIC',
|
|
55311
55510
|
size: 4
|
|
55312
55511
|
};
|
|
55313
|
-
var b = (0,
|
|
55512
|
+
var b = (0,_tools_tools__WEBPACK_IMPORTED_MODULE_5__.joinObjects)({}, defaultBuffer);
|
|
55314
55513
|
glObject.addAttribute(attribute, b.size, colors, b.type, b.normalize, b.stride, b.offset, b.usageIn);
|
|
55315
55514
|
});
|
|
55316
55515
|
options.color = this.defaultColor;
|
|
@@ -55318,7 +55517,7 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
55318
55517
|
glObject.addUniform('u_from', 1, 'INT');
|
|
55319
55518
|
glObject.addUniform('u_to', 1, 'INT');
|
|
55320
55519
|
glObject.addUniform('u_percent', 1, 'FLOAT');
|
|
55321
|
-
var element = new
|
|
55520
|
+
var element = new _FigureElementPrimitiveMorph__WEBPACK_IMPORTED_MODULE_8__["default"](glObject, options.transform, options.color, null, options.name);
|
|
55322
55521
|
element.shapeNameMap = shapeNameMap;
|
|
55323
55522
|
element.setPoints(0);
|
|
55324
55523
|
element.fnMap.add('_morphCallback', function (percentage, customProperties) {
|
|
@@ -55330,7 +55529,7 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
55330
55529
|
for (var _len10 = arguments.length, opt = new Array(_len10), _key10 = 0; _key10 < _len10; _key10++) {
|
|
55331
55530
|
opt[_key10] = arguments[_key10];
|
|
55332
55531
|
}
|
|
55333
|
-
var o =
|
|
55532
|
+
var o = _tools_tools__WEBPACK_IMPORTED_MODULE_5__.joinObjects.apply(void 0, [{}, {
|
|
55334
55533
|
progression: 'easeinout',
|
|
55335
55534
|
element: element
|
|
55336
55535
|
}].concat(opt));
|
|
@@ -55340,7 +55539,7 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
55340
55539
|
};
|
|
55341
55540
|
o.callback = '_morphCallback';
|
|
55342
55541
|
o.timeKeeper = _this.timeKeeper;
|
|
55343
|
-
return new
|
|
55542
|
+
return new _Animation_Animation__WEBPACK_IMPORTED_MODULE_7__.CustomAnimationStep(o);
|
|
55344
55543
|
};
|
|
55345
55544
|
element.animations.customSteps.push({
|
|
55346
55545
|
step: element.animations.morph.bind(this),
|
|
@@ -55458,7 +55657,7 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
55458
55657
|
for (var _len11 = arguments.length, optionsIn = new Array(_len11), _key11 = 0; _key11 < _len11; _key11++) {
|
|
55459
55658
|
optionsIn[_key11] = arguments[_key11];
|
|
55460
55659
|
}
|
|
55461
|
-
var oIn =
|
|
55660
|
+
var oIn = _tools_tools__WEBPACK_IMPORTED_MODULE_5__.joinObjects.apply(void 0, [{}].concat(optionsIn));
|
|
55462
55661
|
var element = this.generic3.apply(this, [{
|
|
55463
55662
|
dimension: 2,
|
|
55464
55663
|
light: null,
|
|
@@ -55546,7 +55745,7 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
55546
55745
|
drawBorderBuffer: 0,
|
|
55547
55746
|
simple: false
|
|
55548
55747
|
};
|
|
55549
|
-
var o = (0,
|
|
55748
|
+
var o = (0,_tools_tools__WEBPACK_IMPORTED_MODULE_5__.joinObjects)({}, defaultOptions, optionsIn);
|
|
55550
55749
|
if (o.linePrimitives === false) {
|
|
55551
55750
|
o.lineNum = 2;
|
|
55552
55751
|
}
|
|
@@ -55555,19 +55754,19 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
55555
55754
|
var drawBorder;
|
|
55556
55755
|
var drawBorderBuffer;
|
|
55557
55756
|
if (o.simple) {
|
|
55558
|
-
var _makeFastPolyLine = (0,
|
|
55757
|
+
var _makeFastPolyLine = (0,_geometries_lines_lines__WEBPACK_IMPORTED_MODULE_13__.makeFastPolyLine)(o.points, o.width, o.close);
|
|
55559
55758
|
var _makeFastPolyLine2 = _slicedToArray(_makeFastPolyLine, 3);
|
|
55560
55759
|
points = _makeFastPolyLine2[0];
|
|
55561
55760
|
drawBorder = _makeFastPolyLine2[1];
|
|
55562
55761
|
drawBorderBuffer = _makeFastPolyLine2[2];
|
|
55563
55762
|
} else if (o.cornersOnly) {
|
|
55564
|
-
var _makePolyLineCorners = (0,
|
|
55763
|
+
var _makePolyLineCorners = (0,_geometries_lines_lines__WEBPACK_IMPORTED_MODULE_13__.makePolyLineCorners)(o.points, o.width, o.close, o.cornerLength, o.widthIs, o.cornerStyle, o.cornerSize, o.cornerSides, o.minAutoCornerAngle, o.linePrimitives, o.lineNum, o.drawBorderBuffer);
|
|
55565
55764
|
var _makePolyLineCorners2 = _slicedToArray(_makePolyLineCorners, 3);
|
|
55566
55765
|
points = _makePolyLineCorners2[0];
|
|
55567
55766
|
drawBorder = _makePolyLineCorners2[1];
|
|
55568
55767
|
drawBorderBuffer = _makePolyLineCorners2[2];
|
|
55569
55768
|
} else {
|
|
55570
|
-
var _makePolyLine = (0,
|
|
55769
|
+
var _makePolyLine = (0,_geometries_lines_lines__WEBPACK_IMPORTED_MODULE_13__.makePolyLine)(o.points, o.width, o.close, o.widthIs, o.cornerStyle, o.cornerSize, o.cornerSides, o.minAutoCornerAngle, o.dash, o.linePrimitives, o.lineNum, o.drawBorder, o.drawBorderBuffer, o.arrow);
|
|
55571
55770
|
var _makePolyLine2 = _slicedToArray(_makePolyLine, 3);
|
|
55572
55771
|
points = _makePolyLine2[0];
|
|
55573
55772
|
drawBorder = _makePolyLine2[1];
|
|
@@ -55603,7 +55802,7 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
55603
55802
|
for (var _len12 = arguments.length, optionsIn = new Array(_len12), _key12 = 0; _key12 < _len12; _key12++) {
|
|
55604
55803
|
optionsIn[_key12] = arguments[_key12];
|
|
55605
55804
|
}
|
|
55606
|
-
var options =
|
|
55805
|
+
var options = _tools_tools__WEBPACK_IMPORTED_MODULE_5__.joinObjects.apply(void 0, [{}].concat(optionsIn));
|
|
55607
55806
|
var element = this.generic.apply(this, [{
|
|
55608
55807
|
transform: new _tools_g2__WEBPACK_IMPORTED_MODULE_0__.Transform().scale(1).rotate(0).translate(),
|
|
55609
55808
|
border: 'draw',
|
|
@@ -55628,7 +55827,7 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
55628
55827
|
drawBorderBuffer: 0
|
|
55629
55828
|
};
|
|
55630
55829
|
element.custom.updatePoints = function (updateOptions) {
|
|
55631
|
-
var _this2$getPolylineTri = _this2.getPolylineTris((0,
|
|
55830
|
+
var _this2$getPolylineTri = _this2.getPolylineTris((0,_tools_tools__WEBPACK_IMPORTED_MODULE_5__.joinObjects)({}, element.custom.options, updateOptions)),
|
|
55632
55831
|
_this2$getPolylineTri2 = _slicedToArray(_this2$getPolylineTri, 5),
|
|
55633
55832
|
o = _this2$getPolylineTri2[0],
|
|
55634
55833
|
points = _this2$getPolylineTri2[1],
|
|
@@ -55636,7 +55835,7 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
55636
55835
|
drawBorderBuffer = _this2$getPolylineTri2[3],
|
|
55637
55836
|
drawType = _this2$getPolylineTri2[4];
|
|
55638
55837
|
element.custom.options = o;
|
|
55639
|
-
element.custom.updateGeneric((0,
|
|
55838
|
+
element.custom.updateGeneric((0,_tools_tools__WEBPACK_IMPORTED_MODULE_5__.joinObjects)({}, o, {
|
|
55640
55839
|
points: points,
|
|
55641
55840
|
drawBorder: drawBorder,
|
|
55642
55841
|
drawBorderBuffer: drawBorderBuffer,
|
|
@@ -55663,12 +55862,12 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
55663
55862
|
if (o.sidesToDraw > o.sides) {
|
|
55664
55863
|
o.sidesToDraw = o.sides;
|
|
55665
55864
|
}
|
|
55666
|
-
var points = (0,
|
|
55865
|
+
var points = (0,_geometries_polygon_polygon__WEBPACK_IMPORTED_MODULE_14__.getPolygonPoints)(o);
|
|
55667
55866
|
// let { drawBorderBuffer } = o;
|
|
55668
55867
|
var drawBorderOffset = 0;
|
|
55669
55868
|
var drawBorder;
|
|
55670
55869
|
if (o.line != null) {
|
|
55671
|
-
o.line = (0,
|
|
55870
|
+
o.line = (0,_tools_tools__WEBPACK_IMPORTED_MODULE_5__.joinObjects)({}, {
|
|
55672
55871
|
width: this.defaultLineWidth,
|
|
55673
55872
|
widthIs: 'mid'
|
|
55674
55873
|
}, o.line);
|
|
@@ -55706,7 +55905,7 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
55706
55905
|
if (drawBorderOffset === 0) {
|
|
55707
55906
|
drawBorder = [points];
|
|
55708
55907
|
} else {
|
|
55709
|
-
drawBorder = [(0,
|
|
55908
|
+
drawBorder = [(0,_geometries_polygon_polygon__WEBPACK_IMPORTED_MODULE_14__.getPolygonPoints)((0,_tools_tools__WEBPACK_IMPORTED_MODULE_5__.joinObjects)({}, o, {
|
|
55710
55909
|
radius: o.radius + drawBorderOffset
|
|
55711
55910
|
}))];
|
|
55712
55911
|
}
|
|
@@ -55739,7 +55938,7 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
55739
55938
|
return [];
|
|
55740
55939
|
};
|
|
55741
55940
|
element.custom.updatePoints = function (updateOptions) {
|
|
55742
|
-
var borderOptions = (0,
|
|
55941
|
+
var borderOptions = (0,_tools_tools__WEBPACK_IMPORTED_MODULE_5__.joinObjects)({}, element.custom.options, updateOptions);
|
|
55743
55942
|
var _element$custom$getBo = element.custom.getBorder(borderOptions),
|
|
55744
55943
|
_element$custom$getBo2 = _slicedToArray(_element$custom$getBo, 2),
|
|
55745
55944
|
o = _element$custom$getBo2[0],
|
|
@@ -55750,10 +55949,10 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
55750
55949
|
points = _element$custom$getFi2[0],
|
|
55751
55950
|
drawType = _element$custom$getFi2[1];
|
|
55752
55951
|
element.custom.options = o;
|
|
55753
|
-
element.custom.updateGeneric((0,
|
|
55952
|
+
element.custom.updateGeneric((0,_tools_tools__WEBPACK_IMPORTED_MODULE_5__.joinObjects)({}, o, {
|
|
55754
55953
|
points: points,
|
|
55755
55954
|
drawBorder: border,
|
|
55756
|
-
drawBorderBuffer: (0,
|
|
55955
|
+
drawBorderBuffer: (0,_geometries_buffer__WEBPACK_IMPORTED_MODULE_22__.getBufferBorder)([border], o.drawBorderBuffer, element.custom.skipConcave, element.custom.bufferOffset),
|
|
55757
55956
|
drawType: drawType
|
|
55758
55957
|
}));
|
|
55759
55958
|
} else {
|
|
@@ -55768,7 +55967,7 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
55768
55967
|
o.line.drawBorder = 'positive';
|
|
55769
55968
|
bufferOffsetToUse = 'positive';
|
|
55770
55969
|
}
|
|
55771
|
-
var _element$custom$getLi = element.custom.getLine((0,
|
|
55970
|
+
var _element$custom$getLi = element.custom.getLine((0,_tools_tools__WEBPACK_IMPORTED_MODULE_5__.joinObjects)({}, o.line, {
|
|
55772
55971
|
points: border
|
|
55773
55972
|
})),
|
|
55774
55973
|
_element$custom$getLi2 = _slicedToArray(_element$custom$getLi, 5),
|
|
@@ -55781,8 +55980,8 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
55781
55980
|
if (element.custom.bufferOffset === 'positive') {
|
|
55782
55981
|
drawBorder.reverse();
|
|
55783
55982
|
}
|
|
55784
|
-
var drawBorderBuffer = (0,
|
|
55785
|
-
element.custom.updateGeneric((0,
|
|
55983
|
+
var drawBorderBuffer = (0,_geometries_buffer__WEBPACK_IMPORTED_MODULE_22__.getBufferBorder)(drawBorder, o.drawBorderBuffer, element.custom.skipConcave, bufferOffsetToUse);
|
|
55984
|
+
element.custom.updateGeneric((0,_tools_tools__WEBPACK_IMPORTED_MODULE_5__.joinObjects)({}, o, {
|
|
55786
55985
|
points: _points,
|
|
55787
55986
|
drawBorder: drawBorder,
|
|
55788
55987
|
drawBorderBuffer: drawBorderBuffer,
|
|
@@ -55810,7 +56009,7 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
55810
56009
|
direction: 1,
|
|
55811
56010
|
rotation: 0,
|
|
55812
56011
|
offset: new _tools_g2__WEBPACK_IMPORTED_MODULE_0__.Point(0, 0)
|
|
55813
|
-
},
|
|
56012
|
+
}, _tools_tools__WEBPACK_IMPORTED_MODULE_5__.joinObjects.apply(void 0, [{}].concat(options)));
|
|
55814
56013
|
element.custom.getBorder = function (o) {
|
|
55815
56014
|
var border = _this4.getPolygonBorder(o);
|
|
55816
56015
|
if (o.sidesToDraw !== o.sides) {
|
|
@@ -55827,13 +56026,13 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
55827
56026
|
return border;
|
|
55828
56027
|
};
|
|
55829
56028
|
element.custom.getFill = function (border, fillOptions) {
|
|
55830
|
-
return [(0,
|
|
56029
|
+
return [(0,_geometries_polygon_polygon__WEBPACK_IMPORTED_MODULE_14__.getTrisFillPolygon)(fillOptions.offset, border, fillOptions.sides, fillOptions.sidesToDraw), 'TRIANGLES'];
|
|
55831
56030
|
};
|
|
55832
56031
|
// element.custom.getLine = (o: OBJ_PolyLineTris) => this.getPolylineTris(o);
|
|
55833
56032
|
|
|
55834
56033
|
element.drawingObject.getPointCountForAngle = function (angle) {
|
|
55835
56034
|
var optionsToUse = element.custom.options;
|
|
55836
|
-
var sidesToDraw = Math.floor(
|
|
56035
|
+
var sidesToDraw = Math.floor(_tools_math__WEBPACK_IMPORTED_MODULE_4__.round(angle, 8) / _tools_math__WEBPACK_IMPORTED_MODULE_4__.round(Math.PI * 2, 8) * optionsToUse.sides);
|
|
55837
56036
|
if (optionsToUse.line == null) {
|
|
55838
56037
|
return sidesToDraw * 3;
|
|
55839
56038
|
}
|
|
@@ -55842,7 +56041,7 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
55842
56041
|
}
|
|
55843
56042
|
return sidesToDraw * 6;
|
|
55844
56043
|
};
|
|
55845
|
-
element.custom.updatePoints(
|
|
56044
|
+
element.custom.updatePoints(_tools_tools__WEBPACK_IMPORTED_MODULE_5__.joinObjects.apply(void 0, [{}].concat(options)));
|
|
55846
56045
|
return element;
|
|
55847
56046
|
}
|
|
55848
56047
|
|
|
@@ -55863,7 +56062,7 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
55863
56062
|
direction: 1,
|
|
55864
56063
|
rotation: 0,
|
|
55865
56064
|
offset: new _tools_g2__WEBPACK_IMPORTED_MODULE_0__.Point(0, 0)
|
|
55866
|
-
},
|
|
56065
|
+
}, _tools_tools__WEBPACK_IMPORTED_MODULE_5__.joinObjects.apply(void 0, [{}].concat(options)));
|
|
55867
56066
|
element.custom.getBorder = function (o) {
|
|
55868
56067
|
if (o.innerRadius == null) {
|
|
55869
56068
|
o.innerRadius = o.radius / 3;
|
|
@@ -55875,9 +56074,9 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
55875
56074
|
return result;
|
|
55876
56075
|
};
|
|
55877
56076
|
element.custom.getFill = function (border, fillOptions) {
|
|
55878
|
-
return [(0,
|
|
56077
|
+
return [(0,_geometries_polygon_polygon__WEBPACK_IMPORTED_MODULE_14__.getTrisFillPolygon)(fillOptions.offset, border, fillOptions.sides, fillOptions.sidesToDraw), 'TRIANGLES'];
|
|
55879
56078
|
};
|
|
55880
|
-
element.custom.updatePoints(
|
|
56079
|
+
element.custom.updatePoints(_tools_tools__WEBPACK_IMPORTED_MODULE_5__.joinObjects.apply(void 0, [{}].concat(options)));
|
|
55881
56080
|
return element;
|
|
55882
56081
|
}
|
|
55883
56082
|
|
|
@@ -55901,7 +56100,7 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
55901
56100
|
sides: 1
|
|
55902
56101
|
},
|
|
55903
56102
|
offset: [0, 0]
|
|
55904
|
-
},
|
|
56103
|
+
}, _tools_tools__WEBPACK_IMPORTED_MODULE_5__.joinObjects.apply(void 0, [{}].concat(options)));
|
|
55905
56104
|
element.custom.getBorder = function (o) {
|
|
55906
56105
|
if (o.line != null && o.line.widthIs === 'inside') {
|
|
55907
56106
|
o.line.widthIs = 'positive';
|
|
@@ -55912,13 +56111,13 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
55912
56111
|
if (o.offset != null) {
|
|
55913
56112
|
o.offset = (0,_tools_g2__WEBPACK_IMPORTED_MODULE_0__.getPoint)(o.offset);
|
|
55914
56113
|
}
|
|
55915
|
-
return [o, (0,
|
|
56114
|
+
return [o, (0,_geometries_rectangle__WEBPACK_IMPORTED_MODULE_15__.getRectangleBorder)(o)];
|
|
55916
56115
|
};
|
|
55917
56116
|
element.custom.getFill = function (border) {
|
|
55918
|
-
return [(0,
|
|
56117
|
+
return [(0,_geometries_rectangle__WEBPACK_IMPORTED_MODULE_15__.rectangleBorderToTris)(border), 'TRIANGLES'];
|
|
55919
56118
|
};
|
|
55920
56119
|
// element.custom.getLine = (o: OBJ_PolyLineTris) => this.getPolylineTris(o);
|
|
55921
|
-
element.custom.updatePoints(
|
|
56120
|
+
element.custom.updatePoints(_tools_tools__WEBPACK_IMPORTED_MODULE_5__.joinObjects.apply(void 0, [{}].concat(options)));
|
|
55922
56121
|
return element;
|
|
55923
56122
|
}
|
|
55924
56123
|
}, {
|
|
@@ -55937,7 +56136,7 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
55937
56136
|
yAlign: 'baseline',
|
|
55938
56137
|
transform: new _tools_g2__WEBPACK_IMPORTED_MODULE_0__.Transform().scale(1).rotate(0).translate(0, 0),
|
|
55939
56138
|
// color: this.defaultColor,
|
|
55940
|
-
name: (0,
|
|
56139
|
+
name: (0,_tools_tools__WEBPACK_IMPORTED_MODULE_5__.generateUniqueId)('primitive_'),
|
|
55941
56140
|
vertexShader: {
|
|
55942
56141
|
dimension: 2,
|
|
55943
56142
|
color: 'texture'
|
|
@@ -56004,7 +56203,7 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
56004
56203
|
yAlign: 'baseline',
|
|
56005
56204
|
transform: new _tools_g2__WEBPACK_IMPORTED_MODULE_0__.Transform().scale(1).rotate(0).translate(0, 0),
|
|
56006
56205
|
color: this.defaultColor,
|
|
56007
|
-
name: (0,
|
|
56206
|
+
name: (0,_tools_tools__WEBPACK_IMPORTED_MODULE_5__.generateUniqueId)('primitive_'),
|
|
56008
56207
|
vertexShader: {
|
|
56009
56208
|
dimension: 2,
|
|
56010
56209
|
color: 'texture'
|
|
@@ -56029,7 +56228,7 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
56029
56228
|
for (var _len18 = arguments.length, fo = new Array(_len18), _key18 = 0; _key18 < _len18; _key18++) {
|
|
56030
56229
|
fo[_key18] = arguments[_key18];
|
|
56031
56230
|
}
|
|
56032
|
-
return _construct(
|
|
56231
|
+
return _construct(_FigureElementPrimitiveGLText__WEBPACK_IMPORTED_MODULE_10__["default"], fo);
|
|
56033
56232
|
};
|
|
56034
56233
|
var element = this.gl(o);
|
|
56035
56234
|
element.setup(o);
|
|
@@ -56060,7 +56259,7 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
56060
56259
|
element.scenarios = options.scenarios;
|
|
56061
56260
|
}
|
|
56062
56261
|
if (options.scene != null) {
|
|
56063
|
-
if (options.scene instanceof
|
|
56262
|
+
if (options.scene instanceof _tools_geometry_scene__WEBPACK_IMPORTED_MODULE_23__["default"]) {
|
|
56064
56263
|
element.scene = options.scene;
|
|
56065
56264
|
} else {
|
|
56066
56265
|
element.setScene(options.scene);
|
|
@@ -56084,7 +56283,7 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
56084
56283
|
yAlign: 'baseline',
|
|
56085
56284
|
transform: new _tools_g2__WEBPACK_IMPORTED_MODULE_0__.Transform().scale(1).rotate(0).translate(0, 0),
|
|
56086
56285
|
color: this.defaultColor,
|
|
56087
|
-
name: (0,
|
|
56286
|
+
name: (0,_tools_tools__WEBPACK_IMPORTED_MODULE_5__.generateUniqueId)('primitive_'),
|
|
56088
56287
|
adjustments: {
|
|
56089
56288
|
width: 0,
|
|
56090
56289
|
ascent: 0,
|
|
@@ -56101,14 +56300,14 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
56101
56300
|
for (var _len20 = arguments.length, fo = new Array(_len20), _key20 = 0; _key20 < _len20; _key20++) {
|
|
56102
56301
|
fo[_key20] = arguments[_key20];
|
|
56103
56302
|
}
|
|
56104
|
-
return _construct(
|
|
56303
|
+
return _construct(_FigureElementPrimitiveGLText__WEBPACK_IMPORTED_MODULE_10__["default"], fo);
|
|
56105
56304
|
};
|
|
56106
56305
|
o.transform = (0,_tools_g2__WEBPACK_IMPORTED_MODULE_0__.getTransform)(o.transform);
|
|
56107
56306
|
if (o.position != null) {
|
|
56108
56307
|
o.position = (0,_tools_g2__WEBPACK_IMPORTED_MODULE_0__.getPoint)(o.position);
|
|
56109
56308
|
o.transform.updateTranslation(o.position);
|
|
56110
56309
|
}
|
|
56111
|
-
var element = new
|
|
56310
|
+
var element = new _FigureElementPrimitive2DText__WEBPACK_IMPORTED_MODULE_9__["default"](this.draw2D[0], o);
|
|
56112
56311
|
return this.elementSetup(element, o);
|
|
56113
56312
|
}
|
|
56114
56313
|
}, {
|
|
@@ -56128,15 +56327,15 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
56128
56327
|
for (var _len21 = arguments.length, options = new Array(_len21), _key21 = 0; _key21 < _len21; _key21++) {
|
|
56129
56328
|
options[_key21] = arguments[_key21];
|
|
56130
56329
|
}
|
|
56131
|
-
var combinedOptions =
|
|
56330
|
+
var combinedOptions = _tools_tools__WEBPACK_IMPORTED_MODULE_5__.joinObjects.apply(void 0, [{}].concat(options));
|
|
56132
56331
|
for (var i = options.length - 1; i >= 0; i -= 1) {
|
|
56133
|
-
if (options[i].scene != null && options[i].scene instanceof
|
|
56332
|
+
if (options[i].scene != null && options[i].scene instanceof _tools_geometry_scene__WEBPACK_IMPORTED_MODULE_23__["default"]) {
|
|
56134
56333
|
combinedOptions.scene = options[i].scene;
|
|
56135
56334
|
break;
|
|
56136
56335
|
}
|
|
56137
56336
|
}
|
|
56138
56337
|
for (var _i2 = options.length - 1; _i2 >= 0; _i2 -= 1) {
|
|
56139
|
-
if (options[_i2].changeScene != null && options[_i2].changeScene instanceof
|
|
56338
|
+
if (options[_i2].changeScene != null && options[_i2].changeScene instanceof _tools_geometry_scene__WEBPACK_IMPORTED_MODULE_23__["default"]) {
|
|
56140
56339
|
combinedOptions.changeScene = options[_i2].changeScene;
|
|
56141
56340
|
break;
|
|
56142
56341
|
}
|
|
@@ -56145,16 +56344,16 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
56145
56344
|
scene = combinedOptions.scene;
|
|
56146
56345
|
if (scene == null) {
|
|
56147
56346
|
scene = this.scene;
|
|
56148
|
-
} else if (!(scene instanceof
|
|
56149
|
-
scene = new
|
|
56347
|
+
} else if (!(scene instanceof _tools_geometry_scene__WEBPACK_IMPORTED_MODULE_23__["default"])) {
|
|
56348
|
+
scene = new _tools_geometry_scene__WEBPACK_IMPORTED_MODULE_23__["default"](scene);
|
|
56150
56349
|
}
|
|
56151
|
-
if (changeScene != null && !(changeScene instanceof
|
|
56152
|
-
changeScene = new
|
|
56350
|
+
if (changeScene != null && !(changeScene instanceof _tools_geometry_scene__WEBPACK_IMPORTED_MODULE_23__["default"])) {
|
|
56351
|
+
changeScene = new _tools_geometry_scene__WEBPACK_IMPORTED_MODULE_23__["default"](changeScene);
|
|
56153
56352
|
}
|
|
56154
56353
|
defaultOptions.width = scene.right - scene.left;
|
|
56155
56354
|
defaultOptions.height = scene.top - scene.bottom;
|
|
56156
56355
|
defaultOptions.position = [scene.left + defaultOptions.width / 2, scene.bottom + defaultOptions.height / 2];
|
|
56157
|
-
var o = (0,
|
|
56356
|
+
var o = (0,_tools_tools__WEBPACK_IMPORTED_MODULE_5__.joinObjectsWithOptions)({}, defaultOptions, combinedOptions);
|
|
56158
56357
|
var element = this.rectangle({
|
|
56159
56358
|
width: o.width,
|
|
56160
56359
|
height: o.height,
|
|
@@ -56166,7 +56365,7 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
56166
56365
|
for (var _len22 = arguments.length, fo = new Array(_len22), _key22 = 0; _key22 < _len22; _key22++) {
|
|
56167
56366
|
fo[_key22] = arguments[_key22];
|
|
56168
56367
|
}
|
|
56169
|
-
return _construct(
|
|
56368
|
+
return _construct(_FigureElementPrimitiveGesture__WEBPACK_IMPORTED_MODULE_24__["default"], fo);
|
|
56170
56369
|
}
|
|
56171
56370
|
});
|
|
56172
56371
|
element.setup(o);
|
|
@@ -56186,7 +56385,7 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
56186
56385
|
for (var _len23 = arguments.length, options = new Array(_len23), _key23 = 0; _key23 < _len23; _key23++) {
|
|
56187
56386
|
options[_key23] = arguments[_key23];
|
|
56188
56387
|
}
|
|
56189
|
-
var o =
|
|
56388
|
+
var o = _tools_tools__WEBPACK_IMPORTED_MODULE_5__.joinObjectsWithOptions.apply(void 0, [{
|
|
56190
56389
|
except: 'controlScene'
|
|
56191
56390
|
}, {}, {
|
|
56192
56391
|
left: 0,
|
|
@@ -56218,7 +56417,7 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
56218
56417
|
}
|
|
56219
56418
|
for (var i = options.length - 1; i >= 0; i -= 1) {
|
|
56220
56419
|
if (options[i].controlScene != null) {
|
|
56221
|
-
if (options[i].controlScene instanceof
|
|
56420
|
+
if (options[i].controlScene instanceof _tools_geometry_scene__WEBPACK_IMPORTED_MODULE_23__["default"]) {
|
|
56222
56421
|
element.custom.sceneToChange = options[i].controlScene;
|
|
56223
56422
|
i = -1;
|
|
56224
56423
|
} else if (typeof options[i].controlScene === 'string') {
|
|
@@ -56227,7 +56426,7 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
56227
56426
|
}
|
|
56228
56427
|
}
|
|
56229
56428
|
}
|
|
56230
|
-
element.scene = new
|
|
56429
|
+
element.scene = new _tools_geometry_scene__WEBPACK_IMPORTED_MODULE_23__["default"]({
|
|
56231
56430
|
style: '2D',
|
|
56232
56431
|
left: 0,
|
|
56233
56432
|
right: 1,
|
|
@@ -56286,7 +56485,7 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
56286
56485
|
}
|
|
56287
56486
|
if (deltaEl > 0 && angleToLock > Math.PI / 2) {
|
|
56288
56487
|
angleToLock = Math.PI - angleToLock;
|
|
56289
|
-
deltaEl =
|
|
56488
|
+
deltaEl = _tools_math__WEBPACK_IMPORTED_MODULE_4__.round(Math.min(angleToLock - deltaAngle, deltaEl), 4);
|
|
56290
56489
|
}
|
|
56291
56490
|
var t = [['r', deltaEl].concat(_toConsumableArray(tiltAxis.toArray())), ['r', deltaAz].concat(_toConsumableArray(panAxis.toArray()))];
|
|
56292
56491
|
var matrix = (0,_tools_g2__WEBPACK_IMPORTED_MODULE_0__.getTransform)(t).matrix();
|
|
@@ -56316,7 +56515,7 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
56316
56515
|
xAlign: 'center',
|
|
56317
56516
|
yAlign: 'middle',
|
|
56318
56517
|
sides: 20
|
|
56319
|
-
},
|
|
56518
|
+
}, _tools_tools__WEBPACK_IMPORTED_MODULE_5__.joinObjects.apply(void 0, [{}].concat(options)));
|
|
56320
56519
|
element.custom.getBorder = function (o) {
|
|
56321
56520
|
if (o.line != null && o.line.widthIs === 'inside') {
|
|
56322
56521
|
o.line.widthIs = 'positive';
|
|
@@ -56324,13 +56523,13 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
56324
56523
|
if (o.line != null && o.line.widthIs === 'outside') {
|
|
56325
56524
|
o.line.widthIs = 'negative';
|
|
56326
56525
|
}
|
|
56327
|
-
return [o, (0,
|
|
56526
|
+
return [o, (0,_geometries_ellipse__WEBPACK_IMPORTED_MODULE_16__.getEllipseBorder)(o)];
|
|
56328
56527
|
};
|
|
56329
56528
|
element.custom.getFill = function (border) {
|
|
56330
|
-
return [(0,
|
|
56529
|
+
return [(0,_geometries_ellipse__WEBPACK_IMPORTED_MODULE_16__.ellipseBorderToTris)(border), 'TRIANGLES'];
|
|
56331
56530
|
};
|
|
56332
56531
|
// element.custom.getLine = (o: OBJ_PolyLineTris) => this.getPolylineTris(o);
|
|
56333
|
-
element.custom.updatePoints(
|
|
56532
|
+
element.custom.updatePoints(_tools_tools__WEBPACK_IMPORTED_MODULE_5__.joinObjects.apply(void 0, [{}].concat(options)));
|
|
56334
56533
|
return element;
|
|
56335
56534
|
}
|
|
56336
56535
|
|
|
@@ -56351,7 +56550,7 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
56351
56550
|
angle: 1,
|
|
56352
56551
|
offset: [0, 0],
|
|
56353
56552
|
fillCenter: false
|
|
56354
|
-
},
|
|
56553
|
+
}, _tools_tools__WEBPACK_IMPORTED_MODULE_5__.joinObjects.apply(void 0, [{}].concat(options)));
|
|
56355
56554
|
element.custom.getBorder = function (o) {
|
|
56356
56555
|
if (o.line != null && o.line.widthIs === 'inside') {
|
|
56357
56556
|
o.line.widthIs = 'positive';
|
|
@@ -56363,13 +56562,13 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
56363
56562
|
o.offset = (0,_tools_g2__WEBPACK_IMPORTED_MODULE_0__.getPoint)(o.offset);
|
|
56364
56563
|
}
|
|
56365
56564
|
element.custom.close = false;
|
|
56366
|
-
return [o, (0,
|
|
56565
|
+
return [o, (0,_geometries_arc__WEBPACK_IMPORTED_MODULE_17__.getArcBorder)(o)];
|
|
56367
56566
|
};
|
|
56368
56567
|
element.custom.getFill = function (border) {
|
|
56369
|
-
return [(0,
|
|
56568
|
+
return [(0,_geometries_arc__WEBPACK_IMPORTED_MODULE_17__.arcBorderToTris)(border), 'TRIANGLES'];
|
|
56370
56569
|
};
|
|
56371
56570
|
// element.custom.getLine = (o: OBJ_PolyLineTris) => this.getPolylineTris(o);
|
|
56372
|
-
element.custom.updatePoints(
|
|
56571
|
+
element.custom.updatePoints(_tools_tools__WEBPACK_IMPORTED_MODULE_5__.joinObjects.apply(void 0, [{}].concat(options)));
|
|
56373
56572
|
return element;
|
|
56374
56573
|
}
|
|
56375
56574
|
|
|
@@ -56391,7 +56590,7 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
56391
56590
|
top: 'center',
|
|
56392
56591
|
direction: 1,
|
|
56393
56592
|
rotation: 0
|
|
56394
|
-
},
|
|
56593
|
+
}, _tools_tools__WEBPACK_IMPORTED_MODULE_5__.joinObjects.apply(void 0, [{}].concat(options)));
|
|
56395
56594
|
element.custom.getBorder = function (o) {
|
|
56396
56595
|
if (o.xAlign == null) {
|
|
56397
56596
|
if (o.points != null) {
|
|
@@ -56418,8 +56617,8 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
56418
56617
|
// } else {
|
|
56419
56618
|
// element.custom.bufferOffset = 'negative';
|
|
56420
56619
|
// }
|
|
56421
|
-
var border = (0,
|
|
56422
|
-
if (o.direction === -1 || (0,
|
|
56620
|
+
var border = (0,_geometries_triangle__WEBPACK_IMPORTED_MODULE_18__.getTriangleBorder)(o);
|
|
56621
|
+
if (o.direction === -1 || (0,_geometries_triangle__WEBPACK_IMPORTED_MODULE_18__.getTriangleDirection)(border) === -1) {
|
|
56423
56622
|
border.reverse();
|
|
56424
56623
|
}
|
|
56425
56624
|
return [o, border];
|
|
@@ -56431,7 +56630,7 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
56431
56630
|
element.custom.getFill = function (border) {
|
|
56432
56631
|
return [border, 'TRIANGLES'];
|
|
56433
56632
|
};
|
|
56434
|
-
element.custom.updatePoints(
|
|
56633
|
+
element.custom.updatePoints(_tools_tools__WEBPACK_IMPORTED_MODULE_5__.joinObjects.apply(void 0, [{}].concat(options)));
|
|
56435
56634
|
return element;
|
|
56436
56635
|
}
|
|
56437
56636
|
|
|
@@ -56456,7 +56655,7 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
56456
56655
|
tail: false,
|
|
56457
56656
|
drawPosition: new _tools_g2__WEBPACK_IMPORTED_MODULE_0__.Point(0, 0)
|
|
56458
56657
|
// barb: this.defaultLength / 8,
|
|
56459
|
-
},
|
|
56658
|
+
}, _tools_tools__WEBPACK_IMPORTED_MODULE_5__.joinObjects.apply(void 0, [{}].concat(options)));
|
|
56460
56659
|
element.custom.getBorder = function (o) {
|
|
56461
56660
|
if (o.line != null && o.line.widthIs === 'inside') {
|
|
56462
56661
|
o.line.widthIs = 'positive';
|
|
@@ -56464,17 +56663,17 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
56464
56663
|
if (o.line != null && o.line.widthIs === 'outside') {
|
|
56465
56664
|
o.line.widthIs = 'negative';
|
|
56466
56665
|
}
|
|
56467
|
-
var optionsWithDefaultArrow = (0,
|
|
56468
|
-
var _getArrow = (0,
|
|
56666
|
+
var optionsWithDefaultArrow = (0,_geometries_arrow__WEBPACK_IMPORTED_MODULE_19__.defaultArrowOptions)(o);
|
|
56667
|
+
var _getArrow = (0,_geometries_arrow__WEBPACK_IMPORTED_MODULE_19__.getArrow)(optionsWithDefaultArrow),
|
|
56469
56668
|
_getArrow2 = _slicedToArray(_getArrow, 2),
|
|
56470
56669
|
border = _getArrow2[0],
|
|
56471
56670
|
borderBuffer = _getArrow2[1];
|
|
56472
56671
|
return [optionsWithDefaultArrow, border, borderBuffer];
|
|
56473
56672
|
};
|
|
56474
56673
|
element.custom.getFill = function (border, o) {
|
|
56475
|
-
return [(0,
|
|
56674
|
+
return [(0,_geometries_arrow__WEBPACK_IMPORTED_MODULE_19__.getArrowTris)(border, o), 'TRIANGLES'];
|
|
56476
56675
|
};
|
|
56477
|
-
element.custom.updatePoints(
|
|
56676
|
+
element.custom.updatePoints(_tools_tools__WEBPACK_IMPORTED_MODULE_5__.joinObjects.apply(void 0, [{}].concat(options)));
|
|
56478
56677
|
return element;
|
|
56479
56678
|
}
|
|
56480
56679
|
|
|
@@ -56503,7 +56702,7 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
56503
56702
|
}
|
|
56504
56703
|
};
|
|
56505
56704
|
var getTris = function getTris(points) {
|
|
56506
|
-
return (0,
|
|
56705
|
+
return (0,_geometries_lines_lines__WEBPACK_IMPORTED_MODULE_13__.makePolyLine)(points, element.custom.options.line.width, false, 'mid', 'auto',
|
|
56507
56706
|
// cornerStyle doesn't matter
|
|
56508
56707
|
0.1,
|
|
56509
56708
|
// cornerSize doesn't matter
|
|
@@ -56514,7 +56713,7 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
56514
56713
|
element.custom.options.line.dash, element.custom.options.line.linePrimitives, element.custom.options.line.lineNum, [[]], 0);
|
|
56515
56714
|
};
|
|
56516
56715
|
element.custom.updatePoints = function (updateOptions) {
|
|
56517
|
-
var o = (0,
|
|
56716
|
+
var o = (0,_tools_tools__WEBPACK_IMPORTED_MODULE_5__.joinObjects)({}, element.custom.options, updateOptions);
|
|
56518
56717
|
element.custom.options = o;
|
|
56519
56718
|
// Prioritize Num over Step. Only define Num from Step if Num is undefined.
|
|
56520
56719
|
var bounds = (0,_tools_g2__WEBPACK_IMPORTED_MODULE_0__.getRect)(o.bounds);
|
|
@@ -56567,7 +56766,7 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
56567
56766
|
var _getTris = getTris([yLineStart, yLineStop]),
|
|
56568
56767
|
_getTris2 = _slicedToArray(_getTris, 1),
|
|
56569
56768
|
yLine = _getTris2[0];
|
|
56570
|
-
yTris = (0,
|
|
56769
|
+
yTris = (0,_geometries_copy_copy__WEBPACK_IMPORTED_MODULE_21__.copyPoints)(yLine, [{
|
|
56571
56770
|
along: 'x',
|
|
56572
56771
|
num: xNum - 1,
|
|
56573
56772
|
step: xStep
|
|
@@ -56577,7 +56776,7 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
56577
56776
|
var _getTris3 = getTris([xLineStart, xLineStop]),
|
|
56578
56777
|
_getTris4 = _slicedToArray(_getTris3, 1),
|
|
56579
56778
|
xLine = _getTris4[0];
|
|
56580
|
-
xTris = (0,
|
|
56779
|
+
xTris = (0,_geometries_copy_copy__WEBPACK_IMPORTED_MODULE_21__.copyPoints)(xLine, [{
|
|
56581
56780
|
along: 'y',
|
|
56582
56781
|
num: yNum - 1,
|
|
56583
56782
|
step: yStep
|
|
@@ -56598,14 +56797,14 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
56598
56797
|
drawBorderBuffer = [[border[0].add(-buf, -buf), border[1].add(buf, -buf), border[2].add(buf, buf), border[3].add(-buf, buf)]];
|
|
56599
56798
|
}
|
|
56600
56799
|
}
|
|
56601
|
-
element.custom.updateGeneric((0,
|
|
56800
|
+
element.custom.updateGeneric((0,_tools_tools__WEBPACK_IMPORTED_MODULE_5__.joinObjects)({}, o, {
|
|
56602
56801
|
points: [].concat(_toConsumableArray(xTris), _toConsumableArray(yTris)),
|
|
56603
56802
|
drawBorder: drawBorder,
|
|
56604
56803
|
drawBorderBuffer: drawBorderBuffer,
|
|
56605
56804
|
drawType: o.line.linePrimitives ? 'LINES' : 'TRIANGLES'
|
|
56606
56805
|
}));
|
|
56607
56806
|
};
|
|
56608
|
-
element.custom.updatePoints(
|
|
56807
|
+
element.custom.updatePoints(_tools_tools__WEBPACK_IMPORTED_MODULE_5__.joinObjects.apply(void 0, [{}].concat(optionsIn)));
|
|
56609
56808
|
return element;
|
|
56610
56809
|
}
|
|
56611
56810
|
|
|
@@ -56619,15 +56818,15 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
56619
56818
|
for (var _len29 = arguments.length, options = new Array(_len29), _key29 = 0; _key29 < _len29; _key29++) {
|
|
56620
56819
|
options[_key29] = arguments[_key29];
|
|
56621
56820
|
}
|
|
56622
|
-
var element = this.polyline(
|
|
56821
|
+
var element = this.polyline(_tools_tools__WEBPACK_IMPORTED_MODULE_5__.joinObjects.apply(void 0, [{}, {
|
|
56623
56822
|
transform: new _tools_g2__WEBPACK_IMPORTED_MODULE_0__.Transform().scale(1).rotate(0).translate()
|
|
56624
56823
|
}].concat(options, [{
|
|
56625
56824
|
points: [[0, 0], [0, 1]],
|
|
56626
56825
|
dash: [],
|
|
56627
56826
|
arrow: null
|
|
56628
56827
|
}])));
|
|
56629
|
-
var joinedOptions =
|
|
56630
|
-
element.custom.options = (0,
|
|
56828
|
+
var joinedOptions = _tools_tools__WEBPACK_IMPORTED_MODULE_5__.joinObjects.apply(void 0, [{}].concat(options));
|
|
56829
|
+
element.custom.options = (0,_tools_tools__WEBPACK_IMPORTED_MODULE_5__.joinObjects)({}, element.custom.options, {
|
|
56631
56830
|
p1: [0, 0],
|
|
56632
56831
|
angle: 0,
|
|
56633
56832
|
length: this.defaultLength,
|
|
@@ -56665,14 +56864,14 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
56665
56864
|
|
|
56666
56865
|
element.custom.updatePolyline = element.custom.updatePoints;
|
|
56667
56866
|
element.custom.updatePoints = function (updateOptions) {
|
|
56668
|
-
var o = (0,
|
|
56669
|
-
var _getLine = (0,
|
|
56867
|
+
var o = (0,_tools_tools__WEBPACK_IMPORTED_MODULE_5__.joinObjects)({}, element.custom.options, updateOptions);
|
|
56868
|
+
var _getLine = (0,_geometries_line__WEBPACK_IMPORTED_MODULE_20__["default"])(o),
|
|
56670
56869
|
_getLine2 = _slicedToArray(_getLine, 3),
|
|
56671
56870
|
updatedPoints = _getLine2[0],
|
|
56672
56871
|
updatedBorder = _getLine2[1],
|
|
56673
56872
|
updatedTouchBorder = _getLine2[2];
|
|
56674
56873
|
// element.custom.setupLine(updatedPoints, o);
|
|
56675
|
-
element.custom.updatePolyline((0,
|
|
56874
|
+
element.custom.updatePolyline((0,_tools_tools__WEBPACK_IMPORTED_MODULE_5__.joinObjects)({}, o, {
|
|
56676
56875
|
points: updatedPoints,
|
|
56677
56876
|
border: updatedBorder,
|
|
56678
56877
|
touchBorder: updatedTouchBorder
|
|
@@ -56700,7 +56899,7 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
56700
56899
|
}, {
|
|
56701
56900
|
key: "textGL",
|
|
56702
56901
|
value: function textGL(options) {
|
|
56703
|
-
return (0,
|
|
56902
|
+
return (0,_Text__WEBPACK_IMPORTED_MODULE_11__["default"])(this.webgl[0], options);
|
|
56704
56903
|
}
|
|
56705
56904
|
|
|
56706
56905
|
/*
|
|
@@ -56734,7 +56933,7 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
56734
56933
|
for (var _len30 = arguments.length, optionsIn = new Array(_len30), _key30 = 0; _key30 < _len30; _key30++) {
|
|
56735
56934
|
optionsIn[_key30] = arguments[_key30];
|
|
56736
56935
|
}
|
|
56737
|
-
var options =
|
|
56936
|
+
var options = _tools_tools__WEBPACK_IMPORTED_MODULE_5__.joinObjects.apply(void 0, [{}, defaultOptions].concat(optionsIn));
|
|
56738
56937
|
for (var i = 0; i < optionsIn.length; i += 1) {
|
|
56739
56938
|
if (optionsIn[i].font != null) {
|
|
56740
56939
|
if (optionsIn[i].font.src) {
|
|
@@ -56955,7 +57154,7 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
56955
57154
|
wrap: true,
|
|
56956
57155
|
id: "id__temp_".concat(Math.round(Math.random() * 10000))
|
|
56957
57156
|
};
|
|
56958
|
-
var options = (0,
|
|
57157
|
+
var options = (0,_tools_tools__WEBPACK_IMPORTED_MODULE_5__.joinObjects)({}, defaultOptions, optionsIn);
|
|
56959
57158
|
options.element = optionsIn.element;
|
|
56960
57159
|
var element;
|
|
56961
57160
|
var parent;
|
|
@@ -56984,7 +57183,7 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
56984
57183
|
if (parent == null) {
|
|
56985
57184
|
parent = this.htmlCanvas;
|
|
56986
57185
|
}
|
|
56987
|
-
var hT = new
|
|
57186
|
+
var hT = new _DrawingObjects_HTMLObject_HTMLObject__WEBPACK_IMPORTED_MODULE_12__["default"](parent, options.id, new _tools_g2__WEBPACK_IMPORTED_MODULE_0__.Point(0, 0), options.yAlign, options.xAlign, options.element);
|
|
56988
57187
|
var p = (0,_tools_g2__WEBPACK_IMPORTED_MODULE_0__.getPoint)(options.position);
|
|
56989
57188
|
var figureElement = new _Element__WEBPACK_IMPORTED_MODULE_2__.FigureElementPrimitive(hT, new _tools_g2__WEBPACK_IMPORTED_MODULE_0__.Transform().scale(1, 1).translate(p.x, p.y), [1, 1, 1, 1]);
|
|
56990
57189
|
figureElement.timeKeeper = this.timeKeeper;
|
|
@@ -57016,7 +57215,7 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
57016
57215
|
element.style.position = 'absolute';
|
|
57017
57216
|
element.setAttribute('id', id);
|
|
57018
57217
|
this.htmlCanvas.appendChild(element);
|
|
57019
|
-
var hT = new
|
|
57218
|
+
var hT = new _DrawingObjects_HTMLObject_HTMLObject__WEBPACK_IMPORTED_MODULE_12__["default"](this.htmlCanvas, id, new _tools_g2__WEBPACK_IMPORTED_MODULE_0__.Point(0, 0), yAlign, xAlign, elementToAdd);
|
|
57020
57219
|
var figureElement = new _Element__WEBPACK_IMPORTED_MODULE_2__.FigureElementPrimitive(hT, new _tools_g2__WEBPACK_IMPORTED_MODULE_0__.Transform().scale(1, 1).translate(location.x, location.y), [1, 1, 1, 1]);
|
|
57021
57220
|
figureElement.timeKeeper = this.timeKeeper;
|
|
57022
57221
|
figureElement.recorder = this.recorder;
|
|
@@ -57026,7 +57225,7 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
57026
57225
|
key: "htmlImage",
|
|
57027
57226
|
value: function htmlImage() {
|
|
57028
57227
|
var defaultOptions = {
|
|
57029
|
-
id: (0,
|
|
57228
|
+
id: (0,_tools_tools__WEBPACK_IMPORTED_MODULE_5__.generateUniqueId)('id__html_image_'),
|
|
57030
57229
|
classes: '',
|
|
57031
57230
|
position: new _tools_g2__WEBPACK_IMPORTED_MODULE_0__.Point(0, 0),
|
|
57032
57231
|
yAlign: 'middle',
|
|
@@ -57036,7 +57235,7 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
57036
57235
|
for (var _len31 = arguments.length, optionsIn = new Array(_len31), _key31 = 0; _key31 < _len31; _key31++) {
|
|
57037
57236
|
optionsIn[_key31] = arguments[_key31];
|
|
57038
57237
|
}
|
|
57039
|
-
var options =
|
|
57238
|
+
var options = _tools_tools__WEBPACK_IMPORTED_MODULE_5__.joinObjects.apply(void 0, [{}, defaultOptions].concat(optionsIn));
|
|
57040
57239
|
var image = document.createElement('img');
|
|
57041
57240
|
image.src = options.src;
|
|
57042
57241
|
var id = options.id,
|
|
@@ -57056,7 +57255,7 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
57056
57255
|
value: function htmlText() {
|
|
57057
57256
|
var defaultOptions = {
|
|
57058
57257
|
text: '',
|
|
57059
|
-
id: (0,
|
|
57258
|
+
id: (0,_tools_tools__WEBPACK_IMPORTED_MODULE_5__.generateUniqueId)('id__html_text_'),
|
|
57060
57259
|
classes: '',
|
|
57061
57260
|
position: new _tools_g2__WEBPACK_IMPORTED_MODULE_0__.Point(0, 0),
|
|
57062
57261
|
yAlign: 'middle',
|
|
@@ -57066,7 +57265,7 @@ var FigurePrimitives = /*#__PURE__*/function () {
|
|
|
57066
57265
|
for (var _len32 = arguments.length, optionsIn = new Array(_len32), _key32 = 0; _key32 < _len32; _key32++) {
|
|
57067
57266
|
optionsIn[_key32] = arguments[_key32];
|
|
57068
57267
|
}
|
|
57069
|
-
var options =
|
|
57268
|
+
var options = _tools_tools__WEBPACK_IMPORTED_MODULE_5__.joinObjects.apply(void 0, [{}, defaultOptions].concat(optionsIn));
|
|
57070
57269
|
var inside = document.createElement('div');
|
|
57071
57270
|
(0,_tools_htmlGenerator__WEBPACK_IMPORTED_MODULE_1__.setHTML)(inside, options.text, options.modifiers);
|
|
57072
57271
|
var id = options.id,
|
|
@@ -66072,6 +66271,7 @@ var Atlas = /*#__PURE__*/function () {
|
|
|
66072
66271
|
|
|
66073
66272
|
__webpack_require__.r(__webpack_exports__);
|
|
66074
66273
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
66274
|
+
/* harmony export */ CHANNELS_PER_MASK: () => (/* binding */ CHANNELS_PER_MASK),
|
|
66075
66275
|
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
66076
66276
|
/* harmony export */ });
|
|
66077
66277
|
/* harmony import */ var _tools_tools__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../tools/tools */ "./src/js/tools/tools.ts");
|
|
@@ -66088,6 +66288,14 @@ function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(
|
|
|
66088
66288
|
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
66089
66289
|
|
|
66090
66290
|
|
|
66291
|
+
/**
|
|
66292
|
+
* Number of recolorable regions a single mask texture provides in the
|
|
66293
|
+
* `textureMap` color mode - one per channel (r, g, b, a). N masks therefore
|
|
66294
|
+
* define `CHANNELS_PER_MASK * N` tints.
|
|
66295
|
+
* @group Shaders
|
|
66296
|
+
*/
|
|
66297
|
+
var CHANNELS_PER_MASK = 4;
|
|
66298
|
+
|
|
66091
66299
|
/**
|
|
66092
66300
|
* Options used to compose vertex shader source code.
|
|
66093
66301
|
*
|
|
@@ -66143,7 +66351,7 @@ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length)
|
|
|
66143
66351
|
* to fragment shader used when `light = 'point'`
|
|
66144
66352
|
*
|
|
66145
66353
|
* @property {2 | 3} [dimension] (`2`)
|
|
66146
|
-
* @property {'vertex' | 'uniform' | 'texture'} [color] (`uniform`)
|
|
66354
|
+
* @property {'vertex' | 'uniform' | 'texture' | 'textureMap'} [color] (`uniform`)
|
|
66147
66355
|
* @property {'point' | 'directional' | null} [light] (`null`)
|
|
66148
66356
|
* @interface
|
|
66149
66357
|
* @group Shaders
|
|
@@ -66176,7 +66384,16 @@ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length)
|
|
|
66176
66384
|
* - `vec4 u_color`: global color for all vertices used all times. When
|
|
66177
66385
|
* `color = 'texture'` or `color = 'vertex'`, only the alpha channel of
|
|
66178
66386
|
* `u_color` is used.
|
|
66179
|
-
* - `sampler2D u_texture`: texture used when `color = 'texture'
|
|
66387
|
+
* - `sampler2D u_texture`: texture used when `color = 'texture'`,
|
|
66388
|
+
* `color = 'textureAlpha'` or `color = 'textureMap'`.
|
|
66389
|
+
* - `sampler2D u_mask0`, `u_mask1`, ...: mask textures used when
|
|
66390
|
+
* `color = 'textureMap'` (one per mask, set by the `masks` count). Each mask's
|
|
66391
|
+
* `r`, `g`, `b` and `a` channels select four regions of `u_texture` to
|
|
66392
|
+
* recolor. Mask `m`'s four channels map to tints `u_tint{4m+0..3}`.
|
|
66393
|
+
* - `vec4 u_tint0`, `u_tint1`, ...: region tint colors used when
|
|
66394
|
+
* `color = 'textureMap'` (four per mask). The `rgb` channels are the tint
|
|
66395
|
+
* color and the `a` channel is the tint strength (`0` leaves the base texture
|
|
66396
|
+
* unchanged).
|
|
66180
66397
|
* - `vec3 u_directionalLight`: world space position of directional light
|
|
66181
66398
|
* source used when `light = 'directional'`
|
|
66182
66399
|
* - `float u_ambientLight`: ambient light used when `light = 'directional'` or
|
|
@@ -66196,7 +66413,7 @@ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length)
|
|
|
66196
66413
|
* from vertex shader used when `light = 'point'`
|
|
66197
66414
|
*
|
|
66198
66415
|
* @property {2 | 3} [dimension] (`2`)
|
|
66199
|
-
* @property {'vertex' | 'uniform' | 'texture'} [color] (`uniform`)
|
|
66416
|
+
* @property {'vertex' | 'uniform' | 'texture' | 'textureMap'} [color] (`uniform`)
|
|
66200
66417
|
* @property {'point' | 'directional' | null} [light] (`null`)
|
|
66201
66418
|
* @interface
|
|
66202
66419
|
* @group Shaders
|
|
@@ -66235,7 +66452,7 @@ function composeVertexShader() {
|
|
|
66235
66452
|
src += 'attribute vec4 a_vertex;\n';
|
|
66236
66453
|
vars.push('a_vertex');
|
|
66237
66454
|
}
|
|
66238
|
-
if (color === 'texture') {
|
|
66455
|
+
if (color === 'texture' || color === 'textureMap') {
|
|
66239
66456
|
src += 'attribute vec2 a_texcoord;\n';
|
|
66240
66457
|
src += 'varying vec2 v_texcoord;\n';
|
|
66241
66458
|
vars.push('a_texcoord');
|
|
@@ -66270,7 +66487,7 @@ function composeVertexShader() {
|
|
|
66270
66487
|
} else {
|
|
66271
66488
|
src += ' gl_Position = u_worldViewProjectionMatrix * a_vertex;\n';
|
|
66272
66489
|
}
|
|
66273
|
-
if (color === 'texture') {
|
|
66490
|
+
if (color === 'texture' || color === 'textureMap') {
|
|
66274
66491
|
src += ' v_texcoord = a_texcoord;\n';
|
|
66275
66492
|
} else if (color === 'vertex') {
|
|
66276
66493
|
src += ' v_color = a_color;\n';
|
|
@@ -66289,11 +66506,18 @@ function composeFragShader() {
|
|
|
66289
66506
|
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
66290
66507
|
var defaultOptions = {
|
|
66291
66508
|
color: 'uniform',
|
|
66292
|
-
light: null
|
|
66509
|
+
light: null,
|
|
66510
|
+
masks: 1
|
|
66293
66511
|
};
|
|
66294
66512
|
var _joinObjects2 = (0,_tools_tools__WEBPACK_IMPORTED_MODULE_0__.joinObjects)(defaultOptions, options),
|
|
66295
66513
|
light = _joinObjects2.light,
|
|
66296
|
-
color = _joinObjects2.color
|
|
66514
|
+
color = _joinObjects2.color,
|
|
66515
|
+
masks = _joinObjects2.masks;
|
|
66516
|
+
// textureMap recolors the base texture using one or more mask textures. Each
|
|
66517
|
+
// mask contributes CHANNELS_PER_MASK regions (its r, g, b, a channels), so
|
|
66518
|
+
// numMasks masks define CHANNELS_PER_MASK * numMasks tints.
|
|
66519
|
+
var numMasks = color === 'textureMap' ? Math.max(1, masks) : 0;
|
|
66520
|
+
var channels = ['r', 'g', 'b', 'a'];
|
|
66297
66521
|
var src = '\nprecision mediump float;\n';
|
|
66298
66522
|
src += 'uniform vec4 u_color;\n';
|
|
66299
66523
|
var vars = ['u_color'];
|
|
@@ -66304,6 +66528,18 @@ function composeFragShader() {
|
|
|
66304
66528
|
src += 'uniform sampler2D u_texture;\n';
|
|
66305
66529
|
src += 'varying vec2 v_texcoord;\n';
|
|
66306
66530
|
vars.push('u_texture');
|
|
66531
|
+
} else if (color === 'textureMap') {
|
|
66532
|
+
src += 'uniform sampler2D u_texture;\n';
|
|
66533
|
+
vars.push('u_texture');
|
|
66534
|
+
for (var m = 0; m < numMasks; m += 1) {
|
|
66535
|
+
src += "uniform sampler2D u_mask".concat(m, ";\n");
|
|
66536
|
+
vars.push("u_mask".concat(m));
|
|
66537
|
+
}
|
|
66538
|
+
for (var t = 0; t < numMasks * CHANNELS_PER_MASK; t += 1) {
|
|
66539
|
+
src += "uniform vec4 u_tint".concat(t, ";\n");
|
|
66540
|
+
vars.push("u_tint".concat(t));
|
|
66541
|
+
}
|
|
66542
|
+
src += 'varying vec2 v_texcoord;\n';
|
|
66307
66543
|
}
|
|
66308
66544
|
if (light === 'directional') {
|
|
66309
66545
|
src += 'varying vec3 v_normal;\n';
|
|
@@ -66338,6 +66574,23 @@ function composeFragShader() {
|
|
|
66338
66574
|
// src += ' gl_FragColor.rgb *= gl_FragColor.a * texture2D(u_texture, v_texcoord).a;\n';
|
|
66339
66575
|
// src += ' gl_FragColor = texture2D(u_texture, v_texcoord).a * u_color;\n';
|
|
66340
66576
|
src += ' gl_FragColor.rgb *= gl_FragColor.a;\n';
|
|
66577
|
+
} else if (color === 'textureMap') {
|
|
66578
|
+
// Base texture color, with each mask texture retinting up to four regions.
|
|
66579
|
+
// Each mask channel (r, g, b, a) selects a region, and the matching u_tint's
|
|
66580
|
+
// alpha controls how strongly that region is recolored (0 = leave the base
|
|
66581
|
+
// color unchanged). With one mask this is exactly four mixes and one extra
|
|
66582
|
+
// texture fetch; each additional mask adds one fetch and four mixes.
|
|
66583
|
+
src += ' vec4 base = texture2D(u_texture, v_texcoord);\n';
|
|
66584
|
+
src += ' vec3 col = base.rgb;\n';
|
|
66585
|
+
for (var _m = 0; _m < numMasks; _m += 1) {
|
|
66586
|
+
src += " vec4 mask".concat(_m, " = texture2D(u_mask").concat(_m, ", v_texcoord);\n");
|
|
66587
|
+
for (var c = 0; c < CHANNELS_PER_MASK; c += 1) {
|
|
66588
|
+
var _t = _m * CHANNELS_PER_MASK + c;
|
|
66589
|
+
src += " col = mix(col, u_tint".concat(_t, ".rgb, mask").concat(_m, ".").concat(channels[c], " * u_tint").concat(_t, ".a);\n");
|
|
66590
|
+
}
|
|
66591
|
+
}
|
|
66592
|
+
src += ' gl_FragColor = vec4(col, base.a * u_color.a);\n';
|
|
66593
|
+
src += ' gl_FragColor.rgb *= gl_FragColor.a;\n';
|
|
66341
66594
|
}
|
|
66342
66595
|
|
|
66343
66596
|
// src += ' gl_FragColor.rgb *= gl_FragColor.a;\n';
|
|
@@ -81845,8 +82098,8 @@ var tools = {
|
|
|
81845
82098
|
*/
|
|
81846
82099
|
|
|
81847
82100
|
var Fig = {
|
|
81848
|
-
version: "1.
|
|
81849
|
-
gitHash: "
|
|
82101
|
+
version: "1.8.0",
|
|
82102
|
+
gitHash: "4b64a8de5",
|
|
81850
82103
|
tools: tools,
|
|
81851
82104
|
Figure: _js_figure_Figure__WEBPACK_IMPORTED_MODULE_5__["default"],
|
|
81852
82105
|
Recorder: _js_figure_Recorder_Recorder__WEBPACK_IMPORTED_MODULE_7__.Recorder,
|