@giro3d/giro3d
Version:
A JS/WebGL framework for 3D geospatial data visualization
40 lines • 2.03 kB
TypeScript
import type { Dimension } from 'copc';
import type { Box3 } from 'three';
import type { PointCloudAttribute } from '../PointCloudSource';
import type { DimensionFilter } from './filter';
export type DimensionName = 'X' | 'Y' | 'Z' | 'Intensity' | 'ReturnNumber' | 'NumberOfReturns' | 'ScanDirectionFlag' | 'EdgeOfFlightLine' | 'Classification' | 'ScanAngle' | 'ScanAngleRank' | 'Red' | 'Green' | 'Blue' | 'UserData' | 'ScannerChannel' | 'PointSourceId' | 'Infrared' | 'ScanChannel' | 'ScannerChannel' | 'GpsTime';
/**
* Default min/max values for various LAS dimensions. Most default values are directly dependent on
* the data type of the dimension (e.g a `Uint8` dimensions will have a default range of 0-255), but
* some dimensions have narrower min/max, for example `ScanAngle`:
*
* ```js
* // Get the default min/max for return number
* const { min, max } = DEFAULT_VALUE_RANGES['ReturnNumber'];
* // { min: 0, max: 8 }
* ```
* @internal
*/
export declare const DEFAULT_VALUE_RANGES: Record<DimensionName, {
min?: number;
max?: number;
}>;
/**
* Extracts attributes from LAS dimensions.
* @internal
*/
export declare function extractAttributes(dimensions: Dimension.Map, volume: Box3, compressColors: boolean, gpsTimeRange: [number, number] | null): PointCloudAttribute[];
/**
* Return all the dimensions that we expect to read from a given view. The dimensions are the union
* of the required dimensions (the X, Y, Z dimension), the optional requested attribute, and all the
* dimensions that are concerned by filters, if any.
*
* For example: if we want to read intensities, but exclude some classifications and GPS time, we
* have to read dimensions:
* - `X`, `Y`, `Z` for the point position,
* - `Intensity` for the requested attribute
* - `Classification` and `GpsTime` for filtering.
* @internal
*/
export declare function getDimensionsToRead(attributes: PointCloudAttribute[], readPosition: boolean, filters: DimensionFilter[]): DimensionName[];
//# sourceMappingURL=dimension.d.ts.map