@itwin/core-frontend
Version:
iTwin.js frontend components
51 lines • 1.98 kB
TypeScript
/** @packageDocumentation
* @module WebGL
*/
import { Range3d, Transform } from "@itwin/core-geometry";
import { ThematicDisplaySensor, ThematicDisplaySensorSettings } from "@itwin/core-common";
import { WebGLDisposable } from "./Disposable";
import { Texture2DData, Texture2DHandle } from "./Texture";
import { UniformHandle } from "./UniformHandle";
import { Target } from "./Target";
/** @internal */
interface ThematicSensorsTexture {
readonly handle: Texture2DHandle;
readonly data: Texture2DData;
}
/** Maintains a floating-point texture representing a list of thematic sensors.
* @internal
*/
export declare class ThematicSensors implements WebGLDisposable {
private readonly _texture;
/** Used for writing to texture data. */
private readonly _view;
/** Position at which to write next texture data. */
private _curPos;
readonly target: Target;
readonly range: Range3d;
readonly sensorSettings?: ThematicDisplaySensorSettings;
get numSensors(): number;
private _sensors;
private readonly _viewMatrix;
matchesTarget(target: Target): boolean;
static create(target: Target, range: Range3d): ThematicSensors;
get isDisposed(): boolean;
[Symbol.dispose](): void;
bindNumSensors(uniform: UniformHandle): void;
bindTexture(uniform: UniformHandle): void;
get bytesUsed(): number;
get texture(): Texture2DHandle;
private _update;
update(viewMatrix: Transform): void;
protected constructor(texture: ThematicSensorsTexture, target: Target, range: Range3d, sensors: ThematicDisplaySensor[]);
static createFloat(target: Target, range: Range3d, sensors: ThematicDisplaySensor[]): ThematicSensors;
protected append(value: number): void;
protected appendFloat(value: number): void;
protected appendUint8(value: number): void;
private advance;
private reset;
private appendValues;
private appendSensor;
}
export {};
//# sourceMappingURL=ThematicSensors.d.ts.map