function parsePositions(attribute, tile) { const mbs = tile.mbs; const value = attribute.value; const enuMatrix = new Matrix4(); const cartographicOrigin = new Vector3(mbs[0], mbs[1], mbs[2]); const cartesianOrigin = new Vector3(); Ellipsoid.WGS84.cartographicToCartesian(cartographicOrigin, cartesianOrigin); Ellipsoid.WGS84.eastNorthUpToFixedFrame(cartesianOrigin, enuMatrix); attribute.value = offsetsToCartesians(value, cartographicOrigin); return { enuMatrix, fixedFrameToENUMatrix: enuMatrix.invert(), cartographicOrigin, cartesianOrigin }; }
new Vector3() ); const enuToFixedTransform = Ellipsoid.WGS84.eastNorthUpToFixedFrame(viewportCenterCartesian);
new Vector3() ); const fromFixedFrameMatrix = Ellipsoid.WGS84.eastNorthUpToFixedFrame(cartesianOrigin); const toFixedFrameMatrix = fromFixedFrameMatrix.invert();