@itwin/core-frontend
Version:
iTwin.js frontend components
182 lines • 7.84 kB
TypeScript
/** @packageDocumentation
* @module WebGL
*/
import { Id64String } from "@itwin/core-bentley";
import { ContourDisplay, ElementAlignedBox3d, FeatureAppearanceProvider, RenderFeatureTable, ViewFlags } from "@itwin/core-common";
import { Range3d, Transform } from "@itwin/core-geometry";
import { IModelConnection } from "../../../IModelConnection";
import { FeatureSymbology } from "../../../render/FeatureSymbology";
import { GraphicBranch, GraphicBranchOptions } from "../../../render/GraphicBranch";
import { GraphicList, RenderGraphic } from "../../../render/RenderGraphic";
import { RenderMemory } from "../../../render/RenderMemory";
import { ClipVolume } from "./ClipVolume";
import { WebGLDisposable } from "./Disposable";
import { EdgeSettings } from "./EdgeSettings";
import { FeatureOverrides } from "./FeatureOverrides";
import { PlanarClassifier } from "./PlanarClassifier";
import { Primitive } from "./Primitive";
import { RenderCommands } from "./RenderCommands";
import { RenderPass } from "./RenderFlags";
import { Target } from "./Target";
import { TextureDrape } from "./TextureDrape";
import { ThematicSensors } from "./ThematicSensors";
import { BranchState } from "./BranchState";
import { BatchOptions } from "../../../common/render/BatchOptions";
import { Contours } from "./Contours";
import { GraphicBranchFrustum } from "../GraphicBranchFrustum";
/** @internal */
export declare abstract class Graphic extends RenderGraphic implements WebGLDisposable {
abstract addCommands(_commands: RenderCommands): void;
abstract get isDisposed(): boolean;
abstract get isPickable(): boolean;
addHiliteCommands(_commands: RenderCommands, _pass: RenderPass): void;
toPrimitive(): Primitive | undefined;
}
export declare class GraphicOwner extends Graphic {
private readonly _graphic;
constructor(graphic: Graphic);
get graphic(): RenderGraphic;
private _isDisposed;
get isDisposed(): boolean;
dispose(): void;
disposeGraphic(): void;
collectStatistics(stats: RenderMemory.Statistics): void;
unionRange(range: Range3d): void;
addCommands(commands: RenderCommands): void;
get isPickable(): boolean;
addHiliteCommands(commands: RenderCommands, pass: RenderPass): void;
toPrimitive(): Primitive | undefined;
}
/** Transiently assigned to a Batch while rendering a frame, reset afterward. Used to provide context for pick IDs.
* @internal
*/
export interface BatchContext {
batchId: number;
iModel?: IModelConnection;
transformFromIModel?: Transform;
viewAttachmentId?: Id64String;
inSectionDrawingAttachment?: boolean;
}
/** @internal exported strictly for tests. */
export declare class PerTargetBatchData {
readonly target: Target;
protected readonly _featureOverrides: Map<FeatureSymbology.Source | undefined, FeatureOverrides>;
protected _contours?: Contours;
protected _thematicSensors?: ThematicSensors;
constructor(target: Target);
[Symbol.dispose](): void;
getThematicSensors(batch: Batch): ThematicSensors;
getFeatureOverrides(batch: Batch, provider: FeatureAppearanceProvider): FeatureOverrides;
getContours(batch: Batch): Contours;
collectStatistics(stats: RenderMemory.Statistics): void;
/** Exposed strictly for tests. */
get featureOverrides(): Map<FeatureSymbology.Source | undefined, FeatureOverrides>;
private onSourceDisposed;
}
/** @internal exported strictly for tests. */
export declare class PerTargetData {
private readonly _batch;
private readonly _data;
constructor(batch: Batch);
[Symbol.dispose](): void;
get isDisposed(): boolean;
/** Exposed strictly for tests. */
get data(): PerTargetBatchData[];
onTargetDisposed(target: Target): void;
collectStatistics(stats: RenderMemory.Statistics): void;
getThematicSensors(target: Target): ThematicSensors;
getFeatureOverrides(target: Target, provider: FeatureAppearanceProvider): FeatureOverrides;
getContours(target: Target): Contours;
private getBatchData;
}
/** @internal */
export declare class Batch extends Graphic {
readonly graphic: RenderGraphic;
readonly featureTable: RenderFeatureTable;
readonly range: ElementAlignedBox3d;
private readonly _context;
/** Public strictly for tests. */
readonly perTargetData: PerTargetData;
readonly options: BatchOptions;
get tileId(): string | undefined;
get locateOnly(): boolean;
/** The following are valid only during a draw and reset afterward. */
get batchId(): number;
get batchIModel(): IModelConnection | undefined;
get transformFromBatchIModel(): Transform | undefined;
get viewAttachmentId(): string | undefined;
get inSectionDrawingAttachment(): boolean | undefined;
setContext(batchId: number, branch: BranchState): void;
resetContext(): void;
constructor(graphic: RenderGraphic, features: RenderFeatureTable, range: ElementAlignedBox3d, options?: BatchOptions);
private _isDisposed;
get isDisposed(): boolean;
dispose(): void;
collectStatistics(stats: RenderMemory.Statistics): void;
unionRange(range: Range3d): void;
addCommands(commands: RenderCommands): void;
get isPickable(): boolean;
getThematicSensors(target: Target): ThematicSensors;
getOverrides(target: Target, provider: FeatureAppearanceProvider): FeatureOverrides;
getContours(target: Target): Contours;
onTargetDisposed(target: Target): void;
}
/** @internal */
export declare class Branch extends Graphic {
readonly branch: GraphicBranch;
localToWorldTransform: Transform;
readonly clips?: ClipVolume;
readonly planarClassifier?: PlanarClassifier;
readonly textureDrape?: TextureDrape;
readonly layerClassifiers?: Map<number, PlanarClassifier>;
readonly edgeSettings?: EdgeSettings;
readonly iModel?: IModelConnection;
readonly frustum?: GraphicBranchFrustum;
readonly appearanceProvider?: FeatureAppearanceProvider;
readonly secondaryClassifiers?: PlanarClassifier[];
readonly viewAttachmentId?: Id64String;
readonly inSectionDrawingAttachment?: boolean;
disableClipStyle?: true;
readonly transformFromExternalIModel?: Transform;
contourLine?: ContourDisplay;
constructor(branch: GraphicBranch, localToWorld: Transform, viewFlags?: ViewFlags, opts?: GraphicBranchOptions);
get isDisposed(): boolean;
dispose(): void;
get isPickable(): boolean;
collectStatistics(stats: RenderMemory.Statistics): void;
unionRange(range: Range3d): void;
private shouldAddCommands;
addCommands(commands: RenderCommands): void;
addHiliteCommands(commands: RenderCommands, pass: RenderPass): void;
}
/** @internal */
export declare class AnimationTransformBranch extends Graphic {
readonly nodeId: number;
readonly graphic: Graphic;
constructor(graphic: RenderGraphic, nodeId: number);
dispose(): void;
get isDisposed(): boolean;
get isPickable(): boolean;
collectStatistics(stats: RenderMemory.Statistics): void;
unionRange(range: Range3d): void;
addCommands(commands: RenderCommands): void;
addHiliteCommands(commands: RenderCommands, pass: RenderPass): void;
}
/** @internal */
export declare class WorldDecorations extends Branch {
constructor(viewFlags: ViewFlags);
init(decs: GraphicList): void;
}
/** @internal */
export declare class GraphicsArray extends Graphic {
graphics: RenderGraphic[];
constructor(graphics: RenderGraphic[]);
get isDisposed(): boolean;
get isPickable(): boolean;
dispose(): void;
addCommands(commands: RenderCommands): void;
addHiliteCommands(commands: RenderCommands, pass: RenderPass): void;
collectStatistics(stats: RenderMemory.Statistics): void;
unionRange(range: Range3d): void;
}
//# sourceMappingURL=Graphic.d.ts.map