export default C3DTBoundingVolume; /** * [bounding volume](https://github.com/AnalyticalGraphicsInc/3d-tiles/blob/master/specification/schema/boundingVolume.schema.json) * Used to represent bounding volumes and viewer request volumes. The input bounding volume (from the dataset) can be a * box, a sphere or a region. Regions are transformed to spheres internally for simplification of parsing and to speed * up computations such as culling. * @property {C3DTilesTypes} type - Used by 3D Tiles extensions * (e.g. {@link C3DTBatchTableHierarchyExtension}) to know in which context * (i.e. for which 3D Tiles class) the parsing of the extension should be done. * @property {String} initialVolumeType - the initial volume type to be able to dissociate spheres * and regions if needed since both are converted to spheres (one of {@link C3DTilesBoundingVolumeTypes}) * @property {THREE.Box3|THREE.Sphere} volume - The 3D bounding volume created. Can be a THREE.Box3 for bounding volumes * of types box or a THREE.Sphere for bounding volumes of type sphere or region. * @property {object} extensions - 3D Tiles extensions of the bounding volume * stored in the following format: * {extensioName1: extensionObject1, extensioName2: extensionObject2, ...} */ declare class C3DTBoundingVolume { constructor(json: any, tileMatrixInverse: any, registeredExtensions: any); type: string; initialVolumeType: string; volume: THREE.Box3 | THREE.Sphere; extensions: any; /** * Performs camera frustum culling on bounding volumes. * @param {Camera} camera - the camera to perform culling for * @param {THREE.Matrix4} tileMatrixWorld - the world matrix of the tile * @returns {boolean} true if the tile should be culled out (bounding volume not in camera frustum), false otherwise. */ boundingVolumeCulling(camera: Camera, tileMatrixWorld: THREE.Matrix4): boolean; /** * Checks if the camera is inside the [viewer request volumes](https://github.com/CesiumGS/3d-tiles/tree/main/specification#viewer-request-volume). * @param {Camera} camera - the camera to perform culling for * @param {THREE.Matrix4} tileMatrixWorld - the world matrix of the tile * @returns {boolean} true if the camera is outside the viewer request volume, false otherwise. */ viewerRequestVolumeCulling(camera: Camera, tileMatrixWorld: THREE.Matrix4): boolean; } import * as THREE from 'three';