{
  "version": 3,
  "sources": ["../src/index.ts", "../src/deprecated/mesh-utils.ts"],
  "sourcesContent": ["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n// COMMON CATEGORY\nexport type {\n  TypedArray,\n  BigTypedArray,\n  TypedArrayConstructor,\n  BigTypedArrayConstructor,\n  NumberArray,\n  ArrayType,\n  AnyArray\n} from './types/types';\n\n// SCHEMAS AND DATA TYPES\n\nexport type {Schema, Field, DataType, SchemaMetadata, FieldMetadata} from './types/schema';\nexport type {Batch} from './types/batch';\n\n// TABLE CATEGORY TYPES\nexport type {\n  Table,\n  RowTable,\n  ArrayRowTable,\n  ObjectRowTable,\n  GeoJSONTable,\n  ColumnarTable,\n  ArrowTable,\n  Tables\n} from './categories/category-table';\nexport type {\n  TableBatch,\n  ArrayRowTableBatch,\n  ObjectRowTableBatch,\n  GeoJSONTableBatch,\n  ColumnarTableBatch,\n  ArrowTableBatch\n} from './categories/category-table';\n\n// MESH CATEGORY\nexport type {\n  MeshTable,\n  MeshArrowTable,\n  Mesh,\n  MeshGeometry,\n  MeshAttribute,\n  MeshAttributes\n} from './categories/category-mesh';\n\n// TEXTURES\nexport type {\n  TextureMetadata,\n  Texture,\n  Texture1D,\n  Texture2D,\n  Texture3D,\n  TextureCube,\n  Texture2DArray,\n  TextureCubeArray,\n  TextureLevel,\n  GPUTextureFormat,\n  TextureFormat\n} from './categories/category-texture';\n\n// IMAGES\nexport type {ImageDataType, ImageType, ImageTypeEnum} from './categories/category-image';\n\n// GIS CATEGORY - GEOARROW\n// export type {GeoArrowMetadata, GeoArrowEncoding} from './geometry/geoarrow-metadata';\n\n// GIS CATEGORY - GEOJSON\nexport type {\n  GeoJSON,\n  Feature,\n  FeatureCollection,\n  Geometry,\n  Position,\n  GeoJsonProperties,\n  Point,\n  MultiPoint,\n  LineString,\n  MultiLineString,\n  Polygon,\n  MultiPolygon,\n  GeometryCollection\n} from './categories/category-gis';\n\n// GIS CATEGORY - FLAT GEOJSON\nexport type {\n  FlatFeature,\n  FlatIndexedGeometry,\n  FlatGeometry,\n  FlatGeometryType,\n  FlatPoint,\n  FlatLineString,\n  FlatPolygon\n} from './categories/category-gis';\n\n// GIS CATEGORY - BINARY\nexport type {\n  BinaryGeometryType,\n  BinaryGeometry,\n  BinaryPointGeometry,\n  BinaryLineGeometry,\n  BinaryPolygonGeometry,\n  BinaryAttribute\n} from './categories/category-gis';\nexport type {\n  BinaryFeatureCollection,\n  BinaryFeature,\n  BinaryPointFeature,\n  BinaryLineFeature,\n  BinaryPolygonFeature\n} from './categories/category-gis';\n\n// DEPRECATED\n\n// MESH CATEGORY\n\nexport {getMeshSize, getMeshBoundingBox} from './deprecated/mesh-utils';\n", "// Mesh category utilities\n// TODO - move to mesh category module, or to math.gl/geometry module\nimport {MeshAttributes} from '../categories/category-mesh';\nimport {TypedArray} from '../types/types';\n\ntype TypedArrays = {[key: string]: TypedArray};\n\n/**\n * Holds an axis aligned bounding box\n * TODO - make sure AxisAlignedBoundingBox in math.gl/culling understands this format (or change this format)\n */\ntype BoundingBox = [[number, number, number], [number, number, number]];\n\n/**\n * Get number of vertices in mesh\n * @param attributes\n * @deprecated Import from shema-utils\n */\nexport function getMeshSize(attributes: TypedArrays): number {\n  let size = 0;\n  for (const attributeName in attributes) {\n    const attribute = attributes[attributeName];\n    if (ArrayBuffer.isView(attribute)) {\n      // @ts-ignore DataView doesn't have BYTES_PER_ELEMENT\n      size += attribute.byteLength * attribute.BYTES_PER_ELEMENT;\n    }\n  }\n  return size;\n}\n\n/**\n * Get the (axis aligned) bounding box of a mesh\n * @param attributes\n * @returns array of two vectors representing the axis aligned bounding box\n * @deprecated Import from shema-utils\n */\n// eslint-disable-next-line complexity\nexport function getMeshBoundingBox(attributes: MeshAttributes): BoundingBox {\n  let minX = Infinity;\n  let minY = Infinity;\n  let minZ = Infinity;\n  let maxX = -Infinity;\n  let maxY = -Infinity;\n  let maxZ = -Infinity;\n\n  const positions = attributes.POSITION ? attributes.POSITION.value : [];\n  const len = positions && positions.length;\n\n  for (let i = 0; i < len; i += 3) {\n    const x = positions[i];\n    const y = positions[i + 1];\n    const z = positions[i + 2];\n\n    minX = x < minX ? x : minX;\n    minY = y < minY ? y : minY;\n    minZ = z < minZ ? z : minZ;\n\n    maxX = x > maxX ? x : maxX;\n    maxY = y > maxY ? y : maxY;\n    maxZ = z > maxZ ? z : maxZ;\n  }\n  return [\n    [minX, minY, minZ],\n    [maxX, maxY, maxZ]\n  ];\n}\n"],
  "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;ACkBM,SAAU,YAAY,YAAuB;AACjD,MAAI,OAAO;AACX,aAAW,iBAAiB,YAAY;AACtC,UAAM,YAAY,WAAW,aAAa;AAC1C,QAAI,YAAY,OAAO,SAAS,GAAG;AAEjC,cAAQ,UAAU,aAAa,UAAU;IAC3C;EACF;AACA,SAAO;AACT;AASM,SAAU,mBAAmB,YAA0B;AAC3D,MAAI,OAAO;AACX,MAAI,OAAO;AACX,MAAI,OAAO;AACX,MAAI,OAAO;AACX,MAAI,OAAO;AACX,MAAI,OAAO;AAEX,QAAM,YAAY,WAAW,WAAW,WAAW,SAAS,QAAQ,CAAA;AACpE,QAAM,MAAM,aAAa,UAAU;AAEnC,WAAS,IAAI,GAAG,IAAI,KAAK,KAAK,GAAG;AAC/B,UAAM,IAAI,UAAU,CAAC;AACrB,UAAM,IAAI,UAAU,IAAI,CAAC;AACzB,UAAM,IAAI,UAAU,IAAI,CAAC;AAEzB,WAAO,IAAI,OAAO,IAAI;AACtB,WAAO,IAAI,OAAO,IAAI;AACtB,WAAO,IAAI,OAAO,IAAI;AAEtB,WAAO,IAAI,OAAO,IAAI;AACtB,WAAO,IAAI,OAAO,IAAI;AACtB,WAAO,IAAI,OAAO,IAAI;EACxB;AACA,SAAO;IACL,CAAC,MAAM,MAAM,IAAI;IACjB,CAAC,MAAM,MAAM,IAAI;;AAErB;",
  "names": []
}
