@galacean/effects-core 2.1.0-alpha.5 → 2.1.0-alpha.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/asset-manager.d.ts +7 -6
- package/dist/binary-asset.d.ts +2 -2
- package/dist/components/index.d.ts +1 -0
- package/dist/components/shape-component.d.ts +172 -0
- package/dist/composition-source-manager.d.ts +1 -1
- package/dist/composition.d.ts +10 -4
- package/dist/image-asset.d.ts +2 -2
- package/dist/index.js +1824 -226
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1825 -224
- package/dist/index.mjs.map +1 -1
- package/dist/plugins/cal/timeline-asset.d.ts +1 -1
- package/dist/plugins/shape/build-adaptive-bezier.d.ts +1 -0
- package/dist/plugins/shape/graphics-path.d.ts +35 -0
- package/dist/plugins/shape/point-data.d.ts +6 -0
- package/dist/plugins/shape/polygon.d.ts +60 -0
- package/dist/plugins/shape/shape-path.d.ts +51 -0
- package/dist/plugins/shape/triangulate.d.ts +1 -0
- package/dist/plugins/timeline/track.d.ts +2 -2
- package/dist/render/gpu-capability.d.ts +1 -1
- package/dist/render/shader.d.ts +1 -1
- package/dist/scene.d.ts +17 -18
- package/dist/shape/geometry.d.ts +3 -3
- package/dist/texture/utils.d.ts +1 -2
- package/package.json +4 -3
package/dist/index.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Description: Galacean Effects runtime core for the web
|
|
4
4
|
* Author: Ant Group CO., Ltd.
|
|
5
5
|
* Contributors: 燃然,飂兮,十弦,云垣,茂安,意绮
|
|
6
|
-
* Version: v2.1.0-alpha.
|
|
6
|
+
* Version: v2.1.0-alpha.6
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
9
|
'use strict';
|
|
@@ -3950,6 +3950,12 @@ Euler.tempMat0 = new Matrix4();
|
|
|
3950
3950
|
/**
|
|
3951
3951
|
* 节点元素
|
|
3952
3952
|
*/ ItemType["node"] = "node";
|
|
3953
|
+
/**
|
|
3954
|
+
* 视频元素
|
|
3955
|
+
*/ ItemType["video"] = "video";
|
|
3956
|
+
/**
|
|
3957
|
+
* 音频元素
|
|
3958
|
+
*/ ItemType["audio"] = "audio";
|
|
3953
3959
|
})(ItemType || (ItemType = {}));
|
|
3954
3960
|
/**
|
|
3955
3961
|
* 渲染模式
|
|
@@ -4050,15 +4056,6 @@ var CameraClipMode;
|
|
|
4050
4056
|
*/ CameraClipMode[CameraClipMode["landscape"] = 0] = "landscape";
|
|
4051
4057
|
})(CameraClipMode || (CameraClipMode = {}));
|
|
4052
4058
|
|
|
4053
|
-
/**
|
|
4054
|
-
* 动态换图类型
|
|
4055
|
-
* @since 1.1.0
|
|
4056
|
-
*/ var BackgroundType;
|
|
4057
|
-
(function(BackgroundType) {
|
|
4058
|
-
BackgroundType["video"] = "video";
|
|
4059
|
-
BackgroundType["image"] = "image";
|
|
4060
|
-
})(BackgroundType || (BackgroundType = {}));
|
|
4061
|
-
|
|
4062
4059
|
/*********************************************/ /* 基本数值属性参数 */ /*********************************************/ var ValueType;
|
|
4063
4060
|
(function(ValueType) {
|
|
4064
4061
|
/**
|
|
@@ -4364,6 +4361,8 @@ var DataType;
|
|
|
4364
4361
|
DataType["TreeComponent"] = "TreeComponent";
|
|
4365
4362
|
DataType["AnimationComponent"] = "AnimationComponent";
|
|
4366
4363
|
DataType["SpineComponent"] = "SpineComponent";
|
|
4364
|
+
DataType["VideoComponent"] = "VideoComponent";
|
|
4365
|
+
DataType["AudioComponent"] = "AudioComponent";
|
|
4367
4366
|
// Non-EffectObject
|
|
4368
4367
|
DataType["TimelineClip"] = "TimelineClip";
|
|
4369
4368
|
})(DataType || (DataType = {}));
|
|
@@ -4453,10 +4452,28 @@ var VertexBufferSemantic;
|
|
|
4453
4452
|
|
|
4454
4453
|
var BuiltinObjectGUID = {
|
|
4455
4454
|
WhiteTexture: "whitetexture00000000000000000000",
|
|
4455
|
+
TransparentTexture: "transparenttexture00000000000000000000",
|
|
4456
4456
|
PBRShader: "pbr00000000000000000000000000000",
|
|
4457
4457
|
UnlitShader: "unlit000000000000000000000000000"
|
|
4458
4458
|
};
|
|
4459
4459
|
|
|
4460
|
+
/**
|
|
4461
|
+
* 动态换图类型
|
|
4462
|
+
* @since 1.1.0
|
|
4463
|
+
*/ var BackgroundType;
|
|
4464
|
+
(function(BackgroundType) {
|
|
4465
|
+
BackgroundType["video"] = "video";
|
|
4466
|
+
BackgroundType["image"] = "image";
|
|
4467
|
+
})(BackgroundType || (BackgroundType = {}));
|
|
4468
|
+
/**
|
|
4469
|
+
* 多媒体资源类型
|
|
4470
|
+
* @since 2.1.0
|
|
4471
|
+
*/ var MultimediaType;
|
|
4472
|
+
(function(MultimediaType) {
|
|
4473
|
+
MultimediaType["video"] = "video";
|
|
4474
|
+
MultimediaType["audio"] = "audio";
|
|
4475
|
+
})(MultimediaType || (MultimediaType = {}));
|
|
4476
|
+
|
|
4460
4477
|
var index$1 = /*#__PURE__*/Object.freeze({
|
|
4461
4478
|
__proto__: null,
|
|
4462
4479
|
get RenderLevel () { return RenderLevel; },
|
|
@@ -4473,7 +4490,6 @@ var index$1 = /*#__PURE__*/Object.freeze({
|
|
|
4473
4490
|
get RenderType () { return RenderType; },
|
|
4474
4491
|
get RenderFace () { return RenderFace; },
|
|
4475
4492
|
get CameraClipMode () { return CameraClipMode; },
|
|
4476
|
-
get BackgroundType () { return BackgroundType; },
|
|
4477
4493
|
END_BEHAVIOR_DESTROY: END_BEHAVIOR_DESTROY,
|
|
4478
4494
|
END_BEHAVIOR_PAUSE: END_BEHAVIOR_PAUSE,
|
|
4479
4495
|
END_BEHAVIOR_FORWARD: END_BEHAVIOR_FORWARD,
|
|
@@ -4507,7 +4523,9 @@ var index$1 = /*#__PURE__*/Object.freeze({
|
|
|
4507
4523
|
get VertexFormatType () { return VertexFormatType; },
|
|
4508
4524
|
get IndexFormatType () { return IndexFormatType; },
|
|
4509
4525
|
get VertexBufferSemantic () { return VertexBufferSemantic; },
|
|
4510
|
-
BuiltinObjectGUID: BuiltinObjectGUID
|
|
4526
|
+
BuiltinObjectGUID: BuiltinObjectGUID,
|
|
4527
|
+
get BackgroundType () { return BackgroundType; },
|
|
4528
|
+
get MultimediaType () { return MultimediaType; }
|
|
4511
4529
|
});
|
|
4512
4530
|
|
|
4513
4531
|
var decoratorInitialStore = new Map();
|
|
@@ -8170,11 +8188,11 @@ function _loadMedia() {
|
|
|
8170
8188
|
return _loadMedia.apply(this, arguments);
|
|
8171
8189
|
}
|
|
8172
8190
|
|
|
8173
|
-
function deserializeMipmapTexture(textureOptions, bins,
|
|
8191
|
+
function deserializeMipmapTexture(textureOptions, bins, assets) {
|
|
8174
8192
|
return _deserializeMipmapTexture.apply(this, arguments);
|
|
8175
8193
|
}
|
|
8176
8194
|
function _deserializeMipmapTexture() {
|
|
8177
|
-
_deserializeMipmapTexture = _async_to_generator(function(textureOptions, bins,
|
|
8195
|
+
_deserializeMipmapTexture = _async_to_generator(function(textureOptions, bins, assets, files) {
|
|
8178
8196
|
var mipmaps, target, jobs, loadedMipmaps, mipmaps1, target1, jobs1, loadedMipmaps1, bin;
|
|
8179
8197
|
return __generator(this, function(_state) {
|
|
8180
8198
|
switch(_state.label){
|
|
@@ -8190,9 +8208,8 @@ function _deserializeMipmapTexture() {
|
|
|
8190
8208
|
// @ts-expect-error
|
|
8191
8209
|
if (pointer.id) {
|
|
8192
8210
|
// @ts-expect-error
|
|
8193
|
-
var
|
|
8194
|
-
|
|
8195
|
-
return loadedImageAsset.data;
|
|
8211
|
+
var loadedImage = assets[pointer.id];
|
|
8212
|
+
return loadedImage;
|
|
8196
8213
|
} else {
|
|
8197
8214
|
return loadMipmapImage(pointer, bins);
|
|
8198
8215
|
}
|
|
@@ -8429,7 +8446,7 @@ var sourceOptions = {
|
|
|
8429
8446
|
};
|
|
8430
8447
|
function generateWhiteTexture(engine) {
|
|
8431
8448
|
return Texture.create(engine, _extends({
|
|
8432
|
-
id:
|
|
8449
|
+
id: BuiltinObjectGUID.WhiteTexture,
|
|
8433
8450
|
data: {
|
|
8434
8451
|
width: 1,
|
|
8435
8452
|
height: 1,
|
|
@@ -8445,7 +8462,7 @@ function generateWhiteTexture(engine) {
|
|
|
8445
8462
|
}
|
|
8446
8463
|
function generateTransparentTexture(engine) {
|
|
8447
8464
|
return Texture.create(engine, _extends({
|
|
8448
|
-
id:
|
|
8465
|
+
id: BuiltinObjectGUID.TransparentTexture,
|
|
8449
8466
|
data: {
|
|
8450
8467
|
width: 1,
|
|
8451
8468
|
height: 1,
|
|
@@ -10804,7 +10821,7 @@ exports.Shader = /*#__PURE__*/ function(EffectsObject) {
|
|
|
10804
10821
|
return Shader;
|
|
10805
10822
|
}(EffectsObject);
|
|
10806
10823
|
exports.Shader = __decorate([
|
|
10807
|
-
effectsClass(
|
|
10824
|
+
effectsClass(DataType.Shader)
|
|
10808
10825
|
], exports.Shader);
|
|
10809
10826
|
|
|
10810
10827
|
var EFFECTS_COPY_MESH_NAME = "effects-internal-copy";
|
|
@@ -12889,7 +12906,7 @@ var GPUCapability = /*#__PURE__*/ function() {
|
|
|
12889
12906
|
shaderTextureLod: level2 || !!gl.getExtension("EXT_shader_texture_lod"),
|
|
12890
12907
|
instanceDraw: level2 || !!gl.getExtension("ANGLE_instanced_arrays"),
|
|
12891
12908
|
drawBuffers: level2 || !!this.drawBufferExtension,
|
|
12892
|
-
asyncShaderCompile: !!
|
|
12909
|
+
asyncShaderCompile: !!this.glAsyncCompileExt,
|
|
12893
12910
|
intIndexElementBuffer: !!gl.getExtension("OES_element_index_uint"),
|
|
12894
12911
|
standardDerivatives: level2 || !!gl.getExtension("OES_standard_derivatives"),
|
|
12895
12912
|
readableDepthStencilTextures: level2 || !!depthTextureExtension,
|
|
@@ -15793,7 +15810,7 @@ function getGeometryTriangles(geometry, options) {
|
|
|
15793
15810
|
*/ function getGeometriesByShapeData(shape) {
|
|
15794
15811
|
var geometries = [];
|
|
15795
15812
|
// 该版本的单个形状数据可以包含多个形状,可以加个埋点,五福之后没有就可以下掉
|
|
15796
|
-
if (shape
|
|
15813
|
+
if ("gs" in shape) {
|
|
15797
15814
|
shape.gs.forEach(function(gs) {
|
|
15798
15815
|
geometries.push({
|
|
15799
15816
|
p: [
|
|
@@ -15806,7 +15823,7 @@ function getGeometryTriangles(geometry, options) {
|
|
|
15806
15823
|
]
|
|
15807
15824
|
});
|
|
15808
15825
|
});
|
|
15809
|
-
} else if (shape
|
|
15826
|
+
} else if ("g" in shape) {
|
|
15810
15827
|
geometries.push({
|
|
15811
15828
|
p: [
|
|
15812
15829
|
ValueType.SHAPE_POINTS,
|
|
@@ -16805,6 +16822,7 @@ exports.ParticleSystem = /*#__PURE__*/ function(Component) {
|
|
|
16805
16822
|
});
|
|
16806
16823
|
this.frozen = false;
|
|
16807
16824
|
this.ended = false;
|
|
16825
|
+
this.destroyed = false;
|
|
16808
16826
|
};
|
|
16809
16827
|
_proto.update = function update(delta) {
|
|
16810
16828
|
var _this = this;
|
|
@@ -19093,7 +19111,7 @@ exports.TransformPlayableAsset = /*#__PURE__*/ function(PlayableAsset) {
|
|
|
19093
19111
|
return TransformPlayableAsset;
|
|
19094
19112
|
}(PlayableAsset);
|
|
19095
19113
|
exports.TransformPlayableAsset = __decorate([
|
|
19096
|
-
effectsClass(
|
|
19114
|
+
effectsClass(DataType.TransformPlayableAsset)
|
|
19097
19115
|
], exports.TransformPlayableAsset);
|
|
19098
19116
|
/**
|
|
19099
19117
|
* @since 2.0.0
|
|
@@ -19124,7 +19142,7 @@ exports.ActivationPlayableAsset = /*#__PURE__*/ function(PlayableAsset) {
|
|
|
19124
19142
|
return ActivationPlayableAsset;
|
|
19125
19143
|
}(PlayableAsset);
|
|
19126
19144
|
exports.ActivationPlayableAsset = __decorate([
|
|
19127
|
-
effectsClass(
|
|
19145
|
+
effectsClass(DataType.ActivationPlayableAsset)
|
|
19128
19146
|
], exports.ActivationPlayableAsset);
|
|
19129
19147
|
exports.AnimationClip = /*#__PURE__*/ function(EffectsObject) {
|
|
19130
19148
|
_inherits(AnimationClip, EffectsObject);
|
|
@@ -19367,7 +19385,7 @@ __decorate([
|
|
|
19367
19385
|
serialize()
|
|
19368
19386
|
], exports.TrackAsset.prototype, "children", void 0);
|
|
19369
19387
|
exports.TrackAsset = __decorate([
|
|
19370
|
-
effectsClass(
|
|
19388
|
+
effectsClass(DataType.TrackAsset)
|
|
19371
19389
|
], exports.TrackAsset);
|
|
19372
19390
|
exports.TrackType = void 0;
|
|
19373
19391
|
(function(TrackType) {
|
|
@@ -19462,7 +19480,7 @@ exports.ObjectBindingTrack = /*#__PURE__*/ function(TrackAsset1) {
|
|
|
19462
19480
|
return ObjectBindingTrack;
|
|
19463
19481
|
}(exports.TrackAsset);
|
|
19464
19482
|
exports.ObjectBindingTrack = __decorate([
|
|
19465
|
-
effectsClass(
|
|
19483
|
+
effectsClass(DataType.ObjectBindingTrack)
|
|
19466
19484
|
], exports.ObjectBindingTrack);
|
|
19467
19485
|
|
|
19468
19486
|
exports.TransformTrack = /*#__PURE__*/ function(TrackAsset) {
|
|
@@ -19473,7 +19491,7 @@ exports.TransformTrack = /*#__PURE__*/ function(TrackAsset) {
|
|
|
19473
19491
|
return TransformTrack;
|
|
19474
19492
|
}(exports.TrackAsset);
|
|
19475
19493
|
exports.TransformTrack = __decorate([
|
|
19476
|
-
effectsClass(
|
|
19494
|
+
effectsClass(DataType.TransformTrack)
|
|
19477
19495
|
], exports.TransformTrack);
|
|
19478
19496
|
|
|
19479
19497
|
var ActivationMixerPlayable = /*#__PURE__*/ function(Playable) {
|
|
@@ -19534,7 +19552,7 @@ exports.ActivationTrack = /*#__PURE__*/ function(TrackAsset) {
|
|
|
19534
19552
|
return ActivationTrack;
|
|
19535
19553
|
}(exports.TrackAsset);
|
|
19536
19554
|
exports.ActivationTrack = __decorate([
|
|
19537
|
-
effectsClass(
|
|
19555
|
+
effectsClass(DataType.ActivationTrack)
|
|
19538
19556
|
], exports.ActivationTrack);
|
|
19539
19557
|
|
|
19540
19558
|
exports.SpriteColorTrack = /*#__PURE__*/ function(TrackAsset) {
|
|
@@ -19545,7 +19563,7 @@ exports.SpriteColorTrack = /*#__PURE__*/ function(TrackAsset) {
|
|
|
19545
19563
|
return SpriteColorTrack;
|
|
19546
19564
|
}(exports.TrackAsset);
|
|
19547
19565
|
exports.SpriteColorTrack = __decorate([
|
|
19548
|
-
effectsClass(
|
|
19566
|
+
effectsClass(DataType.SpriteColorTrack)
|
|
19549
19567
|
], exports.SpriteColorTrack);
|
|
19550
19568
|
|
|
19551
19569
|
exports.TimelineAsset = /*#__PURE__*/ function(PlayableAsset) {
|
|
@@ -19582,7 +19600,7 @@ __decorate([
|
|
|
19582
19600
|
serialize()
|
|
19583
19601
|
], exports.TimelineAsset.prototype, "tracks", void 0);
|
|
19584
19602
|
exports.TimelineAsset = __decorate([
|
|
19585
|
-
effectsClass(
|
|
19603
|
+
effectsClass(DataType.TimelineAsset)
|
|
19586
19604
|
], exports.TimelineAsset);
|
|
19587
19605
|
var TimelinePlayable = /*#__PURE__*/ function(Playable) {
|
|
19588
19606
|
_inherits(TimelinePlayable, Playable);
|
|
@@ -19947,7 +19965,7 @@ exports.SubCompositionTrack = /*#__PURE__*/ function(TrackAsset) {
|
|
|
19947
19965
|
return SubCompositionTrack;
|
|
19948
19966
|
}(exports.TrackAsset);
|
|
19949
19967
|
exports.SubCompositionTrack = __decorate([
|
|
19950
|
-
effectsClass(
|
|
19968
|
+
effectsClass(DataType.SubCompositionTrack)
|
|
19951
19969
|
], exports.SubCompositionTrack);
|
|
19952
19970
|
|
|
19953
19971
|
var SubCompositionClipPlayable = /*#__PURE__*/ function(Playable) {
|
|
@@ -19977,7 +19995,7 @@ exports.SubCompositionPlayableAsset = /*#__PURE__*/ function(PlayableAsset) {
|
|
|
19977
19995
|
return SubCompositionPlayableAsset;
|
|
19978
19996
|
}(PlayableAsset);
|
|
19979
19997
|
exports.SubCompositionPlayableAsset = __decorate([
|
|
19980
|
-
effectsClass(
|
|
19998
|
+
effectsClass(DataType.SubCompositionPlayableAsset)
|
|
19981
19999
|
], exports.SubCompositionPlayableAsset);
|
|
19982
20000
|
|
|
19983
20001
|
function _possible_constructor_return(self, call) {
|
|
@@ -20797,6 +20815,1652 @@ exports.PostProcessVolume = __decorate([
|
|
|
20797
20815
|
effectsClass("PostProcessVolume")
|
|
20798
20816
|
], exports.PostProcessVolume);
|
|
20799
20817
|
|
|
20818
|
+
/**
|
|
20819
|
+
* A class to define a shape via user defined coordinates.
|
|
20820
|
+
*/ var Polygon = /*#__PURE__*/ function() {
|
|
20821
|
+
function Polygon() {
|
|
20822
|
+
for(var _len = arguments.length, points = new Array(_len), _key = 0; _key < _len; _key++){
|
|
20823
|
+
points[_key] = arguments[_key];
|
|
20824
|
+
}
|
|
20825
|
+
/** An array of the points of this polygon. */ this.points = [];
|
|
20826
|
+
/** `false` after moveTo, `true` after `closePath`. In all other cases it is `true`. */ this.closePath = false;
|
|
20827
|
+
var flat = Array.isArray(points[0]) ? points[0] : points;
|
|
20828
|
+
// if this is an array of points, convert it to a flat array of numbers
|
|
20829
|
+
if (typeof flat[0] !== "number") {
|
|
20830
|
+
var p = [];
|
|
20831
|
+
for(var i = 0, il = flat.length; i < il; i++){
|
|
20832
|
+
p.push(flat[i].x, flat[i].y);
|
|
20833
|
+
}
|
|
20834
|
+
flat = p;
|
|
20835
|
+
}
|
|
20836
|
+
this.points = flat;
|
|
20837
|
+
this.closePath = true;
|
|
20838
|
+
}
|
|
20839
|
+
var _proto = Polygon.prototype;
|
|
20840
|
+
/**
|
|
20841
|
+
* Creates a clone of this polygon.
|
|
20842
|
+
* @returns - A copy of the polygon.
|
|
20843
|
+
*/ _proto.clone = function clone() {
|
|
20844
|
+
var points = this.points.slice();
|
|
20845
|
+
var polygon = new Polygon(points);
|
|
20846
|
+
polygon.closePath = this.closePath;
|
|
20847
|
+
return polygon;
|
|
20848
|
+
};
|
|
20849
|
+
/**
|
|
20850
|
+
* Checks whether the x and y coordinates passed to this function are contained within this polygon.
|
|
20851
|
+
* @param x - The X coordinate of the point to test.
|
|
20852
|
+
* @param y - The Y coordinate of the point to test.
|
|
20853
|
+
* @returns - Whether the x/y coordinates are within this polygon.
|
|
20854
|
+
*/ _proto.contains = function contains(x, y) {
|
|
20855
|
+
var inside = false;
|
|
20856
|
+
// use some raycasting to test hits
|
|
20857
|
+
// https://github.com/substack/point-in-polygon/blob/master/index.js
|
|
20858
|
+
var length = this.points.length / 2;
|
|
20859
|
+
for(var i = 0, j = length - 1; i < length; j = i++){
|
|
20860
|
+
var xi = this.points[i * 2];
|
|
20861
|
+
var yi = this.points[i * 2 + 1];
|
|
20862
|
+
var xj = this.points[j * 2];
|
|
20863
|
+
var yj = this.points[j * 2 + 1];
|
|
20864
|
+
var intersect = yi > y !== yj > y && x < (xj - xi) * ((y - yi) / (yj - yi)) + xi;
|
|
20865
|
+
if (intersect) {
|
|
20866
|
+
inside = !inside;
|
|
20867
|
+
}
|
|
20868
|
+
}
|
|
20869
|
+
return inside;
|
|
20870
|
+
};
|
|
20871
|
+
/**
|
|
20872
|
+
* Copies another polygon to this one.
|
|
20873
|
+
* @param polygon - The polygon to copy from.
|
|
20874
|
+
* @returns Returns itself.
|
|
20875
|
+
*/ _proto.copyFrom = function copyFrom(polygon) {
|
|
20876
|
+
this.points = polygon.points.slice();
|
|
20877
|
+
this.closePath = polygon.closePath;
|
|
20878
|
+
return this;
|
|
20879
|
+
};
|
|
20880
|
+
/**
|
|
20881
|
+
* Copies this polygon to another one.
|
|
20882
|
+
* @param polygon - The polygon to copy to.
|
|
20883
|
+
* @returns Returns given parameter.
|
|
20884
|
+
*/ _proto.copyTo = function copyTo(polygon) {
|
|
20885
|
+
polygon.copyFrom(this);
|
|
20886
|
+
return polygon;
|
|
20887
|
+
};
|
|
20888
|
+
_create_class(Polygon, [
|
|
20889
|
+
{
|
|
20890
|
+
key: "lastX",
|
|
20891
|
+
get: /**
|
|
20892
|
+
* Get the last X coordinate of the polygon
|
|
20893
|
+
* @readonly
|
|
20894
|
+
*/ function get() {
|
|
20895
|
+
return this.points[this.points.length - 2];
|
|
20896
|
+
}
|
|
20897
|
+
},
|
|
20898
|
+
{
|
|
20899
|
+
key: "lastY",
|
|
20900
|
+
get: /**
|
|
20901
|
+
* Get the last Y coordinate of the polygon
|
|
20902
|
+
* @readonly
|
|
20903
|
+
*/ function get() {
|
|
20904
|
+
return this.points[this.points.length - 1];
|
|
20905
|
+
}
|
|
20906
|
+
},
|
|
20907
|
+
{
|
|
20908
|
+
key: "x",
|
|
20909
|
+
get: /**
|
|
20910
|
+
* Get the first X coordinate of the polygon
|
|
20911
|
+
* @readonly
|
|
20912
|
+
*/ function get() {
|
|
20913
|
+
return this.points[this.points.length - 2];
|
|
20914
|
+
}
|
|
20915
|
+
},
|
|
20916
|
+
{
|
|
20917
|
+
key: "y",
|
|
20918
|
+
get: /**
|
|
20919
|
+
* Get the first Y coordinate of the polygon
|
|
20920
|
+
* @readonly
|
|
20921
|
+
*/ function get() {
|
|
20922
|
+
return this.points[this.points.length - 1];
|
|
20923
|
+
}
|
|
20924
|
+
}
|
|
20925
|
+
]);
|
|
20926
|
+
return Polygon;
|
|
20927
|
+
}();
|
|
20928
|
+
|
|
20929
|
+
// thanks to https://github.com/mattdesl/adaptive-bezier-curve
|
|
20930
|
+
// for the original code!
|
|
20931
|
+
var RECURSION_LIMIT = 8;
|
|
20932
|
+
var FLT_EPSILON = 1.19209290e-7;
|
|
20933
|
+
var PATH_DISTANCE_EPSILON = 1.0;
|
|
20934
|
+
var defaultBezierSmoothness = 0.5;
|
|
20935
|
+
function buildAdaptiveBezier(points, sX, sY, cp1x, cp1y, cp2x, cp2y, eX, eY, smoothness) {
|
|
20936
|
+
// TODO expose as a parameter
|
|
20937
|
+
var scale = 5;
|
|
20938
|
+
var smoothing = Math.min(0.99, Math.max(0, smoothness != null ? smoothness : defaultBezierSmoothness));
|
|
20939
|
+
var distanceTolerance = (PATH_DISTANCE_EPSILON - smoothing) / scale;
|
|
20940
|
+
distanceTolerance *= distanceTolerance;
|
|
20941
|
+
begin(sX, sY, cp1x, cp1y, cp2x, cp2y, eX, eY, points, distanceTolerance);
|
|
20942
|
+
return points;
|
|
20943
|
+
}
|
|
20944
|
+
//// Based on:
|
|
20945
|
+
//// https://github.com/pelson/antigrain/blob/master/agg-2.4/src/agg_curves.cpp
|
|
20946
|
+
function begin(sX, sY, cp1x, cp1y, cp2x, cp2y, eX, eY, points, distanceTolerance) {
|
|
20947
|
+
// dont need to actually ad this!
|
|
20948
|
+
// points.push(sX, sY);
|
|
20949
|
+
recursive(sX, sY, cp1x, cp1y, cp2x, cp2y, eX, eY, points, distanceTolerance, 0);
|
|
20950
|
+
points.push(eX, eY);
|
|
20951
|
+
}
|
|
20952
|
+
// eslint-disable-next-line max-params
|
|
20953
|
+
function recursive(x1, y1, x2, y2, x3, y3, x4, y4, points, distanceTolerance, level) {
|
|
20954
|
+
if (level > RECURSION_LIMIT) {
|
|
20955
|
+
return;
|
|
20956
|
+
}
|
|
20957
|
+
// Calculate all the mid-points of the line segments
|
|
20958
|
+
// ----------------------
|
|
20959
|
+
var x12 = (x1 + x2) / 2;
|
|
20960
|
+
var y12 = (y1 + y2) / 2;
|
|
20961
|
+
var x23 = (x2 + x3) / 2;
|
|
20962
|
+
var y23 = (y2 + y3) / 2;
|
|
20963
|
+
var x34 = (x3 + x4) / 2;
|
|
20964
|
+
var y34 = (y3 + y4) / 2;
|
|
20965
|
+
var x123 = (x12 + x23) / 2;
|
|
20966
|
+
var y123 = (y12 + y23) / 2;
|
|
20967
|
+
var x234 = (x23 + x34) / 2;
|
|
20968
|
+
var y234 = (y23 + y34) / 2;
|
|
20969
|
+
var x1234 = (x123 + x234) / 2;
|
|
20970
|
+
var y1234 = (y123 + y234) / 2;
|
|
20971
|
+
if (level > 0) {
|
|
20972
|
+
// Try to approximate the full cubic curve by a single straight line
|
|
20973
|
+
// ------------------
|
|
20974
|
+
var dx = x4 - x1;
|
|
20975
|
+
var dy = y4 - y1;
|
|
20976
|
+
var d2 = Math.abs((x2 - x4) * dy - (y2 - y4) * dx);
|
|
20977
|
+
var d3 = Math.abs((x3 - x4) * dy - (y3 - y4) * dx);
|
|
20978
|
+
if (d2 > FLT_EPSILON && d3 > FLT_EPSILON) {
|
|
20979
|
+
// Regular care
|
|
20980
|
+
// -----------------
|
|
20981
|
+
if ((d2 + d3) * (d2 + d3) <= distanceTolerance * (dx * dx + dy * dy)) {
|
|
20982
|
+
// If the curvature doesn't exceed the distanceTolerance value
|
|
20983
|
+
// we tend to finish subdivisions.
|
|
20984
|
+
// ----------------------
|
|
20985
|
+
{
|
|
20986
|
+
points.push(x1234, y1234);
|
|
20987
|
+
return;
|
|
20988
|
+
}
|
|
20989
|
+
}
|
|
20990
|
+
} else if (d2 > FLT_EPSILON) {
|
|
20991
|
+
// p1,p3,p4 are collinear, p2 is considerable
|
|
20992
|
+
// ----------------------
|
|
20993
|
+
if (d2 * d2 <= distanceTolerance * (dx * dx + dy * dy)) {
|
|
20994
|
+
{
|
|
20995
|
+
points.push(x1234, y1234);
|
|
20996
|
+
return;
|
|
20997
|
+
}
|
|
20998
|
+
}
|
|
20999
|
+
} else if (d3 > FLT_EPSILON) {
|
|
21000
|
+
// p1,p2,p4 are collinear, p3 is considerable
|
|
21001
|
+
// ----------------------
|
|
21002
|
+
if (d3 * d3 <= distanceTolerance * (dx * dx + dy * dy)) {
|
|
21003
|
+
{
|
|
21004
|
+
points.push(x1234, y1234);
|
|
21005
|
+
return;
|
|
21006
|
+
}
|
|
21007
|
+
}
|
|
21008
|
+
} else {
|
|
21009
|
+
// Collinear case
|
|
21010
|
+
// -----------------
|
|
21011
|
+
dx = x1234 - (x1 + x4) / 2;
|
|
21012
|
+
dy = y1234 - (y1 + y4) / 2;
|
|
21013
|
+
if (dx * dx + dy * dy <= distanceTolerance) {
|
|
21014
|
+
points.push(x1234, y1234);
|
|
21015
|
+
return;
|
|
21016
|
+
}
|
|
21017
|
+
}
|
|
21018
|
+
}
|
|
21019
|
+
// Continue subdivision
|
|
21020
|
+
// ----------------------
|
|
21021
|
+
recursive(x1, y1, x12, y12, x123, y123, x1234, y1234, points, distanceTolerance, level + 1);
|
|
21022
|
+
recursive(x1234, y1234, x234, y234, x34, y34, x4, y4, points, distanceTolerance, level + 1);
|
|
21023
|
+
}
|
|
21024
|
+
|
|
21025
|
+
var ShapePath = /*#__PURE__*/ function() {
|
|
21026
|
+
function ShapePath(graphicsPath) {
|
|
21027
|
+
this.graphicsPath = graphicsPath;
|
|
21028
|
+
this.currentPoly = null;
|
|
21029
|
+
this.shapePrimitives = [];
|
|
21030
|
+
}
|
|
21031
|
+
var _proto = ShapePath.prototype;
|
|
21032
|
+
/** Builds the path. */ _proto.buildPath = function buildPath() {
|
|
21033
|
+
this.currentPoly = null;
|
|
21034
|
+
this.shapePrimitives.length = 0;
|
|
21035
|
+
var path = this.graphicsPath;
|
|
21036
|
+
for(var _iterator = _create_for_of_iterator_helper_loose(path.instructions), _step; !(_step = _iterator()).done;){
|
|
21037
|
+
var instruction = _step.value;
|
|
21038
|
+
var action = instruction.action;
|
|
21039
|
+
var data = instruction.data;
|
|
21040
|
+
switch(action){
|
|
21041
|
+
case "bezierCurveTo":
|
|
21042
|
+
{
|
|
21043
|
+
this.bezierCurveTo(data[0], data[1], data[2], data[3], data[4], data[5], data[6]);
|
|
21044
|
+
break;
|
|
21045
|
+
}
|
|
21046
|
+
case "moveTo":
|
|
21047
|
+
{
|
|
21048
|
+
this.moveTo(data[0], data[1]);
|
|
21049
|
+
break;
|
|
21050
|
+
}
|
|
21051
|
+
}
|
|
21052
|
+
}
|
|
21053
|
+
this.endPoly();
|
|
21054
|
+
};
|
|
21055
|
+
/**
|
|
21056
|
+
* Adds a cubic Bezier curve to the path.
|
|
21057
|
+
* It requires three points: the first two are control points and the third one is the end point.
|
|
21058
|
+
* The starting point is the last point in the current path.
|
|
21059
|
+
* @param cp1x - The x-coordinate of the first control point.
|
|
21060
|
+
* @param cp1y - The y-coordinate of the first control point.
|
|
21061
|
+
* @param cp2x - The x-coordinate of the second control point.
|
|
21062
|
+
* @param cp2y - The y-coordinate of the second control point.
|
|
21063
|
+
* @param x - The x-coordinate of the end point.
|
|
21064
|
+
* @param y - The y-coordinate of the end point.
|
|
21065
|
+
* @param smoothness - Optional parameter to adjust the smoothness of the curve.
|
|
21066
|
+
* @returns The instance of the current object for chaining.
|
|
21067
|
+
*/ _proto.bezierCurveTo = function bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y, smoothness) {
|
|
21068
|
+
this.ensurePoly();
|
|
21069
|
+
var currentPoly = this.currentPoly;
|
|
21070
|
+
buildAdaptiveBezier(currentPoly.points, currentPoly.lastX, currentPoly.lastY, cp1x, cp1y, cp2x, cp2y, x, y, smoothness);
|
|
21071
|
+
return this;
|
|
21072
|
+
};
|
|
21073
|
+
_proto.moveTo = function moveTo(x, y) {
|
|
21074
|
+
this.startPoly(x, y);
|
|
21075
|
+
return this;
|
|
21076
|
+
};
|
|
21077
|
+
/**
|
|
21078
|
+
* Starts a new polygon path from the specified starting point.
|
|
21079
|
+
* This method initializes a new polygon or ends the current one if it exists.
|
|
21080
|
+
* @param x - The x-coordinate of the starting point of the new polygon.
|
|
21081
|
+
* @param y - The y-coordinate of the starting point of the new polygon.
|
|
21082
|
+
* @returns The instance of the current object for chaining.
|
|
21083
|
+
*/ _proto.startPoly = function startPoly(x, y) {
|
|
21084
|
+
var currentPoly = this.currentPoly;
|
|
21085
|
+
if (currentPoly) {
|
|
21086
|
+
this.endPoly();
|
|
21087
|
+
}
|
|
21088
|
+
currentPoly = new Polygon();
|
|
21089
|
+
currentPoly.points.push(x, y);
|
|
21090
|
+
this.currentPoly = currentPoly;
|
|
21091
|
+
return this;
|
|
21092
|
+
};
|
|
21093
|
+
/**
|
|
21094
|
+
* Ends the current polygon path. If `closePath` is set to true,
|
|
21095
|
+
* the path is closed by connecting the last point to the first one.
|
|
21096
|
+
* This method finalizes the current polygon and prepares it for drawing or adding to the shape primitives.
|
|
21097
|
+
* @param closePath - A boolean indicating whether to close the polygon by connecting the last point
|
|
21098
|
+
* back to the starting point. False by default.
|
|
21099
|
+
* @returns The instance of the current object for chaining.
|
|
21100
|
+
*/ _proto.endPoly = function endPoly(closePath) {
|
|
21101
|
+
if (closePath === void 0) closePath = false;
|
|
21102
|
+
var shape = this.currentPoly;
|
|
21103
|
+
if (shape && shape.points.length > 2) {
|
|
21104
|
+
shape.closePath = closePath;
|
|
21105
|
+
this.shapePrimitives.push({
|
|
21106
|
+
shape: shape
|
|
21107
|
+
});
|
|
21108
|
+
}
|
|
21109
|
+
this.currentPoly = null;
|
|
21110
|
+
return this;
|
|
21111
|
+
};
|
|
21112
|
+
_proto.ensurePoly = function ensurePoly(start) {
|
|
21113
|
+
if (this.currentPoly) {
|
|
21114
|
+
return;
|
|
21115
|
+
}
|
|
21116
|
+
this.currentPoly = new Polygon();
|
|
21117
|
+
this.currentPoly.points.push(0, 0);
|
|
21118
|
+
};
|
|
21119
|
+
return ShapePath;
|
|
21120
|
+
}();
|
|
21121
|
+
|
|
21122
|
+
var GraphicsPath = /*#__PURE__*/ function() {
|
|
21123
|
+
function GraphicsPath() {
|
|
21124
|
+
this.instructions = [];
|
|
21125
|
+
this.dirty = false;
|
|
21126
|
+
}
|
|
21127
|
+
var _proto = GraphicsPath.prototype;
|
|
21128
|
+
/**
|
|
21129
|
+
* Adds a cubic Bezier curve to the path.
|
|
21130
|
+
* It requires three points: the first two are control points and the third one is the end point.
|
|
21131
|
+
* The starting point is the last point in the current path.
|
|
21132
|
+
* @param cp1x - The x-coordinate of the first control point.
|
|
21133
|
+
* @param cp1y - The y-coordinate of the first control point.
|
|
21134
|
+
* @param cp2x - The x-coordinate of the second control point.
|
|
21135
|
+
* @param cp2y - The y-coordinate of the second control point.
|
|
21136
|
+
* @param x - The x-coordinate of the end point.
|
|
21137
|
+
* @param y - The y-coordinate of the end point.
|
|
21138
|
+
* @param smoothness - Optional parameter to adjust the smoothness of the curve.
|
|
21139
|
+
* @returns The instance of the current object for chaining.
|
|
21140
|
+
*/ _proto.bezierCurveTo = function bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y, smoothness) {
|
|
21141
|
+
this.instructions.push({
|
|
21142
|
+
action: "bezierCurveTo",
|
|
21143
|
+
data: [
|
|
21144
|
+
cp1x,
|
|
21145
|
+
cp1y,
|
|
21146
|
+
cp2x,
|
|
21147
|
+
cp2y,
|
|
21148
|
+
x,
|
|
21149
|
+
y,
|
|
21150
|
+
smoothness
|
|
21151
|
+
]
|
|
21152
|
+
});
|
|
21153
|
+
this.dirty = true;
|
|
21154
|
+
return this;
|
|
21155
|
+
};
|
|
21156
|
+
_proto.moveTo = function moveTo(x, y) {
|
|
21157
|
+
this.instructions.push({
|
|
21158
|
+
action: "moveTo",
|
|
21159
|
+
data: [
|
|
21160
|
+
x,
|
|
21161
|
+
y
|
|
21162
|
+
]
|
|
21163
|
+
});
|
|
21164
|
+
this.dirty = true;
|
|
21165
|
+
return this;
|
|
21166
|
+
};
|
|
21167
|
+
_proto.clear = function clear() {
|
|
21168
|
+
this.instructions.length = 0;
|
|
21169
|
+
this.dirty = true;
|
|
21170
|
+
return this;
|
|
21171
|
+
};
|
|
21172
|
+
_create_class(GraphicsPath, [
|
|
21173
|
+
{
|
|
21174
|
+
key: "shapePath",
|
|
21175
|
+
get: /**
|
|
21176
|
+
* Provides access to the internal shape path, ensuring it is up-to-date with the current instructions.
|
|
21177
|
+
* @returns The `ShapePath` instance associated with this `GraphicsPath`.
|
|
21178
|
+
*/ function get() {
|
|
21179
|
+
if (!this._shapePath) {
|
|
21180
|
+
this._shapePath = new ShapePath(this);
|
|
21181
|
+
}
|
|
21182
|
+
if (this.dirty) {
|
|
21183
|
+
this.dirty = false;
|
|
21184
|
+
this._shapePath.buildPath();
|
|
21185
|
+
}
|
|
21186
|
+
return this._shapePath;
|
|
21187
|
+
}
|
|
21188
|
+
}
|
|
21189
|
+
]);
|
|
21190
|
+
return GraphicsPath;
|
|
21191
|
+
}();
|
|
21192
|
+
|
|
21193
|
+
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
|
21194
|
+
|
|
21195
|
+
var libtess_min = {exports: {}};
|
|
21196
|
+
|
|
21197
|
+
/*
|
|
21198
|
+
|
|
21199
|
+
Copyright 2000, Silicon Graphics, Inc. All Rights Reserved.
|
|
21200
|
+
Copyright 2015, Google Inc. All Rights Reserved.
|
|
21201
|
+
|
|
21202
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
21203
|
+
of this software and associated documentation files (the "Software"), to
|
|
21204
|
+
deal in the Software without restriction, including without limitation the
|
|
21205
|
+
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
|
21206
|
+
sell copies of the Software, and to permit persons to whom the Software is
|
|
21207
|
+
furnished to do so, subject to the following conditions:
|
|
21208
|
+
|
|
21209
|
+
The above copyright notice including the dates of first publication and
|
|
21210
|
+
either this permission notice or a reference to http://oss.sgi.com/projects/FreeB/
|
|
21211
|
+
shall be included in all copies or substantial portions of the Software.
|
|
21212
|
+
|
|
21213
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
21214
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
21215
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
|
21216
|
+
SILICON GRAPHICS, INC. BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
|
21217
|
+
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
|
|
21218
|
+
IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
21219
|
+
|
|
21220
|
+
Original Code. The Original Code is: OpenGL Sample Implementation,
|
|
21221
|
+
Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
|
|
21222
|
+
Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
|
|
21223
|
+
Copyright in any portions created by third parties is as indicated
|
|
21224
|
+
elsewhere herein. All Rights Reserved.
|
|
21225
|
+
*/
|
|
21226
|
+
|
|
21227
|
+
(function (module) {
|
|
21228
|
+
var n;
|
|
21229
|
+
function t(a, b) {
|
|
21230
|
+
return a.b === b.b && a.a === b.a;
|
|
21231
|
+
}
|
|
21232
|
+
function u(a, b) {
|
|
21233
|
+
return a.b < b.b || a.b === b.b && a.a <= b.a;
|
|
21234
|
+
}
|
|
21235
|
+
function v(a, b, c) {
|
|
21236
|
+
var d = b.b - a.b, e = c.b - b.b;
|
|
21237
|
+
return 0 < d + e ? d < e ? b.a - a.a + d / (d + e) * (a.a - c.a) : b.a - c.a + e / (d + e) * (c.a - a.a) : 0;
|
|
21238
|
+
}
|
|
21239
|
+
function x(a, b, c) {
|
|
21240
|
+
var d = b.b - a.b, e = c.b - b.b;
|
|
21241
|
+
return 0 < d + e ? (b.a - c.a) * d + (b.a - a.a) * e : 0;
|
|
21242
|
+
}
|
|
21243
|
+
function z(a, b) {
|
|
21244
|
+
return a.a < b.a || a.a === b.a && a.b <= b.b;
|
|
21245
|
+
}
|
|
21246
|
+
function aa(a, b, c) {
|
|
21247
|
+
var d = b.a - a.a, e = c.a - b.a;
|
|
21248
|
+
return 0 < d + e ? d < e ? b.b - a.b + d / (d + e) * (a.b - c.b) : b.b - c.b + e / (d + e) * (c.b - a.b) : 0;
|
|
21249
|
+
}
|
|
21250
|
+
function ba(a, b, c) {
|
|
21251
|
+
var d = b.a - a.a, e = c.a - b.a;
|
|
21252
|
+
return 0 < d + e ? (b.b - c.b) * d + (b.b - a.b) * e : 0;
|
|
21253
|
+
}
|
|
21254
|
+
function ca(a) {
|
|
21255
|
+
return u(a.b.a, a.a);
|
|
21256
|
+
}
|
|
21257
|
+
function da(a) {
|
|
21258
|
+
return u(a.a, a.b.a);
|
|
21259
|
+
}
|
|
21260
|
+
function A(a, b, c, d) {
|
|
21261
|
+
a = 0 > a ? 0 : a;
|
|
21262
|
+
c = 0 > c ? 0 : c;
|
|
21263
|
+
return a <= c ? 0 === c ? (b + d) / 2 : b + a / (a + c) * (d - b) : d + c / (a + c) * (b - d);
|
|
21264
|
+
}
|
|
21265
|
+
function ea(a) {
|
|
21266
|
+
var b = B(a.b);
|
|
21267
|
+
C(b, a.c);
|
|
21268
|
+
C(b.b, a.c);
|
|
21269
|
+
D(b, a.a);
|
|
21270
|
+
return b;
|
|
21271
|
+
}
|
|
21272
|
+
function E(a, b) {
|
|
21273
|
+
var c = !1, d = !1;
|
|
21274
|
+
a !== b && (b.a !== a.a && (d = !0, F(b.a, a.a)), b.d !== a.d && (c = !0, G(b.d, a.d)), H(b, a), d || (C(b, a.a), a.a.c = a), c || (D(b, a.d), a.d.a = a));
|
|
21275
|
+
}
|
|
21276
|
+
function I(a) {
|
|
21277
|
+
var b = a.b, c = !1;
|
|
21278
|
+
a.d !== a.b.d && (c = !0, G(a.d, a.b.d));
|
|
21279
|
+
a.c === a ? F(a.a, null) : (a.b.d.a = J(a), a.a.c = a.c, H(a, J(a)), c || D(a, a.d));
|
|
21280
|
+
b.c === b ? (F(b.a, null), G(b.d, null)) : (a.d.a = J(b), b.a.c = b.c, H(b, J(b)));
|
|
21281
|
+
fa(a);
|
|
21282
|
+
}
|
|
21283
|
+
function K(a) {
|
|
21284
|
+
var b = B(a), c = b.b;
|
|
21285
|
+
H(b, a.e);
|
|
21286
|
+
b.a = a.b.a;
|
|
21287
|
+
C(c, b.a);
|
|
21288
|
+
b.d = c.d = a.d;
|
|
21289
|
+
b = b.b;
|
|
21290
|
+
H(a.b, J(a.b));
|
|
21291
|
+
H(a.b, b);
|
|
21292
|
+
a.b.a = b.a;
|
|
21293
|
+
b.b.a.c = b.b;
|
|
21294
|
+
b.b.d = a.b.d;
|
|
21295
|
+
b.f = a.f;
|
|
21296
|
+
b.b.f = a.b.f;
|
|
21297
|
+
return b;
|
|
21298
|
+
}
|
|
21299
|
+
function L(a, b) {
|
|
21300
|
+
var c = !1, d = B(a), e = d.b;
|
|
21301
|
+
b.d !== a.d && (c = !0, G(b.d, a.d));
|
|
21302
|
+
H(d, a.e);
|
|
21303
|
+
H(e, b);
|
|
21304
|
+
d.a = a.b.a;
|
|
21305
|
+
e.a = b.a;
|
|
21306
|
+
d.d = e.d = a.d;
|
|
21307
|
+
a.d.a = e;
|
|
21308
|
+
c || D(d, a.d);
|
|
21309
|
+
return d;
|
|
21310
|
+
}
|
|
21311
|
+
function B(a) {
|
|
21312
|
+
var b = new M, c = new M, d = a.b.h;
|
|
21313
|
+
c.h = d;
|
|
21314
|
+
d.b.h = b;
|
|
21315
|
+
b.h = a;
|
|
21316
|
+
a.b.h = c;
|
|
21317
|
+
b.b = c;
|
|
21318
|
+
b.c = b;
|
|
21319
|
+
b.e = c;
|
|
21320
|
+
c.b = b;
|
|
21321
|
+
c.c = c;
|
|
21322
|
+
return c.e = b;
|
|
21323
|
+
}
|
|
21324
|
+
function H(a, b) {
|
|
21325
|
+
var c = a.c, d = b.c;
|
|
21326
|
+
c.b.e = b;
|
|
21327
|
+
d.b.e = a;
|
|
21328
|
+
a.c = d;
|
|
21329
|
+
b.c = c;
|
|
21330
|
+
}
|
|
21331
|
+
function C(a, b) {
|
|
21332
|
+
var c = b.f, d = new N(b, c);
|
|
21333
|
+
c.e = d;
|
|
21334
|
+
b.f = d;
|
|
21335
|
+
c = d.c = a;
|
|
21336
|
+
do c.a = d, c = c.c;
|
|
21337
|
+
while (c !== a);
|
|
21338
|
+
}
|
|
21339
|
+
function D(a, b) {
|
|
21340
|
+
var c = b.d, d = new ga(b, c);
|
|
21341
|
+
c.b = d;
|
|
21342
|
+
b.d = d;
|
|
21343
|
+
d.a = a;
|
|
21344
|
+
d.c = b.c;
|
|
21345
|
+
c = a;
|
|
21346
|
+
do c.d = d, c = c.e;
|
|
21347
|
+
while (c !== a);
|
|
21348
|
+
}
|
|
21349
|
+
function fa(a) {
|
|
21350
|
+
var b = a.h;
|
|
21351
|
+
a = a.b.h;
|
|
21352
|
+
b.b.h = a;
|
|
21353
|
+
a.b.h = b;
|
|
21354
|
+
}
|
|
21355
|
+
function F(a, b) {
|
|
21356
|
+
var c = a.c, d = c;
|
|
21357
|
+
do d.a = b, d = d.c;
|
|
21358
|
+
while (d !== c);
|
|
21359
|
+
c = a.f;
|
|
21360
|
+
d = a.e;
|
|
21361
|
+
d.f = c;
|
|
21362
|
+
c.e = d;
|
|
21363
|
+
}
|
|
21364
|
+
function G(a, b) {
|
|
21365
|
+
var c = a.a, d = c;
|
|
21366
|
+
do d.d = b, d = d.e;
|
|
21367
|
+
while (d !== c);
|
|
21368
|
+
c = a.d;
|
|
21369
|
+
d = a.b;
|
|
21370
|
+
d.d = c;
|
|
21371
|
+
c.b = d;
|
|
21372
|
+
}
|
|
21373
|
+
function ha(a) {
|
|
21374
|
+
var b = 0;
|
|
21375
|
+
Math.abs(a[1]) > Math.abs(a[0]) && (b = 1);
|
|
21376
|
+
Math.abs(a[2]) > Math.abs(a[b]) && (b = 2);
|
|
21377
|
+
return b;
|
|
21378
|
+
}
|
|
21379
|
+
var O = 4 * 1E150;
|
|
21380
|
+
function P(a, b) {
|
|
21381
|
+
a.f += b.f;
|
|
21382
|
+
a.b.f += b.b.f;
|
|
21383
|
+
}
|
|
21384
|
+
function ia(a, b, c) {
|
|
21385
|
+
a = a.a;
|
|
21386
|
+
b = b.a;
|
|
21387
|
+
c = c.a;
|
|
21388
|
+
if (b.b.a === a) return c.b.a === a ? u(b.a, c.a) ? 0 >= x(c.b.a, b.a, c.a) : 0 <= x(b.b.a, c.a, b.a) : 0 >= x(c.b.a, a, c.a);
|
|
21389
|
+
if (c.b.a === a) return 0 <= x(b.b.a, a, b.a);
|
|
21390
|
+
b = v(b.b.a, a, b.a);
|
|
21391
|
+
a = v(c.b.a, a, c.a);
|
|
21392
|
+
return b >= a;
|
|
21393
|
+
}
|
|
21394
|
+
function Q(a) {
|
|
21395
|
+
a.a.i = null;
|
|
21396
|
+
var b = a.e;
|
|
21397
|
+
b.a.c = b.c;
|
|
21398
|
+
b.c.a = b.a;
|
|
21399
|
+
a.e = null;
|
|
21400
|
+
}
|
|
21401
|
+
function ja(a, b) {
|
|
21402
|
+
I(a.a);
|
|
21403
|
+
a.c = !1;
|
|
21404
|
+
a.a = b;
|
|
21405
|
+
b.i = a;
|
|
21406
|
+
}
|
|
21407
|
+
function ka(a) {
|
|
21408
|
+
var b = a.a.a;
|
|
21409
|
+
do a = R(a);
|
|
21410
|
+
while (a.a.a === b);
|
|
21411
|
+
a.c && (b = L(S(a).a.b, a.a.e), ja(a, b), a = R(a));
|
|
21412
|
+
return a;
|
|
21413
|
+
}
|
|
21414
|
+
function la(a, b, c) {
|
|
21415
|
+
var d = new ma;
|
|
21416
|
+
d.a = c;
|
|
21417
|
+
d.e = na(a.f, b.e, d);
|
|
21418
|
+
return c.i = d;
|
|
21419
|
+
}
|
|
21420
|
+
function oa(a, b) {
|
|
21421
|
+
switch(a.s){
|
|
21422
|
+
case 100130:
|
|
21423
|
+
return 0 !== (b & 1);
|
|
21424
|
+
case 100131:
|
|
21425
|
+
return 0 !== b;
|
|
21426
|
+
case 100132:
|
|
21427
|
+
return 0 < b;
|
|
21428
|
+
case 100133:
|
|
21429
|
+
return 0 > b;
|
|
21430
|
+
case 100134:
|
|
21431
|
+
return 2 <= b || -2 >= b;
|
|
21432
|
+
}
|
|
21433
|
+
return !1;
|
|
21434
|
+
}
|
|
21435
|
+
function pa(a) {
|
|
21436
|
+
var b = a.a, c = b.d;
|
|
21437
|
+
c.c = a.d;
|
|
21438
|
+
c.a = b;
|
|
21439
|
+
Q(a);
|
|
21440
|
+
}
|
|
21441
|
+
function T(a, b, c) {
|
|
21442
|
+
a = b;
|
|
21443
|
+
for(b = b.a; a !== c;){
|
|
21444
|
+
a.c = !1;
|
|
21445
|
+
var d = S(a), e = d.a;
|
|
21446
|
+
if (e.a !== b.a) {
|
|
21447
|
+
if (!d.c) {
|
|
21448
|
+
pa(a);
|
|
21449
|
+
break;
|
|
21450
|
+
}
|
|
21451
|
+
e = L(b.c.b, e.b);
|
|
21452
|
+
ja(d, e);
|
|
21453
|
+
}
|
|
21454
|
+
b.c !== e && (E(J(e), e), E(b, e));
|
|
21455
|
+
pa(a);
|
|
21456
|
+
b = d.a;
|
|
21457
|
+
a = d;
|
|
21458
|
+
}
|
|
21459
|
+
return b;
|
|
21460
|
+
}
|
|
21461
|
+
function U(a, b, c, d, e, f) {
|
|
21462
|
+
var g = !0;
|
|
21463
|
+
do la(a, b, c.b), c = c.c;
|
|
21464
|
+
while (c !== d);
|
|
21465
|
+
for(null === e && (e = S(b).a.b.c);;){
|
|
21466
|
+
d = S(b);
|
|
21467
|
+
c = d.a.b;
|
|
21468
|
+
if (c.a !== e.a) break;
|
|
21469
|
+
c.c !== e && (E(J(c), c), E(J(e), c));
|
|
21470
|
+
d.f = b.f - c.f;
|
|
21471
|
+
d.d = oa(a, d.f);
|
|
21472
|
+
b.b = !0;
|
|
21473
|
+
!g && qa(a, b) && (P(c, e), Q(b), I(e));
|
|
21474
|
+
g = !1;
|
|
21475
|
+
b = d;
|
|
21476
|
+
e = c;
|
|
21477
|
+
}
|
|
21478
|
+
b.b = !0;
|
|
21479
|
+
f && ra(a, b);
|
|
21480
|
+
}
|
|
21481
|
+
function sa(a, b, c, d, e) {
|
|
21482
|
+
var f = [
|
|
21483
|
+
b.g[0],
|
|
21484
|
+
b.g[1],
|
|
21485
|
+
b.g[2]
|
|
21486
|
+
];
|
|
21487
|
+
b.d = null;
|
|
21488
|
+
b.d = a.o ? a.o(f, c, d, a.c) || null : null;
|
|
21489
|
+
null === b.d && (e ? a.n || (V(a, 100156), a.n = !0) : b.d = c[0]);
|
|
21490
|
+
}
|
|
21491
|
+
function ta(a, b, c) {
|
|
21492
|
+
var d = [
|
|
21493
|
+
null,
|
|
21494
|
+
null,
|
|
21495
|
+
null,
|
|
21496
|
+
null
|
|
21497
|
+
];
|
|
21498
|
+
d[0] = b.a.d;
|
|
21499
|
+
d[1] = c.a.d;
|
|
21500
|
+
sa(a, b.a, d, [
|
|
21501
|
+
.5,
|
|
21502
|
+
.5,
|
|
21503
|
+
0,
|
|
21504
|
+
0
|
|
21505
|
+
], !1);
|
|
21506
|
+
E(b, c);
|
|
21507
|
+
}
|
|
21508
|
+
function ua(a, b, c, d, e) {
|
|
21509
|
+
var f = Math.abs(b.b - a.b) + Math.abs(b.a - a.a), g = Math.abs(c.b - a.b) + Math.abs(c.a - a.a), h = e + 1;
|
|
21510
|
+
d[e] = .5 * g / (f + g);
|
|
21511
|
+
d[h] = .5 * f / (f + g);
|
|
21512
|
+
a.g[0] += d[e] * b.g[0] + d[h] * c.g[0];
|
|
21513
|
+
a.g[1] += d[e] * b.g[1] + d[h] * c.g[1];
|
|
21514
|
+
a.g[2] += d[e] * b.g[2] + d[h] * c.g[2];
|
|
21515
|
+
}
|
|
21516
|
+
function qa(a, b) {
|
|
21517
|
+
var c = S(b), d = b.a, e = c.a;
|
|
21518
|
+
if (u(d.a, e.a)) {
|
|
21519
|
+
if (0 < x(e.b.a, d.a, e.a)) return !1;
|
|
21520
|
+
if (!t(d.a, e.a)) K(e.b), E(d, J(e)), b.b = c.b = !0;
|
|
21521
|
+
else if (d.a !== e.a) {
|
|
21522
|
+
var c = a.e, f = d.a.h;
|
|
21523
|
+
if (0 <= f) {
|
|
21524
|
+
var c = c.b, g = c.d, h = c.e, k = c.c, l = k[f];
|
|
21525
|
+
g[l] = g[c.a];
|
|
21526
|
+
k[g[l]] = l;
|
|
21527
|
+
l <= --c.a && (1 >= l ? W(c, l) : u(h[g[l >> 1]], h[g[l]]) ? W(c, l) : va(c, l));
|
|
21528
|
+
h[f] = null;
|
|
21529
|
+
k[f] = c.b;
|
|
21530
|
+
c.b = f;
|
|
21531
|
+
} else for(c.c[-(f + 1)] = null; 0 < c.a && null === c.c[c.d[c.a - 1]];)--c.a;
|
|
21532
|
+
ta(a, J(e), d);
|
|
21533
|
+
}
|
|
21534
|
+
} else {
|
|
21535
|
+
if (0 > x(d.b.a, e.a, d.a)) return !1;
|
|
21536
|
+
R(b).b = b.b = !0;
|
|
21537
|
+
K(d.b);
|
|
21538
|
+
E(J(e), d);
|
|
21539
|
+
}
|
|
21540
|
+
return !0;
|
|
21541
|
+
}
|
|
21542
|
+
function wa(a, b) {
|
|
21543
|
+
var c = S(b), d = b.a, e = c.a, f = d.a, g = e.a, h = d.b.a, k = e.b.a, l = new N;
|
|
21544
|
+
x(h, a.a, f);
|
|
21545
|
+
x(k, a.a, g);
|
|
21546
|
+
if (f === g || Math.min(f.a, h.a) > Math.max(g.a, k.a)) return !1;
|
|
21547
|
+
if (u(f, g)) {
|
|
21548
|
+
if (0 < x(k, f, g)) return !1;
|
|
21549
|
+
} else if (0 > x(h, g, f)) return !1;
|
|
21550
|
+
var r = h, p = f, q = k, y = g, m, w;
|
|
21551
|
+
u(r, p) || (m = r, r = p, p = m);
|
|
21552
|
+
u(q, y) || (m = q, q = y, y = m);
|
|
21553
|
+
u(r, q) || (m = r, r = q, q = m, m = p, p = y, y = m);
|
|
21554
|
+
u(q, p) ? u(p, y) ? (m = v(r, q, p), w = v(q, p, y), 0 > m + w && (m = -m, w = -w), l.b = A(m, q.b, w, p.b)) : (m = x(r, q, p), w = -x(r, y, p), 0 > m + w && (m = -m, w = -w), l.b = A(m, q.b, w, y.b)) : l.b = (q.b + p.b) / 2;
|
|
21555
|
+
z(r, p) || (m = r, r = p, p = m);
|
|
21556
|
+
z(q, y) || (m = q, q = y, y = m);
|
|
21557
|
+
z(r, q) || (m = r, r = q, q = m, m = p, p = y, y = m);
|
|
21558
|
+
z(q, p) ? z(p, y) ? (m = aa(r, q, p), w = aa(q, p, y), 0 > m + w && (m = -m, w = -w), l.a = A(m, q.a, w, p.a)) : (m = ba(r, q, p), w = -ba(r, y, p), 0 > m + w && (m = -m, w = -w), l.a = A(m, q.a, w, y.a)) : l.a = (q.a + p.a) / 2;
|
|
21559
|
+
u(l, a.a) && (l.b = a.a.b, l.a = a.a.a);
|
|
21560
|
+
r = u(f, g) ? f : g;
|
|
21561
|
+
u(r, l) && (l.b = r.b, l.a = r.a);
|
|
21562
|
+
if (t(l, f) || t(l, g)) return qa(a, b), !1;
|
|
21563
|
+
if (!t(h, a.a) && 0 <= x(h, a.a, l) || !t(k, a.a) && 0 >= x(k, a.a, l)) {
|
|
21564
|
+
if (k === a.a) return K(d.b), E(e.b, d), b = ka(b), d = S(b).a, T(a, S(b), c), U(a, b, J(d), d, d, !0), !0;
|
|
21565
|
+
if (h === a.a) {
|
|
21566
|
+
K(e.b);
|
|
21567
|
+
E(d.e, J(e));
|
|
21568
|
+
f = c = b;
|
|
21569
|
+
g = f.a.b.a;
|
|
21570
|
+
do f = R(f);
|
|
21571
|
+
while (f.a.b.a === g);
|
|
21572
|
+
b = f;
|
|
21573
|
+
f = S(b).a.b.c;
|
|
21574
|
+
c.a = J(e);
|
|
21575
|
+
e = T(a, c, null);
|
|
21576
|
+
U(a, b, e.c, d.b.c, f, !0);
|
|
21577
|
+
return !0;
|
|
21578
|
+
}
|
|
21579
|
+
0 <= x(h, a.a, l) && (R(b).b = b.b = !0, K(d.b), d.a.b = a.a.b, d.a.a = a.a.a);
|
|
21580
|
+
0 >= x(k, a.a, l) && (b.b = c.b = !0, K(e.b), e.a.b = a.a.b, e.a.a = a.a.a);
|
|
21581
|
+
return !1;
|
|
21582
|
+
}
|
|
21583
|
+
K(d.b);
|
|
21584
|
+
K(e.b);
|
|
21585
|
+
E(J(e), d);
|
|
21586
|
+
d.a.b = l.b;
|
|
21587
|
+
d.a.a = l.a;
|
|
21588
|
+
d.a.h = xa(a.e, d.a);
|
|
21589
|
+
d = d.a;
|
|
21590
|
+
e = [
|
|
21591
|
+
0,
|
|
21592
|
+
0,
|
|
21593
|
+
0,
|
|
21594
|
+
0
|
|
21595
|
+
];
|
|
21596
|
+
l = [
|
|
21597
|
+
f.d,
|
|
21598
|
+
h.d,
|
|
21599
|
+
g.d,
|
|
21600
|
+
k.d
|
|
21601
|
+
];
|
|
21602
|
+
d.g[0] = d.g[1] = d.g[2] = 0;
|
|
21603
|
+
ua(d, f, h, e, 0);
|
|
21604
|
+
ua(d, g, k, e, 2);
|
|
21605
|
+
sa(a, d, l, e, !0);
|
|
21606
|
+
R(b).b = b.b = c.b = !0;
|
|
21607
|
+
return !1;
|
|
21608
|
+
}
|
|
21609
|
+
function ra(a, b) {
|
|
21610
|
+
for(var c = S(b);;){
|
|
21611
|
+
for(; c.b;)b = c, c = S(c);
|
|
21612
|
+
if (!b.b && (c = b, b = R(b), null === b || !b.b)) break;
|
|
21613
|
+
b.b = !1;
|
|
21614
|
+
var d = b.a, e = c.a, f;
|
|
21615
|
+
if (f = d.b.a !== e.b.a) a: {
|
|
21616
|
+
f = b;
|
|
21617
|
+
var g = S(f), h = f.a, k = g.a, l = void 0;
|
|
21618
|
+
if (u(h.b.a, k.b.a)) {
|
|
21619
|
+
if (0 > x(h.b.a, k.b.a, h.a)) {
|
|
21620
|
+
f = !1;
|
|
21621
|
+
break a;
|
|
21622
|
+
}
|
|
21623
|
+
R(f).b = f.b = !0;
|
|
21624
|
+
l = K(h);
|
|
21625
|
+
E(k.b, l);
|
|
21626
|
+
l.d.c = f.d;
|
|
21627
|
+
} else {
|
|
21628
|
+
if (0 < x(k.b.a, h.b.a, k.a)) {
|
|
21629
|
+
f = !1;
|
|
21630
|
+
break a;
|
|
21631
|
+
}
|
|
21632
|
+
f.b = g.b = !0;
|
|
21633
|
+
l = K(k);
|
|
21634
|
+
E(h.e, k.b);
|
|
21635
|
+
l.b.d.c = f.d;
|
|
21636
|
+
}
|
|
21637
|
+
f = !0;
|
|
21638
|
+
}
|
|
21639
|
+
f && (c.c ? (Q(c), I(e), c = S(b), e = c.a) : b.c && (Q(b), I(d), b = R(c), d = b.a));
|
|
21640
|
+
if (d.a !== e.a) {
|
|
21641
|
+
if (d.b.a === e.b.a || b.c || c.c || d.b.a !== a.a && e.b.a !== a.a) qa(a, b);
|
|
21642
|
+
else if (wa(a, b)) break;
|
|
21643
|
+
}
|
|
21644
|
+
d.a === e.a && d.b.a === e.b.a && (P(e, d), Q(b), I(d), b = R(c));
|
|
21645
|
+
}
|
|
21646
|
+
}
|
|
21647
|
+
function ya(a, b) {
|
|
21648
|
+
a.a = b;
|
|
21649
|
+
for(var c = b.c; null === c.i;)if (c = c.c, c === b.c) {
|
|
21650
|
+
var c = a, d = b, e = new ma;
|
|
21651
|
+
e.a = d.c.b;
|
|
21652
|
+
var f = c.f, g = f.a;
|
|
21653
|
+
do g = g.a;
|
|
21654
|
+
while (null !== g.b && !f.c(f.b, e, g.b));
|
|
21655
|
+
var f = g.b, h = S(f), e = f.a, g = h.a;
|
|
21656
|
+
if (0 === x(e.b.a, d, e.a)) e = f.a, t(e.a, d) || t(e.b.a, d) || (K(e.b), f.c && (I(e.c), f.c = !1), E(d.c, e), ya(c, d));
|
|
21657
|
+
else {
|
|
21658
|
+
var k = u(g.b.a, e.b.a) ? f : h, h = void 0;
|
|
21659
|
+
f.d || k.c ? (k === f ? h = L(d.c.b, e.e) : h = L(g.b.c.b, d.c).b, k.c ? ja(k, h) : (e = c, f = la(c, f, h), f.f = R(f).f + f.a.f, f.d = oa(e, f.f)), ya(c, d)) : U(c, f, d.c, d.c, null, !0);
|
|
21660
|
+
}
|
|
21661
|
+
return;
|
|
21662
|
+
}
|
|
21663
|
+
c = ka(c.i);
|
|
21664
|
+
e = S(c);
|
|
21665
|
+
f = e.a;
|
|
21666
|
+
e = T(a, e, null);
|
|
21667
|
+
if (e.c === f) {
|
|
21668
|
+
var f = e, e = f.c, g = S(c), h = c.a, k = g.a, l = !1;
|
|
21669
|
+
h.b.a !== k.b.a && wa(a, c);
|
|
21670
|
+
t(h.a, a.a) && (E(J(e), h), c = ka(c), e = S(c).a, T(a, S(c), g), l = !0);
|
|
21671
|
+
t(k.a, a.a) && (E(f, J(k)), f = T(a, g, null), l = !0);
|
|
21672
|
+
l ? U(a, c, f.c, e, e, !0) : (u(k.a, h.a) ? d = J(k) : d = h, d = L(f.c.b, d), U(a, c, d, d.c, d.c, !1), d.b.i.c = !0, ra(a, c));
|
|
21673
|
+
} else U(a, c, e.c, f, f, !0);
|
|
21674
|
+
}
|
|
21675
|
+
function za(a, b) {
|
|
21676
|
+
var c = new ma, d = ea(a.b);
|
|
21677
|
+
d.a.b = O;
|
|
21678
|
+
d.a.a = b;
|
|
21679
|
+
d.b.a.b = -O;
|
|
21680
|
+
d.b.a.a = b;
|
|
21681
|
+
a.a = d.b.a;
|
|
21682
|
+
c.a = d;
|
|
21683
|
+
c.f = 0;
|
|
21684
|
+
c.d = !1;
|
|
21685
|
+
c.c = !1;
|
|
21686
|
+
c.h = !0;
|
|
21687
|
+
c.b = !1;
|
|
21688
|
+
d = a.f;
|
|
21689
|
+
d = na(d, d.a, c);
|
|
21690
|
+
c.e = d;
|
|
21691
|
+
}
|
|
21692
|
+
function Aa(a) {
|
|
21693
|
+
this.a = new Ba;
|
|
21694
|
+
this.b = a;
|
|
21695
|
+
this.c = ia;
|
|
21696
|
+
}
|
|
21697
|
+
function na(a, b, c) {
|
|
21698
|
+
do b = b.c;
|
|
21699
|
+
while (null !== b.b && !a.c(a.b, b.b, c));
|
|
21700
|
+
a = new Ba(c, b.a, b);
|
|
21701
|
+
b.a.c = a;
|
|
21702
|
+
return b.a = a;
|
|
21703
|
+
}
|
|
21704
|
+
function Ba(a, b, c) {
|
|
21705
|
+
this.b = a || null;
|
|
21706
|
+
this.a = b || this;
|
|
21707
|
+
this.c = c || this;
|
|
21708
|
+
}
|
|
21709
|
+
function X() {
|
|
21710
|
+
this.d = Y;
|
|
21711
|
+
this.p = this.b = this.q = null;
|
|
21712
|
+
this.j = [
|
|
21713
|
+
0,
|
|
21714
|
+
0,
|
|
21715
|
+
0
|
|
21716
|
+
];
|
|
21717
|
+
this.s = 100130;
|
|
21718
|
+
this.n = !1;
|
|
21719
|
+
this.o = this.a = this.e = this.f = null;
|
|
21720
|
+
this.m = !1;
|
|
21721
|
+
this.c = this.r = this.i = this.k = this.l = this.h = null;
|
|
21722
|
+
}
|
|
21723
|
+
var Y = 0;
|
|
21724
|
+
n = X.prototype;
|
|
21725
|
+
n.x = function() {
|
|
21726
|
+
Z(this, Y);
|
|
21727
|
+
};
|
|
21728
|
+
n.B = function(a, b) {
|
|
21729
|
+
switch(a){
|
|
21730
|
+
case 100142:
|
|
21731
|
+
return;
|
|
21732
|
+
case 100140:
|
|
21733
|
+
switch(b){
|
|
21734
|
+
case 100130:
|
|
21735
|
+
case 100131:
|
|
21736
|
+
case 100132:
|
|
21737
|
+
case 100133:
|
|
21738
|
+
case 100134:
|
|
21739
|
+
this.s = b;
|
|
21740
|
+
return;
|
|
21741
|
+
}
|
|
21742
|
+
break;
|
|
21743
|
+
case 100141:
|
|
21744
|
+
this.m = !!b;
|
|
21745
|
+
return;
|
|
21746
|
+
default:
|
|
21747
|
+
V(this, 100900);
|
|
21748
|
+
return;
|
|
21749
|
+
}
|
|
21750
|
+
V(this, 100901);
|
|
21751
|
+
};
|
|
21752
|
+
n.y = function(a) {
|
|
21753
|
+
switch(a){
|
|
21754
|
+
case 100142:
|
|
21755
|
+
return 0;
|
|
21756
|
+
case 100140:
|
|
21757
|
+
return this.s;
|
|
21758
|
+
case 100141:
|
|
21759
|
+
return this.m;
|
|
21760
|
+
default:
|
|
21761
|
+
V(this, 100900);
|
|
21762
|
+
}
|
|
21763
|
+
return !1;
|
|
21764
|
+
};
|
|
21765
|
+
n.A = function(a, b, c) {
|
|
21766
|
+
this.j[0] = a;
|
|
21767
|
+
this.j[1] = b;
|
|
21768
|
+
this.j[2] = c;
|
|
21769
|
+
};
|
|
21770
|
+
n.z = function(a, b) {
|
|
21771
|
+
var c = b ? b : null;
|
|
21772
|
+
switch(a){
|
|
21773
|
+
case 100100:
|
|
21774
|
+
case 100106:
|
|
21775
|
+
this.h = c;
|
|
21776
|
+
break;
|
|
21777
|
+
case 100104:
|
|
21778
|
+
case 100110:
|
|
21779
|
+
this.l = c;
|
|
21780
|
+
break;
|
|
21781
|
+
case 100101:
|
|
21782
|
+
case 100107:
|
|
21783
|
+
this.k = c;
|
|
21784
|
+
break;
|
|
21785
|
+
case 100102:
|
|
21786
|
+
case 100108:
|
|
21787
|
+
this.i = c;
|
|
21788
|
+
break;
|
|
21789
|
+
case 100103:
|
|
21790
|
+
case 100109:
|
|
21791
|
+
this.p = c;
|
|
21792
|
+
break;
|
|
21793
|
+
case 100105:
|
|
21794
|
+
case 100111:
|
|
21795
|
+
this.o = c;
|
|
21796
|
+
break;
|
|
21797
|
+
case 100112:
|
|
21798
|
+
this.r = c;
|
|
21799
|
+
break;
|
|
21800
|
+
default:
|
|
21801
|
+
V(this, 100900);
|
|
21802
|
+
}
|
|
21803
|
+
};
|
|
21804
|
+
n.C = function(a, b) {
|
|
21805
|
+
var c = !1, d = [
|
|
21806
|
+
0,
|
|
21807
|
+
0,
|
|
21808
|
+
0
|
|
21809
|
+
];
|
|
21810
|
+
Z(this, 2);
|
|
21811
|
+
for(var e = 0; 3 > e; ++e){
|
|
21812
|
+
var f = a[e];
|
|
21813
|
+
-1E150 > f && (f = -1E150, c = !0);
|
|
21814
|
+
1E150 < f && (f = 1E150, c = !0);
|
|
21815
|
+
d[e] = f;
|
|
21816
|
+
}
|
|
21817
|
+
c && V(this, 100155);
|
|
21818
|
+
c = this.q;
|
|
21819
|
+
null === c ? (c = ea(this.b), E(c, c.b)) : (K(c), c = c.e);
|
|
21820
|
+
c.a.d = b;
|
|
21821
|
+
c.a.g[0] = d[0];
|
|
21822
|
+
c.a.g[1] = d[1];
|
|
21823
|
+
c.a.g[2] = d[2];
|
|
21824
|
+
c.f = 1;
|
|
21825
|
+
c.b.f = -1;
|
|
21826
|
+
this.q = c;
|
|
21827
|
+
};
|
|
21828
|
+
n.u = function(a) {
|
|
21829
|
+
Z(this, Y);
|
|
21830
|
+
this.d = 1;
|
|
21831
|
+
this.b = new Ca;
|
|
21832
|
+
this.c = a;
|
|
21833
|
+
};
|
|
21834
|
+
n.t = function() {
|
|
21835
|
+
Z(this, 1);
|
|
21836
|
+
this.d = 2;
|
|
21837
|
+
this.q = null;
|
|
21838
|
+
};
|
|
21839
|
+
n.v = function() {
|
|
21840
|
+
Z(this, 2);
|
|
21841
|
+
this.d = 1;
|
|
21842
|
+
};
|
|
21843
|
+
n.w = function() {
|
|
21844
|
+
Z(this, 1);
|
|
21845
|
+
this.d = Y;
|
|
21846
|
+
var a = this.j[0], b = this.j[1], c = this.j[2], d = !1, e = [
|
|
21847
|
+
a,
|
|
21848
|
+
b,
|
|
21849
|
+
c
|
|
21850
|
+
];
|
|
21851
|
+
if (0 === a && 0 === b && 0 === c) {
|
|
21852
|
+
for(var b = [
|
|
21853
|
+
-2 * 1E150,
|
|
21854
|
+
-2 * 1E150,
|
|
21855
|
+
-2 * 1E150
|
|
21856
|
+
], f = [
|
|
21857
|
+
2 * 1E150,
|
|
21858
|
+
2 * 1E150,
|
|
21859
|
+
2 * 1E150
|
|
21860
|
+
], c = [], g = [], d = this.b.c, a = d.e; a !== d; a = a.e)for(var h = 0; 3 > h; ++h){
|
|
21861
|
+
var k = a.g[h];
|
|
21862
|
+
k < f[h] && (f[h] = k, g[h] = a);
|
|
21863
|
+
k > b[h] && (b[h] = k, c[h] = a);
|
|
21864
|
+
}
|
|
21865
|
+
a = 0;
|
|
21866
|
+
b[1] - f[1] > b[0] - f[0] && (a = 1);
|
|
21867
|
+
b[2] - f[2] > b[a] - f[a] && (a = 2);
|
|
21868
|
+
if (f[a] >= b[a]) e[0] = 0, e[1] = 0, e[2] = 1;
|
|
21869
|
+
else {
|
|
21870
|
+
b = 0;
|
|
21871
|
+
f = g[a];
|
|
21872
|
+
c = c[a];
|
|
21873
|
+
g = [
|
|
21874
|
+
0,
|
|
21875
|
+
0,
|
|
21876
|
+
0
|
|
21877
|
+
];
|
|
21878
|
+
f = [
|
|
21879
|
+
f.g[0] - c.g[0],
|
|
21880
|
+
f.g[1] - c.g[1],
|
|
21881
|
+
f.g[2] - c.g[2]
|
|
21882
|
+
];
|
|
21883
|
+
h = [
|
|
21884
|
+
0,
|
|
21885
|
+
0,
|
|
21886
|
+
0
|
|
21887
|
+
];
|
|
21888
|
+
for(a = d.e; a !== d; a = a.e)h[0] = a.g[0] - c.g[0], h[1] = a.g[1] - c.g[1], h[2] = a.g[2] - c.g[2], g[0] = f[1] * h[2] - f[2] * h[1], g[1] = f[2] * h[0] - f[0] * h[2], g[2] = f[0] * h[1] - f[1] * h[0], k = g[0] * g[0] + g[1] * g[1] + g[2] * g[2], k > b && (b = k, e[0] = g[0], e[1] = g[1], e[2] = g[2]);
|
|
21889
|
+
0 >= b && (e[0] = e[1] = e[2] = 0, e[ha(f)] = 1);
|
|
21890
|
+
}
|
|
21891
|
+
d = !0;
|
|
21892
|
+
}
|
|
21893
|
+
g = ha(e);
|
|
21894
|
+
a = this.b.c;
|
|
21895
|
+
b = (g + 1) % 3;
|
|
21896
|
+
c = (g + 2) % 3;
|
|
21897
|
+
g = 0 < e[g] ? 1 : -1;
|
|
21898
|
+
for(e = a.e; e !== a; e = e.e)e.b = e.g[b], e.a = g * e.g[c];
|
|
21899
|
+
if (d) {
|
|
21900
|
+
e = 0;
|
|
21901
|
+
d = this.b.a;
|
|
21902
|
+
for(a = d.b; a !== d; a = a.b)if (b = a.a, !(0 >= b.f)) {
|
|
21903
|
+
do e += (b.a.b - b.b.a.b) * (b.a.a + b.b.a.a), b = b.e;
|
|
21904
|
+
while (b !== a.a);
|
|
21905
|
+
}
|
|
21906
|
+
if (0 > e) for(e = this.b.c, d = e.e; d !== e; d = d.e)d.a = -d.a;
|
|
21907
|
+
}
|
|
21908
|
+
this.n = !1;
|
|
21909
|
+
e = this.b.b;
|
|
21910
|
+
for(a = e.h; a !== e; a = d)if (d = a.h, b = a.e, t(a.a, a.b.a) && a.e.e !== a && (ta(this, b, a), I(a), a = b, b = a.e), b.e === a) {
|
|
21911
|
+
if (b !== a) {
|
|
21912
|
+
if (b === d || b === d.b) d = d.h;
|
|
21913
|
+
I(b);
|
|
21914
|
+
}
|
|
21915
|
+
if (a === d || a === d.b) d = d.h;
|
|
21916
|
+
I(a);
|
|
21917
|
+
}
|
|
21918
|
+
this.e = e = new Da;
|
|
21919
|
+
d = this.b.c;
|
|
21920
|
+
for(a = d.e; a !== d; a = a.e)a.h = xa(e, a);
|
|
21921
|
+
Ea(e);
|
|
21922
|
+
this.f = new Aa(this);
|
|
21923
|
+
za(this, -O);
|
|
21924
|
+
for(za(this, O); null !== (e = Fa(this.e));){
|
|
21925
|
+
for(;;){
|
|
21926
|
+
a: if (a = this.e, 0 === a.a) d = Ga(a.b);
|
|
21927
|
+
else if (d = a.c[a.d[a.a - 1]], 0 !== a.b.a && (a = Ga(a.b), u(a, d))) {
|
|
21928
|
+
d = a;
|
|
21929
|
+
break a;
|
|
21930
|
+
}
|
|
21931
|
+
if (null === d || !t(d, e)) break;
|
|
21932
|
+
d = Fa(this.e);
|
|
21933
|
+
ta(this, e.c, d.c);
|
|
21934
|
+
}
|
|
21935
|
+
ya(this, e);
|
|
21936
|
+
}
|
|
21937
|
+
this.a = this.f.a.a.b.a.a;
|
|
21938
|
+
for(e = 0; null !== (d = this.f.a.a.b);)d.h || ++e, Q(d);
|
|
21939
|
+
this.f = null;
|
|
21940
|
+
e = this.e;
|
|
21941
|
+
e.b = null;
|
|
21942
|
+
e.d = null;
|
|
21943
|
+
this.e = e.c = null;
|
|
21944
|
+
e = this.b;
|
|
21945
|
+
for(a = e.a.b; a !== e.a; a = d)d = a.b, a = a.a, a.e.e === a && (P(a.c, a), I(a));
|
|
21946
|
+
if (!this.n) {
|
|
21947
|
+
e = this.b;
|
|
21948
|
+
if (this.m) for(a = e.b.h; a !== e.b; a = d)d = a.h, a.b.d.c !== a.d.c ? a.f = a.d.c ? 1 : -1 : I(a);
|
|
21949
|
+
else for(a = e.a.b; a !== e.a; a = d)if (d = a.b, a.c) {
|
|
21950
|
+
for(a = a.a; u(a.b.a, a.a); a = a.c.b);
|
|
21951
|
+
for(; u(a.a, a.b.a); a = a.e);
|
|
21952
|
+
b = a.c.b;
|
|
21953
|
+
for(c = void 0; a.e !== b;)if (u(a.b.a, b.a)) {
|
|
21954
|
+
for(; b.e !== a && (ca(b.e) || 0 >= x(b.a, b.b.a, b.e.b.a));)c = L(b.e, b), b = c.b;
|
|
21955
|
+
b = b.c.b;
|
|
21956
|
+
} else {
|
|
21957
|
+
for(; b.e !== a && (da(a.c.b) || 0 <= x(a.b.a, a.a, a.c.b.a));)c = L(a, a.c.b), a = c.b;
|
|
21958
|
+
a = a.e;
|
|
21959
|
+
}
|
|
21960
|
+
for(; b.e.e !== a;)c = L(b.e, b), b = c.b;
|
|
21961
|
+
}
|
|
21962
|
+
if (this.h || this.i || this.k || this.l) if (this.m) for(e = this.b, d = e.a.b; d !== e.a; d = d.b){
|
|
21963
|
+
if (d.c) {
|
|
21964
|
+
this.h && this.h(2, this.c);
|
|
21965
|
+
a = d.a;
|
|
21966
|
+
do this.k && this.k(a.a.d, this.c), a = a.e;
|
|
21967
|
+
while (a !== d.a);
|
|
21968
|
+
this.i && this.i(this.c);
|
|
21969
|
+
}
|
|
21970
|
+
}
|
|
21971
|
+
else {
|
|
21972
|
+
e = this.b;
|
|
21973
|
+
d = !!this.l;
|
|
21974
|
+
a = !1;
|
|
21975
|
+
b = -1;
|
|
21976
|
+
for(c = e.a.d; c !== e.a; c = c.d)if (c.c) {
|
|
21977
|
+
a || (this.h && this.h(4, this.c), a = !0);
|
|
21978
|
+
g = c.a;
|
|
21979
|
+
do d && (f = g.b.d.c ? 0 : 1, b !== f && (b = f, this.l && this.l(!!b, this.c))), this.k && this.k(g.a.d, this.c), g = g.e;
|
|
21980
|
+
while (g !== c.a);
|
|
21981
|
+
}
|
|
21982
|
+
a && this.i && this.i(this.c);
|
|
21983
|
+
}
|
|
21984
|
+
if (this.r) {
|
|
21985
|
+
e = this.b;
|
|
21986
|
+
for(a = e.a.b; a !== e.a; a = d)if (d = a.b, !a.c) {
|
|
21987
|
+
b = a.a;
|
|
21988
|
+
c = b.e;
|
|
21989
|
+
g = void 0;
|
|
21990
|
+
do g = c, c = g.e, g.d = null, null === g.b.d && (g.c === g ? F(g.a, null) : (g.a.c = g.c, H(g, J(g))), f = g.b, f.c === f ? F(f.a, null) : (f.a.c = f.c, H(f, J(f))), fa(g));
|
|
21991
|
+
while (g !== b);
|
|
21992
|
+
b = a.d;
|
|
21993
|
+
a = a.b;
|
|
21994
|
+
a.d = b;
|
|
21995
|
+
b.b = a;
|
|
21996
|
+
}
|
|
21997
|
+
this.r(this.b);
|
|
21998
|
+
this.c = this.b = null;
|
|
21999
|
+
return;
|
|
22000
|
+
}
|
|
22001
|
+
}
|
|
22002
|
+
this.b = this.c = null;
|
|
22003
|
+
};
|
|
22004
|
+
function Z(a, b) {
|
|
22005
|
+
if (a.d !== b) for(; a.d !== b;)if (a.d < b) switch(a.d){
|
|
22006
|
+
case Y:
|
|
22007
|
+
V(a, 100151);
|
|
22008
|
+
a.u(null);
|
|
22009
|
+
break;
|
|
22010
|
+
case 1:
|
|
22011
|
+
V(a, 100152), a.t();
|
|
22012
|
+
}
|
|
22013
|
+
else switch(a.d){
|
|
22014
|
+
case 2:
|
|
22015
|
+
V(a, 100154);
|
|
22016
|
+
a.v();
|
|
22017
|
+
break;
|
|
22018
|
+
case 1:
|
|
22019
|
+
V(a, 100153), a.w();
|
|
22020
|
+
}
|
|
22021
|
+
}
|
|
22022
|
+
function V(a, b) {
|
|
22023
|
+
a.p && a.p(b, a.c);
|
|
22024
|
+
}
|
|
22025
|
+
function ga(a, b) {
|
|
22026
|
+
this.b = a || this;
|
|
22027
|
+
this.d = b || this;
|
|
22028
|
+
this.a = null;
|
|
22029
|
+
this.c = !1;
|
|
22030
|
+
}
|
|
22031
|
+
function M() {
|
|
22032
|
+
this.h = this;
|
|
22033
|
+
this.i = this.d = this.a = this.e = this.c = this.b = null;
|
|
22034
|
+
this.f = 0;
|
|
22035
|
+
}
|
|
22036
|
+
function J(a) {
|
|
22037
|
+
return a.b.e;
|
|
22038
|
+
}
|
|
22039
|
+
function Ca() {
|
|
22040
|
+
this.c = new N;
|
|
22041
|
+
this.a = new ga;
|
|
22042
|
+
this.b = new M;
|
|
22043
|
+
this.d = new M;
|
|
22044
|
+
this.b.b = this.d;
|
|
22045
|
+
this.d.b = this.b;
|
|
22046
|
+
}
|
|
22047
|
+
function N(a, b) {
|
|
22048
|
+
this.e = a || this;
|
|
22049
|
+
this.f = b || this;
|
|
22050
|
+
this.d = this.c = null;
|
|
22051
|
+
this.g = [
|
|
22052
|
+
0,
|
|
22053
|
+
0,
|
|
22054
|
+
0
|
|
22055
|
+
];
|
|
22056
|
+
this.h = this.a = this.b = 0;
|
|
22057
|
+
}
|
|
22058
|
+
function Da() {
|
|
22059
|
+
this.c = [];
|
|
22060
|
+
this.d = null;
|
|
22061
|
+
this.a = 0;
|
|
22062
|
+
this.e = !1;
|
|
22063
|
+
this.b = new Ha;
|
|
22064
|
+
}
|
|
22065
|
+
function Ea(a) {
|
|
22066
|
+
a.d = [];
|
|
22067
|
+
for(var b = 0; b < a.a; b++)a.d[b] = b;
|
|
22068
|
+
a.d.sort(function(a) {
|
|
22069
|
+
return function(b, e) {
|
|
22070
|
+
return u(a[b], a[e]) ? 1 : -1;
|
|
22071
|
+
};
|
|
22072
|
+
}(a.c));
|
|
22073
|
+
a.e = !0;
|
|
22074
|
+
Ia(a.b);
|
|
22075
|
+
}
|
|
22076
|
+
function xa(a, b) {
|
|
22077
|
+
if (a.e) {
|
|
22078
|
+
var c = a.b, d = ++c.a;
|
|
22079
|
+
2 * d > c.f && (c.f *= 2, c.c = Ja(c.c, c.f + 1));
|
|
22080
|
+
var e;
|
|
22081
|
+
0 === c.b ? e = d : (e = c.b, c.b = c.c[c.b]);
|
|
22082
|
+
c.e[e] = b;
|
|
22083
|
+
c.c[e] = d;
|
|
22084
|
+
c.d[d] = e;
|
|
22085
|
+
c.h && va(c, d);
|
|
22086
|
+
return e;
|
|
22087
|
+
}
|
|
22088
|
+
c = a.a++;
|
|
22089
|
+
a.c[c] = b;
|
|
22090
|
+
return -(c + 1);
|
|
22091
|
+
}
|
|
22092
|
+
function Fa(a) {
|
|
22093
|
+
if (0 === a.a) return Ka(a.b);
|
|
22094
|
+
var b = a.c[a.d[a.a - 1]];
|
|
22095
|
+
if (0 !== a.b.a && u(Ga(a.b), b)) return Ka(a.b);
|
|
22096
|
+
do --a.a;
|
|
22097
|
+
while (0 < a.a && null === a.c[a.d[a.a - 1]]);
|
|
22098
|
+
return b;
|
|
22099
|
+
}
|
|
22100
|
+
function Ha() {
|
|
22101
|
+
this.d = Ja([
|
|
22102
|
+
0
|
|
22103
|
+
], 33);
|
|
22104
|
+
this.e = [
|
|
22105
|
+
null,
|
|
22106
|
+
null
|
|
22107
|
+
];
|
|
22108
|
+
this.c = [
|
|
22109
|
+
0,
|
|
22110
|
+
0
|
|
22111
|
+
];
|
|
22112
|
+
this.a = 0;
|
|
22113
|
+
this.f = 32;
|
|
22114
|
+
this.b = 0;
|
|
22115
|
+
this.h = !1;
|
|
22116
|
+
this.d[1] = 1;
|
|
22117
|
+
}
|
|
22118
|
+
function Ja(a, b) {
|
|
22119
|
+
for(var c = Array(b), d = 0; d < a.length; d++)c[d] = a[d];
|
|
22120
|
+
for(; d < b; d++)c[d] = 0;
|
|
22121
|
+
return c;
|
|
22122
|
+
}
|
|
22123
|
+
function Ia(a) {
|
|
22124
|
+
for(var b = a.a; 1 <= b; --b)W(a, b);
|
|
22125
|
+
a.h = !0;
|
|
22126
|
+
}
|
|
22127
|
+
function Ga(a) {
|
|
22128
|
+
return a.e[a.d[1]];
|
|
22129
|
+
}
|
|
22130
|
+
function Ka(a) {
|
|
22131
|
+
var b = a.d, c = a.e, d = a.c, e = b[1], f = c[e];
|
|
22132
|
+
0 < a.a && (b[1] = b[a.a], d[b[1]] = 1, c[e] = null, d[e] = a.b, a.b = e, 0 < --a.a && W(a, 1));
|
|
22133
|
+
return f;
|
|
22134
|
+
}
|
|
22135
|
+
function W(a, b) {
|
|
22136
|
+
for(var c = a.d, d = a.e, e = a.c, f = b, g = c[f];;){
|
|
22137
|
+
var h = f << 1;
|
|
22138
|
+
h < a.a && u(d[c[h + 1]], d[c[h]]) && (h += 1);
|
|
22139
|
+
var k = c[h];
|
|
22140
|
+
if (h > a.a || u(d[g], d[k])) {
|
|
22141
|
+
c[f] = g;
|
|
22142
|
+
e[g] = f;
|
|
22143
|
+
break;
|
|
22144
|
+
}
|
|
22145
|
+
c[f] = k;
|
|
22146
|
+
e[k] = f;
|
|
22147
|
+
f = h;
|
|
22148
|
+
}
|
|
22149
|
+
}
|
|
22150
|
+
function va(a, b) {
|
|
22151
|
+
for(var c = a.d, d = a.e, e = a.c, f = b, g = c[f];;){
|
|
22152
|
+
var h = f >> 1, k = c[h];
|
|
22153
|
+
if (0 === h || u(d[k], d[g])) {
|
|
22154
|
+
c[f] = g;
|
|
22155
|
+
e[g] = f;
|
|
22156
|
+
break;
|
|
22157
|
+
}
|
|
22158
|
+
c[f] = k;
|
|
22159
|
+
e[k] = f;
|
|
22160
|
+
f = h;
|
|
22161
|
+
}
|
|
22162
|
+
}
|
|
22163
|
+
function ma() {
|
|
22164
|
+
this.e = this.a = null;
|
|
22165
|
+
this.f = 0;
|
|
22166
|
+
this.c = this.b = this.h = this.d = !1;
|
|
22167
|
+
}
|
|
22168
|
+
function S(a) {
|
|
22169
|
+
return a.e.c.b;
|
|
22170
|
+
}
|
|
22171
|
+
function R(a) {
|
|
22172
|
+
return a.e.a.b;
|
|
22173
|
+
}
|
|
22174
|
+
commonjsGlobal.libtess = {
|
|
22175
|
+
GluTesselator: X,
|
|
22176
|
+
windingRule: {
|
|
22177
|
+
GLU_TESS_WINDING_ODD: 100130,
|
|
22178
|
+
GLU_TESS_WINDING_NONZERO: 100131,
|
|
22179
|
+
GLU_TESS_WINDING_POSITIVE: 100132,
|
|
22180
|
+
GLU_TESS_WINDING_NEGATIVE: 100133,
|
|
22181
|
+
GLU_TESS_WINDING_ABS_GEQ_TWO: 100134
|
|
22182
|
+
},
|
|
22183
|
+
primitiveType: {
|
|
22184
|
+
GL_LINE_LOOP: 2,
|
|
22185
|
+
GL_TRIANGLES: 4,
|
|
22186
|
+
GL_TRIANGLE_STRIP: 5,
|
|
22187
|
+
GL_TRIANGLE_FAN: 6
|
|
22188
|
+
},
|
|
22189
|
+
errorType: {
|
|
22190
|
+
GLU_TESS_MISSING_BEGIN_POLYGON: 100151,
|
|
22191
|
+
GLU_TESS_MISSING_END_POLYGON: 100153,
|
|
22192
|
+
GLU_TESS_MISSING_BEGIN_CONTOUR: 100152,
|
|
22193
|
+
GLU_TESS_MISSING_END_CONTOUR: 100154,
|
|
22194
|
+
GLU_TESS_COORD_TOO_LARGE: 100155,
|
|
22195
|
+
GLU_TESS_NEED_COMBINE_CALLBACK: 100156
|
|
22196
|
+
},
|
|
22197
|
+
gluEnum: {
|
|
22198
|
+
GLU_TESS_MESH: 100112,
|
|
22199
|
+
GLU_TESS_TOLERANCE: 100142,
|
|
22200
|
+
GLU_TESS_WINDING_RULE: 100140,
|
|
22201
|
+
GLU_TESS_BOUNDARY_ONLY: 100141,
|
|
22202
|
+
GLU_INVALID_ENUM: 100900,
|
|
22203
|
+
GLU_INVALID_VALUE: 100901,
|
|
22204
|
+
GLU_TESS_BEGIN: 100100,
|
|
22205
|
+
GLU_TESS_VERTEX: 100101,
|
|
22206
|
+
GLU_TESS_END: 100102,
|
|
22207
|
+
GLU_TESS_ERROR: 100103,
|
|
22208
|
+
GLU_TESS_EDGE_FLAG: 100104,
|
|
22209
|
+
GLU_TESS_COMBINE: 100105,
|
|
22210
|
+
GLU_TESS_BEGIN_DATA: 100106,
|
|
22211
|
+
GLU_TESS_VERTEX_DATA: 100107,
|
|
22212
|
+
GLU_TESS_END_DATA: 100108,
|
|
22213
|
+
GLU_TESS_ERROR_DATA: 100109,
|
|
22214
|
+
GLU_TESS_EDGE_FLAG_DATA: 100110,
|
|
22215
|
+
GLU_TESS_COMBINE_DATA: 100111
|
|
22216
|
+
}
|
|
22217
|
+
};
|
|
22218
|
+
X.prototype.gluDeleteTess = X.prototype.x;
|
|
22219
|
+
X.prototype.gluTessProperty = X.prototype.B;
|
|
22220
|
+
X.prototype.gluGetTessProperty = X.prototype.y;
|
|
22221
|
+
X.prototype.gluTessNormal = X.prototype.A;
|
|
22222
|
+
X.prototype.gluTessCallback = X.prototype.z;
|
|
22223
|
+
X.prototype.gluTessVertex = X.prototype.C;
|
|
22224
|
+
X.prototype.gluTessBeginPolygon = X.prototype.u;
|
|
22225
|
+
X.prototype.gluTessBeginContour = X.prototype.t;
|
|
22226
|
+
X.prototype.gluTessEndContour = X.prototype.v;
|
|
22227
|
+
X.prototype.gluTessEndPolygon = X.prototype.w;
|
|
22228
|
+
{
|
|
22229
|
+
module.exports = commonjsGlobal.libtess;
|
|
22230
|
+
}
|
|
22231
|
+
}(libtess_min));
|
|
22232
|
+
|
|
22233
|
+
var tessy = function initTesselator() {
|
|
22234
|
+
// function called for each vertex of tesselator output
|
|
22235
|
+
function vertexCallback(data, polyVertArray) {
|
|
22236
|
+
polyVertArray[polyVertArray.length] = data[0];
|
|
22237
|
+
polyVertArray[polyVertArray.length] = data[1];
|
|
22238
|
+
}
|
|
22239
|
+
function begincallback(type) {
|
|
22240
|
+
if (type !== libtess_min.exports.primitiveType.GL_TRIANGLES) {
|
|
22241
|
+
console.info("expected TRIANGLES but got type: " + type);
|
|
22242
|
+
}
|
|
22243
|
+
}
|
|
22244
|
+
function errorcallback(errno) {
|
|
22245
|
+
console.error("error callback, error number: " + errno);
|
|
22246
|
+
}
|
|
22247
|
+
// callback for when segments intersect and must be split
|
|
22248
|
+
function combinecallback(coords, data, weight) {
|
|
22249
|
+
// console.log('combine callback');
|
|
22250
|
+
return [
|
|
22251
|
+
coords[0],
|
|
22252
|
+
coords[1],
|
|
22253
|
+
coords[2]
|
|
22254
|
+
];
|
|
22255
|
+
}
|
|
22256
|
+
function edgeCallback(flag) {
|
|
22257
|
+
// don't really care about the flag, but need no-strip/no-fan behavior
|
|
22258
|
+
// console.log('edge flag: ' + flag);
|
|
22259
|
+
}
|
|
22260
|
+
var tessy = new libtess_min.exports.GluTesselator();
|
|
22261
|
+
// tessy.gluTessProperty(libtess.gluEnum.GLU_TESS_WINDING_RULE, libtess.windingRule.GLU_TESS_WINDING_POSITIVE);
|
|
22262
|
+
tessy.gluTessCallback(libtess_min.exports.gluEnum.GLU_TESS_VERTEX_DATA, vertexCallback);
|
|
22263
|
+
tessy.gluTessCallback(libtess_min.exports.gluEnum.GLU_TESS_BEGIN, begincallback);
|
|
22264
|
+
tessy.gluTessCallback(libtess_min.exports.gluEnum.GLU_TESS_ERROR, errorcallback);
|
|
22265
|
+
tessy.gluTessCallback(libtess_min.exports.gluEnum.GLU_TESS_COMBINE, combinecallback);
|
|
22266
|
+
tessy.gluTessCallback(libtess_min.exports.gluEnum.GLU_TESS_EDGE_FLAG, edgeCallback);
|
|
22267
|
+
return tessy;
|
|
22268
|
+
}();
|
|
22269
|
+
function triangulate(contours) {
|
|
22270
|
+
// libtess will take 3d verts and flatten to a plane for tesselation
|
|
22271
|
+
// since only doing 2d tesselation here, provide z=1 normal to skip
|
|
22272
|
+
// iterating over verts only to get the same answer.
|
|
22273
|
+
// comment out to test normal-generation code
|
|
22274
|
+
tessy.gluTessNormal(0, 0, 1);
|
|
22275
|
+
var triangleVerts = [];
|
|
22276
|
+
tessy.gluTessBeginPolygon(triangleVerts);
|
|
22277
|
+
for(var i = 0; i < contours.length; i++){
|
|
22278
|
+
tessy.gluTessBeginContour();
|
|
22279
|
+
var contour = contours[i];
|
|
22280
|
+
for(var j = 0; j < contour.length; j += 2){
|
|
22281
|
+
var coords = [
|
|
22282
|
+
contour[j],
|
|
22283
|
+
contour[j + 1],
|
|
22284
|
+
0
|
|
22285
|
+
];
|
|
22286
|
+
tessy.gluTessVertex(coords, coords);
|
|
22287
|
+
}
|
|
22288
|
+
tessy.gluTessEndContour();
|
|
22289
|
+
}
|
|
22290
|
+
// finish polygon
|
|
22291
|
+
tessy.gluTessEndPolygon();
|
|
22292
|
+
return triangleVerts;
|
|
22293
|
+
}
|
|
22294
|
+
|
|
22295
|
+
exports.ShapeComponent = /*#__PURE__*/ function(RendererComponent) {
|
|
22296
|
+
_inherits(ShapeComponent, RendererComponent);
|
|
22297
|
+
function ShapeComponent(engine) {
|
|
22298
|
+
var _this;
|
|
22299
|
+
_this = RendererComponent.call(this, engine) || this;
|
|
22300
|
+
_this.path = new GraphicsPath();
|
|
22301
|
+
_this.curveValues = [];
|
|
22302
|
+
_this.dirty = false;
|
|
22303
|
+
_this.vert = "\nprecision highp float;\n\nattribute vec3 aPos;//x y\n\nvarying vec4 vColor;\n\nuniform vec4 _Color;\nuniform mat4 effects_MatrixVP;\nuniform mat4 effects_MatrixInvV;\nuniform mat4 effects_ObjectToWorld;\n\nvoid main() {\n vColor = _Color;\n vec4 pos = vec4(aPos.xyz, 1.0);\n gl_Position = effects_MatrixVP * effects_ObjectToWorld * pos;\n}\n";
|
|
22304
|
+
_this.frag = "\nprecision highp float;\n\nvarying vec4 vColor;\n\nvoid main() {\n vec4 color = vec4(1.0,1.0,1.0,1.0);\n gl_FragColor = color;\n}\n";
|
|
22305
|
+
if (!_this.geometry) {
|
|
22306
|
+
_this.geometry = Geometry.create(engine, {
|
|
22307
|
+
attributes: {
|
|
22308
|
+
aPos: {
|
|
22309
|
+
type: glContext.FLOAT,
|
|
22310
|
+
size: 3,
|
|
22311
|
+
data: new Float32Array([
|
|
22312
|
+
-0.5,
|
|
22313
|
+
0.5,
|
|
22314
|
+
0,
|
|
22315
|
+
-0.5,
|
|
22316
|
+
-0.5,
|
|
22317
|
+
0,
|
|
22318
|
+
0.5,
|
|
22319
|
+
0.5,
|
|
22320
|
+
0,
|
|
22321
|
+
0.5,
|
|
22322
|
+
-0.5,
|
|
22323
|
+
0
|
|
22324
|
+
])
|
|
22325
|
+
},
|
|
22326
|
+
aUV: {
|
|
22327
|
+
type: glContext.FLOAT,
|
|
22328
|
+
size: 2,
|
|
22329
|
+
data: new Float32Array()
|
|
22330
|
+
}
|
|
22331
|
+
},
|
|
22332
|
+
mode: glContext.TRIANGLES,
|
|
22333
|
+
drawCount: 4
|
|
22334
|
+
});
|
|
22335
|
+
}
|
|
22336
|
+
if (!_this.material) {
|
|
22337
|
+
var materialProps = {
|
|
22338
|
+
shader: {
|
|
22339
|
+
vertex: _this.vert,
|
|
22340
|
+
fragment: _this.frag,
|
|
22341
|
+
glslVersion: exports.GLSLVersion.GLSL1
|
|
22342
|
+
}
|
|
22343
|
+
};
|
|
22344
|
+
_this.material = Material.create(engine, materialProps);
|
|
22345
|
+
_this.material.setColor("_Color", new Color(1, 1, 1, 1));
|
|
22346
|
+
_this.material.depthMask = true;
|
|
22347
|
+
_this.material.depthTest = true;
|
|
22348
|
+
_this.material.blending = true;
|
|
22349
|
+
}
|
|
22350
|
+
return _this;
|
|
22351
|
+
}
|
|
22352
|
+
var _proto = ShapeComponent.prototype;
|
|
22353
|
+
_proto.onUpdate = function onUpdate(dt) {
|
|
22354
|
+
if (this.dirty) {
|
|
22355
|
+
this.path.clear();
|
|
22356
|
+
this.path.moveTo(this.curveValues[this.curveValues.length - 1].point.x, this.curveValues[this.curveValues.length - 1].point.y);
|
|
22357
|
+
for(var _iterator = _create_for_of_iterator_helper_loose(this.curveValues), _step; !(_step = _iterator()).done;){
|
|
22358
|
+
var curveValue = _step.value;
|
|
22359
|
+
var point = curveValue.point;
|
|
22360
|
+
var control1 = curveValue.controlPoint1;
|
|
22361
|
+
var control2 = curveValue.controlPoint2;
|
|
22362
|
+
this.path.bezierCurveTo(control1.x, control1.y, control2.x, control2.y, point.x, point.y, 1);
|
|
22363
|
+
}
|
|
22364
|
+
this.buildGeometryFromPath(this.path.shapePath);
|
|
22365
|
+
this.dirty = false;
|
|
22366
|
+
}
|
|
22367
|
+
};
|
|
22368
|
+
_proto.render = function render(renderer) {
|
|
22369
|
+
if (renderer.renderingData.currentFrame.globalUniforms) {
|
|
22370
|
+
renderer.setGlobalMatrix("effects_ObjectToWorld", this.transform.getWorldMatrix());
|
|
22371
|
+
}
|
|
22372
|
+
renderer.drawGeometry(this.geometry, this.material);
|
|
22373
|
+
};
|
|
22374
|
+
_proto.buildGeometryFromPath = function buildGeometryFromPath(shapePath) {
|
|
22375
|
+
var shapePrimitives = shapePath.shapePrimitives;
|
|
22376
|
+
var vertices = [];
|
|
22377
|
+
// triangulate shapePrimitive
|
|
22378
|
+
for(var _iterator = _create_for_of_iterator_helper_loose(shapePrimitives), _step; !(_step = _iterator()).done;){
|
|
22379
|
+
var shapePrimitive = _step.value;
|
|
22380
|
+
var _vertices;
|
|
22381
|
+
var shape = shapePrimitive.shape;
|
|
22382
|
+
(_vertices = vertices).push.apply(_vertices, [].concat(triangulate([
|
|
22383
|
+
shape.points
|
|
22384
|
+
])));
|
|
22385
|
+
}
|
|
22386
|
+
// build vertices and uvs
|
|
22387
|
+
var vertexCount = vertices.length / 2;
|
|
22388
|
+
var positionArray = this.geometry.getAttributeData("aPos");
|
|
22389
|
+
var uvArray = this.geometry.getAttributeData("aUV");
|
|
22390
|
+
if (!positionArray || positionArray.length < vertexCount * 3) {
|
|
22391
|
+
positionArray = new Float32Array(vertexCount * 3);
|
|
22392
|
+
}
|
|
22393
|
+
if (!uvArray || uvArray.length < vertexCount * 2) {
|
|
22394
|
+
uvArray = new Float32Array(vertexCount * 2);
|
|
22395
|
+
}
|
|
22396
|
+
for(var i = 0; i < vertexCount; i++){
|
|
22397
|
+
var pointsOffset = i * 3;
|
|
22398
|
+
var positionArrayOffset = i * 2;
|
|
22399
|
+
var uvOffset = i * 2;
|
|
22400
|
+
positionArray[pointsOffset] = vertices[positionArrayOffset];
|
|
22401
|
+
positionArray[pointsOffset + 1] = vertices[positionArrayOffset + 1];
|
|
22402
|
+
positionArray[pointsOffset + 2] = 0;
|
|
22403
|
+
uvArray[uvOffset] = positionArray[pointsOffset];
|
|
22404
|
+
uvArray[uvOffset + 1] = positionArray[pointsOffset + 1];
|
|
22405
|
+
}
|
|
22406
|
+
this.geometry.setAttributeData("aPos", positionArray);
|
|
22407
|
+
this.geometry.setAttributeData("aUV", uvArray);
|
|
22408
|
+
this.geometry.setDrawCount(vertexCount);
|
|
22409
|
+
};
|
|
22410
|
+
_proto.fromData = function fromData(data) {
|
|
22411
|
+
RendererComponent.prototype.fromData.call(this, data);
|
|
22412
|
+
var points = data.param.points;
|
|
22413
|
+
var easingIns = data.param.easingIn;
|
|
22414
|
+
var easingOuts = data.param.easingOut;
|
|
22415
|
+
for(var _iterator = _create_for_of_iterator_helper_loose(data.param.shapes), _step; !(_step = _iterator()).done;){
|
|
22416
|
+
var shape = _step.value;
|
|
22417
|
+
var indices = shape.indexes;
|
|
22418
|
+
for(var i = 1; i < indices.length; i++){
|
|
22419
|
+
var pointIndex = indices[i];
|
|
22420
|
+
var lastPointIndex = indices[i - 1];
|
|
22421
|
+
this.curveValues.push({
|
|
22422
|
+
point: points[pointIndex.point],
|
|
22423
|
+
controlPoint1: easingOuts[lastPointIndex.easingOut],
|
|
22424
|
+
controlPoint2: easingIns[pointIndex.easingIn]
|
|
22425
|
+
});
|
|
22426
|
+
}
|
|
22427
|
+
// Push the last curve
|
|
22428
|
+
this.curveValues.push({
|
|
22429
|
+
point: points[indices[0].point],
|
|
22430
|
+
controlPoint1: easingOuts[indices[indices.length - 1].easingOut],
|
|
22431
|
+
controlPoint2: easingIns[indices[0].easingIn]
|
|
22432
|
+
});
|
|
22433
|
+
}
|
|
22434
|
+
this.dirty = true;
|
|
22435
|
+
};
|
|
22436
|
+
return ShapeComponent;
|
|
22437
|
+
}(RendererComponent);
|
|
22438
|
+
exports.ShapeComponent = __decorate([
|
|
22439
|
+
effectsClass("ShapeComponent")
|
|
22440
|
+
], exports.ShapeComponent);
|
|
22441
|
+
exports.ComponentShapeType = void 0;
|
|
22442
|
+
(function(ComponentShapeType) {
|
|
22443
|
+
/**
|
|
22444
|
+
* 自定义图形
|
|
22445
|
+
*/ ComponentShapeType[ComponentShapeType["CUSTOM"] = 0] = "CUSTOM";
|
|
22446
|
+
/**
|
|
22447
|
+
* 矩形
|
|
22448
|
+
*/ ComponentShapeType[ComponentShapeType["RECTANGLE"] = 1] = "RECTANGLE";
|
|
22449
|
+
/**
|
|
22450
|
+
* 椭圆
|
|
22451
|
+
*/ ComponentShapeType[ComponentShapeType["ELLIPSE"] = 2] = "ELLIPSE";
|
|
22452
|
+
/**
|
|
22453
|
+
* 多边形
|
|
22454
|
+
*/ ComponentShapeType[ComponentShapeType["POLYGON"] = 3] = "POLYGON";
|
|
22455
|
+
/**
|
|
22456
|
+
* 星形
|
|
22457
|
+
*/ ComponentShapeType[ComponentShapeType["STAR"] = 4] = "STAR";
|
|
22458
|
+
})(exports.ComponentShapeType || (exports.ComponentShapeType = {}));
|
|
22459
|
+
exports.ShapeConnectType = void 0;
|
|
22460
|
+
(function(ShapeConnectType) {})(exports.ShapeConnectType || (exports.ShapeConnectType = {}));
|
|
22461
|
+
exports.ShapePointType = void 0;
|
|
22462
|
+
(function(ShapePointType) {})(exports.ShapePointType || (exports.ShapePointType = {}));
|
|
22463
|
+
|
|
20800
22464
|
var EventEmitter = function EventEmitter() {
|
|
20801
22465
|
var _this = this;
|
|
20802
22466
|
var _this1 = this;
|
|
@@ -21166,21 +22830,21 @@ exports.VFXItem = /*#__PURE__*/ function(EffectsObject) {
|
|
|
21166
22830
|
return now - this.duration > 0.001;
|
|
21167
22831
|
};
|
|
21168
22832
|
_proto.find = function find(name) {
|
|
22833
|
+
var _queue;
|
|
21169
22834
|
if (this.name === name) {
|
|
21170
22835
|
return this;
|
|
21171
22836
|
}
|
|
21172
|
-
|
|
21173
|
-
|
|
21174
|
-
|
|
21175
|
-
|
|
21176
|
-
|
|
21177
|
-
|
|
21178
|
-
|
|
21179
|
-
|
|
21180
|
-
|
|
21181
|
-
if (res) {
|
|
21182
|
-
return res;
|
|
22837
|
+
var queue = [];
|
|
22838
|
+
(_queue = queue).push.apply(_queue, [].concat(this.children));
|
|
22839
|
+
var index = 0;
|
|
22840
|
+
while(index < queue.length){
|
|
22841
|
+
var _queue1;
|
|
22842
|
+
var item = queue[index];
|
|
22843
|
+
index++;
|
|
22844
|
+
if (item.name === name) {
|
|
22845
|
+
return item;
|
|
21183
22846
|
}
|
|
22847
|
+
(_queue1 = queue).push.apply(_queue1, [].concat(item.children));
|
|
21184
22848
|
}
|
|
21185
22849
|
return undefined;
|
|
21186
22850
|
};
|
|
@@ -23924,15 +25588,22 @@ function passRenderLevel(l, renderLevel) {
|
|
|
23924
25588
|
return false;
|
|
23925
25589
|
}
|
|
23926
25590
|
|
|
23927
|
-
|
|
23928
|
-
|
|
23929
|
-
|
|
23930
|
-
|
|
23931
|
-
|
|
23932
|
-
|
|
23933
|
-
|
|
23934
|
-
|
|
23935
|
-
|
|
25591
|
+
exports.Scene = void 0;
|
|
25592
|
+
(function(Scene) {
|
|
25593
|
+
function isJSONObject(scene) {
|
|
25594
|
+
return isObject(scene) && "jsonScene" in scene;
|
|
25595
|
+
}
|
|
25596
|
+
// JSON 对象
|
|
25597
|
+
Scene.isJSONObject = isJSONObject;
|
|
25598
|
+
function isURL(scene) {
|
|
25599
|
+
return isObject(scene) && "url" in scene;
|
|
25600
|
+
}
|
|
25601
|
+
Scene.isURL = isURL;
|
|
25602
|
+
function isWithOptions(scene) {
|
|
25603
|
+
return isObject(scene) && "options" in scene;
|
|
25604
|
+
}
|
|
25605
|
+
Scene.isWithOptions = isWithOptions;
|
|
25606
|
+
})(exports.Scene || (exports.Scene = {}));
|
|
23936
25607
|
|
|
23937
25608
|
function getBackgroundImage(template, variables) {
|
|
23938
25609
|
var templateBackground;
|
|
@@ -24057,13 +25728,12 @@ var seed = 1;
|
|
|
24057
25728
|
*/ _proto.loadScene = function loadScene(url, renderer, options) {
|
|
24058
25729
|
var _this = this;
|
|
24059
25730
|
return _async_to_generator(function() {
|
|
24060
|
-
var
|
|
25731
|
+
var rawJSON, assetUrl, startTime, timeInfoMessages, gpuInstance, _gpuInstance_detail_compressedTexture, compressedTexture, timeInfos, loadTimer, cancelLoading, waitPromise, hookTimeInfo, loadResourcePromise;
|
|
24061
25732
|
return __generator(this, function(_state) {
|
|
24062
25733
|
assetUrl = isString(url) ? url : _this.id;
|
|
24063
25734
|
startTime = performance.now();
|
|
24064
25735
|
timeInfoMessages = [];
|
|
24065
25736
|
gpuInstance = renderer == null ? void 0 : renderer.engine.gpuCapability;
|
|
24066
|
-
asyncShaderCompile = (_gpuInstance_detail_asyncShaderCompile = gpuInstance == null ? void 0 : (_gpuInstance_detail = gpuInstance.detail) == null ? void 0 : _gpuInstance_detail.asyncShaderCompile) != null ? _gpuInstance_detail_asyncShaderCompile : false;
|
|
24067
25737
|
compressedTexture = (_gpuInstance_detail_compressedTexture = gpuInstance == null ? void 0 : gpuInstance.detail.compressedTexture) != null ? _gpuInstance_detail_compressedTexture : exports.COMPRESSED_TEXTURE.NONE;
|
|
24068
25738
|
timeInfos = {};
|
|
24069
25739
|
cancelLoading = false;
|
|
@@ -24116,81 +25786,55 @@ var seed = 1;
|
|
|
24116
25786
|
});
|
|
24117
25787
|
});
|
|
24118
25788
|
loadResourcePromise = /*#__PURE__*/ _async_to_generator(function() {
|
|
24119
|
-
var scene,
|
|
25789
|
+
var scene, link, _ref, jsonScene, pluginSystem, _jsonScene_bins, bins, images, compositions, fonts, _ref1, loadedBins, loadedImages, i, i1, imageAsset, loadedTextures, totalTime;
|
|
24120
25790
|
return __generator(this, function(_state) {
|
|
24121
25791
|
switch(_state.label){
|
|
24122
25792
|
case 0:
|
|
24123
|
-
if (!
|
|
24124
|
-
3,
|
|
24125
|
-
1
|
|
24126
|
-
];
|
|
24127
|
-
// TODO: 原 JSONLoader contructor 判断是否兼容
|
|
24128
|
-
rawJSON = url;
|
|
24129
|
-
_this.baseUrl = location.href;
|
|
24130
|
-
return [
|
|
25793
|
+
if (!isString(url)) return [
|
|
24131
25794
|
3,
|
|
24132
|
-
|
|
25795
|
+
2
|
|
24133
25796
|
];
|
|
24134
|
-
case 1:
|
|
24135
25797
|
// 兼容相对路径
|
|
24136
|
-
|
|
24137
|
-
_this.baseUrl =
|
|
25798
|
+
link = new URL(url, location.href).href;
|
|
25799
|
+
_this.baseUrl = link;
|
|
24138
25800
|
return [
|
|
24139
25801
|
4,
|
|
24140
25802
|
hookTimeInfo("loadJSON", function() {
|
|
24141
|
-
return _this.loadJSON(
|
|
25803
|
+
return _this.loadJSON(link);
|
|
24142
25804
|
})
|
|
24143
25805
|
];
|
|
24144
|
-
case
|
|
25806
|
+
case 1:
|
|
24145
25807
|
rawJSON = _state.sent();
|
|
25808
|
+
return [
|
|
25809
|
+
3,
|
|
25810
|
+
3
|
|
25811
|
+
];
|
|
25812
|
+
case 2:
|
|
25813
|
+
// url 为 spec.JSONScene 或 Scene 对象
|
|
25814
|
+
rawJSON = url;
|
|
25815
|
+
_this.baseUrl = location.href;
|
|
24146
25816
|
_state.label = 3;
|
|
24147
25817
|
case 3:
|
|
24148
|
-
if (!
|
|
25818
|
+
if (!exports.Scene.isJSONObject(rawJSON)) return [
|
|
24149
25819
|
3,
|
|
24150
|
-
|
|
25820
|
+
4
|
|
24151
25821
|
];
|
|
24152
25822
|
// 已经加载过的 可能需要更新数据模板
|
|
24153
25823
|
scene = _extends({}, rawJSON);
|
|
24154
|
-
if (!(_this.options && _this.options.variables && Object.keys(_this.options.variables).length !== 0)) return [
|
|
24155
|
-
3,
|
|
24156
|
-
5
|
|
24157
|
-
];
|
|
24158
|
-
_rawJSON_jsonScene = rawJSON.jsonScene, rawImages = _rawJSON_jsonScene.images;
|
|
24159
|
-
images = scene.images;
|
|
24160
|
-
for(i = 0; i < rawImages.length; i++){
|
|
24161
|
-
// 仅重新加载数据模板对应的图片
|
|
24162
|
-
if (_instanceof1(images[i], HTMLCanvasElement)) {
|
|
24163
|
-
images[i] = rawImages[i];
|
|
24164
|
-
}
|
|
24165
|
-
}
|
|
24166
|
-
return [
|
|
24167
|
-
4,
|
|
24168
|
-
hookTimeInfo("processImages", function() {
|
|
24169
|
-
return _this.processImages(images, compressedTexture);
|
|
24170
|
-
})
|
|
24171
|
-
];
|
|
24172
|
-
case 4:
|
|
24173
|
-
scene.images = _state.sent();
|
|
24174
|
-
// 更新 TextureOptions 中的 image 指向
|
|
24175
|
-
for(i1 = 0; i1 < scene.images.length; i1++){
|
|
24176
|
-
scene.textureOptions[i1].image = scene.images[i1];
|
|
24177
|
-
}
|
|
24178
|
-
_state.label = 5;
|
|
24179
|
-
case 5:
|
|
24180
25824
|
return [
|
|
24181
25825
|
3,
|
|
24182
|
-
|
|
25826
|
+
9
|
|
24183
25827
|
];
|
|
24184
|
-
case
|
|
25828
|
+
case 4:
|
|
24185
25829
|
return [
|
|
24186
25830
|
4,
|
|
24187
25831
|
hookTimeInfo("processJSON", function() {
|
|
24188
25832
|
return _this.processJSON(rawJSON);
|
|
24189
25833
|
})
|
|
24190
25834
|
];
|
|
24191
|
-
case
|
|
24192
|
-
_ref = _state.sent(),
|
|
24193
|
-
_jsonScene_bins = jsonScene.bins, bins = _jsonScene_bins === void 0 ? [] : _jsonScene_bins,
|
|
25835
|
+
case 5:
|
|
25836
|
+
_ref = _state.sent(), jsonScene = _ref.jsonScene, pluginSystem = _ref.pluginSystem;
|
|
25837
|
+
_jsonScene_bins = jsonScene.bins, bins = _jsonScene_bins === void 0 ? [] : _jsonScene_bins, images = jsonScene.images, compositions = jsonScene.compositions, fonts = jsonScene.fonts;
|
|
24194
25838
|
return [
|
|
24195
25839
|
4,
|
|
24196
25840
|
Promise.all([
|
|
@@ -24198,38 +25842,36 @@ var seed = 1;
|
|
|
24198
25842
|
return _this.processBins(bins);
|
|
24199
25843
|
}),
|
|
24200
25844
|
hookTimeInfo("processImages", function() {
|
|
24201
|
-
return _this.processImages(
|
|
25845
|
+
return _this.processImages(images, compressedTexture);
|
|
24202
25846
|
}),
|
|
24203
|
-
hookTimeInfo(""
|
|
25847
|
+
hookTimeInfo("precompile", function() {
|
|
24204
25848
|
return _this.precompile(compositions, pluginSystem, renderer, options);
|
|
25849
|
+
}),
|
|
25850
|
+
hookTimeInfo("processFontURL", function() {
|
|
25851
|
+
return _this.processFontURL(fonts);
|
|
24205
25852
|
})
|
|
24206
25853
|
])
|
|
24207
25854
|
];
|
|
24208
|
-
case
|
|
25855
|
+
case 6:
|
|
24209
25856
|
_ref1 = _state.sent(), loadedBins = _ref1[0], loadedImages = _ref1[1];
|
|
25857
|
+
for(i = 0; i < images.length; i++){
|
|
25858
|
+
_this.assets[images[i].id] = loadedImages[i];
|
|
25859
|
+
}
|
|
24210
25860
|
if (renderer) {
|
|
24211
|
-
for(
|
|
25861
|
+
for(i1 = 0; i1 < images.length; i1++){
|
|
24212
25862
|
imageAsset = new ImageAsset(renderer.engine);
|
|
24213
|
-
imageAsset.data = loadedImages[
|
|
24214
|
-
imageAsset.setInstanceId(
|
|
25863
|
+
imageAsset.data = loadedImages[i1];
|
|
25864
|
+
imageAsset.setInstanceId(images[i1].id);
|
|
24215
25865
|
renderer.engine.addInstance(imageAsset);
|
|
24216
25866
|
}
|
|
24217
25867
|
}
|
|
24218
|
-
return [
|
|
24219
|
-
4,
|
|
24220
|
-
hookTimeInfo("processFontURL", function() {
|
|
24221
|
-
return _this.processFontURL(fonts);
|
|
24222
|
-
})
|
|
24223
|
-
];
|
|
24224
|
-
case 9:
|
|
24225
|
-
_state.sent();
|
|
24226
25868
|
return [
|
|
24227
25869
|
4,
|
|
24228
25870
|
hookTimeInfo("processTextures", function() {
|
|
24229
|
-
return _this.processTextures(loadedImages, loadedBins, jsonScene
|
|
25871
|
+
return _this.processTextures(loadedImages, loadedBins, jsonScene);
|
|
24230
25872
|
})
|
|
24231
25873
|
];
|
|
24232
|
-
case
|
|
25874
|
+
case 7:
|
|
24233
25875
|
loadedTextures = _state.sent();
|
|
24234
25876
|
scene = {
|
|
24235
25877
|
timeInfos: timeInfos,
|
|
@@ -24238,7 +25880,6 @@ var seed = 1;
|
|
|
24238
25880
|
storage: {},
|
|
24239
25881
|
pluginSystem: pluginSystem,
|
|
24240
25882
|
jsonScene: jsonScene,
|
|
24241
|
-
usedImages: usedImages,
|
|
24242
25883
|
images: loadedImages,
|
|
24243
25884
|
textureOptions: loadedTextures,
|
|
24244
25885
|
bins: loadedBins
|
|
@@ -24250,10 +25891,10 @@ var seed = 1;
|
|
|
24250
25891
|
return pluginSystem.loadResources(scene, _this.options);
|
|
24251
25892
|
})
|
|
24252
25893
|
];
|
|
24253
|
-
case
|
|
25894
|
+
case 8:
|
|
24254
25895
|
_state.sent();
|
|
24255
|
-
_state.label =
|
|
24256
|
-
case
|
|
25896
|
+
_state.label = 9;
|
|
25897
|
+
case 9:
|
|
24257
25898
|
totalTime = performance.now() - startTime;
|
|
24258
25899
|
logger.info("Load asset: totalTime: " + totalTime.toFixed(4) + "ms " + timeInfoMessages.join(" ") + ", url: " + assetUrl + ".");
|
|
24259
25900
|
window.clearTimeout(loadTimer);
|
|
@@ -24281,7 +25922,6 @@ var seed = 1;
|
|
|
24281
25922
|
};
|
|
24282
25923
|
_proto.precompile = function precompile(compositions, pluginSystem, renderer, options) {
|
|
24283
25924
|
return _async_to_generator(function() {
|
|
24284
|
-
var shaderLibrary;
|
|
24285
25925
|
return __generator(this, function(_state) {
|
|
24286
25926
|
switch(_state.label){
|
|
24287
25927
|
case 0:
|
|
@@ -24290,22 +25930,11 @@ var seed = 1;
|
|
|
24290
25930
|
2
|
|
24291
25931
|
];
|
|
24292
25932
|
}
|
|
24293
|
-
shaderLibrary = renderer == null ? void 0 : renderer.getShaderLibrary();
|
|
24294
25933
|
return [
|
|
24295
25934
|
4,
|
|
24296
25935
|
pluginSystem == null ? void 0 : pluginSystem.precompile(compositions, renderer, options)
|
|
24297
25936
|
];
|
|
24298
25937
|
case 1:
|
|
24299
|
-
_state.sent();
|
|
24300
|
-
return [
|
|
24301
|
-
4,
|
|
24302
|
-
new Promise(function(resolve) {
|
|
24303
|
-
shaderLibrary == null ? void 0 : shaderLibrary.compileAllShaders(function() {
|
|
24304
|
-
resolve(null);
|
|
24305
|
-
});
|
|
24306
|
-
})
|
|
24307
|
-
];
|
|
24308
|
-
case 2:
|
|
24309
25938
|
_state.sent();
|
|
24310
25939
|
return [
|
|
24311
25940
|
2
|
|
@@ -24317,12 +25946,12 @@ var seed = 1;
|
|
|
24317
25946
|
_proto.processJSON = function processJSON(json) {
|
|
24318
25947
|
var _this = this;
|
|
24319
25948
|
return _async_to_generator(function() {
|
|
24320
|
-
var jsonScene, _jsonScene_plugins, plugins,
|
|
25949
|
+
var jsonScene, _jsonScene_plugins, plugins, pluginSystem;
|
|
24321
25950
|
return __generator(this, function(_state) {
|
|
24322
25951
|
switch(_state.label){
|
|
24323
25952
|
case 0:
|
|
24324
25953
|
jsonScene = getStandardJSON(json);
|
|
24325
|
-
_jsonScene_plugins = jsonScene.plugins, plugins = _jsonScene_plugins === void 0 ? [] : _jsonScene_plugins
|
|
25954
|
+
_jsonScene_plugins = jsonScene.plugins, plugins = _jsonScene_plugins === void 0 ? [] : _jsonScene_plugins;
|
|
24326
25955
|
pluginSystem = new PluginSystem(plugins);
|
|
24327
25956
|
return [
|
|
24328
25957
|
4,
|
|
@@ -24330,20 +25959,9 @@ var seed = 1;
|
|
|
24330
25959
|
];
|
|
24331
25960
|
case 1:
|
|
24332
25961
|
_state.sent();
|
|
24333
|
-
renderLevel = _this.options.renderLevel;
|
|
24334
|
-
usedImages = {};
|
|
24335
|
-
if (imgUsage) {
|
|
24336
|
-
// TODO: 考虑放到独立的 fix 文件
|
|
24337
|
-
fixOldImageUsage(usedImages, sceneCompositions, imgUsage, images, renderLevel);
|
|
24338
|
-
} else {
|
|
24339
|
-
images == null ? void 0 : images.forEach(function(_, i) {
|
|
24340
|
-
usedImages[i] = true;
|
|
24341
|
-
});
|
|
24342
|
-
}
|
|
24343
25962
|
return [
|
|
24344
25963
|
2,
|
|
24345
25964
|
{
|
|
24346
|
-
usedImages: usedImages,
|
|
24347
25965
|
jsonScene: jsonScene,
|
|
24348
25966
|
pluginSystem: pluginSystem
|
|
24349
25967
|
}
|
|
@@ -24415,7 +26033,6 @@ var seed = 1;
|
|
|
24415
26033
|
];
|
|
24416
26034
|
case 2:
|
|
24417
26035
|
_state.sent();
|
|
24418
|
-
//@ts-expect-error
|
|
24419
26036
|
document.fonts.add(fontFace);
|
|
24420
26037
|
AssetManager.fonts.add(font.fontFamily);
|
|
24421
26038
|
return [
|
|
@@ -24497,6 +26114,10 @@ var seed = 1;
|
|
|
24497
26114
|
3,
|
|
24498
26115
|
3
|
|
24499
26116
|
];
|
|
26117
|
+
_this.assets[idx] = {
|
|
26118
|
+
url: resultImage.src,
|
|
26119
|
+
type: exports.TextureSourceType.video
|
|
26120
|
+
};
|
|
24500
26121
|
return [
|
|
24501
26122
|
2,
|
|
24502
26123
|
resultImage
|
|
@@ -24506,6 +26127,10 @@ var seed = 1;
|
|
|
24506
26127
|
if (background && Array.isArray(url) && variables) {
|
|
24507
26128
|
variables[background.name] = resultImage.src;
|
|
24508
26129
|
}
|
|
26130
|
+
_this.assets[idx] = {
|
|
26131
|
+
url: resultImage.src,
|
|
26132
|
+
type: exports.TextureSourceType.image
|
|
26133
|
+
};
|
|
24509
26134
|
return [
|
|
24510
26135
|
4,
|
|
24511
26136
|
combineImageTemplate(resultImage, template, variables)
|
|
@@ -24548,12 +26173,6 @@ var seed = 1;
|
|
|
24548
26173
|
_this.loadBins(bufferURL)
|
|
24549
26174
|
];
|
|
24550
26175
|
}
|
|
24551
|
-
} else if ("sourceType" in img) {
|
|
24552
|
-
// TODO: 确定是否有用
|
|
24553
|
-
return [
|
|
24554
|
-
2,
|
|
24555
|
-
img
|
|
24556
|
-
];
|
|
24557
26176
|
} else if (_instanceof1(img, HTMLImageElement) || _instanceof1(img, HTMLCanvasElement) || _instanceof1(img, HTMLVideoElement) || _instanceof1(img, Texture)) {
|
|
24558
26177
|
return [
|
|
24559
26178
|
2,
|
|
@@ -24604,7 +26223,7 @@ var seed = 1;
|
|
|
24604
26223
|
});
|
|
24605
26224
|
})();
|
|
24606
26225
|
};
|
|
24607
|
-
_proto.processTextures = function processTextures(images, bins, jsonScene
|
|
26226
|
+
_proto.processTextures = function processTextures(images, bins, jsonScene) {
|
|
24608
26227
|
var _this = this;
|
|
24609
26228
|
return _async_to_generator(function() {
|
|
24610
26229
|
var _jsonScene_textures, textures, jobs;
|
|
@@ -24615,7 +26234,7 @@ var seed = 1;
|
|
|
24615
26234
|
};
|
|
24616
26235
|
});
|
|
24617
26236
|
jobs = textures.map(/*#__PURE__*/ _async_to_generator(function(textureOptions, idx) {
|
|
24618
|
-
var e, source, image, texture;
|
|
26237
|
+
var e, source, id, image, texture;
|
|
24619
26238
|
return __generator(this, function(_state) {
|
|
24620
26239
|
switch(_state.label){
|
|
24621
26240
|
case 0:
|
|
@@ -24639,7 +26258,7 @@ var seed = 1;
|
|
|
24639
26258
|
]);
|
|
24640
26259
|
return [
|
|
24641
26260
|
4,
|
|
24642
|
-
deserializeMipmapTexture(textureOptions, bins,
|
|
26261
|
+
deserializeMipmapTexture(textureOptions, bins, _this.assets, jsonScene.bins)
|
|
24643
26262
|
];
|
|
24644
26263
|
case 2:
|
|
24645
26264
|
return [
|
|
@@ -24650,12 +26269,12 @@ var seed = 1;
|
|
|
24650
26269
|
e = _state.sent();
|
|
24651
26270
|
throw new Error("Load texture " + idx + " fails, error message: " + e + ".");
|
|
24652
26271
|
case 4:
|
|
24653
|
-
source = textureOptions.source;
|
|
26272
|
+
source = textureOptions.source, id = textureOptions.id;
|
|
24654
26273
|
if (!isObject(source)) return [
|
|
24655
26274
|
3,
|
|
24656
26275
|
5
|
|
24657
26276
|
];
|
|
24658
|
-
image =
|
|
26277
|
+
image = _this.assets[source.id];
|
|
24659
26278
|
return [
|
|
24660
26279
|
3,
|
|
24661
26280
|
7
|
|
@@ -24674,9 +26293,7 @@ var seed = 1;
|
|
|
24674
26293
|
_state.label = 7;
|
|
24675
26294
|
case 7:
|
|
24676
26295
|
if (image) {
|
|
24677
|
-
texture = createTextureOptionsBySource(image, _this.assets[idx]);
|
|
24678
|
-
texture.id = textureOptions.id;
|
|
24679
|
-
texture.dataType = DataType.Texture;
|
|
26296
|
+
texture = createTextureOptionsBySource(image, _this.assets[idx], id);
|
|
24680
26297
|
return [
|
|
24681
26298
|
2,
|
|
24682
26299
|
texture.sourceType === exports.TextureSourceType.compressed ? texture : _extends({}, texture, textureOptions)
|
|
@@ -24737,11 +26354,6 @@ var seed = 1;
|
|
|
24737
26354
|
return window.clearTimeout(id);
|
|
24738
26355
|
});
|
|
24739
26356
|
}
|
|
24740
|
-
for(var key in this.assets){
|
|
24741
|
-
var _asset_dispose;
|
|
24742
|
-
var asset = this.assets[key];
|
|
24743
|
-
asset == null ? void 0 : (_asset_dispose = asset.dispose) == null ? void 0 : _asset_dispose.call(asset);
|
|
24744
|
-
}
|
|
24745
26357
|
this.assets = {};
|
|
24746
26358
|
this.timers = [];
|
|
24747
26359
|
};
|
|
@@ -24750,55 +26362,44 @@ var seed = 1;
|
|
|
24750
26362
|
/**
|
|
24751
26363
|
* 自定义文本缓存,随页面销毁而销毁
|
|
24752
26364
|
*/ AssetManager.fonts = new Set();
|
|
24753
|
-
function
|
|
24754
|
-
|
|
24755
|
-
|
|
24756
|
-
|
|
24757
|
-
|
|
24758
|
-
for(var j = 0; j < ids.length; j++){
|
|
24759
|
-
var id1 = ids[j];
|
|
24760
|
-
var tag = images[id1].renderLevel;
|
|
24761
|
-
if (passRenderLevel(tag, renderLevel)) {
|
|
24762
|
-
usedImages[id1] = true;
|
|
24763
|
-
}
|
|
24764
|
-
}
|
|
24765
|
-
}
|
|
24766
|
-
}
|
|
24767
|
-
}
|
|
24768
|
-
function createTextureOptionsBySource(image, sourceFrom) {
|
|
26365
|
+
function createTextureOptionsBySource(image, sourceFrom, id) {
|
|
26366
|
+
var options = {
|
|
26367
|
+
id: id,
|
|
26368
|
+
dataType: DataType.Texture
|
|
26369
|
+
};
|
|
24769
26370
|
if (_instanceof1(image, Texture)) {
|
|
24770
|
-
return image.source;
|
|
26371
|
+
return _extends({}, image.source, options);
|
|
24771
26372
|
} else if (_instanceof1(image, HTMLImageElement) || isCanvas(image)) {
|
|
24772
|
-
return {
|
|
26373
|
+
return _extends({
|
|
24773
26374
|
image: image,
|
|
24774
26375
|
sourceType: exports.TextureSourceType.image,
|
|
24775
26376
|
sourceFrom: sourceFrom,
|
|
24776
26377
|
keepImageSource: true,
|
|
24777
26378
|
minFilter: glContext.LINEAR,
|
|
24778
26379
|
magFilter: glContext.LINEAR
|
|
24779
|
-
};
|
|
26380
|
+
}, options);
|
|
24780
26381
|
} else if (_instanceof1(image, HTMLVideoElement)) {
|
|
24781
26382
|
// 视频
|
|
24782
|
-
return {
|
|
26383
|
+
return _extends({
|
|
24783
26384
|
sourceType: exports.TextureSourceType.video,
|
|
24784
26385
|
video: image,
|
|
24785
26386
|
minFilter: glContext.LINEAR,
|
|
24786
26387
|
magFilter: glContext.LINEAR
|
|
24787
|
-
};
|
|
26388
|
+
}, options);
|
|
24788
26389
|
} else if (_instanceof1(image, ArrayBuffer)) {
|
|
24789
26390
|
// 压缩纹理
|
|
24790
26391
|
return _extends({}, getKTXTextureOptions(image), {
|
|
24791
26392
|
sourceFrom: sourceFrom
|
|
24792
|
-
});
|
|
26393
|
+
}, options);
|
|
24793
26394
|
} else if ("width" in image && "height" in image && "data" in image) {
|
|
24794
|
-
return {
|
|
26395
|
+
return _extends({
|
|
24795
26396
|
sourceType: exports.TextureSourceType.data,
|
|
24796
26397
|
data: image,
|
|
24797
26398
|
wrapS: glContext.CLAMP_TO_EDGE,
|
|
24798
26399
|
wrapT: glContext.CLAMP_TO_EDGE,
|
|
24799
26400
|
minFilter: glContext.NEAREST,
|
|
24800
26401
|
magFilter: glContext.NEAREST
|
|
24801
|
-
};
|
|
26402
|
+
}, options);
|
|
24802
26403
|
}
|
|
24803
26404
|
throw new Error("Invalid texture options.");
|
|
24804
26405
|
}
|
|
@@ -25102,11 +26703,12 @@ var listOrder = 0;
|
|
|
25102
26703
|
function CompositionSourceManager(scene, engine) {
|
|
25103
26704
|
this.refCompositions = new Map();
|
|
25104
26705
|
this.refCompositionProps = new Map();
|
|
26706
|
+
this.imgUsage = {};
|
|
25105
26707
|
this.mask = 0;
|
|
25106
26708
|
this.engine = engine;
|
|
25107
26709
|
// 资源
|
|
25108
26710
|
var jsonScene = scene.jsonScene, renderLevel = scene.renderLevel, textureOptions = scene.textureOptions, pluginSystem = scene.pluginSystem, totalTime = scene.totalTime;
|
|
25109
|
-
var compositions = jsonScene.compositions,
|
|
26711
|
+
var compositions = jsonScene.compositions, compositionId = jsonScene.compositionId;
|
|
25110
26712
|
if (!textureOptions) {
|
|
25111
26713
|
throw new Error("scene.textures expected.");
|
|
25112
26714
|
}
|
|
@@ -25126,7 +26728,6 @@ var listOrder = 0;
|
|
|
25126
26728
|
this.renderLevel = renderLevel;
|
|
25127
26729
|
this.pluginSystem = pluginSystem;
|
|
25128
26730
|
this.totalTime = totalTime != null ? totalTime : 0;
|
|
25129
|
-
this.imgUsage = imgUsage != null ? imgUsage : {};
|
|
25130
26731
|
this.textures = cachedTextures;
|
|
25131
26732
|
listOrder = 0;
|
|
25132
26733
|
this.sourceContent = this.getContent(this.composition);
|
|
@@ -25147,11 +26748,12 @@ var listOrder = 0;
|
|
|
25147
26748
|
});
|
|
25148
26749
|
};
|
|
25149
26750
|
_proto.assembleItems = function assembleItems(composition) {
|
|
26751
|
+
var _this_jsonScene;
|
|
25150
26752
|
var items = [];
|
|
25151
|
-
this.mask++;
|
|
25152
26753
|
var componentMap = {};
|
|
25153
|
-
|
|
25154
|
-
|
|
26754
|
+
this.mask++;
|
|
26755
|
+
var _this_jsonScene_components;
|
|
26756
|
+
for(var _iterator = _create_for_of_iterator_helper_loose((_this_jsonScene_components = (_this_jsonScene = this.jsonScene) == null ? void 0 : _this_jsonScene.components) != null ? _this_jsonScene_components : []), _step; !(_step = _iterator()).done;){
|
|
25155
26757
|
var component = _step.value;
|
|
25156
26758
|
componentMap[component.id] = component;
|
|
25157
26759
|
}
|
|
@@ -25188,19 +26790,24 @@ var listOrder = 0;
|
|
|
25188
26790
|
_proto.preProcessItemContent = function preProcessItemContent(renderContent) {
|
|
25189
26791
|
if (renderContent.renderer) {
|
|
25190
26792
|
renderContent.renderer = this.changeTex(renderContent.renderer);
|
|
25191
|
-
if (!renderContent.renderer
|
|
26793
|
+
if (!("mask" in renderContent.renderer)) {
|
|
25192
26794
|
this.processMask(renderContent.renderer);
|
|
25193
26795
|
}
|
|
25194
|
-
var split = renderContent.splits && !renderContent.textureSheetAnimation
|
|
25195
|
-
|
|
26796
|
+
var split = renderContent.splits && !renderContent.textureSheetAnimation ? renderContent.splits[0] : undefined;
|
|
26797
|
+
var shape = renderContent.renderer.shape;
|
|
26798
|
+
var shapeData;
|
|
26799
|
+
if (Number.isInteger(shape)) {
|
|
25196
26800
|
var _this_jsonScene;
|
|
25197
|
-
|
|
25198
|
-
|
|
25199
|
-
|
|
25200
|
-
|
|
26801
|
+
shapeData = (_this_jsonScene = this.jsonScene) == null ? void 0 : _this_jsonScene.shapes[shape];
|
|
26802
|
+
} else {
|
|
26803
|
+
shapeData = shape;
|
|
26804
|
+
}
|
|
26805
|
+
if (shapeData !== undefined) {
|
|
26806
|
+
// @ts-expect-error 类型转换问题
|
|
26807
|
+
renderContent.renderer.shape = getGeometryByShape(shapeData, split);
|
|
25201
26808
|
}
|
|
25202
26809
|
}
|
|
25203
|
-
if (renderContent.trails) {
|
|
26810
|
+
if ("trails" in renderContent && renderContent.trails !== undefined) {
|
|
25204
26811
|
renderContent.trails = this.changeTex(renderContent.trails);
|
|
25205
26812
|
}
|
|
25206
26813
|
};
|
|
@@ -25208,22 +26815,17 @@ var listOrder = 0;
|
|
|
25208
26815
|
if (!renderer.texture) {
|
|
25209
26816
|
return renderer;
|
|
25210
26817
|
}
|
|
25211
|
-
//@ts-expect-error
|
|
25212
26818
|
var texIdx = renderer.texture.id;
|
|
25213
26819
|
if (texIdx !== undefined) {
|
|
25214
|
-
|
|
25215
|
-
this.addTextureUsage(texIdx) || texIdx;
|
|
26820
|
+
this.addTextureUsage(texIdx);
|
|
25216
26821
|
}
|
|
25217
26822
|
return renderer;
|
|
25218
26823
|
};
|
|
25219
|
-
_proto.addTextureUsage = function addTextureUsage(
|
|
25220
|
-
var texId = texIdx;
|
|
26824
|
+
_proto.addTextureUsage = function addTextureUsage(texId) {
|
|
25221
26825
|
var _this_imgUsage;
|
|
25222
|
-
// FIXME: imageUsage 取自 scene.imgUsage,类型为 Record<string, number[]>,这里给的 number,类型对不上
|
|
25223
26826
|
var imageUsage = (_this_imgUsage = this.imgUsage) != null ? _this_imgUsage : {};
|
|
25224
26827
|
if (texId && imageUsage) {
|
|
25225
|
-
|
|
25226
|
-
if (!imageUsage.hasOwnProperty(texId)) {
|
|
26828
|
+
if (!Object.prototype.hasOwnProperty.call(imageUsage, texId)) {
|
|
25227
26829
|
imageUsage[texId] = 0;
|
|
25228
26830
|
}
|
|
25229
26831
|
imageUsage[texId]++;
|
|
@@ -25394,7 +26996,6 @@ var LateUpdateTickData = /*#__PURE__*/ function(TickData) {
|
|
|
25394
26996
|
_this.lastVideoUpdateTime = 0;
|
|
25395
26997
|
var _props_reusable = props.reusable, reusable = _props_reusable === void 0 ? false : _props_reusable, _props_speed = props.speed, speed = _props_speed === void 0 ? 1 : _props_speed, _props_baseRenderOrder = props.baseRenderOrder, baseRenderOrder = _props_baseRenderOrder === void 0 ? 0 : _props_baseRenderOrder, renderer = props.renderer, event = props.event, width = props.width, height = props.height, handleItemMessage = props.handleItemMessage;
|
|
25396
26998
|
_this.compositionSourceManager = new CompositionSourceManager(scene, renderer.engine);
|
|
25397
|
-
scene.jsonScene.imgUsage = undefined;
|
|
25398
26999
|
if (reusable) {
|
|
25399
27000
|
_this.keepResource = true;
|
|
25400
27001
|
scene.textures = undefined;
|
|
@@ -25413,24 +27014,23 @@ var LateUpdateTickData = /*#__PURE__*/ function(TickData) {
|
|
|
25413
27014
|
_this.rootComposition.data = sourceContent;
|
|
25414
27015
|
_this.rootComposition.item = _this.rootItem;
|
|
25415
27016
|
_this.rootItem.components.push(_this.rootComposition);
|
|
25416
|
-
var imageUsage = !reusable && imgUsage;
|
|
25417
27017
|
_this.width = width;
|
|
25418
27018
|
_this.height = height;
|
|
25419
27019
|
_this.renderOrder = baseRenderOrder;
|
|
25420
27020
|
_this.id = sourceContent.id;
|
|
25421
27021
|
_this.renderer = renderer;
|
|
25422
|
-
_this.texInfo =
|
|
27022
|
+
_this.texInfo = !reusable ? imgUsage : {};
|
|
25423
27023
|
_this.event = event;
|
|
25424
|
-
var _scene_startTime
|
|
27024
|
+
var _scene_startTime;
|
|
25425
27025
|
_this.statistic = {
|
|
25426
|
-
loadTime: totalTime != null ? totalTime : 0,
|
|
25427
27026
|
loadStart: (_scene_startTime = scene.startTime) != null ? _scene_startTime : 0,
|
|
25428
|
-
|
|
25429
|
-
|
|
27027
|
+
loadTime: totalTime != null ? totalTime : 0,
|
|
27028
|
+
compileTime: 0,
|
|
27029
|
+
firstFrameTime: 0
|
|
25430
27030
|
};
|
|
25431
27031
|
_this.reusable = reusable;
|
|
25432
27032
|
_this.speed = speed;
|
|
25433
|
-
_this.autoRefTex = !_this.keepResource &&
|
|
27033
|
+
_this.autoRefTex = !_this.keepResource && _this.texInfo && _this.rootItem.endBehavior !== EndBehavior.restart;
|
|
25434
27034
|
_this.name = sourceContent.name;
|
|
25435
27035
|
_this.pluginSystem = pluginSystem;
|
|
25436
27036
|
_this.pluginSystem.initializeComposition(_assert_this_initialized(_this), scene);
|
|
@@ -25602,6 +27202,7 @@ var LateUpdateTickData = /*#__PURE__*/ function(TickData) {
|
|
|
25602
27202
|
*/ _proto.reset = function reset() {
|
|
25603
27203
|
this.rendererOptions = null;
|
|
25604
27204
|
this.rootItem.ended = false;
|
|
27205
|
+
this.rootComposition.time = 0;
|
|
25605
27206
|
this.pluginSystem.resetComposition(this, this.renderFrame);
|
|
25606
27207
|
};
|
|
25607
27208
|
_proto.prepareRender = function prepareRender() {
|
|
@@ -28126,7 +29727,7 @@ __decorate([
|
|
|
28126
29727
|
serialize()
|
|
28127
29728
|
], exports.BinaryAsset.prototype, "buffer", void 0);
|
|
28128
29729
|
exports.BinaryAsset = __decorate([
|
|
28129
|
-
effectsClass(
|
|
29730
|
+
effectsClass(DataType.BinaryAsset)
|
|
28130
29731
|
], exports.BinaryAsset);
|
|
28131
29732
|
|
|
28132
29733
|
registerPlugin("camera", CameraVFXItemLoader, exports.VFXItem, true);
|
|
@@ -28135,7 +29736,7 @@ registerPlugin("sprite", SpriteLoader, exports.VFXItem, true);
|
|
|
28135
29736
|
registerPlugin("particle", ParticleLoader, exports.VFXItem, true);
|
|
28136
29737
|
registerPlugin("cal", CalculateLoader, exports.VFXItem, true);
|
|
28137
29738
|
registerPlugin("interact", InteractLoader, exports.VFXItem, true);
|
|
28138
|
-
var version = "2.1.0-alpha.
|
|
29739
|
+
var version = "2.1.0-alpha.6";
|
|
28139
29740
|
logger.info("Core version: " + version + ".");
|
|
28140
29741
|
|
|
28141
29742
|
exports.AbstractPlugin = AbstractPlugin;
|
|
@@ -28314,9 +29915,6 @@ exports.isIOS = isIOS;
|
|
|
28314
29915
|
exports.isIOSByUA = isIOSByUA;
|
|
28315
29916
|
exports.isMiniProgram = isMiniProgram;
|
|
28316
29917
|
exports.isObject = isObject;
|
|
28317
|
-
exports.isSceneJSON = isSceneJSON;
|
|
28318
|
-
exports.isSceneURL = isSceneURL;
|
|
28319
|
-
exports.isSceneWithOptions = isSceneWithOptions;
|
|
28320
29918
|
exports.isSimulatorCellPhone = isSimulatorCellPhone;
|
|
28321
29919
|
exports.isString = isString;
|
|
28322
29920
|
exports.isUniformStruct = isUniformStruct;
|