define([ './Transforms-7cd3197b', './BoxGeometry-a530ddad', './Matrix2-f2da41d4', './Color-d2414093', './CylinderGeometry-4a23db6d', './when-229515d6', './EllipsoidGeometry-6edeb2a4', './IndexDatatype-b10faa0b', './createTaskProcessorWorker', './RuntimeError-ffe03243', './ComponentDatatype-17b06483', './WebGLConstants-4e26b85a', './combine-8ce3f24b', './GeometryOffsetAttribute-ff1e192c', './GeometryAttribute-80036e07', './GeometryAttributes-b253752a', './VertexFormat-565d6a6c', './CylinderGeometryLibrary-7b000e1b', ], function (e, t, n, r, a, i, o, d, s, c, f, l, u, h, b, p, y, x) { 'use strict'; function g(e) { (this.offset = e.offset), (this.count = e.count), (this.color = e.color), (this.batchIds = e.batchIds); } var v = new n.Cartesian3(), m = n.Matrix4.packedLength + n.Cartesian3.packedLength, C = n.Matrix4.packedLength + 2, I = n.Matrix4.packedLength + n.Cartesian3.packedLength, k = n.Cartesian3.packedLength + 1, M = { modelMatrix: new n.Matrix4(), boundingVolume: new e.BoundingSphere() }; function B(e, t) { var r = t * m, a = n.Cartesian3.unpack(e, r, v); r += n.Cartesian3.packedLength; var i = n.Matrix4.unpack(e, r, M.modelMatrix); n.Matrix4.multiplyByScale(i, a, i); var o = M.boundingVolume; return n.Cartesian3.clone(n.Cartesian3.ZERO, o.center), (o.radius = Math.sqrt(3)), M; } function w(e, t) { var r = t * C, a = e[r++], i = e[r++], o = n.Cartesian3.fromElements(a, a, i, v), d = n.Matrix4.unpack(e, r, M.modelMatrix); n.Matrix4.multiplyByScale(d, o, d); var s = M.boundingVolume; return n.Cartesian3.clone(n.Cartesian3.ZERO, s.center), (s.radius = Math.sqrt(2)), M; } function A(e, t) { var r = t * I, a = n.Cartesian3.unpack(e, r, v); r += n.Cartesian3.packedLength; var i = n.Matrix4.unpack(e, r, M.modelMatrix); n.Matrix4.multiplyByScale(i, a, i); var o = M.boundingVolume; return n.Cartesian3.clone(n.Cartesian3.ZERO, o.center), (o.radius = 1), M; } function O(e, t) { var r = t * k, a = e[r++], i = n.Cartesian3.unpack(e, r, v), o = n.Matrix4.fromTranslation(i, M.modelMatrix); n.Matrix4.multiplyByUniformScale(o, a, o); var d = M.boundingVolume; return n.Cartesian3.clone(n.Cartesian3.ZERO, d.center), (d.radius = 1), M; } var L = new n.Cartesian3(); function E(t, a, o, d, s) { if (i.defined(a)) { for ( var c = o.length, f = d.attributes.position.values, l = d.indices, u = t.positions, h = t.vertexBatchIds, b = t.indices, p = t.batchIds, y = t.batchTableColors, x = t.batchedIndices, v = t.indexOffsets, m = t.indexCounts, C = t.boundingVolumes, I = t.modelMatrix, k = t.center, M = t.positionOffset, B = t.batchIdIndex, w = t.indexOffset, A = t.batchedIndicesOffset, O = 0; O < c; ++O ) { var E = s(a, O), U = E.modelMatrix; n.Matrix4.multiply(I, U, U); for (var G = o[O], S = f.length, T = 0; T < S; T += 3) { var V = n.Cartesian3.unpack(f, T, L); n.Matrix4.multiplyByPoint(U, V, V), n.Cartesian3.subtract(V, k, V), n.Cartesian3.pack(V, u, 3 * M + T), (h[B++] = G); } for (var F = l.length, R = 0; R < F; ++R) b[w + R] = l[R] + M; var Z = O + A; (x[Z] = new g({ offset: w, count: F, color: r.Color.fromRgba(y[G]), batchIds: [G] })), (p[Z] = G), (v[Z] = w), (m[Z] = F), (C[Z] = e.BoundingSphere.transform(E.boundingVolume, U)), (M += S / 3), (w += F); } (t.positionOffset = M), (t.batchIdIndex = B), (t.indexOffset = w), (t.batchedIndicesOffset += c); } } var U = new n.Cartesian3(), G = new n.Matrix4(); function S(t, n, a) { var i = a.length, o = 2 + i * e.BoundingSphere.packedLength + 1 + (function (e) { for (var t = e.length, n = 0, a = 0; a < t; ++a) n += r.Color.packedLength + 3 + e[a].batchIds.length; return n; })(n), d = new Float64Array(o), s = 0; (d[s++] = t), (d[s++] = i); for (var c = 0; c < i; ++c) e.BoundingSphere.pack(a[c], d, s), (s += e.BoundingSphere.packedLength); var f = n.length; d[s++] = f; for (var l = 0; l < f; ++l) { var u = n[l]; r.Color.pack(u.color, d, s), (s += r.Color.packedLength), (d[s++] = u.offset), (d[s++] = u.count); var h = u.batchIds, b = h.length; d[s++] = b; for (var p = 0; p < b; ++p) d[s++] = h[p]; } return d; } return s(function (e, r) { var s = i.defined(e.boxes) ? new Float32Array(e.boxes) : void 0, c = i.defined(e.boxBatchIds) ? new Uint16Array(e.boxBatchIds) : void 0, f = i.defined(e.cylinders) ? new Float32Array(e.cylinders) : void 0, l = i.defined(e.cylinderBatchIds) ? new Uint16Array(e.cylinderBatchIds) : void 0, u = i.defined(e.ellipsoids) ? new Float32Array(e.ellipsoids) : void 0, h = i.defined(e.ellipsoidBatchIds) ? new Uint16Array(e.ellipsoidBatchIds) : void 0, b = i.defined(e.spheres) ? new Float32Array(e.spheres) : void 0, p = i.defined(e.sphereBatchIds) ? new Uint16Array(e.sphereBatchIds) : void 0, y = i.defined(s) ? c.length : 0, x = i.defined(f) ? l.length : 0, g = i.defined(u) ? h.length : 0, v = i.defined(b) ? p.length : 0, m = t.BoxGeometry.getUnitBox(), C = a.CylinderGeometry.getUnitCylinder(), I = o.EllipsoidGeometry.getUnitEllipsoid(), k = m.attributes.position.values, M = C.attributes.position.values, L = I.attributes.position.values, T = k.length * y; (T += M.length * x), (T += L.length * (g + v)); var V = m.indices, F = C.indices, R = I.indices, Z = V.length * y; (Z += F.length * x), (Z += R.length * (g + v)); var D = new Float32Array(T), P = new Uint16Array(T / 3), q = d.IndexDatatype.createTypedArray(T / 3, Z), W = y + x + g + v, _ = new Uint16Array(W), N = new Array(W), Y = new Uint32Array(W), j = new Uint32Array(W), z = new Array(W); !(function (e) { var t = new Float64Array(e), r = 0; n.Cartesian3.unpack(t, r, U), (r += n.Cartesian3.packedLength), n.Matrix4.unpack(t, r, G); })(e.packedBuffer); var H = { batchTableColors: new Uint32Array(e.batchTableColors), positions: D, vertexBatchIds: P, indices: q, batchIds: _, batchedIndices: N, indexOffsets: Y, indexCounts: j, boundingVolumes: z, positionOffset: 0, batchIdIndex: 0, indexOffset: 0, batchedIndicesOffset: 0, modelMatrix: G, center: U, }; E(H, s, c, m, B), E(H, f, l, C, w), E(H, u, h, I, A), E(H, b, p, I, O); var J = S(q.BYTES_PER_ELEMENT, N, z); return ( r.push(D.buffer, P.buffer, q.buffer), r.push(_.buffer, Y.buffer, j.buffer), r.push(J.buffer), { positions: D.buffer, vertexBatchIds: P.buffer, indices: q.buffer, indexOffsets: Y.buffer, indexCounts: j.buffer, batchIds: _.buffer, packedBuffer: J.buffer, } ); }); });