UNPKG

@csi-foxbyte/cityjson-to-3d-tiles

Version:

A Node.js library that converts CityJSON files into Cesium 3D Tiles—complete with automatic texture atlas packing, Basis compression, three LOD levels, and customizable threading.

61 lines (56 loc) • 2.25 kB
import { Vector3Like, Vector3, Matrix4, Box3 } from 'three'; declare function generate3DTilesFromTileDatabase(dbFilePath: string, outputFolder: string, hasAlphaEnabled: boolean, onProgress: (progress: number, files: string[]) => void, opts?: { threadCount?: number; simplifyAdresses?: boolean; }): Promise<void>; declare function generateTileDatabaseFromCityJSON( /** * The input folder containing the CityJSON files to aggregate. */ inputFolder: string, /** * The output folder. Must exist. */ outputFolder: string, /** * The CityJSON appearance to use. */ appearance: string, /** * The progress callback function. * @param progress - The progress value in normalized form, where 0 = 0% and 1 = 100%. */ onProgress: (progress: number) => void, opts?: { /** * The number of threads to use. * @default 4 */ threadCount?: number; /** * The spatial reference system of the input files expressed as a [PROJ definition](https://proj.org/en/stable/usage/quickstart.html). * If unspecified, will attempt to read the spatial reference from each CityJSON file, if possible. * @default null */ srcSRS?: string; /** * The destination spatial reference system expressed as a [PROJ definition](https://proj.org/en/stable/usage/quickstart.html). * @default "+proj=geocent +datum=WGS84 +units=m +no_defs +type=crs" */ destSRS?: string; }): Promise<{ dbFilePath: string; }>; declare function getNewellsNormal(points: Vector3Like[]): Vector3; declare function projectPolygonToPlane(polygon3D: [number, number, number][], polygonHoles3D: [number, number, number][]): { projected: Vector3[]; matrix: Matrix4; }; declare function triangulate3DPolygon(rings: [number, number, number][][]): number[] | null; declare function getBBoxesFromMeshes(meshes: { position: Float32Array; }[], globalTransformPoint: Vector3): { cartesianBox: Box3; cartographicBox: Box3; }; declare function convertEPSGFromCityJSONToProj4(potentialEPSG?: string): string | null; export { convertEPSGFromCityJSONToProj4, generate3DTilesFromTileDatabase, generateTileDatabaseFromCityJSON, getBBoxesFromMeshes, getNewellsNormal, projectPolygonToPlane, triangulate3DPolygon };