import type Point from "../../geometry/Point.js"; import type { JSONSupport } from "../../core/JSONSupport.js"; export interface VoxelVolumeProperties {} export type VolumeType = "xyz" | "xyzt" | "xyt"; /** * The VoxelVolume exposes properties that describe the volume and methods to convert to and from voxel space. * * @since 4.25 * @see [VoxelLayer Volume](https://developers.arcgis.com/javascript/latest/references/core/layers/VoxelLayer/#voxellayer-volume) * @see [Sample - Explore a VoxelLayer using dynamic section](https://developers.arcgis.com/javascript/latest/sample-code/layers-voxel-dynamic-sections/) * @see [Sample - Create area of interest for VoxelLayer](https://developers.arcgis.com/javascript/latest/sample-code/layers-voxel-slices/) */ export default class VoxelVolume extends JSONSupport { constructor(properties?: VoxelVolumeProperties); /** * The unique identifier for the volume. * * @default 0 */ get id(): number; /** A 3-component array containing the volume size in voxels. For XYZ and XYZT volumes the returned values are [x, y, z]. For XYT volumes the returned values are [x, y, t] where t represents the number of times in the volume which are represented along the z dimension. */ get sizeInVoxels(): [ number, number, number ]; /** Returns the type of the current variable's volume. */ get volumeType(): VolumeType; /** * Convert a position in voxel space to the spatialReference of the layer. * * @param posInVoxelSpace - The voxel space position to convert to layer space as as [x, y, z]. * @returns Returns a point in the layer's spatial reference. For XYT volumes returns an XY point and for XYZ and XYZT volumes returns an XYZ point. */ computeLayerSpaceLocation(posInVoxelSpace: [ number, number, number ]): Point; /** * Convert a position from the layer's spatialReference to voxel space for XYZ or XYZT volumes. * * @param pos - The XYZ position in the voxel layer spatial reference to convert to voxel space. * @returns Returns a 3-component array containing the position in voxel space as [x, y, z]. */ computeVoxelSpaceLocation(pos: Point): [ number, number, number ]; }