You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
3422 lines
95 KiB
3422 lines
95 KiB
define([
|
|
'exports',
|
|
'./RuntimeError-ffe03243',
|
|
'./when-229515d6',
|
|
'./ComponentDatatype-17b06483',
|
|
], function (e, t, n, r) {
|
|
'use strict';
|
|
function a(e, t, r) {
|
|
(this.x = n.defaultValue(e, 0)),
|
|
(this.y = n.defaultValue(t, 0)),
|
|
(this.z = n.defaultValue(r, 0));
|
|
}
|
|
(a.fromSpherical = function (e, t) {
|
|
n.defined(t) || (t = new a());
|
|
var r = e.clock,
|
|
i = e.cone,
|
|
u = n.defaultValue(e.magnitude, 1),
|
|
o = u * Math.sin(i);
|
|
return (t.x = o * Math.cos(r)), (t.y = o * Math.sin(r)), (t.z = u * Math.cos(i)), t;
|
|
}),
|
|
(a.fromElements = function (e, t, r, i) {
|
|
return n.defined(i) ? ((i.x = e), (i.y = t), (i.z = r), i) : new a(e, t, r);
|
|
}),
|
|
(a.clone = function (e, t) {
|
|
if (n.defined(e))
|
|
return n.defined(t) ? ((t.x = e.x), (t.y = e.y), (t.z = e.z), t) : new a(e.x, e.y, e.z);
|
|
}),
|
|
(a.fromCartesian4 = a.clone),
|
|
(a.packedLength = 3),
|
|
(a.pack = function (e, t, r) {
|
|
return (r = n.defaultValue(r, 0)), (t[r++] = e.x), (t[r++] = e.y), (t[r] = e.z), t;
|
|
}),
|
|
(a.unpack = function (e, t, r) {
|
|
return (
|
|
(t = n.defaultValue(t, 0)),
|
|
n.defined(r) || (r = new a()),
|
|
(r.x = e[t++]),
|
|
(r.y = e[t++]),
|
|
(r.z = e[t]),
|
|
r
|
|
);
|
|
}),
|
|
(a.packArray = function (e, r) {
|
|
var i = e.length,
|
|
u = 3 * i;
|
|
if (n.defined(r)) {
|
|
if (!Array.isArray(r) && r.length !== u)
|
|
throw new t.DeveloperError(
|
|
'If result is a typed array, it must have exactly array.length * 3 elements'
|
|
);
|
|
r.length !== u && (r.length = u);
|
|
} else r = new Array(u);
|
|
for (var o = 0; o < i; ++o) a.pack(e[o], r, 3 * o);
|
|
return r;
|
|
}),
|
|
(a.unpackArray = function (e, t) {
|
|
var r = e.length;
|
|
n.defined(t) ? (t.length = r / 3) : (t = new Array(r / 3));
|
|
for (var i = 0; i < r; i += 3) {
|
|
var u = i / 3;
|
|
t[u] = a.unpack(e, i, t[u]);
|
|
}
|
|
return t;
|
|
}),
|
|
(a.fromArray = a.unpack),
|
|
(a.maximumComponent = function (e) {
|
|
return Math.max(e.x, e.y, e.z);
|
|
}),
|
|
(a.minimumComponent = function (e) {
|
|
return Math.min(e.x, e.y, e.z);
|
|
}),
|
|
(a.minimumByComponent = function (e, t, n) {
|
|
return (n.x = Math.min(e.x, t.x)), (n.y = Math.min(e.y, t.y)), (n.z = Math.min(e.z, t.z)), n;
|
|
}),
|
|
(a.maximumByComponent = function (e, t, n) {
|
|
return (n.x = Math.max(e.x, t.x)), (n.y = Math.max(e.y, t.y)), (n.z = Math.max(e.z, t.z)), n;
|
|
}),
|
|
(a.magnitudeSquared = function (e) {
|
|
return e.x * e.x + e.y * e.y + e.z * e.z;
|
|
}),
|
|
(a.magnitude = function (e) {
|
|
return Math.sqrt(a.magnitudeSquared(e));
|
|
});
|
|
var i = new a();
|
|
(a.distance = function (e, t) {
|
|
return a.subtract(e, t, i), a.magnitude(i);
|
|
}),
|
|
(a.distanceSquared = function (e, t) {
|
|
return a.subtract(e, t, i), a.magnitudeSquared(i);
|
|
}),
|
|
(a.normalize = function (e, t) {
|
|
var n = a.magnitude(e);
|
|
return (t.x = e.x / n), (t.y = e.y / n), (t.z = e.z / n), t;
|
|
}),
|
|
(a.dot = function (e, t) {
|
|
return e.x * t.x + e.y * t.y + e.z * t.z;
|
|
}),
|
|
(a.multiplyComponents = function (e, t, n) {
|
|
return (n.x = e.x * t.x), (n.y = e.y * t.y), (n.z = e.z * t.z), n;
|
|
}),
|
|
(a.divideComponents = function (e, t, n) {
|
|
return (n.x = e.x / t.x), (n.y = e.y / t.y), (n.z = e.z / t.z), n;
|
|
}),
|
|
(a.add = function (e, t, n) {
|
|
return (n.x = e.x + t.x), (n.y = e.y + t.y), (n.z = e.z + t.z), n;
|
|
}),
|
|
(a.subtract = function (e, t, n) {
|
|
return (n.x = e.x - t.x), (n.y = e.y - t.y), (n.z = e.z - t.z), n;
|
|
}),
|
|
(a.multiplyByScalar = function (e, t, n) {
|
|
return (n.x = e.x * t), (n.y = e.y * t), (n.z = e.z * t), n;
|
|
}),
|
|
(a.divideByScalar = function (e, t, n) {
|
|
return (n.x = e.x / t), (n.y = e.y / t), (n.z = e.z / t), n;
|
|
}),
|
|
(a.negate = function (e, t) {
|
|
return (t.x = -e.x), (t.y = -e.y), (t.z = -e.z), t;
|
|
}),
|
|
(a.abs = function (e, t) {
|
|
return (t.x = Math.abs(e.x)), (t.y = Math.abs(e.y)), (t.z = Math.abs(e.z)), t;
|
|
});
|
|
var u = new a();
|
|
a.lerp = function (e, t, n, r) {
|
|
return a.multiplyByScalar(t, n, u), (r = a.multiplyByScalar(e, 1 - n, r)), a.add(u, r, r);
|
|
};
|
|
var o = new a(),
|
|
s = new a();
|
|
a.angleBetween = function (e, t) {
|
|
a.normalize(e, o), a.normalize(t, s);
|
|
var n = a.dot(o, s),
|
|
r = a.magnitude(a.cross(o, s, o));
|
|
return Math.atan2(r, n);
|
|
};
|
|
var f = new a();
|
|
(a.mostOrthogonalAxis = function (e, t) {
|
|
var n = a.normalize(e, f);
|
|
return (
|
|
a.abs(n, n),
|
|
(t =
|
|
n.x <= n.y
|
|
? n.x <= n.z
|
|
? a.clone(a.UNIT_X, t)
|
|
: a.clone(a.UNIT_Z, t)
|
|
: n.y <= n.z
|
|
? a.clone(a.UNIT_Y, t)
|
|
: a.clone(a.UNIT_Z, t))
|
|
);
|
|
}),
|
|
(a.projectVector = function (e, t, n) {
|
|
var r = a.dot(e, t) / a.dot(t, t);
|
|
return a.multiplyByScalar(t, r, n);
|
|
}),
|
|
(a.equals = function (e, t) {
|
|
return e === t || (n.defined(e) && n.defined(t) && e.x === t.x && e.y === t.y && e.z === t.z);
|
|
}),
|
|
(a.equalsArray = function (e, t, n) {
|
|
return e.x === t[n] && e.y === t[n + 1] && e.z === t[n + 2];
|
|
}),
|
|
(a.equalsEpsilon = function (e, t, a, i) {
|
|
return (
|
|
e === t ||
|
|
(n.defined(e) &&
|
|
n.defined(t) &&
|
|
r.CesiumMath.equalsEpsilon(e.x, t.x, a, i) &&
|
|
r.CesiumMath.equalsEpsilon(e.y, t.y, a, i) &&
|
|
r.CesiumMath.equalsEpsilon(e.z, t.z, a, i))
|
|
);
|
|
}),
|
|
(a.cross = function (e, t, n) {
|
|
var r = e.x,
|
|
a = e.y,
|
|
i = e.z,
|
|
u = t.x,
|
|
o = t.y,
|
|
s = t.z,
|
|
f = a * s - i * o,
|
|
l = i * u - r * s,
|
|
d = r * o - a * u;
|
|
return (n.x = f), (n.y = l), (n.z = d), n;
|
|
}),
|
|
(a.midpoint = function (e, t, n) {
|
|
return (n.x = 0.5 * (e.x + t.x)), (n.y = 0.5 * (e.y + t.y)), (n.z = 0.5 * (e.z + t.z)), n;
|
|
}),
|
|
(a.fromDegrees = function (e, t, n, i, u) {
|
|
return (
|
|
(e = r.CesiumMath.toRadians(e)),
|
|
(t = r.CesiumMath.toRadians(t)),
|
|
a.fromRadians(e, t, n, i, u)
|
|
);
|
|
});
|
|
var l = new a(),
|
|
d = new a(),
|
|
c = new a(40680631590769, 40680631590769, 40408299984661.445);
|
|
(a.fromRadians = function (e, t, r, i, u) {
|
|
r = n.defaultValue(r, 0);
|
|
var o = n.defined(i) ? i.radiiSquared : c,
|
|
s = Math.cos(t);
|
|
(l.x = s * Math.cos(e)),
|
|
(l.y = s * Math.sin(e)),
|
|
(l.z = Math.sin(t)),
|
|
(l = a.normalize(l, l)),
|
|
a.multiplyComponents(o, l, d);
|
|
var f = Math.sqrt(a.dot(l, d));
|
|
return (
|
|
(d = a.divideByScalar(d, f, d)),
|
|
(l = a.multiplyByScalar(l, r, l)),
|
|
n.defined(u) || (u = new a()),
|
|
a.add(d, l, u)
|
|
);
|
|
}),
|
|
(a.fromDegreesArray = function (e, t, r) {
|
|
var i = e.length;
|
|
n.defined(r) ? (r.length = i / 2) : (r = new Array(i / 2));
|
|
for (var u = 0; u < i; u += 2) {
|
|
var o = e[u],
|
|
s = e[u + 1],
|
|
f = u / 2;
|
|
r[f] = a.fromDegrees(o, s, 0, t, r[f]);
|
|
}
|
|
return r;
|
|
}),
|
|
(a.fromRadiansArray = function (e, t, r) {
|
|
var i = e.length;
|
|
n.defined(r) ? (r.length = i / 2) : (r = new Array(i / 2));
|
|
for (var u = 0; u < i; u += 2) {
|
|
var o = e[u],
|
|
s = e[u + 1],
|
|
f = u / 2;
|
|
r[f] = a.fromRadians(o, s, 0, t, r[f]);
|
|
}
|
|
return r;
|
|
}),
|
|
(a.fromDegreesArrayHeights = function (e, t, r) {
|
|
var i = e.length;
|
|
n.defined(r) ? (r.length = i / 3) : (r = new Array(i / 3));
|
|
for (var u = 0; u < i; u += 3) {
|
|
var o = e[u],
|
|
s = e[u + 1],
|
|
f = e[u + 2],
|
|
l = u / 3;
|
|
r[l] = a.fromDegrees(o, s, f, t, r[l]);
|
|
}
|
|
return r;
|
|
}),
|
|
(a.fromRadiansArrayHeights = function (e, t, r) {
|
|
var i = e.length;
|
|
n.defined(r) ? (r.length = i / 3) : (r = new Array(i / 3));
|
|
for (var u = 0; u < i; u += 3) {
|
|
var o = e[u],
|
|
s = e[u + 1],
|
|
f = e[u + 2],
|
|
l = u / 3;
|
|
r[l] = a.fromRadians(o, s, f, t, r[l]);
|
|
}
|
|
return r;
|
|
}),
|
|
(a.ZERO = Object.freeze(new a(0, 0, 0))),
|
|
(a.ONE = Object.freeze(new a(1, 1, 1))),
|
|
(a.UNIT_X = Object.freeze(new a(1, 0, 0))),
|
|
(a.UNIT_Y = Object.freeze(new a(0, 1, 0))),
|
|
(a.UNIT_Z = Object.freeze(new a(0, 0, 1))),
|
|
(a.prototype.clone = function (e) {
|
|
return a.clone(this, e);
|
|
}),
|
|
(a.prototype.equals = function (e) {
|
|
return a.equals(this, e);
|
|
}),
|
|
(a.prototype.equalsEpsilon = function (e, t, n) {
|
|
return a.equalsEpsilon(this, e, t, n);
|
|
}),
|
|
(a.prototype.toString = function () {
|
|
return '(' + this.x + ', ' + this.y + ', ' + this.z + ')';
|
|
});
|
|
var h = new a(),
|
|
m = new a();
|
|
function y(e, t, i, u, o) {
|
|
var s = e.x,
|
|
f = e.y,
|
|
l = e.z,
|
|
d = t.x,
|
|
c = t.y,
|
|
y = t.z,
|
|
p = s * s * d * d,
|
|
x = f * f * c * c,
|
|
M = l * l * y * y,
|
|
w = p + x + M,
|
|
g = Math.sqrt(1 / w),
|
|
v = a.multiplyByScalar(e, g, h);
|
|
if (w < u) return isFinite(g) ? a.clone(v, o) : void 0;
|
|
var z = i.x,
|
|
C = i.y,
|
|
O = i.z,
|
|
b = m;
|
|
(b.x = v.x * z * 2), (b.y = v.y * C * 2), (b.z = v.z * O * 2);
|
|
var S,
|
|
q,
|
|
_,
|
|
R,
|
|
V,
|
|
E,
|
|
T,
|
|
A = ((1 - g) * a.magnitude(e)) / (0.5 * a.magnitude(b)),
|
|
I = 0;
|
|
do {
|
|
I =
|
|
(S =
|
|
p * (V = (q = 1 / (1 + (A -= I) * z)) * q) +
|
|
x * (E = (_ = 1 / (1 + A * C)) * _) +
|
|
M * (T = (R = 1 / (1 + A * O)) * R) -
|
|
1) /
|
|
(-2 * (p * (V * q) * z + x * (E * _) * C + M * (T * R) * O));
|
|
} while (Math.abs(S) > r.CesiumMath.EPSILON12);
|
|
return n.defined(o)
|
|
? ((o.x = s * q), (o.y = f * _), (o.z = l * R), o)
|
|
: new a(s * q, f * _, l * R);
|
|
}
|
|
function p(e, t, r) {
|
|
(this.longitude = n.defaultValue(e, 0)),
|
|
(this.latitude = n.defaultValue(t, 0)),
|
|
(this.height = n.defaultValue(r, 0));
|
|
}
|
|
(p.fromRadians = function (e, t, r, a) {
|
|
return (
|
|
(r = n.defaultValue(r, 0)),
|
|
n.defined(a) ? ((a.longitude = e), (a.latitude = t), (a.height = r), a) : new p(e, t, r)
|
|
);
|
|
}),
|
|
(p.fromDegrees = function (e, t, n, a) {
|
|
return (
|
|
(e = r.CesiumMath.toRadians(e)), (t = r.CesiumMath.toRadians(t)), p.fromRadians(e, t, n, a)
|
|
);
|
|
});
|
|
var x = new a(),
|
|
M = new a(),
|
|
w = new a(),
|
|
g = new a(1 / 6378137, 1 / 6378137, 1 / 6356752.314245179),
|
|
v = new a(1 / 40680631590769, 1 / 40680631590769, 1 / 40408299984661.445),
|
|
z = r.CesiumMath.EPSILON1;
|
|
function C(e, t, i, u) {
|
|
(t = n.defaultValue(t, 0)),
|
|
(i = n.defaultValue(i, 0)),
|
|
(u = n.defaultValue(u, 0)),
|
|
(e._radii = new a(t, i, u)),
|
|
(e._radiiSquared = new a(t * t, i * i, u * u)),
|
|
(e._radiiToTheFourth = new a(t * t * t * t, i * i * i * i, u * u * u * u)),
|
|
(e._oneOverRadii = new a(0 === t ? 0 : 1 / t, 0 === i ? 0 : 1 / i, 0 === u ? 0 : 1 / u)),
|
|
(e._oneOverRadiiSquared = new a(
|
|
0 === t ? 0 : 1 / (t * t),
|
|
0 === i ? 0 : 1 / (i * i),
|
|
0 === u ? 0 : 1 / (u * u)
|
|
)),
|
|
(e._minimumRadius = Math.min(t, i, u)),
|
|
(e._maximumRadius = Math.max(t, i, u)),
|
|
(e._centerToleranceSquared = r.CesiumMath.EPSILON1),
|
|
0 !== e._radiiSquared.z && (e._squaredXOverSquaredZ = e._radiiSquared.x / e._radiiSquared.z);
|
|
}
|
|
function O(e, t, n) {
|
|
(this._radii = void 0),
|
|
(this._radiiSquared = void 0),
|
|
(this._radiiToTheFourth = void 0),
|
|
(this._oneOverRadii = void 0),
|
|
(this._oneOverRadiiSquared = void 0),
|
|
(this._minimumRadius = void 0),
|
|
(this._maximumRadius = void 0),
|
|
(this._centerToleranceSquared = void 0),
|
|
(this._squaredXOverSquaredZ = void 0),
|
|
C(this, e, t, n);
|
|
}
|
|
(p.fromCartesian = function (e, t, i) {
|
|
var u = n.defined(t) ? t.oneOverRadii : g,
|
|
o = n.defined(t) ? t.oneOverRadiiSquared : v,
|
|
s = y(e, u, o, n.defined(t) ? t._centerToleranceSquared : z, M);
|
|
if (n.defined(s)) {
|
|
var f = a.multiplyComponents(s, o, x);
|
|
f = a.normalize(f, f);
|
|
var l = a.subtract(e, s, w),
|
|
d = Math.atan2(f.y, f.x),
|
|
c = Math.asin(f.z),
|
|
h = r.CesiumMath.sign(a.dot(l, e)) * a.magnitude(l);
|
|
return n.defined(i)
|
|
? ((i.longitude = d), (i.latitude = c), (i.height = h), i)
|
|
: new p(d, c, h);
|
|
}
|
|
}),
|
|
(p.toCartesian = function (e, t, n) {
|
|
return a.fromRadians(e.longitude, e.latitude, e.height, t, n);
|
|
}),
|
|
(p.clone = function (e, t) {
|
|
if (n.defined(e))
|
|
return n.defined(t)
|
|
? ((t.longitude = e.longitude), (t.latitude = e.latitude), (t.height = e.height), t)
|
|
: new p(e.longitude, e.latitude, e.height);
|
|
}),
|
|
(p.equals = function (e, t) {
|
|
return (
|
|
e === t ||
|
|
(n.defined(e) &&
|
|
n.defined(t) &&
|
|
e.longitude === t.longitude &&
|
|
e.latitude === t.latitude &&
|
|
e.height === t.height)
|
|
);
|
|
}),
|
|
(p.equalsEpsilon = function (e, t, r) {
|
|
return (
|
|
(r = n.defaultValue(r, 0)),
|
|
e === t ||
|
|
(n.defined(e) &&
|
|
n.defined(t) &&
|
|
Math.abs(e.longitude - t.longitude) <= r &&
|
|
Math.abs(e.latitude - t.latitude) <= r &&
|
|
Math.abs(e.height - t.height) <= r)
|
|
);
|
|
}),
|
|
(p.ZERO = Object.freeze(new p(0, 0, 0))),
|
|
(p.prototype.clone = function (e) {
|
|
return p.clone(this, e);
|
|
}),
|
|
(p.prototype.equals = function (e) {
|
|
return p.equals(this, e);
|
|
}),
|
|
(p.prototype.equalsEpsilon = function (e, t) {
|
|
return p.equalsEpsilon(this, e, t);
|
|
}),
|
|
(p.prototype.toString = function () {
|
|
return '(' + this.longitude + ', ' + this.latitude + ', ' + this.height + ')';
|
|
}),
|
|
Object.defineProperties(O.prototype, {
|
|
radii: {
|
|
get: function () {
|
|
return this._radii;
|
|
},
|
|
},
|
|
radiiSquared: {
|
|
get: function () {
|
|
return this._radiiSquared;
|
|
},
|
|
},
|
|
radiiToTheFourth: {
|
|
get: function () {
|
|
return this._radiiToTheFourth;
|
|
},
|
|
},
|
|
oneOverRadii: {
|
|
get: function () {
|
|
return this._oneOverRadii;
|
|
},
|
|
},
|
|
oneOverRadiiSquared: {
|
|
get: function () {
|
|
return this._oneOverRadiiSquared;
|
|
},
|
|
},
|
|
minimumRadius: {
|
|
get: function () {
|
|
return this._minimumRadius;
|
|
},
|
|
},
|
|
maximumRadius: {
|
|
get: function () {
|
|
return this._maximumRadius;
|
|
},
|
|
},
|
|
}),
|
|
(O.clone = function (e, t) {
|
|
if (n.defined(e)) {
|
|
var r = e._radii;
|
|
return n.defined(t)
|
|
? (a.clone(r, t._radii),
|
|
a.clone(e._radiiSquared, t._radiiSquared),
|
|
a.clone(e._radiiToTheFourth, t._radiiToTheFourth),
|
|
a.clone(e._oneOverRadii, t._oneOverRadii),
|
|
a.clone(e._oneOverRadiiSquared, t._oneOverRadiiSquared),
|
|
(t._minimumRadius = e._minimumRadius),
|
|
(t._maximumRadius = e._maximumRadius),
|
|
(t._centerToleranceSquared = e._centerToleranceSquared),
|
|
t)
|
|
: new O(r.x, r.y, r.z);
|
|
}
|
|
}),
|
|
(O.fromCartesian3 = function (e, t) {
|
|
return n.defined(t) || (t = new O()), n.defined(e) ? (C(t, e.x, e.y, e.z), t) : t;
|
|
}),
|
|
(O.WGS84 = Object.freeze(new O(6378137, 6378137, 6356752.314245179))),
|
|
(O.UNIT_SPHERE = Object.freeze(new O(1, 1, 1))),
|
|
(O.MOON = Object.freeze(
|
|
new O(r.CesiumMath.LUNAR_RADIUS, r.CesiumMath.LUNAR_RADIUS, r.CesiumMath.LUNAR_RADIUS)
|
|
)),
|
|
(O.prototype.clone = function (e) {
|
|
return O.clone(this, e);
|
|
}),
|
|
(O.packedLength = a.packedLength),
|
|
(O.pack = function (e, t, r) {
|
|
return (r = n.defaultValue(r, 0)), a.pack(e._radii, t, r), t;
|
|
}),
|
|
(O.unpack = function (e, t, r) {
|
|
t = n.defaultValue(t, 0);
|
|
var i = a.unpack(e, t);
|
|
return O.fromCartesian3(i, r);
|
|
}),
|
|
(O.prototype.geocentricSurfaceNormal = a.normalize),
|
|
(O.prototype.geodeticSurfaceNormalCartographic = function (e, t) {
|
|
var r = e.longitude,
|
|
i = e.latitude,
|
|
u = Math.cos(i),
|
|
o = u * Math.cos(r),
|
|
s = u * Math.sin(r),
|
|
f = Math.sin(i);
|
|
return n.defined(t) || (t = new a()), (t.x = o), (t.y = s), (t.z = f), a.normalize(t, t);
|
|
}),
|
|
(O.prototype.geodeticSurfaceNormal = function (e, t) {
|
|
if (!a.equalsEpsilon(e, a.ZERO, r.CesiumMath.EPSILON14))
|
|
return (
|
|
n.defined(t) || (t = new a()),
|
|
(t = a.multiplyComponents(e, this._oneOverRadiiSquared, t)),
|
|
a.normalize(t, t)
|
|
);
|
|
});
|
|
var b = new a(),
|
|
S = new a();
|
|
(O.prototype.cartographicToCartesian = function (e, t) {
|
|
var r = b,
|
|
i = S;
|
|
this.geodeticSurfaceNormalCartographic(e, r), a.multiplyComponents(this._radiiSquared, r, i);
|
|
var u = Math.sqrt(a.dot(r, i));
|
|
return (
|
|
a.divideByScalar(i, u, i),
|
|
a.multiplyByScalar(r, e.height, r),
|
|
n.defined(t) || (t = new a()),
|
|
a.add(i, r, t)
|
|
);
|
|
}),
|
|
(O.prototype.cartographicArrayToCartesianArray = function (e, t) {
|
|
var r = e.length;
|
|
n.defined(t) ? (t.length = r) : (t = new Array(r));
|
|
for (var a = 0; a < r; a++) t[a] = this.cartographicToCartesian(e[a], t[a]);
|
|
return t;
|
|
});
|
|
var q = new a(),
|
|
_ = new a(),
|
|
R = new a();
|
|
(O.prototype.cartesianToCartographic = function (e, t) {
|
|
var i = this.scaleToGeodeticSurface(e, _);
|
|
if (n.defined(i)) {
|
|
var u = this.geodeticSurfaceNormal(i, q),
|
|
o = a.subtract(e, i, R),
|
|
s = Math.atan2(u.y, u.x),
|
|
f = Math.asin(u.z),
|
|
l = r.CesiumMath.sign(a.dot(o, e)) * a.magnitude(o);
|
|
return n.defined(t)
|
|
? ((t.longitude = s), (t.latitude = f), (t.height = l), t)
|
|
: new p(s, f, l);
|
|
}
|
|
}),
|
|
(O.prototype.cartesianArrayToCartographicArray = function (e, t) {
|
|
var r = e.length;
|
|
n.defined(t) ? (t.length = r) : (t = new Array(r));
|
|
for (var a = 0; a < r; ++a) t[a] = this.cartesianToCartographic(e[a], t[a]);
|
|
return t;
|
|
}),
|
|
(O.prototype.scaleToGeodeticSurface = function (e, t) {
|
|
return y(e, this._oneOverRadii, this._oneOverRadiiSquared, this._centerToleranceSquared, t);
|
|
}),
|
|
(O.prototype.scaleToGeocentricSurface = function (e, t) {
|
|
n.defined(t) || (t = new a());
|
|
var r = e.x,
|
|
i = e.y,
|
|
u = e.z,
|
|
o = this._oneOverRadiiSquared,
|
|
s = 1 / Math.sqrt(r * r * o.x + i * i * o.y + u * u * o.z);
|
|
return a.multiplyByScalar(e, s, t);
|
|
}),
|
|
(O.prototype.transformPositionToScaledSpace = function (e, t) {
|
|
return n.defined(t) || (t = new a()), a.multiplyComponents(e, this._oneOverRadii, t);
|
|
}),
|
|
(O.prototype.transformPositionFromScaledSpace = function (e, t) {
|
|
return n.defined(t) || (t = new a()), a.multiplyComponents(e, this._radii, t);
|
|
}),
|
|
(O.prototype.equals = function (e) {
|
|
return this === e || (n.defined(e) && a.equals(this._radii, e._radii));
|
|
}),
|
|
(O.prototype.toString = function () {
|
|
return this._radii.toString();
|
|
}),
|
|
(O.prototype.getSurfaceNormalIntersectionWithZAxis = function (e, t, r) {
|
|
t = n.defaultValue(t, 0);
|
|
var i = this._squaredXOverSquaredZ;
|
|
if (
|
|
(n.defined(r) || (r = new a()),
|
|
(r.x = 0),
|
|
(r.y = 0),
|
|
(r.z = e.z * (1 - i)),
|
|
!(Math.abs(r.z) >= this._radii.z - t))
|
|
)
|
|
return r;
|
|
});
|
|
var V = [
|
|
0.14887433898163, 0.43339539412925, 0.67940956829902, 0.86506336668898, 0.97390652851717, 0,
|
|
],
|
|
E = [
|
|
0.29552422471475, 0.26926671930999, 0.21908636251598, 0.14945134915058, 0.066671344308684, 0,
|
|
];
|
|
function T(e, t, n) {
|
|
for (var r = 0.5 * (t + e), a = 0.5 * (t - e), i = 0, u = 0; u < 5; u++) {
|
|
var o = a * V[u];
|
|
i += E[u] * (n(r + o) + n(r - o));
|
|
}
|
|
return (i *= a);
|
|
}
|
|
function A(e, t, r, a, i, u, o, s, f) {
|
|
(this[0] = n.defaultValue(e, 0)),
|
|
(this[1] = n.defaultValue(a, 0)),
|
|
(this[2] = n.defaultValue(o, 0)),
|
|
(this[3] = n.defaultValue(t, 0)),
|
|
(this[4] = n.defaultValue(i, 0)),
|
|
(this[5] = n.defaultValue(s, 0)),
|
|
(this[6] = n.defaultValue(r, 0)),
|
|
(this[7] = n.defaultValue(u, 0)),
|
|
(this[8] = n.defaultValue(f, 0));
|
|
}
|
|
(O.prototype.surfaceArea = function (e) {
|
|
for (var t = e.west, n = e.east, a = e.south, i = e.north; n < t; ) n += r.CesiumMath.TWO_PI;
|
|
var u = this._radiiSquared,
|
|
o = u.x,
|
|
s = u.y,
|
|
f = u.z,
|
|
l = o * s;
|
|
return T(a, i, function (e) {
|
|
var r = Math.cos(e),
|
|
a = Math.sin(e);
|
|
return (
|
|
Math.cos(e) *
|
|
T(t, n, function (e) {
|
|
var t = Math.cos(e),
|
|
n = Math.sin(e);
|
|
return Math.sqrt(l * a * a + f * (s * t * t + o * n * n) * r * r);
|
|
})
|
|
);
|
|
});
|
|
}),
|
|
(A.packedLength = 9),
|
|
(A.pack = function (e, t, r) {
|
|
return (
|
|
(r = n.defaultValue(r, 0)),
|
|
(t[r++] = e[0]),
|
|
(t[r++] = e[1]),
|
|
(t[r++] = e[2]),
|
|
(t[r++] = e[3]),
|
|
(t[r++] = e[4]),
|
|
(t[r++] = e[5]),
|
|
(t[r++] = e[6]),
|
|
(t[r++] = e[7]),
|
|
(t[r++] = e[8]),
|
|
t
|
|
);
|
|
}),
|
|
(A.unpack = function (e, t, r) {
|
|
return (
|
|
(t = n.defaultValue(t, 0)),
|
|
n.defined(r) || (r = new A()),
|
|
(r[0] = e[t++]),
|
|
(r[1] = e[t++]),
|
|
(r[2] = e[t++]),
|
|
(r[3] = e[t++]),
|
|
(r[4] = e[t++]),
|
|
(r[5] = e[t++]),
|
|
(r[6] = e[t++]),
|
|
(r[7] = e[t++]),
|
|
(r[8] = e[t++]),
|
|
r
|
|
);
|
|
}),
|
|
(A.clone = function (e, t) {
|
|
if (n.defined(e))
|
|
return n.defined(t)
|
|
? ((t[0] = e[0]),
|
|
(t[1] = e[1]),
|
|
(t[2] = e[2]),
|
|
(t[3] = e[3]),
|
|
(t[4] = e[4]),
|
|
(t[5] = e[5]),
|
|
(t[6] = e[6]),
|
|
(t[7] = e[7]),
|
|
(t[8] = e[8]),
|
|
t)
|
|
: new A(e[0], e[3], e[6], e[1], e[4], e[7], e[2], e[5], e[8]);
|
|
}),
|
|
(A.fromArray = function (e, t, r) {
|
|
return (
|
|
(t = n.defaultValue(t, 0)),
|
|
n.defined(r) || (r = new A()),
|
|
(r[0] = e[t]),
|
|
(r[1] = e[t + 1]),
|
|
(r[2] = e[t + 2]),
|
|
(r[3] = e[t + 3]),
|
|
(r[4] = e[t + 4]),
|
|
(r[5] = e[t + 5]),
|
|
(r[6] = e[t + 6]),
|
|
(r[7] = e[t + 7]),
|
|
(r[8] = e[t + 8]),
|
|
r
|
|
);
|
|
}),
|
|
(A.fromColumnMajorArray = function (e, t) {
|
|
return A.clone(e, t);
|
|
}),
|
|
(A.fromRowMajorArray = function (e, t) {
|
|
return n.defined(t)
|
|
? ((t[0] = e[0]),
|
|
(t[1] = e[3]),
|
|
(t[2] = e[6]),
|
|
(t[3] = e[1]),
|
|
(t[4] = e[4]),
|
|
(t[5] = e[7]),
|
|
(t[6] = e[2]),
|
|
(t[7] = e[5]),
|
|
(t[8] = e[8]),
|
|
t)
|
|
: new A(e[0], e[1], e[2], e[3], e[4], e[5], e[6], e[7], e[8]);
|
|
}),
|
|
(A.fromQuaternion = function (e, t) {
|
|
var r = e.x * e.x,
|
|
a = e.x * e.y,
|
|
i = e.x * e.z,
|
|
u = e.x * e.w,
|
|
o = e.y * e.y,
|
|
s = e.y * e.z,
|
|
f = e.y * e.w,
|
|
l = e.z * e.z,
|
|
d = e.z * e.w,
|
|
c = e.w * e.w,
|
|
h = r - o - l + c,
|
|
m = 2 * (a - d),
|
|
y = 2 * (i + f),
|
|
p = 2 * (a + d),
|
|
x = -r + o - l + c,
|
|
M = 2 * (s - u),
|
|
w = 2 * (i - f),
|
|
g = 2 * (s + u),
|
|
v = -r - o + l + c;
|
|
return n.defined(t)
|
|
? ((t[0] = h),
|
|
(t[1] = p),
|
|
(t[2] = w),
|
|
(t[3] = m),
|
|
(t[4] = x),
|
|
(t[5] = g),
|
|
(t[6] = y),
|
|
(t[7] = M),
|
|
(t[8] = v),
|
|
t)
|
|
: new A(h, m, y, p, x, M, w, g, v);
|
|
}),
|
|
(A.fromHeadingPitchRoll = function (e, t) {
|
|
var r = Math.cos(-e.pitch),
|
|
a = Math.cos(-e.heading),
|
|
i = Math.cos(e.roll),
|
|
u = Math.sin(-e.pitch),
|
|
o = Math.sin(-e.heading),
|
|
s = Math.sin(e.roll),
|
|
f = r * a,
|
|
l = -i * o + s * u * a,
|
|
d = s * o + i * u * a,
|
|
c = r * o,
|
|
h = i * a + s * u * o,
|
|
m = -s * a + i * u * o,
|
|
y = -u,
|
|
p = s * r,
|
|
x = i * r;
|
|
return n.defined(t)
|
|
? ((t[0] = f),
|
|
(t[1] = c),
|
|
(t[2] = y),
|
|
(t[3] = l),
|
|
(t[4] = h),
|
|
(t[5] = p),
|
|
(t[6] = d),
|
|
(t[7] = m),
|
|
(t[8] = x),
|
|
t)
|
|
: new A(f, l, d, c, h, m, y, p, x);
|
|
}),
|
|
(A.fromScale = function (e, t) {
|
|
return n.defined(t)
|
|
? ((t[0] = e.x),
|
|
(t[1] = 0),
|
|
(t[2] = 0),
|
|
(t[3] = 0),
|
|
(t[4] = e.y),
|
|
(t[5] = 0),
|
|
(t[6] = 0),
|
|
(t[7] = 0),
|
|
(t[8] = e.z),
|
|
t)
|
|
: new A(e.x, 0, 0, 0, e.y, 0, 0, 0, e.z);
|
|
}),
|
|
(A.fromUniformScale = function (e, t) {
|
|
return n.defined(t)
|
|
? ((t[0] = e),
|
|
(t[1] = 0),
|
|
(t[2] = 0),
|
|
(t[3] = 0),
|
|
(t[4] = e),
|
|
(t[5] = 0),
|
|
(t[6] = 0),
|
|
(t[7] = 0),
|
|
(t[8] = e),
|
|
t)
|
|
: new A(e, 0, 0, 0, e, 0, 0, 0, e);
|
|
}),
|
|
(A.fromCrossProduct = function (e, t) {
|
|
return n.defined(t)
|
|
? ((t[0] = 0),
|
|
(t[1] = e.z),
|
|
(t[2] = -e.y),
|
|
(t[3] = -e.z),
|
|
(t[4] = 0),
|
|
(t[5] = e.x),
|
|
(t[6] = e.y),
|
|
(t[7] = -e.x),
|
|
(t[8] = 0),
|
|
t)
|
|
: new A(0, -e.z, e.y, e.z, 0, -e.x, -e.y, e.x, 0);
|
|
}),
|
|
(A.fromRotationX = function (e, t) {
|
|
var r = Math.cos(e),
|
|
a = Math.sin(e);
|
|
return n.defined(t)
|
|
? ((t[0] = 1),
|
|
(t[1] = 0),
|
|
(t[2] = 0),
|
|
(t[3] = 0),
|
|
(t[4] = r),
|
|
(t[5] = a),
|
|
(t[6] = 0),
|
|
(t[7] = -a),
|
|
(t[8] = r),
|
|
t)
|
|
: new A(1, 0, 0, 0, r, -a, 0, a, r);
|
|
}),
|
|
(A.fromRotationY = function (e, t) {
|
|
var r = Math.cos(e),
|
|
a = Math.sin(e);
|
|
return n.defined(t)
|
|
? ((t[0] = r),
|
|
(t[1] = 0),
|
|
(t[2] = -a),
|
|
(t[3] = 0),
|
|
(t[4] = 1),
|
|
(t[5] = 0),
|
|
(t[6] = a),
|
|
(t[7] = 0),
|
|
(t[8] = r),
|
|
t)
|
|
: new A(r, 0, a, 0, 1, 0, -a, 0, r);
|
|
}),
|
|
(A.fromRotationZ = function (e, t) {
|
|
var r = Math.cos(e),
|
|
a = Math.sin(e);
|
|
return n.defined(t)
|
|
? ((t[0] = r),
|
|
(t[1] = a),
|
|
(t[2] = 0),
|
|
(t[3] = -a),
|
|
(t[4] = r),
|
|
(t[5] = 0),
|
|
(t[6] = 0),
|
|
(t[7] = 0),
|
|
(t[8] = 1),
|
|
t)
|
|
: new A(r, -a, 0, a, r, 0, 0, 0, 1);
|
|
}),
|
|
(A.toArray = function (e, t) {
|
|
return n.defined(t)
|
|
? ((t[0] = e[0]),
|
|
(t[1] = e[1]),
|
|
(t[2] = e[2]),
|
|
(t[3] = e[3]),
|
|
(t[4] = e[4]),
|
|
(t[5] = e[5]),
|
|
(t[6] = e[6]),
|
|
(t[7] = e[7]),
|
|
(t[8] = e[8]),
|
|
t)
|
|
: [e[0], e[1], e[2], e[3], e[4], e[5], e[6], e[7], e[8]];
|
|
}),
|
|
(A.getElementIndex = function (e, t) {
|
|
return 3 * e + t;
|
|
}),
|
|
(A.getColumn = function (e, t, n) {
|
|
var r = 3 * t,
|
|
a = e[r],
|
|
i = e[r + 1],
|
|
u = e[r + 2];
|
|
return (n.x = a), (n.y = i), (n.z = u), n;
|
|
}),
|
|
(A.setColumn = function (e, t, n, r) {
|
|
var a = 3 * t;
|
|
return ((r = A.clone(e, r))[a] = n.x), (r[a + 1] = n.y), (r[a + 2] = n.z), r;
|
|
}),
|
|
(A.getRow = function (e, t, n) {
|
|
var r = e[t],
|
|
a = e[t + 3],
|
|
i = e[t + 6];
|
|
return (n.x = r), (n.y = a), (n.z = i), n;
|
|
}),
|
|
(A.setRow = function (e, t, n, r) {
|
|
return ((r = A.clone(e, r))[t] = n.x), (r[t + 3] = n.y), (r[t + 6] = n.z), r;
|
|
});
|
|
var I = new a();
|
|
A.getScale = function (e, t) {
|
|
return (
|
|
(t.x = a.magnitude(a.fromElements(e[0], e[1], e[2], I))),
|
|
(t.y = a.magnitude(a.fromElements(e[3], e[4], e[5], I))),
|
|
(t.z = a.magnitude(a.fromElements(e[6], e[7], e[8], I))),
|
|
t
|
|
);
|
|
};
|
|
var N = new a();
|
|
(A.getMaximumScale = function (e) {
|
|
return A.getScale(e, N), a.maximumComponent(N);
|
|
}),
|
|
(A.multiply = function (e, t, n) {
|
|
var r = e[0] * t[0] + e[3] * t[1] + e[6] * t[2],
|
|
a = e[1] * t[0] + e[4] * t[1] + e[7] * t[2],
|
|
i = e[2] * t[0] + e[5] * t[1] + e[8] * t[2],
|
|
u = e[0] * t[3] + e[3] * t[4] + e[6] * t[5],
|
|
o = e[1] * t[3] + e[4] * t[4] + e[7] * t[5],
|
|
s = e[2] * t[3] + e[5] * t[4] + e[8] * t[5],
|
|
f = e[0] * t[6] + e[3] * t[7] + e[6] * t[8],
|
|
l = e[1] * t[6] + e[4] * t[7] + e[7] * t[8],
|
|
d = e[2] * t[6] + e[5] * t[7] + e[8] * t[8];
|
|
return (
|
|
(n[0] = r),
|
|
(n[1] = a),
|
|
(n[2] = i),
|
|
(n[3] = u),
|
|
(n[4] = o),
|
|
(n[5] = s),
|
|
(n[6] = f),
|
|
(n[7] = l),
|
|
(n[8] = d),
|
|
n
|
|
);
|
|
}),
|
|
(A.add = function (e, t, n) {
|
|
return (
|
|
(n[0] = e[0] + t[0]),
|
|
(n[1] = e[1] + t[1]),
|
|
(n[2] = e[2] + t[2]),
|
|
(n[3] = e[3] + t[3]),
|
|
(n[4] = e[4] + t[4]),
|
|
(n[5] = e[5] + t[5]),
|
|
(n[6] = e[6] + t[6]),
|
|
(n[7] = e[7] + t[7]),
|
|
(n[8] = e[8] + t[8]),
|
|
n
|
|
);
|
|
}),
|
|
(A.subtract = function (e, t, n) {
|
|
return (
|
|
(n[0] = e[0] - t[0]),
|
|
(n[1] = e[1] - t[1]),
|
|
(n[2] = e[2] - t[2]),
|
|
(n[3] = e[3] - t[3]),
|
|
(n[4] = e[4] - t[4]),
|
|
(n[5] = e[5] - t[5]),
|
|
(n[6] = e[6] - t[6]),
|
|
(n[7] = e[7] - t[7]),
|
|
(n[8] = e[8] - t[8]),
|
|
n
|
|
);
|
|
}),
|
|
(A.multiplyByVector = function (e, t, n) {
|
|
var r = t.x,
|
|
a = t.y,
|
|
i = t.z,
|
|
u = e[0] * r + e[3] * a + e[6] * i,
|
|
o = e[1] * r + e[4] * a + e[7] * i,
|
|
s = e[2] * r + e[5] * a + e[8] * i;
|
|
return (n.x = u), (n.y = o), (n.z = s), n;
|
|
}),
|
|
(A.multiplyByScalar = function (e, t, n) {
|
|
return (
|
|
(n[0] = e[0] * t),
|
|
(n[1] = e[1] * t),
|
|
(n[2] = e[2] * t),
|
|
(n[3] = e[3] * t),
|
|
(n[4] = e[4] * t),
|
|
(n[5] = e[5] * t),
|
|
(n[6] = e[6] * t),
|
|
(n[7] = e[7] * t),
|
|
(n[8] = e[8] * t),
|
|
n
|
|
);
|
|
}),
|
|
(A.multiplyByScale = function (e, t, n) {
|
|
return (
|
|
(n[0] = e[0] * t.x),
|
|
(n[1] = e[1] * t.x),
|
|
(n[2] = e[2] * t.x),
|
|
(n[3] = e[3] * t.y),
|
|
(n[4] = e[4] * t.y),
|
|
(n[5] = e[5] * t.y),
|
|
(n[6] = e[6] * t.z),
|
|
(n[7] = e[7] * t.z),
|
|
(n[8] = e[8] * t.z),
|
|
n
|
|
);
|
|
}),
|
|
(A.negate = function (e, t) {
|
|
return (
|
|
(t[0] = -e[0]),
|
|
(t[1] = -e[1]),
|
|
(t[2] = -e[2]),
|
|
(t[3] = -e[3]),
|
|
(t[4] = -e[4]),
|
|
(t[5] = -e[5]),
|
|
(t[6] = -e[6]),
|
|
(t[7] = -e[7]),
|
|
(t[8] = -e[8]),
|
|
t
|
|
);
|
|
}),
|
|
(A.transpose = function (e, t) {
|
|
var n = e[0],
|
|
r = e[3],
|
|
a = e[6],
|
|
i = e[1],
|
|
u = e[4],
|
|
o = e[7],
|
|
s = e[2],
|
|
f = e[5],
|
|
l = e[8];
|
|
return (
|
|
(t[0] = n),
|
|
(t[1] = r),
|
|
(t[2] = a),
|
|
(t[3] = i),
|
|
(t[4] = u),
|
|
(t[5] = o),
|
|
(t[6] = s),
|
|
(t[7] = f),
|
|
(t[8] = l),
|
|
t
|
|
);
|
|
});
|
|
var U = new a(1, 1, 1);
|
|
A.getRotation = function (e, t) {
|
|
var n = a.divideComponents(U, A.getScale(e, N), N);
|
|
return (t = A.multiplyByScale(e, n, t));
|
|
};
|
|
var L = [1, 0, 0],
|
|
P = [2, 2, 1];
|
|
function W(e) {
|
|
for (var t = 0, n = 0; n < 3; ++n) {
|
|
var r = e[A.getElementIndex(P[n], L[n])];
|
|
t += 2 * r * r;
|
|
}
|
|
return Math.sqrt(t);
|
|
}
|
|
function k(e, t) {
|
|
for (var n = r.CesiumMath.EPSILON15, a = 0, i = 1, u = 0; u < 3; ++u) {
|
|
var o = Math.abs(e[A.getElementIndex(P[u], L[u])]);
|
|
o > a && ((i = u), (a = o));
|
|
}
|
|
var s = 1,
|
|
f = 0,
|
|
l = L[i],
|
|
d = P[i];
|
|
if (Math.abs(e[A.getElementIndex(d, l)]) > n) {
|
|
var c,
|
|
h =
|
|
(e[A.getElementIndex(d, d)] - e[A.getElementIndex(l, l)]) /
|
|
2 /
|
|
e[A.getElementIndex(d, l)];
|
|
f =
|
|
(c = h < 0 ? -1 / (-h + Math.sqrt(1 + h * h)) : 1 / (h + Math.sqrt(1 + h * h))) *
|
|
(s = 1 / Math.sqrt(1 + c * c));
|
|
}
|
|
return (
|
|
((t = A.clone(A.IDENTITY, t))[A.getElementIndex(l, l)] = t[A.getElementIndex(d, d)] = s),
|
|
(t[A.getElementIndex(d, l)] = f),
|
|
(t[A.getElementIndex(l, d)] = -f),
|
|
t
|
|
);
|
|
}
|
|
var B = new A(),
|
|
j = new A();
|
|
(A.computeEigenDecomposition = function (e, t) {
|
|
var a = r.CesiumMath.EPSILON20,
|
|
i = 0,
|
|
u = 0;
|
|
n.defined(t) || (t = {});
|
|
for (
|
|
var o = (t.unitary = A.clone(A.IDENTITY, t.unitary)),
|
|
s = (t.diagonal = A.clone(e, t.diagonal)),
|
|
f =
|
|
a *
|
|
(function (e) {
|
|
for (var t = 0, n = 0; n < 9; ++n) {
|
|
var r = e[n];
|
|
t += r * r;
|
|
}
|
|
return Math.sqrt(t);
|
|
})(s);
|
|
u < 10 && W(s) > f;
|
|
|
|
)
|
|
k(s, B),
|
|
A.transpose(B, j),
|
|
A.multiply(s, B, s),
|
|
A.multiply(j, s, s),
|
|
A.multiply(o, B, o),
|
|
++i > 2 && (++u, (i = 0));
|
|
return t;
|
|
}),
|
|
(A.abs = function (e, t) {
|
|
return (
|
|
(t[0] = Math.abs(e[0])),
|
|
(t[1] = Math.abs(e[1])),
|
|
(t[2] = Math.abs(e[2])),
|
|
(t[3] = Math.abs(e[3])),
|
|
(t[4] = Math.abs(e[4])),
|
|
(t[5] = Math.abs(e[5])),
|
|
(t[6] = Math.abs(e[6])),
|
|
(t[7] = Math.abs(e[7])),
|
|
(t[8] = Math.abs(e[8])),
|
|
t
|
|
);
|
|
}),
|
|
(A.determinant = function (e) {
|
|
var t = e[0],
|
|
n = e[3],
|
|
r = e[6],
|
|
a = e[1],
|
|
i = e[4],
|
|
u = e[7],
|
|
o = e[2],
|
|
s = e[5],
|
|
f = e[8];
|
|
return t * (i * f - s * u) + a * (s * r - n * f) + o * (n * u - i * r);
|
|
}),
|
|
(A.inverse = function (e, t) {
|
|
var n = e[0],
|
|
r = e[1],
|
|
a = e[2],
|
|
i = e[3],
|
|
u = e[4],
|
|
o = e[5],
|
|
s = e[6],
|
|
f = e[7],
|
|
l = e[8],
|
|
d = A.determinant(e);
|
|
(t[0] = u * l - f * o),
|
|
(t[1] = f * a - r * l),
|
|
(t[2] = r * o - u * a),
|
|
(t[3] = s * o - i * l),
|
|
(t[4] = n * l - s * a),
|
|
(t[5] = i * a - n * o),
|
|
(t[6] = i * f - s * u),
|
|
(t[7] = s * r - n * f),
|
|
(t[8] = n * u - i * r);
|
|
var c = 1 / d;
|
|
return A.multiplyByScalar(t, c, t);
|
|
});
|
|
var X = new A();
|
|
function D(e, t, r, a) {
|
|
(this.x = n.defaultValue(e, 0)),
|
|
(this.y = n.defaultValue(t, 0)),
|
|
(this.z = n.defaultValue(r, 0)),
|
|
(this.w = n.defaultValue(a, 0));
|
|
}
|
|
(A.inverseTranspose = function (e, t) {
|
|
return A.inverse(A.transpose(e, X), t);
|
|
}),
|
|
(A.equals = function (e, t) {
|
|
return (
|
|
e === t ||
|
|
(n.defined(e) &&
|
|
n.defined(t) &&
|
|
e[0] === t[0] &&
|
|
e[1] === t[1] &&
|
|
e[2] === t[2] &&
|
|
e[3] === t[3] &&
|
|
e[4] === t[4] &&
|
|
e[5] === t[5] &&
|
|
e[6] === t[6] &&
|
|
e[7] === t[7] &&
|
|
e[8] === t[8])
|
|
);
|
|
}),
|
|
(A.equalsEpsilon = function (e, t, r) {
|
|
return (
|
|
(r = n.defaultValue(r, 0)),
|
|
e === t ||
|
|
(n.defined(e) &&
|
|
n.defined(t) &&
|
|
Math.abs(e[0] - t[0]) <= r &&
|
|
Math.abs(e[1] - t[1]) <= r &&
|
|
Math.abs(e[2] - t[2]) <= r &&
|
|
Math.abs(e[3] - t[3]) <= r &&
|
|
Math.abs(e[4] - t[4]) <= r &&
|
|
Math.abs(e[5] - t[5]) <= r &&
|
|
Math.abs(e[6] - t[6]) <= r &&
|
|
Math.abs(e[7] - t[7]) <= r &&
|
|
Math.abs(e[8] - t[8]) <= r)
|
|
);
|
|
}),
|
|
(A.IDENTITY = Object.freeze(new A(1, 0, 0, 0, 1, 0, 0, 0, 1))),
|
|
(A.ZERO = Object.freeze(new A(0, 0, 0, 0, 0, 0, 0, 0, 0))),
|
|
(A.COLUMN0ROW0 = 0),
|
|
(A.COLUMN0ROW1 = 1),
|
|
(A.COLUMN0ROW2 = 2),
|
|
(A.COLUMN1ROW0 = 3),
|
|
(A.COLUMN1ROW1 = 4),
|
|
(A.COLUMN1ROW2 = 5),
|
|
(A.COLUMN2ROW0 = 6),
|
|
(A.COLUMN2ROW1 = 7),
|
|
(A.COLUMN2ROW2 = 8),
|
|
Object.defineProperties(A.prototype, {
|
|
length: {
|
|
get: function () {
|
|
return A.packedLength;
|
|
},
|
|
},
|
|
}),
|
|
(A.prototype.clone = function (e) {
|
|
return A.clone(this, e);
|
|
}),
|
|
(A.prototype.equals = function (e) {
|
|
return A.equals(this, e);
|
|
}),
|
|
(A.equalsArray = function (e, t, n) {
|
|
return (
|
|
e[0] === t[n] &&
|
|
e[1] === t[n + 1] &&
|
|
e[2] === t[n + 2] &&
|
|
e[3] === t[n + 3] &&
|
|
e[4] === t[n + 4] &&
|
|
e[5] === t[n + 5] &&
|
|
e[6] === t[n + 6] &&
|
|
e[7] === t[n + 7] &&
|
|
e[8] === t[n + 8]
|
|
);
|
|
}),
|
|
(A.prototype.equalsEpsilon = function (e, t) {
|
|
return A.equalsEpsilon(this, e, t);
|
|
}),
|
|
(A.prototype.toString = function () {
|
|
return (
|
|
'(' +
|
|
this[0] +
|
|
', ' +
|
|
this[3] +
|
|
', ' +
|
|
this[6] +
|
|
')\n(' +
|
|
this[1] +
|
|
', ' +
|
|
this[4] +
|
|
', ' +
|
|
this[7] +
|
|
')\n(' +
|
|
this[2] +
|
|
', ' +
|
|
this[5] +
|
|
', ' +
|
|
this[8] +
|
|
')'
|
|
);
|
|
}),
|
|
(D.fromElements = function (e, t, r, a, i) {
|
|
return n.defined(i) ? ((i.x = e), (i.y = t), (i.z = r), (i.w = a), i) : new D(e, t, r, a);
|
|
}),
|
|
(D.fromColor = function (e, t) {
|
|
return n.defined(t)
|
|
? ((t.x = e.red), (t.y = e.green), (t.z = e.blue), (t.w = e.alpha), t)
|
|
: new D(e.red, e.green, e.blue, e.alpha);
|
|
}),
|
|
(D.clone = function (e, t) {
|
|
if (n.defined(e))
|
|
return n.defined(t)
|
|
? ((t.x = e.x), (t.y = e.y), (t.z = e.z), (t.w = e.w), t)
|
|
: new D(e.x, e.y, e.z, e.w);
|
|
}),
|
|
(D.packedLength = 4),
|
|
(D.pack = function (e, t, r) {
|
|
return (
|
|
(r = n.defaultValue(r, 0)), (t[r++] = e.x), (t[r++] = e.y), (t[r++] = e.z), (t[r] = e.w), t
|
|
);
|
|
}),
|
|
(D.unpack = function (e, t, r) {
|
|
return (
|
|
(t = n.defaultValue(t, 0)),
|
|
n.defined(r) || (r = new D()),
|
|
(r.x = e[t++]),
|
|
(r.y = e[t++]),
|
|
(r.z = e[t++]),
|
|
(r.w = e[t]),
|
|
r
|
|
);
|
|
}),
|
|
(D.packArray = function (e, r) {
|
|
var a = e.length,
|
|
i = 4 * a;
|
|
if (n.defined(r)) {
|
|
if (!Array.isArray(r) && r.length !== i)
|
|
throw new t.DeveloperError(
|
|
'If result is a typed array, it must have exactly array.length * 4 elements'
|
|
);
|
|
r.length !== i && (r.length = i);
|
|
} else r = new Array(i);
|
|
for (var u = 0; u < a; ++u) D.pack(e[u], r, 4 * u);
|
|
return r;
|
|
}),
|
|
(D.unpackArray = function (e, t) {
|
|
var r = e.length;
|
|
n.defined(t) ? (t.length = r / 4) : (t = new Array(r / 4));
|
|
for (var a = 0; a < r; a += 4) {
|
|
var i = a / 4;
|
|
t[i] = D.unpack(e, a, t[i]);
|
|
}
|
|
return t;
|
|
}),
|
|
(D.fromArray = D.unpack),
|
|
(D.maximumComponent = function (e) {
|
|
return Math.max(e.x, e.y, e.z, e.w);
|
|
}),
|
|
(D.minimumComponent = function (e) {
|
|
return Math.min(e.x, e.y, e.z, e.w);
|
|
}),
|
|
(D.minimumByComponent = function (e, t, n) {
|
|
return (
|
|
(n.x = Math.min(e.x, t.x)),
|
|
(n.y = Math.min(e.y, t.y)),
|
|
(n.z = Math.min(e.z, t.z)),
|
|
(n.w = Math.min(e.w, t.w)),
|
|
n
|
|
);
|
|
}),
|
|
(D.maximumByComponent = function (e, t, n) {
|
|
return (
|
|
(n.x = Math.max(e.x, t.x)),
|
|
(n.y = Math.max(e.y, t.y)),
|
|
(n.z = Math.max(e.z, t.z)),
|
|
(n.w = Math.max(e.w, t.w)),
|
|
n
|
|
);
|
|
}),
|
|
(D.magnitudeSquared = function (e) {
|
|
return e.x * e.x + e.y * e.y + e.z * e.z + e.w * e.w;
|
|
}),
|
|
(D.magnitude = function (e) {
|
|
return Math.sqrt(D.magnitudeSquared(e));
|
|
});
|
|
var Z = new D();
|
|
(D.distance = function (e, t) {
|
|
return D.subtract(e, t, Z), D.magnitude(Z);
|
|
}),
|
|
(D.distanceSquared = function (e, t) {
|
|
return D.subtract(e, t, Z), D.magnitudeSquared(Z);
|
|
}),
|
|
(D.normalize = function (e, t) {
|
|
var n = D.magnitude(e);
|
|
return (t.x = e.x / n), (t.y = e.y / n), (t.z = e.z / n), (t.w = e.w / n), t;
|
|
}),
|
|
(D.dot = function (e, t) {
|
|
return e.x * t.x + e.y * t.y + e.z * t.z + e.w * t.w;
|
|
}),
|
|
(D.multiplyComponents = function (e, t, n) {
|
|
return (n.x = e.x * t.x), (n.y = e.y * t.y), (n.z = e.z * t.z), (n.w = e.w * t.w), n;
|
|
}),
|
|
(D.divideComponents = function (e, t, n) {
|
|
return (n.x = e.x / t.x), (n.y = e.y / t.y), (n.z = e.z / t.z), (n.w = e.w / t.w), n;
|
|
}),
|
|
(D.add = function (e, t, n) {
|
|
return (n.x = e.x + t.x), (n.y = e.y + t.y), (n.z = e.z + t.z), (n.w = e.w + t.w), n;
|
|
}),
|
|
(D.subtract = function (e, t, n) {
|
|
return (n.x = e.x - t.x), (n.y = e.y - t.y), (n.z = e.z - t.z), (n.w = e.w - t.w), n;
|
|
}),
|
|
(D.multiplyByScalar = function (e, t, n) {
|
|
return (n.x = e.x * t), (n.y = e.y * t), (n.z = e.z * t), (n.w = e.w * t), n;
|
|
}),
|
|
(D.divideByScalar = function (e, t, n) {
|
|
return (n.x = e.x / t), (n.y = e.y / t), (n.z = e.z / t), (n.w = e.w / t), n;
|
|
}),
|
|
(D.negate = function (e, t) {
|
|
return (t.x = -e.x), (t.y = -e.y), (t.z = -e.z), (t.w = -e.w), t;
|
|
}),
|
|
(D.abs = function (e, t) {
|
|
return (
|
|
(t.x = Math.abs(e.x)),
|
|
(t.y = Math.abs(e.y)),
|
|
(t.z = Math.abs(e.z)),
|
|
(t.w = Math.abs(e.w)),
|
|
t
|
|
);
|
|
});
|
|
var Y = new D();
|
|
D.lerp = function (e, t, n, r) {
|
|
return D.multiplyByScalar(t, n, Y), (r = D.multiplyByScalar(e, 1 - n, r)), D.add(Y, r, r);
|
|
};
|
|
var F = new D();
|
|
(D.mostOrthogonalAxis = function (e, t) {
|
|
var n = D.normalize(e, F);
|
|
return (
|
|
D.abs(n, n),
|
|
(t =
|
|
n.x <= n.y
|
|
? n.x <= n.z
|
|
? n.x <= n.w
|
|
? D.clone(D.UNIT_X, t)
|
|
: D.clone(D.UNIT_W, t)
|
|
: n.z <= n.w
|
|
? D.clone(D.UNIT_Z, t)
|
|
: D.clone(D.UNIT_W, t)
|
|
: n.y <= n.z
|
|
? n.y <= n.w
|
|
? D.clone(D.UNIT_Y, t)
|
|
: D.clone(D.UNIT_W, t)
|
|
: n.z <= n.w
|
|
? D.clone(D.UNIT_Z, t)
|
|
: D.clone(D.UNIT_W, t))
|
|
);
|
|
}),
|
|
(D.equals = function (e, t) {
|
|
return (
|
|
e === t ||
|
|
(n.defined(e) && n.defined(t) && e.x === t.x && e.y === t.y && e.z === t.z && e.w === t.w)
|
|
);
|
|
}),
|
|
(D.equalsArray = function (e, t, n) {
|
|
return e.x === t[n] && e.y === t[n + 1] && e.z === t[n + 2] && e.w === t[n + 3];
|
|
}),
|
|
(D.equalsEpsilon = function (e, t, a, i) {
|
|
return (
|
|
e === t ||
|
|
(n.defined(e) &&
|
|
n.defined(t) &&
|
|
r.CesiumMath.equalsEpsilon(e.x, t.x, a, i) &&
|
|
r.CesiumMath.equalsEpsilon(e.y, t.y, a, i) &&
|
|
r.CesiumMath.equalsEpsilon(e.z, t.z, a, i) &&
|
|
r.CesiumMath.equalsEpsilon(e.w, t.w, a, i))
|
|
);
|
|
}),
|
|
(D.ZERO = Object.freeze(new D(0, 0, 0, 0))),
|
|
(D.ONE = Object.freeze(new D(1, 1, 1, 1))),
|
|
(D.UNIT_X = Object.freeze(new D(1, 0, 0, 0))),
|
|
(D.UNIT_Y = Object.freeze(new D(0, 1, 0, 0))),
|
|
(D.UNIT_Z = Object.freeze(new D(0, 0, 1, 0))),
|
|
(D.UNIT_W = Object.freeze(new D(0, 0, 0, 1))),
|
|
(D.prototype.clone = function (e) {
|
|
return D.clone(this, e);
|
|
}),
|
|
(D.prototype.equals = function (e) {
|
|
return D.equals(this, e);
|
|
}),
|
|
(D.prototype.equalsEpsilon = function (e, t, n) {
|
|
return D.equalsEpsilon(this, e, t, n);
|
|
}),
|
|
(D.prototype.toString = function () {
|
|
return '(' + this.x + ', ' + this.y + ', ' + this.z + ', ' + this.w + ')';
|
|
});
|
|
var G = new Float32Array(1),
|
|
H = new Uint8Array(G.buffer),
|
|
Q = new Uint32Array([287454020]),
|
|
J = 68 === new Uint8Array(Q.buffer)[0];
|
|
function K(e, t, r, a, i, u, o, s, f, l, d, c, h, m, y, p) {
|
|
(this[0] = n.defaultValue(e, 0)),
|
|
(this[1] = n.defaultValue(i, 0)),
|
|
(this[2] = n.defaultValue(f, 0)),
|
|
(this[3] = n.defaultValue(h, 0)),
|
|
(this[4] = n.defaultValue(t, 0)),
|
|
(this[5] = n.defaultValue(u, 0)),
|
|
(this[6] = n.defaultValue(l, 0)),
|
|
(this[7] = n.defaultValue(m, 0)),
|
|
(this[8] = n.defaultValue(r, 0)),
|
|
(this[9] = n.defaultValue(o, 0)),
|
|
(this[10] = n.defaultValue(d, 0)),
|
|
(this[11] = n.defaultValue(y, 0)),
|
|
(this[12] = n.defaultValue(a, 0)),
|
|
(this[13] = n.defaultValue(s, 0)),
|
|
(this[14] = n.defaultValue(c, 0)),
|
|
(this[15] = n.defaultValue(p, 0));
|
|
}
|
|
(D.packFloat = function (e, t) {
|
|
return (
|
|
n.defined(t) || (t = new D()),
|
|
(G[0] = e),
|
|
J
|
|
? ((t.x = H[0]), (t.y = H[1]), (t.z = H[2]), (t.w = H[3]))
|
|
: ((t.x = H[3]), (t.y = H[2]), (t.z = H[1]), (t.w = H[0])),
|
|
t
|
|
);
|
|
}),
|
|
(D.unpackFloat = function (e) {
|
|
return (
|
|
J
|
|
? ((H[0] = e.x), (H[1] = e.y), (H[2] = e.z), (H[3] = e.w))
|
|
: ((H[0] = e.w), (H[1] = e.z), (H[2] = e.y), (H[3] = e.x)),
|
|
G[0]
|
|
);
|
|
}),
|
|
(K.packedLength = 16),
|
|
(K.pack = function (e, t, r) {
|
|
return (
|
|
(r = n.defaultValue(r, 0)),
|
|
(t[r++] = e[0]),
|
|
(t[r++] = e[1]),
|
|
(t[r++] = e[2]),
|
|
(t[r++] = e[3]),
|
|
(t[r++] = e[4]),
|
|
(t[r++] = e[5]),
|
|
(t[r++] = e[6]),
|
|
(t[r++] = e[7]),
|
|
(t[r++] = e[8]),
|
|
(t[r++] = e[9]),
|
|
(t[r++] = e[10]),
|
|
(t[r++] = e[11]),
|
|
(t[r++] = e[12]),
|
|
(t[r++] = e[13]),
|
|
(t[r++] = e[14]),
|
|
(t[r] = e[15]),
|
|
t
|
|
);
|
|
}),
|
|
(K.unpack = function (e, t, r) {
|
|
return (
|
|
(t = n.defaultValue(t, 0)),
|
|
n.defined(r) || (r = new K()),
|
|
(r[0] = e[t++]),
|
|
(r[1] = e[t++]),
|
|
(r[2] = e[t++]),
|
|
(r[3] = e[t++]),
|
|
(r[4] = e[t++]),
|
|
(r[5] = e[t++]),
|
|
(r[6] = e[t++]),
|
|
(r[7] = e[t++]),
|
|
(r[8] = e[t++]),
|
|
(r[9] = e[t++]),
|
|
(r[10] = e[t++]),
|
|
(r[11] = e[t++]),
|
|
(r[12] = e[t++]),
|
|
(r[13] = e[t++]),
|
|
(r[14] = e[t++]),
|
|
(r[15] = e[t]),
|
|
r
|
|
);
|
|
}),
|
|
(K.clone = function (e, t) {
|
|
if (n.defined(e))
|
|
return n.defined(t)
|
|
? ((t[0] = e[0]),
|
|
(t[1] = e[1]),
|
|
(t[2] = e[2]),
|
|
(t[3] = e[3]),
|
|
(t[4] = e[4]),
|
|
(t[5] = e[5]),
|
|
(t[6] = e[6]),
|
|
(t[7] = e[7]),
|
|
(t[8] = e[8]),
|
|
(t[9] = e[9]),
|
|
(t[10] = e[10]),
|
|
(t[11] = e[11]),
|
|
(t[12] = e[12]),
|
|
(t[13] = e[13]),
|
|
(t[14] = e[14]),
|
|
(t[15] = e[15]),
|
|
t)
|
|
: new K(
|
|
e[0],
|
|
e[4],
|
|
e[8],
|
|
e[12],
|
|
e[1],
|
|
e[5],
|
|
e[9],
|
|
e[13],
|
|
e[2],
|
|
e[6],
|
|
e[10],
|
|
e[14],
|
|
e[3],
|
|
e[7],
|
|
e[11],
|
|
e[15]
|
|
);
|
|
}),
|
|
(K.fromArray = K.unpack),
|
|
(K.fromColumnMajorArray = function (e, t) {
|
|
return K.clone(e, t);
|
|
}),
|
|
(K.fromRowMajorArray = function (e, t) {
|
|
return n.defined(t)
|
|
? ((t[0] = e[0]),
|
|
(t[1] = e[4]),
|
|
(t[2] = e[8]),
|
|
(t[3] = e[12]),
|
|
(t[4] = e[1]),
|
|
(t[5] = e[5]),
|
|
(t[6] = e[9]),
|
|
(t[7] = e[13]),
|
|
(t[8] = e[2]),
|
|
(t[9] = e[6]),
|
|
(t[10] = e[10]),
|
|
(t[11] = e[14]),
|
|
(t[12] = e[3]),
|
|
(t[13] = e[7]),
|
|
(t[14] = e[11]),
|
|
(t[15] = e[15]),
|
|
t)
|
|
: new K(
|
|
e[0],
|
|
e[1],
|
|
e[2],
|
|
e[3],
|
|
e[4],
|
|
e[5],
|
|
e[6],
|
|
e[7],
|
|
e[8],
|
|
e[9],
|
|
e[10],
|
|
e[11],
|
|
e[12],
|
|
e[13],
|
|
e[14],
|
|
e[15]
|
|
);
|
|
}),
|
|
(K.fromRotationTranslation = function (e, t, r) {
|
|
return (
|
|
(t = n.defaultValue(t, a.ZERO)),
|
|
n.defined(r)
|
|
? ((r[0] = e[0]),
|
|
(r[1] = e[1]),
|
|
(r[2] = e[2]),
|
|
(r[3] = 0),
|
|
(r[4] = e[3]),
|
|
(r[5] = e[4]),
|
|
(r[6] = e[5]),
|
|
(r[7] = 0),
|
|
(r[8] = e[6]),
|
|
(r[9] = e[7]),
|
|
(r[10] = e[8]),
|
|
(r[11] = 0),
|
|
(r[12] = t.x),
|
|
(r[13] = t.y),
|
|
(r[14] = t.z),
|
|
(r[15] = 1),
|
|
r)
|
|
: new K(e[0], e[3], e[6], t.x, e[1], e[4], e[7], t.y, e[2], e[5], e[8], t.z, 0, 0, 0, 1)
|
|
);
|
|
}),
|
|
(K.fromTranslationQuaternionRotationScale = function (e, t, r, a) {
|
|
n.defined(a) || (a = new K());
|
|
var i = r.x,
|
|
u = r.y,
|
|
o = r.z,
|
|
s = t.x * t.x,
|
|
f = t.x * t.y,
|
|
l = t.x * t.z,
|
|
d = t.x * t.w,
|
|
c = t.y * t.y,
|
|
h = t.y * t.z,
|
|
m = t.y * t.w,
|
|
y = t.z * t.z,
|
|
p = t.z * t.w,
|
|
x = t.w * t.w,
|
|
M = s - c - y + x,
|
|
w = 2 * (f - p),
|
|
g = 2 * (l + m),
|
|
v = 2 * (f + p),
|
|
z = -s + c - y + x,
|
|
C = 2 * (h - d),
|
|
O = 2 * (l - m),
|
|
b = 2 * (h + d),
|
|
S = -s - c + y + x;
|
|
return (
|
|
(a[0] = M * i),
|
|
(a[1] = v * i),
|
|
(a[2] = O * i),
|
|
(a[3] = 0),
|
|
(a[4] = w * u),
|
|
(a[5] = z * u),
|
|
(a[6] = b * u),
|
|
(a[7] = 0),
|
|
(a[8] = g * o),
|
|
(a[9] = C * o),
|
|
(a[10] = S * o),
|
|
(a[11] = 0),
|
|
(a[12] = e.x),
|
|
(a[13] = e.y),
|
|
(a[14] = e.z),
|
|
(a[15] = 1),
|
|
a
|
|
);
|
|
}),
|
|
(K.fromTranslationRotationScale = function (e, t) {
|
|
return K.fromTranslationQuaternionRotationScale(e.translation, e.rotation, e.scale, t);
|
|
}),
|
|
(K.fromTranslation = function (e, t) {
|
|
return K.fromRotationTranslation(A.IDENTITY, e, t);
|
|
}),
|
|
(K.fromScale = function (e, t) {
|
|
return n.defined(t)
|
|
? ((t[0] = e.x),
|
|
(t[1] = 0),
|
|
(t[2] = 0),
|
|
(t[3] = 0),
|
|
(t[4] = 0),
|
|
(t[5] = e.y),
|
|
(t[6] = 0),
|
|
(t[7] = 0),
|
|
(t[8] = 0),
|
|
(t[9] = 0),
|
|
(t[10] = e.z),
|
|
(t[11] = 0),
|
|
(t[12] = 0),
|
|
(t[13] = 0),
|
|
(t[14] = 0),
|
|
(t[15] = 1),
|
|
t)
|
|
: new K(e.x, 0, 0, 0, 0, e.y, 0, 0, 0, 0, e.z, 0, 0, 0, 0, 1);
|
|
}),
|
|
(K.fromUniformScale = function (e, t) {
|
|
return n.defined(t)
|
|
? ((t[0] = e),
|
|
(t[1] = 0),
|
|
(t[2] = 0),
|
|
(t[3] = 0),
|
|
(t[4] = 0),
|
|
(t[5] = e),
|
|
(t[6] = 0),
|
|
(t[7] = 0),
|
|
(t[8] = 0),
|
|
(t[9] = 0),
|
|
(t[10] = e),
|
|
(t[11] = 0),
|
|
(t[12] = 0),
|
|
(t[13] = 0),
|
|
(t[14] = 0),
|
|
(t[15] = 1),
|
|
t)
|
|
: new K(e, 0, 0, 0, 0, e, 0, 0, 0, 0, e, 0, 0, 0, 0, 1);
|
|
});
|
|
var $ = new a(),
|
|
ee = new a(),
|
|
te = new a();
|
|
(K.fromCamera = function (e, t) {
|
|
var r = e.position,
|
|
i = e.direction,
|
|
u = e.up;
|
|
a.normalize(i, $), a.normalize(a.cross($, u, ee), ee), a.normalize(a.cross(ee, $, te), te);
|
|
var o = ee.x,
|
|
s = ee.y,
|
|
f = ee.z,
|
|
l = $.x,
|
|
d = $.y,
|
|
c = $.z,
|
|
h = te.x,
|
|
m = te.y,
|
|
y = te.z,
|
|
p = r.x,
|
|
x = r.y,
|
|
M = r.z,
|
|
w = o * -p + s * -x + f * -M,
|
|
g = h * -p + m * -x + y * -M,
|
|
v = l * p + d * x + c * M;
|
|
return n.defined(t)
|
|
? ((t[0] = o),
|
|
(t[1] = h),
|
|
(t[2] = -l),
|
|
(t[3] = 0),
|
|
(t[4] = s),
|
|
(t[5] = m),
|
|
(t[6] = -d),
|
|
(t[7] = 0),
|
|
(t[8] = f),
|
|
(t[9] = y),
|
|
(t[10] = -c),
|
|
(t[11] = 0),
|
|
(t[12] = w),
|
|
(t[13] = g),
|
|
(t[14] = v),
|
|
(t[15] = 1),
|
|
t)
|
|
: new K(o, s, f, w, h, m, y, g, -l, -d, -c, v, 0, 0, 0, 1);
|
|
}),
|
|
(K.computePerspectiveFieldOfView = function (e, t, n, r, a) {
|
|
var i = 1 / Math.tan(0.5 * e),
|
|
u = i / t,
|
|
o = (r + n) / (n - r),
|
|
s = (2 * r * n) / (n - r);
|
|
return (
|
|
(a[0] = u),
|
|
(a[1] = 0),
|
|
(a[2] = 0),
|
|
(a[3] = 0),
|
|
(a[4] = 0),
|
|
(a[5] = i),
|
|
(a[6] = 0),
|
|
(a[7] = 0),
|
|
(a[8] = 0),
|
|
(a[9] = 0),
|
|
(a[10] = o),
|
|
(a[11] = -1),
|
|
(a[12] = 0),
|
|
(a[13] = 0),
|
|
(a[14] = s),
|
|
(a[15] = 0),
|
|
a
|
|
);
|
|
}),
|
|
(K.computeOrthographicOffCenter = function (e, t, n, r, a, i, u) {
|
|
var o = 1 / (t - e),
|
|
s = 1 / (r - n),
|
|
f = 1 / (i - a),
|
|
l = -(t + e) * o,
|
|
d = -(r + n) * s,
|
|
c = -(i + a) * f;
|
|
return (
|
|
(o *= 2),
|
|
(s *= 2),
|
|
(f *= -2),
|
|
(u[0] = o),
|
|
(u[1] = 0),
|
|
(u[2] = 0),
|
|
(u[3] = 0),
|
|
(u[4] = 0),
|
|
(u[5] = s),
|
|
(u[6] = 0),
|
|
(u[7] = 0),
|
|
(u[8] = 0),
|
|
(u[9] = 0),
|
|
(u[10] = f),
|
|
(u[11] = 0),
|
|
(u[12] = l),
|
|
(u[13] = d),
|
|
(u[14] = c),
|
|
(u[15] = 1),
|
|
u
|
|
);
|
|
}),
|
|
(K.computePerspectiveOffCenter = function (e, t, n, r, a, i, u) {
|
|
var o = (2 * a) / (t - e),
|
|
s = (2 * a) / (r - n),
|
|
f = (t + e) / (t - e),
|
|
l = (r + n) / (r - n),
|
|
d = -(i + a) / (i - a),
|
|
c = (-2 * i * a) / (i - a);
|
|
return (
|
|
(u[0] = o),
|
|
(u[1] = 0),
|
|
(u[2] = 0),
|
|
(u[3] = 0),
|
|
(u[4] = 0),
|
|
(u[5] = s),
|
|
(u[6] = 0),
|
|
(u[7] = 0),
|
|
(u[8] = f),
|
|
(u[9] = l),
|
|
(u[10] = d),
|
|
(u[11] = -1),
|
|
(u[12] = 0),
|
|
(u[13] = 0),
|
|
(u[14] = c),
|
|
(u[15] = 0),
|
|
u
|
|
);
|
|
}),
|
|
(K.computeInfinitePerspectiveOffCenter = function (e, t, n, r, a, i) {
|
|
var u = (2 * a) / (t - e),
|
|
o = (2 * a) / (r - n),
|
|
s = (t + e) / (t - e),
|
|
f = (r + n) / (r - n),
|
|
l = -2 * a;
|
|
return (
|
|
(i[0] = u),
|
|
(i[1] = 0),
|
|
(i[2] = 0),
|
|
(i[3] = 0),
|
|
(i[4] = 0),
|
|
(i[5] = o),
|
|
(i[6] = 0),
|
|
(i[7] = 0),
|
|
(i[8] = s),
|
|
(i[9] = f),
|
|
(i[10] = -1),
|
|
(i[11] = -1),
|
|
(i[12] = 0),
|
|
(i[13] = 0),
|
|
(i[14] = l),
|
|
(i[15] = 0),
|
|
i
|
|
);
|
|
}),
|
|
(K.computeViewportTransformation = function (e, t, r, a) {
|
|
n.defined(a) || (a = new K()), (e = n.defaultValue(e, n.defaultValue.EMPTY_OBJECT));
|
|
var i = n.defaultValue(e.x, 0),
|
|
u = n.defaultValue(e.y, 0),
|
|
o = n.defaultValue(e.width, 0),
|
|
s = n.defaultValue(e.height, 0);
|
|
t = n.defaultValue(t, 0);
|
|
var f = 0.5 * o,
|
|
l = 0.5 * s,
|
|
d = 0.5 * ((r = n.defaultValue(r, 1)) - t),
|
|
c = f,
|
|
h = l,
|
|
m = d,
|
|
y = i + f,
|
|
p = u + l,
|
|
x = t + d;
|
|
return (
|
|
(a[0] = c),
|
|
(a[1] = 0),
|
|
(a[2] = 0),
|
|
(a[3] = 0),
|
|
(a[4] = 0),
|
|
(a[5] = h),
|
|
(a[6] = 0),
|
|
(a[7] = 0),
|
|
(a[8] = 0),
|
|
(a[9] = 0),
|
|
(a[10] = m),
|
|
(a[11] = 0),
|
|
(a[12] = y),
|
|
(a[13] = p),
|
|
(a[14] = x),
|
|
(a[15] = 1),
|
|
a
|
|
);
|
|
}),
|
|
(K.computeView = function (e, t, n, r, i) {
|
|
return (
|
|
(i[0] = r.x),
|
|
(i[1] = n.x),
|
|
(i[2] = -t.x),
|
|
(i[3] = 0),
|
|
(i[4] = r.y),
|
|
(i[5] = n.y),
|
|
(i[6] = -t.y),
|
|
(i[7] = 0),
|
|
(i[8] = r.z),
|
|
(i[9] = n.z),
|
|
(i[10] = -t.z),
|
|
(i[11] = 0),
|
|
(i[12] = -a.dot(r, e)),
|
|
(i[13] = -a.dot(n, e)),
|
|
(i[14] = a.dot(t, e)),
|
|
(i[15] = 1),
|
|
i
|
|
);
|
|
}),
|
|
(K.toArray = function (e, t) {
|
|
return n.defined(t)
|
|
? ((t[0] = e[0]),
|
|
(t[1] = e[1]),
|
|
(t[2] = e[2]),
|
|
(t[3] = e[3]),
|
|
(t[4] = e[4]),
|
|
(t[5] = e[5]),
|
|
(t[6] = e[6]),
|
|
(t[7] = e[7]),
|
|
(t[8] = e[8]),
|
|
(t[9] = e[9]),
|
|
(t[10] = e[10]),
|
|
(t[11] = e[11]),
|
|
(t[12] = e[12]),
|
|
(t[13] = e[13]),
|
|
(t[14] = e[14]),
|
|
(t[15] = e[15]),
|
|
t)
|
|
: [
|
|
e[0],
|
|
e[1],
|
|
e[2],
|
|
e[3],
|
|
e[4],
|
|
e[5],
|
|
e[6],
|
|
e[7],
|
|
e[8],
|
|
e[9],
|
|
e[10],
|
|
e[11],
|
|
e[12],
|
|
e[13],
|
|
e[14],
|
|
e[15],
|
|
];
|
|
}),
|
|
(K.getElementIndex = function (e, t) {
|
|
return 4 * e + t;
|
|
}),
|
|
(K.getColumn = function (e, t, n) {
|
|
var r = 4 * t,
|
|
a = e[r],
|
|
i = e[r + 1],
|
|
u = e[r + 2],
|
|
o = e[r + 3];
|
|
return (n.x = a), (n.y = i), (n.z = u), (n.w = o), n;
|
|
}),
|
|
(K.setColumn = function (e, t, n, r) {
|
|
var a = 4 * t;
|
|
return (
|
|
((r = K.clone(e, r))[a] = n.x), (r[a + 1] = n.y), (r[a + 2] = n.z), (r[a + 3] = n.w), r
|
|
);
|
|
}),
|
|
(K.setTranslation = function (e, t, n) {
|
|
return (
|
|
(n[0] = e[0]),
|
|
(n[1] = e[1]),
|
|
(n[2] = e[2]),
|
|
(n[3] = e[3]),
|
|
(n[4] = e[4]),
|
|
(n[5] = e[5]),
|
|
(n[6] = e[6]),
|
|
(n[7] = e[7]),
|
|
(n[8] = e[8]),
|
|
(n[9] = e[9]),
|
|
(n[10] = e[10]),
|
|
(n[11] = e[11]),
|
|
(n[12] = t.x),
|
|
(n[13] = t.y),
|
|
(n[14] = t.z),
|
|
(n[15] = e[15]),
|
|
n
|
|
);
|
|
});
|
|
var ne = new a();
|
|
(K.setScale = function (e, t, n) {
|
|
var r = K.getScale(e, ne),
|
|
i = a.divideComponents(t, r, ne);
|
|
return K.multiplyByScale(e, i, n);
|
|
}),
|
|
(K.getRow = function (e, t, n) {
|
|
var r = e[t],
|
|
a = e[t + 4],
|
|
i = e[t + 8],
|
|
u = e[t + 12];
|
|
return (n.x = r), (n.y = a), (n.z = i), (n.w = u), n;
|
|
}),
|
|
(K.setRow = function (e, t, n, r) {
|
|
return (
|
|
((r = K.clone(e, r))[t] = n.x), (r[t + 4] = n.y), (r[t + 8] = n.z), (r[t + 12] = n.w), r
|
|
);
|
|
});
|
|
var re = new a();
|
|
K.getScale = function (e, t) {
|
|
return (
|
|
(t.x = a.magnitude(a.fromElements(e[0], e[1], e[2], re))),
|
|
(t.y = a.magnitude(a.fromElements(e[4], e[5], e[6], re))),
|
|
(t.z = a.magnitude(a.fromElements(e[8], e[9], e[10], re))),
|
|
t
|
|
);
|
|
};
|
|
var ae = new a();
|
|
(K.getMaximumScale = function (e) {
|
|
return K.getScale(e, ae), a.maximumComponent(ae);
|
|
}),
|
|
(K.multiply = function (e, t, n) {
|
|
var r = e[0],
|
|
a = e[1],
|
|
i = e[2],
|
|
u = e[3],
|
|
o = e[4],
|
|
s = e[5],
|
|
f = e[6],
|
|
l = e[7],
|
|
d = e[8],
|
|
c = e[9],
|
|
h = e[10],
|
|
m = e[11],
|
|
y = e[12],
|
|
p = e[13],
|
|
x = e[14],
|
|
M = e[15],
|
|
w = t[0],
|
|
g = t[1],
|
|
v = t[2],
|
|
z = t[3],
|
|
C = t[4],
|
|
O = t[5],
|
|
b = t[6],
|
|
S = t[7],
|
|
q = t[8],
|
|
_ = t[9],
|
|
R = t[10],
|
|
V = t[11],
|
|
E = t[12],
|
|
T = t[13],
|
|
A = t[14],
|
|
I = t[15],
|
|
N = r * w + o * g + d * v + y * z,
|
|
U = a * w + s * g + c * v + p * z,
|
|
L = i * w + f * g + h * v + x * z,
|
|
P = u * w + l * g + m * v + M * z,
|
|
W = r * C + o * O + d * b + y * S,
|
|
k = a * C + s * O + c * b + p * S,
|
|
B = i * C + f * O + h * b + x * S,
|
|
j = u * C + l * O + m * b + M * S,
|
|
X = r * q + o * _ + d * R + y * V,
|
|
D = a * q + s * _ + c * R + p * V,
|
|
Z = i * q + f * _ + h * R + x * V,
|
|
Y = u * q + l * _ + m * R + M * V,
|
|
F = r * E + o * T + d * A + y * I,
|
|
G = a * E + s * T + c * A + p * I,
|
|
H = i * E + f * T + h * A + x * I,
|
|
Q = u * E + l * T + m * A + M * I;
|
|
return (
|
|
(n[0] = N),
|
|
(n[1] = U),
|
|
(n[2] = L),
|
|
(n[3] = P),
|
|
(n[4] = W),
|
|
(n[5] = k),
|
|
(n[6] = B),
|
|
(n[7] = j),
|
|
(n[8] = X),
|
|
(n[9] = D),
|
|
(n[10] = Z),
|
|
(n[11] = Y),
|
|
(n[12] = F),
|
|
(n[13] = G),
|
|
(n[14] = H),
|
|
(n[15] = Q),
|
|
n
|
|
);
|
|
}),
|
|
(K.add = function (e, t, n) {
|
|
return (
|
|
(n[0] = e[0] + t[0]),
|
|
(n[1] = e[1] + t[1]),
|
|
(n[2] = e[2] + t[2]),
|
|
(n[3] = e[3] + t[3]),
|
|
(n[4] = e[4] + t[4]),
|
|
(n[5] = e[5] + t[5]),
|
|
(n[6] = e[6] + t[6]),
|
|
(n[7] = e[7] + t[7]),
|
|
(n[8] = e[8] + t[8]),
|
|
(n[9] = e[9] + t[9]),
|
|
(n[10] = e[10] + t[10]),
|
|
(n[11] = e[11] + t[11]),
|
|
(n[12] = e[12] + t[12]),
|
|
(n[13] = e[13] + t[13]),
|
|
(n[14] = e[14] + t[14]),
|
|
(n[15] = e[15] + t[15]),
|
|
n
|
|
);
|
|
}),
|
|
(K.subtract = function (e, t, n) {
|
|
return (
|
|
(n[0] = e[0] - t[0]),
|
|
(n[1] = e[1] - t[1]),
|
|
(n[2] = e[2] - t[2]),
|
|
(n[3] = e[3] - t[3]),
|
|
(n[4] = e[4] - t[4]),
|
|
(n[5] = e[5] - t[5]),
|
|
(n[6] = e[6] - t[6]),
|
|
(n[7] = e[7] - t[7]),
|
|
(n[8] = e[8] - t[8]),
|
|
(n[9] = e[9] - t[9]),
|
|
(n[10] = e[10] - t[10]),
|
|
(n[11] = e[11] - t[11]),
|
|
(n[12] = e[12] - t[12]),
|
|
(n[13] = e[13] - t[13]),
|
|
(n[14] = e[14] - t[14]),
|
|
(n[15] = e[15] - t[15]),
|
|
n
|
|
);
|
|
}),
|
|
(K.multiplyTransformation = function (e, t, n) {
|
|
var r = e[0],
|
|
a = e[1],
|
|
i = e[2],
|
|
u = e[4],
|
|
o = e[5],
|
|
s = e[6],
|
|
f = e[8],
|
|
l = e[9],
|
|
d = e[10],
|
|
c = e[12],
|
|
h = e[13],
|
|
m = e[14],
|
|
y = t[0],
|
|
p = t[1],
|
|
x = t[2],
|
|
M = t[4],
|
|
w = t[5],
|
|
g = t[6],
|
|
v = t[8],
|
|
z = t[9],
|
|
C = t[10],
|
|
O = t[12],
|
|
b = t[13],
|
|
S = t[14],
|
|
q = r * y + u * p + f * x,
|
|
_ = a * y + o * p + l * x,
|
|
R = i * y + s * p + d * x,
|
|
V = r * M + u * w + f * g,
|
|
E = a * M + o * w + l * g,
|
|
T = i * M + s * w + d * g,
|
|
A = r * v + u * z + f * C,
|
|
I = a * v + o * z + l * C,
|
|
N = i * v + s * z + d * C,
|
|
U = r * O + u * b + f * S + c,
|
|
L = a * O + o * b + l * S + h,
|
|
P = i * O + s * b + d * S + m;
|
|
return (
|
|
(n[0] = q),
|
|
(n[1] = _),
|
|
(n[2] = R),
|
|
(n[3] = 0),
|
|
(n[4] = V),
|
|
(n[5] = E),
|
|
(n[6] = T),
|
|
(n[7] = 0),
|
|
(n[8] = A),
|
|
(n[9] = I),
|
|
(n[10] = N),
|
|
(n[11] = 0),
|
|
(n[12] = U),
|
|
(n[13] = L),
|
|
(n[14] = P),
|
|
(n[15] = 1),
|
|
n
|
|
);
|
|
}),
|
|
(K.multiplyByMatrix3 = function (e, t, n) {
|
|
var r = e[0],
|
|
a = e[1],
|
|
i = e[2],
|
|
u = e[4],
|
|
o = e[5],
|
|
s = e[6],
|
|
f = e[8],
|
|
l = e[9],
|
|
d = e[10],
|
|
c = t[0],
|
|
h = t[1],
|
|
m = t[2],
|
|
y = t[3],
|
|
p = t[4],
|
|
x = t[5],
|
|
M = t[6],
|
|
w = t[7],
|
|
g = t[8],
|
|
v = r * c + u * h + f * m,
|
|
z = a * c + o * h + l * m,
|
|
C = i * c + s * h + d * m,
|
|
O = r * y + u * p + f * x,
|
|
b = a * y + o * p + l * x,
|
|
S = i * y + s * p + d * x,
|
|
q = r * M + u * w + f * g,
|
|
_ = a * M + o * w + l * g,
|
|
R = i * M + s * w + d * g;
|
|
return (
|
|
(n[0] = v),
|
|
(n[1] = z),
|
|
(n[2] = C),
|
|
(n[3] = 0),
|
|
(n[4] = O),
|
|
(n[5] = b),
|
|
(n[6] = S),
|
|
(n[7] = 0),
|
|
(n[8] = q),
|
|
(n[9] = _),
|
|
(n[10] = R),
|
|
(n[11] = 0),
|
|
(n[12] = e[12]),
|
|
(n[13] = e[13]),
|
|
(n[14] = e[14]),
|
|
(n[15] = e[15]),
|
|
n
|
|
);
|
|
}),
|
|
(K.multiplyByTranslation = function (e, t, n) {
|
|
var r = t.x,
|
|
a = t.y,
|
|
i = t.z,
|
|
u = r * e[0] + a * e[4] + i * e[8] + e[12],
|
|
o = r * e[1] + a * e[5] + i * e[9] + e[13],
|
|
s = r * e[2] + a * e[6] + i * e[10] + e[14];
|
|
return (
|
|
(n[0] = e[0]),
|
|
(n[1] = e[1]),
|
|
(n[2] = e[2]),
|
|
(n[3] = e[3]),
|
|
(n[4] = e[4]),
|
|
(n[5] = e[5]),
|
|
(n[6] = e[6]),
|
|
(n[7] = e[7]),
|
|
(n[8] = e[8]),
|
|
(n[9] = e[9]),
|
|
(n[10] = e[10]),
|
|
(n[11] = e[11]),
|
|
(n[12] = u),
|
|
(n[13] = o),
|
|
(n[14] = s),
|
|
(n[15] = e[15]),
|
|
n
|
|
);
|
|
});
|
|
var ie = new a();
|
|
(K.multiplyByUniformScale = function (e, t, n) {
|
|
return (ie.x = t), (ie.y = t), (ie.z = t), K.multiplyByScale(e, ie, n);
|
|
}),
|
|
(K.multiplyByScale = function (e, t, n) {
|
|
var r = t.x,
|
|
a = t.y,
|
|
i = t.z;
|
|
return 1 === r && 1 === a && 1 === i
|
|
? K.clone(e, n)
|
|
: ((n[0] = r * e[0]),
|
|
(n[1] = r * e[1]),
|
|
(n[2] = r * e[2]),
|
|
(n[3] = 0),
|
|
(n[4] = a * e[4]),
|
|
(n[5] = a * e[5]),
|
|
(n[6] = a * e[6]),
|
|
(n[7] = 0),
|
|
(n[8] = i * e[8]),
|
|
(n[9] = i * e[9]),
|
|
(n[10] = i * e[10]),
|
|
(n[11] = 0),
|
|
(n[12] = e[12]),
|
|
(n[13] = e[13]),
|
|
(n[14] = e[14]),
|
|
(n[15] = 1),
|
|
n);
|
|
}),
|
|
(K.multiplyByVector = function (e, t, n) {
|
|
var r = t.x,
|
|
a = t.y,
|
|
i = t.z,
|
|
u = t.w,
|
|
o = e[0] * r + e[4] * a + e[8] * i + e[12] * u,
|
|
s = e[1] * r + e[5] * a + e[9] * i + e[13] * u,
|
|
f = e[2] * r + e[6] * a + e[10] * i + e[14] * u,
|
|
l = e[3] * r + e[7] * a + e[11] * i + e[15] * u;
|
|
return (n.x = o), (n.y = s), (n.z = f), (n.w = l), n;
|
|
}),
|
|
(K.multiplyByPointAsVector = function (e, t, n) {
|
|
var r = t.x,
|
|
a = t.y,
|
|
i = t.z,
|
|
u = e[0] * r + e[4] * a + e[8] * i,
|
|
o = e[1] * r + e[5] * a + e[9] * i,
|
|
s = e[2] * r + e[6] * a + e[10] * i;
|
|
return (n.x = u), (n.y = o), (n.z = s), n;
|
|
}),
|
|
(K.multiplyByPoint = function (e, t, n) {
|
|
var r = t.x,
|
|
a = t.y,
|
|
i = t.z,
|
|
u = e[0] * r + e[4] * a + e[8] * i + e[12],
|
|
o = e[1] * r + e[5] * a + e[9] * i + e[13],
|
|
s = e[2] * r + e[6] * a + e[10] * i + e[14];
|
|
return (n.x = u), (n.y = o), (n.z = s), n;
|
|
}),
|
|
(K.multiplyByScalar = function (e, t, n) {
|
|
return (
|
|
(n[0] = e[0] * t),
|
|
(n[1] = e[1] * t),
|
|
(n[2] = e[2] * t),
|
|
(n[3] = e[3] * t),
|
|
(n[4] = e[4] * t),
|
|
(n[5] = e[5] * t),
|
|
(n[6] = e[6] * t),
|
|
(n[7] = e[7] * t),
|
|
(n[8] = e[8] * t),
|
|
(n[9] = e[9] * t),
|
|
(n[10] = e[10] * t),
|
|
(n[11] = e[11] * t),
|
|
(n[12] = e[12] * t),
|
|
(n[13] = e[13] * t),
|
|
(n[14] = e[14] * t),
|
|
(n[15] = e[15] * t),
|
|
n
|
|
);
|
|
}),
|
|
(K.negate = function (e, t) {
|
|
return (
|
|
(t[0] = -e[0]),
|
|
(t[1] = -e[1]),
|
|
(t[2] = -e[2]),
|
|
(t[3] = -e[3]),
|
|
(t[4] = -e[4]),
|
|
(t[5] = -e[5]),
|
|
(t[6] = -e[6]),
|
|
(t[7] = -e[7]),
|
|
(t[8] = -e[8]),
|
|
(t[9] = -e[9]),
|
|
(t[10] = -e[10]),
|
|
(t[11] = -e[11]),
|
|
(t[12] = -e[12]),
|
|
(t[13] = -e[13]),
|
|
(t[14] = -e[14]),
|
|
(t[15] = -e[15]),
|
|
t
|
|
);
|
|
}),
|
|
(K.transpose = function (e, t) {
|
|
var n = e[1],
|
|
r = e[2],
|
|
a = e[3],
|
|
i = e[6],
|
|
u = e[7],
|
|
o = e[11];
|
|
return (
|
|
(t[0] = e[0]),
|
|
(t[1] = e[4]),
|
|
(t[2] = e[8]),
|
|
(t[3] = e[12]),
|
|
(t[4] = n),
|
|
(t[5] = e[5]),
|
|
(t[6] = e[9]),
|
|
(t[7] = e[13]),
|
|
(t[8] = r),
|
|
(t[9] = i),
|
|
(t[10] = e[10]),
|
|
(t[11] = e[14]),
|
|
(t[12] = a),
|
|
(t[13] = u),
|
|
(t[14] = o),
|
|
(t[15] = e[15]),
|
|
t
|
|
);
|
|
}),
|
|
(K.abs = function (e, t) {
|
|
return (
|
|
(t[0] = Math.abs(e[0])),
|
|
(t[1] = Math.abs(e[1])),
|
|
(t[2] = Math.abs(e[2])),
|
|
(t[3] = Math.abs(e[3])),
|
|
(t[4] = Math.abs(e[4])),
|
|
(t[5] = Math.abs(e[5])),
|
|
(t[6] = Math.abs(e[6])),
|
|
(t[7] = Math.abs(e[7])),
|
|
(t[8] = Math.abs(e[8])),
|
|
(t[9] = Math.abs(e[9])),
|
|
(t[10] = Math.abs(e[10])),
|
|
(t[11] = Math.abs(e[11])),
|
|
(t[12] = Math.abs(e[12])),
|
|
(t[13] = Math.abs(e[13])),
|
|
(t[14] = Math.abs(e[14])),
|
|
(t[15] = Math.abs(e[15])),
|
|
t
|
|
);
|
|
}),
|
|
(K.equals = function (e, t) {
|
|
return (
|
|
e === t ||
|
|
(n.defined(e) &&
|
|
n.defined(t) &&
|
|
e[12] === t[12] &&
|
|
e[13] === t[13] &&
|
|
e[14] === t[14] &&
|
|
e[0] === t[0] &&
|
|
e[1] === t[1] &&
|
|
e[2] === t[2] &&
|
|
e[4] === t[4] &&
|
|
e[5] === t[5] &&
|
|
e[6] === t[6] &&
|
|
e[8] === t[8] &&
|
|
e[9] === t[9] &&
|
|
e[10] === t[10] &&
|
|
e[3] === t[3] &&
|
|
e[7] === t[7] &&
|
|
e[11] === t[11] &&
|
|
e[15] === t[15])
|
|
);
|
|
}),
|
|
(K.equalsEpsilon = function (e, t, r) {
|
|
return (
|
|
(r = n.defaultValue(r, 0)),
|
|
e === t ||
|
|
(n.defined(e) &&
|
|
n.defined(t) &&
|
|
Math.abs(e[0] - t[0]) <= r &&
|
|
Math.abs(e[1] - t[1]) <= r &&
|
|
Math.abs(e[2] - t[2]) <= r &&
|
|
Math.abs(e[3] - t[3]) <= r &&
|
|
Math.abs(e[4] - t[4]) <= r &&
|
|
Math.abs(e[5] - t[5]) <= r &&
|
|
Math.abs(e[6] - t[6]) <= r &&
|
|
Math.abs(e[7] - t[7]) <= r &&
|
|
Math.abs(e[8] - t[8]) <= r &&
|
|
Math.abs(e[9] - t[9]) <= r &&
|
|
Math.abs(e[10] - t[10]) <= r &&
|
|
Math.abs(e[11] - t[11]) <= r &&
|
|
Math.abs(e[12] - t[12]) <= r &&
|
|
Math.abs(e[13] - t[13]) <= r &&
|
|
Math.abs(e[14] - t[14]) <= r &&
|
|
Math.abs(e[15] - t[15]) <= r)
|
|
);
|
|
}),
|
|
(K.getTranslation = function (e, t) {
|
|
return (t.x = e[12]), (t.y = e[13]), (t.z = e[14]), t;
|
|
}),
|
|
(K.getMatrix3 = function (e, t) {
|
|
return (
|
|
(t[0] = e[0]),
|
|
(t[1] = e[1]),
|
|
(t[2] = e[2]),
|
|
(t[3] = e[4]),
|
|
(t[4] = e[5]),
|
|
(t[5] = e[6]),
|
|
(t[6] = e[8]),
|
|
(t[7] = e[9]),
|
|
(t[8] = e[10]),
|
|
t
|
|
);
|
|
});
|
|
var ue = new A(),
|
|
oe = new A(),
|
|
se = new D(),
|
|
fe = new D(0, 0, 0, 1);
|
|
(K.inverse = function (e, n) {
|
|
var a = e[0],
|
|
i = e[4],
|
|
u = e[8],
|
|
o = e[12],
|
|
s = e[1],
|
|
f = e[5],
|
|
l = e[9],
|
|
d = e[13],
|
|
c = e[2],
|
|
h = e[6],
|
|
m = e[10],
|
|
y = e[14],
|
|
p = e[3],
|
|
x = e[7],
|
|
M = e[11],
|
|
w = e[15],
|
|
g = m * w,
|
|
v = y * M,
|
|
z = h * w,
|
|
C = y * x,
|
|
O = h * M,
|
|
b = m * x,
|
|
S = c * w,
|
|
q = y * p,
|
|
_ = c * M,
|
|
R = m * p,
|
|
V = c * x,
|
|
E = h * p,
|
|
T = g * f + C * l + O * d - (v * f + z * l + b * d),
|
|
I = v * s + S * l + R * d - (g * s + q * l + _ * d),
|
|
N = z * s + q * f + V * d - (C * s + S * f + E * d),
|
|
U = b * s + _ * f + E * l - (O * s + R * f + V * l),
|
|
L = v * i + z * u + b * o - (g * i + C * u + O * o),
|
|
P = g * a + q * u + _ * o - (v * a + S * u + R * o),
|
|
W = C * a + S * i + E * o - (z * a + q * i + V * o),
|
|
k = O * a + R * i + V * u - (b * a + _ * i + E * u),
|
|
B =
|
|
(g = u * d) * x +
|
|
(C = o * f) * M +
|
|
(O = i * l) * w -
|
|
((v = o * l) * x + (z = i * d) * M + (b = u * f) * w),
|
|
j = v * p + (S = a * d) * M + (R = u * s) * w - (g * p + (q = o * s) * M + (_ = a * l) * w),
|
|
X = z * p + q * x + (V = a * f) * w - (C * p + S * x + (E = i * s) * w),
|
|
Z = b * p + _ * x + E * M - (O * p + R * x + V * M),
|
|
Y = z * m + b * y + v * h - (O * y + g * h + C * m),
|
|
F = _ * y + g * c + q * m - (S * m + R * y + v * c),
|
|
G = S * h + E * y + C * c - (V * y + z * c + q * h),
|
|
H = V * m + O * c + R * h - (_ * h + E * m + b * c),
|
|
Q = a * T + i * I + u * N + o * U;
|
|
if (Math.abs(Q) < r.CesiumMath.EPSILON21) {
|
|
if (
|
|
A.equalsEpsilon(K.getMatrix3(e, ue), oe, r.CesiumMath.EPSILON7) &&
|
|
D.equals(K.getRow(e, 3, se), fe)
|
|
)
|
|
return (
|
|
(n[0] = 0),
|
|
(n[1] = 0),
|
|
(n[2] = 0),
|
|
(n[3] = 0),
|
|
(n[4] = 0),
|
|
(n[5] = 0),
|
|
(n[6] = 0),
|
|
(n[7] = 0),
|
|
(n[8] = 0),
|
|
(n[9] = 0),
|
|
(n[10] = 0),
|
|
(n[11] = 0),
|
|
(n[12] = -e[12]),
|
|
(n[13] = -e[13]),
|
|
(n[14] = -e[14]),
|
|
(n[15] = 1),
|
|
n
|
|
);
|
|
throw new t.RuntimeError('matrix is not invertible because its determinate is zero.');
|
|
}
|
|
return (
|
|
(Q = 1 / Q),
|
|
(n[0] = T * Q),
|
|
(n[1] = I * Q),
|
|
(n[2] = N * Q),
|
|
(n[3] = U * Q),
|
|
(n[4] = L * Q),
|
|
(n[5] = P * Q),
|
|
(n[6] = W * Q),
|
|
(n[7] = k * Q),
|
|
(n[8] = B * Q),
|
|
(n[9] = j * Q),
|
|
(n[10] = X * Q),
|
|
(n[11] = Z * Q),
|
|
(n[12] = Y * Q),
|
|
(n[13] = F * Q),
|
|
(n[14] = G * Q),
|
|
(n[15] = H * Q),
|
|
n
|
|
);
|
|
}),
|
|
(K.inverseTransformation = function (e, t) {
|
|
var n = e[0],
|
|
r = e[1],
|
|
a = e[2],
|
|
i = e[4],
|
|
u = e[5],
|
|
o = e[6],
|
|
s = e[8],
|
|
f = e[9],
|
|
l = e[10],
|
|
d = e[12],
|
|
c = e[13],
|
|
h = e[14],
|
|
m = -n * d - r * c - a * h,
|
|
y = -i * d - u * c - o * h,
|
|
p = -s * d - f * c - l * h;
|
|
return (
|
|
(t[0] = n),
|
|
(t[1] = i),
|
|
(t[2] = s),
|
|
(t[3] = 0),
|
|
(t[4] = r),
|
|
(t[5] = u),
|
|
(t[6] = f),
|
|
(t[7] = 0),
|
|
(t[8] = a),
|
|
(t[9] = o),
|
|
(t[10] = l),
|
|
(t[11] = 0),
|
|
(t[12] = m),
|
|
(t[13] = y),
|
|
(t[14] = p),
|
|
(t[15] = 1),
|
|
t
|
|
);
|
|
});
|
|
var le = new K();
|
|
function de(e, t, r, a) {
|
|
(this.west = n.defaultValue(e, 0)),
|
|
(this.south = n.defaultValue(t, 0)),
|
|
(this.east = n.defaultValue(r, 0)),
|
|
(this.north = n.defaultValue(a, 0));
|
|
}
|
|
(K.inverseTranspose = function (e, t) {
|
|
return K.inverse(K.transpose(e, le), t);
|
|
}),
|
|
(K.IDENTITY = Object.freeze(new K(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1))),
|
|
(K.ZERO = Object.freeze(new K(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0))),
|
|
(K.COLUMN0ROW0 = 0),
|
|
(K.COLUMN0ROW1 = 1),
|
|
(K.COLUMN0ROW2 = 2),
|
|
(K.COLUMN0ROW3 = 3),
|
|
(K.COLUMN1ROW0 = 4),
|
|
(K.COLUMN1ROW1 = 5),
|
|
(K.COLUMN1ROW2 = 6),
|
|
(K.COLUMN1ROW3 = 7),
|
|
(K.COLUMN2ROW0 = 8),
|
|
(K.COLUMN2ROW1 = 9),
|
|
(K.COLUMN2ROW2 = 10),
|
|
(K.COLUMN2ROW3 = 11),
|
|
(K.COLUMN3ROW0 = 12),
|
|
(K.COLUMN3ROW1 = 13),
|
|
(K.COLUMN3ROW2 = 14),
|
|
(K.COLUMN3ROW3 = 15),
|
|
Object.defineProperties(K.prototype, {
|
|
length: {
|
|
get: function () {
|
|
return K.packedLength;
|
|
},
|
|
},
|
|
}),
|
|
(K.prototype.clone = function (e) {
|
|
return K.clone(this, e);
|
|
}),
|
|
(K.prototype.equals = function (e) {
|
|
return K.equals(this, e);
|
|
}),
|
|
(K.equalsArray = function (e, t, n) {
|
|
return (
|
|
e[0] === t[n] &&
|
|
e[1] === t[n + 1] &&
|
|
e[2] === t[n + 2] &&
|
|
e[3] === t[n + 3] &&
|
|
e[4] === t[n + 4] &&
|
|
e[5] === t[n + 5] &&
|
|
e[6] === t[n + 6] &&
|
|
e[7] === t[n + 7] &&
|
|
e[8] === t[n + 8] &&
|
|
e[9] === t[n + 9] &&
|
|
e[10] === t[n + 10] &&
|
|
e[11] === t[n + 11] &&
|
|
e[12] === t[n + 12] &&
|
|
e[13] === t[n + 13] &&
|
|
e[14] === t[n + 14] &&
|
|
e[15] === t[n + 15]
|
|
);
|
|
}),
|
|
(K.prototype.equalsEpsilon = function (e, t) {
|
|
return K.equalsEpsilon(this, e, t);
|
|
}),
|
|
(K.prototype.toString = function () {
|
|
return (
|
|
'(' +
|
|
this[0] +
|
|
', ' +
|
|
this[4] +
|
|
', ' +
|
|
this[8] +
|
|
', ' +
|
|
this[12] +
|
|
')\n(' +
|
|
this[1] +
|
|
', ' +
|
|
this[5] +
|
|
', ' +
|
|
this[9] +
|
|
', ' +
|
|
this[13] +
|
|
')\n(' +
|
|
this[2] +
|
|
', ' +
|
|
this[6] +
|
|
', ' +
|
|
this[10] +
|
|
', ' +
|
|
this[14] +
|
|
')\n(' +
|
|
this[3] +
|
|
', ' +
|
|
this[7] +
|
|
', ' +
|
|
this[11] +
|
|
', ' +
|
|
this[15] +
|
|
')'
|
|
);
|
|
}),
|
|
Object.defineProperties(de.prototype, {
|
|
width: {
|
|
get: function () {
|
|
return de.computeWidth(this);
|
|
},
|
|
},
|
|
height: {
|
|
get: function () {
|
|
return de.computeHeight(this);
|
|
},
|
|
},
|
|
}),
|
|
(de.packedLength = 4),
|
|
(de.pack = function (e, t, r) {
|
|
return (
|
|
(r = n.defaultValue(r, 0)),
|
|
(t[r++] = e.west),
|
|
(t[r++] = e.south),
|
|
(t[r++] = e.east),
|
|
(t[r] = e.north),
|
|
t
|
|
);
|
|
}),
|
|
(de.unpack = function (e, t, r) {
|
|
return (
|
|
(t = n.defaultValue(t, 0)),
|
|
n.defined(r) || (r = new de()),
|
|
(r.west = e[t++]),
|
|
(r.south = e[t++]),
|
|
(r.east = e[t++]),
|
|
(r.north = e[t]),
|
|
r
|
|
);
|
|
}),
|
|
(de.computeWidth = function (e) {
|
|
var t = e.east,
|
|
n = e.west;
|
|
return t < n && (t += r.CesiumMath.TWO_PI), t - n;
|
|
}),
|
|
(de.computeHeight = function (e) {
|
|
return e.north - e.south;
|
|
}),
|
|
(de.fromDegrees = function (e, t, a, i, u) {
|
|
return (
|
|
(e = r.CesiumMath.toRadians(n.defaultValue(e, 0))),
|
|
(t = r.CesiumMath.toRadians(n.defaultValue(t, 0))),
|
|
(a = r.CesiumMath.toRadians(n.defaultValue(a, 0))),
|
|
(i = r.CesiumMath.toRadians(n.defaultValue(i, 0))),
|
|
n.defined(u)
|
|
? ((u.west = e), (u.south = t), (u.east = a), (u.north = i), u)
|
|
: new de(e, t, a, i)
|
|
);
|
|
}),
|
|
(de.fromRadians = function (e, t, r, a, i) {
|
|
return n.defined(i)
|
|
? ((i.west = n.defaultValue(e, 0)),
|
|
(i.south = n.defaultValue(t, 0)),
|
|
(i.east = n.defaultValue(r, 0)),
|
|
(i.north = n.defaultValue(a, 0)),
|
|
i)
|
|
: new de(e, t, r, a);
|
|
}),
|
|
(de.fromCartographicArray = function (e, t) {
|
|
for (
|
|
var a = Number.MAX_VALUE,
|
|
i = -Number.MAX_VALUE,
|
|
u = Number.MAX_VALUE,
|
|
o = -Number.MAX_VALUE,
|
|
s = Number.MAX_VALUE,
|
|
f = -Number.MAX_VALUE,
|
|
l = 0,
|
|
d = e.length;
|
|
l < d;
|
|
l++
|
|
) {
|
|
var c = e[l];
|
|
(a = Math.min(a, c.longitude)),
|
|
(i = Math.max(i, c.longitude)),
|
|
(s = Math.min(s, c.latitude)),
|
|
(f = Math.max(f, c.latitude));
|
|
var h = c.longitude >= 0 ? c.longitude : c.longitude + r.CesiumMath.TWO_PI;
|
|
(u = Math.min(u, h)), (o = Math.max(o, h));
|
|
}
|
|
return (
|
|
i - a > o - u &&
|
|
((a = u),
|
|
(i = o) > r.CesiumMath.PI && (i -= r.CesiumMath.TWO_PI),
|
|
a > r.CesiumMath.PI && (a -= r.CesiumMath.TWO_PI)),
|
|
n.defined(t)
|
|
? ((t.west = a), (t.south = s), (t.east = i), (t.north = f), t)
|
|
: new de(a, s, i, f)
|
|
);
|
|
}),
|
|
(de.fromCartesianArray = function (e, t, a) {
|
|
t = n.defaultValue(t, O.WGS84);
|
|
for (
|
|
var i = Number.MAX_VALUE,
|
|
u = -Number.MAX_VALUE,
|
|
o = Number.MAX_VALUE,
|
|
s = -Number.MAX_VALUE,
|
|
f = Number.MAX_VALUE,
|
|
l = -Number.MAX_VALUE,
|
|
d = 0,
|
|
c = e.length;
|
|
d < c;
|
|
d++
|
|
) {
|
|
var h = t.cartesianToCartographic(e[d]);
|
|
(i = Math.min(i, h.longitude)),
|
|
(u = Math.max(u, h.longitude)),
|
|
(f = Math.min(f, h.latitude)),
|
|
(l = Math.max(l, h.latitude));
|
|
var m = h.longitude >= 0 ? h.longitude : h.longitude + r.CesiumMath.TWO_PI;
|
|
(o = Math.min(o, m)), (s = Math.max(s, m));
|
|
}
|
|
return (
|
|
u - i > s - o &&
|
|
((i = o),
|
|
(u = s) > r.CesiumMath.PI && (u -= r.CesiumMath.TWO_PI),
|
|
i > r.CesiumMath.PI && (i -= r.CesiumMath.TWO_PI)),
|
|
n.defined(a)
|
|
? ((a.west = i), (a.south = f), (a.east = u), (a.north = l), a)
|
|
: new de(i, f, u, l)
|
|
);
|
|
}),
|
|
(de.clone = function (e, t) {
|
|
if (n.defined(e))
|
|
return n.defined(t)
|
|
? ((t.west = e.west), (t.south = e.south), (t.east = e.east), (t.north = e.north), t)
|
|
: new de(e.west, e.south, e.east, e.north);
|
|
}),
|
|
(de.equalsEpsilon = function (e, t, r) {
|
|
return (
|
|
(r = n.defaultValue(r, 0)),
|
|
e === t ||
|
|
(n.defined(e) &&
|
|
n.defined(t) &&
|
|
Math.abs(e.west - t.west) <= r &&
|
|
Math.abs(e.south - t.south) <= r &&
|
|
Math.abs(e.east - t.east) <= r &&
|
|
Math.abs(e.north - t.north) <= r)
|
|
);
|
|
}),
|
|
(de.prototype.clone = function (e) {
|
|
return de.clone(this, e);
|
|
}),
|
|
(de.prototype.equals = function (e) {
|
|
return de.equals(this, e);
|
|
}),
|
|
(de.equals = function (e, t) {
|
|
return (
|
|
e === t ||
|
|
(n.defined(e) &&
|
|
n.defined(t) &&
|
|
e.west === t.west &&
|
|
e.south === t.south &&
|
|
e.east === t.east &&
|
|
e.north === t.north)
|
|
);
|
|
}),
|
|
(de.prototype.equalsEpsilon = function (e, t) {
|
|
return de.equalsEpsilon(this, e, t);
|
|
}),
|
|
(de.validate = function (e) {}),
|
|
(de.southwest = function (e, t) {
|
|
return n.defined(t)
|
|
? ((t.longitude = e.west), (t.latitude = e.south), (t.height = 0), t)
|
|
: new p(e.west, e.south);
|
|
}),
|
|
(de.northwest = function (e, t) {
|
|
return n.defined(t)
|
|
? ((t.longitude = e.west), (t.latitude = e.north), (t.height = 0), t)
|
|
: new p(e.west, e.north);
|
|
}),
|
|
(de.northeast = function (e, t) {
|
|
return n.defined(t)
|
|
? ((t.longitude = e.east), (t.latitude = e.north), (t.height = 0), t)
|
|
: new p(e.east, e.north);
|
|
}),
|
|
(de.southeast = function (e, t) {
|
|
return n.defined(t)
|
|
? ((t.longitude = e.east), (t.latitude = e.south), (t.height = 0), t)
|
|
: new p(e.east, e.south);
|
|
}),
|
|
(de.center = function (e, t) {
|
|
var a = e.east,
|
|
i = e.west;
|
|
a < i && (a += r.CesiumMath.TWO_PI);
|
|
var u = r.CesiumMath.negativePiToPi(0.5 * (i + a)),
|
|
o = 0.5 * (e.south + e.north);
|
|
return n.defined(t) ? ((t.longitude = u), (t.latitude = o), (t.height = 0), t) : new p(u, o);
|
|
}),
|
|
(de.intersection = function (e, t, a) {
|
|
var i = e.east,
|
|
u = e.west,
|
|
o = t.east,
|
|
s = t.west;
|
|
i < u && o > 0 ? (i += r.CesiumMath.TWO_PI) : o < s && i > 0 && (o += r.CesiumMath.TWO_PI),
|
|
i < u && s < 0 ? (s += r.CesiumMath.TWO_PI) : o < s && u < 0 && (u += r.CesiumMath.TWO_PI);
|
|
var f = r.CesiumMath.negativePiToPi(Math.max(u, s)),
|
|
l = r.CesiumMath.negativePiToPi(Math.min(i, o));
|
|
if (!((e.west < e.east || t.west < t.east) && l <= f)) {
|
|
var d = Math.max(e.south, t.south),
|
|
c = Math.min(e.north, t.north);
|
|
if (!(d >= c))
|
|
return n.defined(a)
|
|
? ((a.west = f), (a.south = d), (a.east = l), (a.north = c), a)
|
|
: new de(f, d, l, c);
|
|
}
|
|
}),
|
|
(de.simpleIntersection = function (e, t, r) {
|
|
var a = Math.max(e.west, t.west),
|
|
i = Math.max(e.south, t.south),
|
|
u = Math.min(e.east, t.east),
|
|
o = Math.min(e.north, t.north);
|
|
if (!(i >= o || a >= u))
|
|
return n.defined(r)
|
|
? ((r.west = a), (r.south = i), (r.east = u), (r.north = o), r)
|
|
: new de(a, i, u, o);
|
|
}),
|
|
(de.union = function (e, t, a) {
|
|
n.defined(a) || (a = new de());
|
|
var i = e.east,
|
|
u = e.west,
|
|
o = t.east,
|
|
s = t.west;
|
|
i < u && o > 0 ? (i += r.CesiumMath.TWO_PI) : o < s && i > 0 && (o += r.CesiumMath.TWO_PI),
|
|
i < u && s < 0 ? (s += r.CesiumMath.TWO_PI) : o < s && u < 0 && (u += r.CesiumMath.TWO_PI);
|
|
var f = r.CesiumMath.negativePiToPi(Math.min(u, s)),
|
|
l = r.CesiumMath.negativePiToPi(Math.max(i, o));
|
|
return (
|
|
(a.west = f),
|
|
(a.south = Math.min(e.south, t.south)),
|
|
(a.east = l),
|
|
(a.north = Math.max(e.north, t.north)),
|
|
a
|
|
);
|
|
}),
|
|
(de.expand = function (e, t, r) {
|
|
return (
|
|
n.defined(r) || (r = new de()),
|
|
(r.west = Math.min(e.west, t.longitude)),
|
|
(r.south = Math.min(e.south, t.latitude)),
|
|
(r.east = Math.max(e.east, t.longitude)),
|
|
(r.north = Math.max(e.north, t.latitude)),
|
|
r
|
|
);
|
|
}),
|
|
(de.contains = function (e, t) {
|
|
var n = t.longitude,
|
|
a = t.latitude,
|
|
i = e.west,
|
|
u = e.east;
|
|
return (
|
|
u < i && ((u += r.CesiumMath.TWO_PI), n < 0 && (n += r.CesiumMath.TWO_PI)),
|
|
(n > i || r.CesiumMath.equalsEpsilon(n, i, r.CesiumMath.EPSILON14)) &&
|
|
(n < u || r.CesiumMath.equalsEpsilon(n, u, r.CesiumMath.EPSILON14)) &&
|
|
a >= e.south &&
|
|
a <= e.north
|
|
);
|
|
});
|
|
var ce = new p();
|
|
function he(e, t) {
|
|
(this.x = n.defaultValue(e, 0)), (this.y = n.defaultValue(t, 0));
|
|
}
|
|
(de.subsample = function (e, t, a, i) {
|
|
(t = n.defaultValue(t, O.WGS84)), (a = n.defaultValue(a, 0)), n.defined(i) || (i = []);
|
|
var u = 0,
|
|
o = e.north,
|
|
s = e.south,
|
|
f = e.east,
|
|
l = e.west,
|
|
d = ce;
|
|
(d.height = a),
|
|
(d.longitude = l),
|
|
(d.latitude = o),
|
|
(i[u] = t.cartographicToCartesian(d, i[u])),
|
|
u++,
|
|
(d.longitude = f),
|
|
(i[u] = t.cartographicToCartesian(d, i[u])),
|
|
u++,
|
|
(d.latitude = s),
|
|
(i[u] = t.cartographicToCartesian(d, i[u])),
|
|
u++,
|
|
(d.longitude = l),
|
|
(i[u] = t.cartographicToCartesian(d, i[u])),
|
|
u++,
|
|
(d.latitude = o < 0 ? o : s > 0 ? s : 0);
|
|
for (var c = 1; c < 8; ++c)
|
|
(d.longitude = -Math.PI + c * r.CesiumMath.PI_OVER_TWO),
|
|
de.contains(e, d) && ((i[u] = t.cartographicToCartesian(d, i[u])), u++);
|
|
return (
|
|
0 === d.latitude &&
|
|
((d.longitude = l),
|
|
(i[u] = t.cartographicToCartesian(d, i[u])),
|
|
u++,
|
|
(d.longitude = f),
|
|
(i[u] = t.cartographicToCartesian(d, i[u])),
|
|
u++),
|
|
(i.length = u),
|
|
i
|
|
);
|
|
}),
|
|
(de.MAX_VALUE = Object.freeze(
|
|
new de(-Math.PI, -r.CesiumMath.PI_OVER_TWO, Math.PI, r.CesiumMath.PI_OVER_TWO)
|
|
)),
|
|
(he.fromElements = function (e, t, r) {
|
|
return n.defined(r) ? ((r.x = e), (r.y = t), r) : new he(e, t);
|
|
}),
|
|
(he.clone = function (e, t) {
|
|
if (n.defined(e)) return n.defined(t) ? ((t.x = e.x), (t.y = e.y), t) : new he(e.x, e.y);
|
|
}),
|
|
(he.fromCartesian3 = he.clone),
|
|
(he.fromCartesian4 = he.clone),
|
|
(he.packedLength = 2),
|
|
(he.pack = function (e, t, r) {
|
|
return (r = n.defaultValue(r, 0)), (t[r++] = e.x), (t[r] = e.y), t;
|
|
}),
|
|
(he.unpack = function (e, t, r) {
|
|
return (
|
|
(t = n.defaultValue(t, 0)), n.defined(r) || (r = new he()), (r.x = e[t++]), (r.y = e[t]), r
|
|
);
|
|
}),
|
|
(he.packArray = function (e, r) {
|
|
var a = e.length,
|
|
i = 2 * a;
|
|
if (n.defined(r)) {
|
|
if (!Array.isArray(r) && r.length !== i)
|
|
throw new t.DeveloperError(
|
|
'If result is a typed array, it must have exactly array.length * 2 elements'
|
|
);
|
|
r.length !== i && (r.length = i);
|
|
} else r = new Array(i);
|
|
for (var u = 0; u < a; ++u) he.pack(e[u], r, 2 * u);
|
|
return r;
|
|
}),
|
|
(he.unpackArray = function (e, t) {
|
|
var r = e.length;
|
|
n.defined(t) ? (t.length = r / 2) : (t = new Array(r / 2));
|
|
for (var a = 0; a < r; a += 2) {
|
|
var i = a / 2;
|
|
t[i] = he.unpack(e, a, t[i]);
|
|
}
|
|
return t;
|
|
}),
|
|
(he.fromArray = he.unpack),
|
|
(he.maximumComponent = function (e) {
|
|
return Math.max(e.x, e.y);
|
|
}),
|
|
(he.minimumComponent = function (e) {
|
|
return Math.min(e.x, e.y);
|
|
}),
|
|
(he.minimumByComponent = function (e, t, n) {
|
|
return (n.x = Math.min(e.x, t.x)), (n.y = Math.min(e.y, t.y)), n;
|
|
}),
|
|
(he.maximumByComponent = function (e, t, n) {
|
|
return (n.x = Math.max(e.x, t.x)), (n.y = Math.max(e.y, t.y)), n;
|
|
}),
|
|
(he.magnitudeSquared = function (e) {
|
|
return e.x * e.x + e.y * e.y;
|
|
}),
|
|
(he.magnitude = function (e) {
|
|
return Math.sqrt(he.magnitudeSquared(e));
|
|
});
|
|
var me = new he();
|
|
(he.distance = function (e, t) {
|
|
return he.subtract(e, t, me), he.magnitude(me);
|
|
}),
|
|
(he.distanceSquared = function (e, t) {
|
|
return he.subtract(e, t, me), he.magnitudeSquared(me);
|
|
}),
|
|
(he.normalize = function (e, t) {
|
|
var n = he.magnitude(e);
|
|
return (t.x = e.x / n), (t.y = e.y / n), t;
|
|
}),
|
|
(he.dot = function (e, t) {
|
|
return e.x * t.x + e.y * t.y;
|
|
}),
|
|
(he.cross = function (e, t) {
|
|
return e.x * t.y - e.y * t.x;
|
|
}),
|
|
(he.multiplyComponents = function (e, t, n) {
|
|
return (n.x = e.x * t.x), (n.y = e.y * t.y), n;
|
|
}),
|
|
(he.divideComponents = function (e, t, n) {
|
|
return (n.x = e.x / t.x), (n.y = e.y / t.y), n;
|
|
}),
|
|
(he.add = function (e, t, n) {
|
|
return (n.x = e.x + t.x), (n.y = e.y + t.y), n;
|
|
}),
|
|
(he.subtract = function (e, t, n) {
|
|
return (n.x = e.x - t.x), (n.y = e.y - t.y), n;
|
|
}),
|
|
(he.multiplyByScalar = function (e, t, n) {
|
|
return (n.x = e.x * t), (n.y = e.y * t), n;
|
|
}),
|
|
(he.divideByScalar = function (e, t, n) {
|
|
return (n.x = e.x / t), (n.y = e.y / t), n;
|
|
}),
|
|
(he.negate = function (e, t) {
|
|
return (t.x = -e.x), (t.y = -e.y), t;
|
|
}),
|
|
(he.abs = function (e, t) {
|
|
return (t.x = Math.abs(e.x)), (t.y = Math.abs(e.y)), t;
|
|
});
|
|
var ye = new he();
|
|
he.lerp = function (e, t, n, r) {
|
|
return he.multiplyByScalar(t, n, ye), (r = he.multiplyByScalar(e, 1 - n, r)), he.add(ye, r, r);
|
|
};
|
|
var pe = new he(),
|
|
xe = new he();
|
|
he.angleBetween = function (e, t) {
|
|
return he.normalize(e, pe), he.normalize(t, xe), r.CesiumMath.acosClamped(he.dot(pe, xe));
|
|
};
|
|
var Me = new he();
|
|
function we(e, t, r, a) {
|
|
(this[0] = n.defaultValue(e, 0)),
|
|
(this[1] = n.defaultValue(r, 0)),
|
|
(this[2] = n.defaultValue(t, 0)),
|
|
(this[3] = n.defaultValue(a, 0));
|
|
}
|
|
(he.mostOrthogonalAxis = function (e, t) {
|
|
var n = he.normalize(e, Me);
|
|
return he.abs(n, n), (t = n.x <= n.y ? he.clone(he.UNIT_X, t) : he.clone(he.UNIT_Y, t));
|
|
}),
|
|
(he.equals = function (e, t) {
|
|
return e === t || (n.defined(e) && n.defined(t) && e.x === t.x && e.y === t.y);
|
|
}),
|
|
(he.equalsArray = function (e, t, n) {
|
|
return e.x === t[n] && e.y === t[n + 1];
|
|
}),
|
|
(he.equalsEpsilon = function (e, t, a, i) {
|
|
return (
|
|
e === t ||
|
|
(n.defined(e) &&
|
|
n.defined(t) &&
|
|
r.CesiumMath.equalsEpsilon(e.x, t.x, a, i) &&
|
|
r.CesiumMath.equalsEpsilon(e.y, t.y, a, i))
|
|
);
|
|
}),
|
|
(he.ZERO = Object.freeze(new he(0, 0))),
|
|
(he.ONE = Object.freeze(new he(1, 1))),
|
|
(he.UNIT_X = Object.freeze(new he(1, 0))),
|
|
(he.UNIT_Y = Object.freeze(new he(0, 1))),
|
|
(he.prototype.clone = function (e) {
|
|
return he.clone(this, e);
|
|
}),
|
|
(he.prototype.equals = function (e) {
|
|
return he.equals(this, e);
|
|
}),
|
|
(he.prototype.equalsEpsilon = function (e, t, n) {
|
|
return he.equalsEpsilon(this, e, t, n);
|
|
}),
|
|
(he.prototype.toString = function () {
|
|
return '(' + this.x + ', ' + this.y + ')';
|
|
}),
|
|
(we.packedLength = 4),
|
|
(we.pack = function (e, t, r) {
|
|
return (
|
|
(r = n.defaultValue(r, 0)),
|
|
(t[r++] = e[0]),
|
|
(t[r++] = e[1]),
|
|
(t[r++] = e[2]),
|
|
(t[r++] = e[3]),
|
|
t
|
|
);
|
|
}),
|
|
(we.unpack = function (e, t, r) {
|
|
return (
|
|
(t = n.defaultValue(t, 0)),
|
|
n.defined(r) || (r = new we()),
|
|
(r[0] = e[t++]),
|
|
(r[1] = e[t++]),
|
|
(r[2] = e[t++]),
|
|
(r[3] = e[t++]),
|
|
r
|
|
);
|
|
}),
|
|
(we.clone = function (e, t) {
|
|
if (n.defined(e))
|
|
return n.defined(t)
|
|
? ((t[0] = e[0]), (t[1] = e[1]), (t[2] = e[2]), (t[3] = e[3]), t)
|
|
: new we(e[0], e[2], e[1], e[3]);
|
|
}),
|
|
(we.fromArray = function (e, t, r) {
|
|
return (
|
|
(t = n.defaultValue(t, 0)),
|
|
n.defined(r) || (r = new we()),
|
|
(r[0] = e[t]),
|
|
(r[1] = e[t + 1]),
|
|
(r[2] = e[t + 2]),
|
|
(r[3] = e[t + 3]),
|
|
r
|
|
);
|
|
}),
|
|
(we.fromColumnMajorArray = function (e, t) {
|
|
return we.clone(e, t);
|
|
}),
|
|
(we.fromRowMajorArray = function (e, t) {
|
|
return n.defined(t)
|
|
? ((t[0] = e[0]), (t[1] = e[2]), (t[2] = e[1]), (t[3] = e[3]), t)
|
|
: new we(e[0], e[1], e[2], e[3]);
|
|
}),
|
|
(we.fromScale = function (e, t) {
|
|
return n.defined(t)
|
|
? ((t[0] = e.x), (t[1] = 0), (t[2] = 0), (t[3] = e.y), t)
|
|
: new we(e.x, 0, 0, e.y);
|
|
}),
|
|
(we.fromUniformScale = function (e, t) {
|
|
return n.defined(t)
|
|
? ((t[0] = e), (t[1] = 0), (t[2] = 0), (t[3] = e), t)
|
|
: new we(e, 0, 0, e);
|
|
}),
|
|
(we.fromRotation = function (e, t) {
|
|
var r = Math.cos(e),
|
|
a = Math.sin(e);
|
|
return n.defined(t)
|
|
? ((t[0] = r), (t[1] = a), (t[2] = -a), (t[3] = r), t)
|
|
: new we(r, -a, a, r);
|
|
}),
|
|
(we.toArray = function (e, t) {
|
|
return n.defined(t)
|
|
? ((t[0] = e[0]), (t[1] = e[1]), (t[2] = e[2]), (t[3] = e[3]), t)
|
|
: [e[0], e[1], e[2], e[3]];
|
|
}),
|
|
(we.getElementIndex = function (e, t) {
|
|
return 2 * e + t;
|
|
}),
|
|
(we.getColumn = function (e, t, n) {
|
|
var r = 2 * t,
|
|
a = e[r],
|
|
i = e[r + 1];
|
|
return (n.x = a), (n.y = i), n;
|
|
}),
|
|
(we.setColumn = function (e, t, n, r) {
|
|
var a = 2 * t;
|
|
return ((r = we.clone(e, r))[a] = n.x), (r[a + 1] = n.y), r;
|
|
}),
|
|
(we.getRow = function (e, t, n) {
|
|
var r = e[t],
|
|
a = e[t + 2];
|
|
return (n.x = r), (n.y = a), n;
|
|
}),
|
|
(we.setRow = function (e, t, n, r) {
|
|
return ((r = we.clone(e, r))[t] = n.x), (r[t + 2] = n.y), r;
|
|
});
|
|
var ge = new he();
|
|
we.getScale = function (e, t) {
|
|
return (
|
|
(t.x = he.magnitude(he.fromElements(e[0], e[1], ge))),
|
|
(t.y = he.magnitude(he.fromElements(e[2], e[3], ge))),
|
|
t
|
|
);
|
|
};
|
|
var ve = new he();
|
|
(we.getMaximumScale = function (e) {
|
|
return we.getScale(e, ve), he.maximumComponent(ve);
|
|
}),
|
|
(we.multiply = function (e, t, n) {
|
|
var r = e[0] * t[0] + e[2] * t[1],
|
|
a = e[0] * t[2] + e[2] * t[3],
|
|
i = e[1] * t[0] + e[3] * t[1],
|
|
u = e[1] * t[2] + e[3] * t[3];
|
|
return (n[0] = r), (n[1] = i), (n[2] = a), (n[3] = u), n;
|
|
}),
|
|
(we.add = function (e, t, n) {
|
|
return (
|
|
(n[0] = e[0] + t[0]), (n[1] = e[1] + t[1]), (n[2] = e[2] + t[2]), (n[3] = e[3] + t[3]), n
|
|
);
|
|
}),
|
|
(we.subtract = function (e, t, n) {
|
|
return (
|
|
(n[0] = e[0] - t[0]), (n[1] = e[1] - t[1]), (n[2] = e[2] - t[2]), (n[3] = e[3] - t[3]), n
|
|
);
|
|
}),
|
|
(we.multiplyByVector = function (e, t, n) {
|
|
var r = e[0] * t.x + e[2] * t.y,
|
|
a = e[1] * t.x + e[3] * t.y;
|
|
return (n.x = r), (n.y = a), n;
|
|
}),
|
|
(we.multiplyByScalar = function (e, t, n) {
|
|
return (n[0] = e[0] * t), (n[1] = e[1] * t), (n[2] = e[2] * t), (n[3] = e[3] * t), n;
|
|
}),
|
|
(we.multiplyByScale = function (e, t, n) {
|
|
return (n[0] = e[0] * t.x), (n[1] = e[1] * t.x), (n[2] = e[2] * t.y), (n[3] = e[3] * t.y), n;
|
|
}),
|
|
(we.negate = function (e, t) {
|
|
return (t[0] = -e[0]), (t[1] = -e[1]), (t[2] = -e[2]), (t[3] = -e[3]), t;
|
|
}),
|
|
(we.transpose = function (e, t) {
|
|
var n = e[0],
|
|
r = e[2],
|
|
a = e[1],
|
|
i = e[3];
|
|
return (t[0] = n), (t[1] = r), (t[2] = a), (t[3] = i), t;
|
|
}),
|
|
(we.abs = function (e, t) {
|
|
return (
|
|
(t[0] = Math.abs(e[0])),
|
|
(t[1] = Math.abs(e[1])),
|
|
(t[2] = Math.abs(e[2])),
|
|
(t[3] = Math.abs(e[3])),
|
|
t
|
|
);
|
|
}),
|
|
(we.equals = function (e, t) {
|
|
return (
|
|
e === t ||
|
|
(n.defined(e) &&
|
|
n.defined(t) &&
|
|
e[0] === t[0] &&
|
|
e[1] === t[1] &&
|
|
e[2] === t[2] &&
|
|
e[3] === t[3])
|
|
);
|
|
}),
|
|
(we.equalsArray = function (e, t, n) {
|
|
return e[0] === t[n] && e[1] === t[n + 1] && e[2] === t[n + 2] && e[3] === t[n + 3];
|
|
}),
|
|
(we.equalsEpsilon = function (e, t, r) {
|
|
return (
|
|
(r = n.defaultValue(r, 0)),
|
|
e === t ||
|
|
(n.defined(e) &&
|
|
n.defined(t) &&
|
|
Math.abs(e[0] - t[0]) <= r &&
|
|
Math.abs(e[1] - t[1]) <= r &&
|
|
Math.abs(e[2] - t[2]) <= r &&
|
|
Math.abs(e[3] - t[3]) <= r)
|
|
);
|
|
}),
|
|
(we.IDENTITY = Object.freeze(new we(1, 0, 0, 1))),
|
|
(we.ZERO = Object.freeze(new we(0, 0, 0, 0))),
|
|
(we.COLUMN0ROW0 = 0),
|
|
(we.COLUMN0ROW1 = 1),
|
|
(we.COLUMN1ROW0 = 2),
|
|
(we.COLUMN1ROW1 = 3),
|
|
Object.defineProperties(we.prototype, {
|
|
length: {
|
|
get: function () {
|
|
return we.packedLength;
|
|
},
|
|
},
|
|
}),
|
|
(we.prototype.clone = function (e) {
|
|
return we.clone(this, e);
|
|
}),
|
|
(we.prototype.equals = function (e) {
|
|
return we.equals(this, e);
|
|
}),
|
|
(we.prototype.equalsEpsilon = function (e, t) {
|
|
return we.equalsEpsilon(this, e, t);
|
|
}),
|
|
(we.prototype.toString = function () {
|
|
return '(' + this[0] + ', ' + this[2] + ')\n(' + this[1] + ', ' + this[3] + ')';
|
|
}),
|
|
(e.Cartesian2 = he),
|
|
(e.Cartesian3 = a),
|
|
(e.Cartesian4 = D),
|
|
(e.Cartographic = p),
|
|
(e.Ellipsoid = O),
|
|
(e.Matrix2 = we),
|
|
(e.Matrix3 = A),
|
|
(e.Matrix4 = K),
|
|
(e.Rectangle = de);
|
|
});
|