@itwin/core-frontend
Version:
iTwin.js frontend components
91 lines • 4.5 kB
TypeScript
/** @packageDocumentation
* @module WebGL
*/
import { Id64String } from "@itwin/core-bentley";
import { Transform } from "@itwin/core-geometry";
import { BatchType, ContourDisplay, FeatureAppearance, FeatureAppearanceProvider, GeometryClass, HiddenLine, RealityModelDisplaySettings, ViewFlags } from "@itwin/core-common";
import { IModelConnection } from "../../../IModelConnection";
import { FeatureSymbology } from "../../../render/FeatureSymbology";
import { ClipVolume } from "./ClipVolume";
import { Branch } from "./Graphic";
import { PlanarClassifier } from "./PlanarClassifier";
import { TextureDrape } from "./TextureDrape";
import { EdgeSettings } from "./EdgeSettings";
/** Options used to construct a BranchState.
* @internal
*/
export interface BranchStateOptions {
readonly transform: Transform;
viewFlags: ViewFlags;
symbologyOverrides: FeatureSymbology.Overrides;
clipVolume?: ClipVolume;
readonly planarClassifier?: PlanarClassifier;
readonly secondaryClassifiers?: PlanarClassifier[];
readonly textureDrape?: TextureDrape;
readonly edgeSettings: EdgeSettings;
/** Used chiefly for readPixels() to identify context of picked Ids when graphics from multiple iModels are displayed together. */
readonly iModel?: IModelConnection;
readonly transformFromIModel?: Transform;
/** Whether the graphics in this branch are 2d or 3d.
* Sometimes we draw 3d orthographic views in the context of a 2d view (e.g., sheet view attachments).
* Currently this only affects the logic for discarding surfaces (in 2d, we relay on display priority to enforce draw order between different elements;
* in 3d we use the pick buffers.
*/
is3d: boolean;
frustumScale?: {
x: number;
y: number;
};
readonly appearanceProvider?: FeatureAppearanceProvider;
readonly realityModelDisplaySettings?: RealityModelDisplaySettings;
forceViewCoords?: boolean;
readonly viewAttachmentId?: Id64String;
readonly inSectionDrawingAttachment?: boolean;
groupNodeId?: number;
/** If true, the view's [DisplayStyleSettings.clipStyle]($common) will be disabled for this branch.
* No [ClipStyle.insideColor]($common), [ClipStyle.outsideColor]($common), or [ClipStyle.intersectionStyle]($common) will be applied.
*/
disableClipStyle?: true;
contourLine?: ContourDisplay;
}
/**
* Represents a branch node in the scene graph, with associated view flags and transform to be applied to
* all sub-nodes of the branch.
* @internal
*/
export declare class BranchState {
private readonly _opts;
get transform(): Transform;
get viewFlags(): ViewFlags;
set viewFlags(vf: ViewFlags);
get clipVolume(): ClipVolume | undefined;
get forceViewCoords(): boolean;
get planarClassifier(): PlanarClassifier | undefined;
get textureDrape(): TextureDrape | undefined;
get edgeSettings(): EdgeSettings;
get iModel(): IModelConnection | undefined;
get transformFromIModel(): Transform | undefined;
get is3d(): boolean;
get frustumScale(): {
x: number;
y: number;
};
get appearanceProvider(): FeatureAppearanceProvider | undefined;
get secondaryClassifiers(): PlanarClassifier[] | undefined;
get realityModelDisplaySettings(): RealityModelDisplaySettings | undefined;
get viewAttachmentId(): string | undefined;
get inSectionDrawingAttachment(): boolean | undefined;
get groupNodeId(): number | undefined;
get disableClipStyle(): true | undefined;
get contourLine(): ContourDisplay | undefined;
get symbologyOverrides(): FeatureSymbology.Overrides;
set symbologyOverrides(ovrs: FeatureSymbology.Overrides);
changeRenderPlan(viewFlags: ViewFlags, is3d: boolean, hline: HiddenLine.Settings | undefined, contour?: ContourDisplay): void;
/** Create a BranchState from a Branch. Any properties not explicitly specified by the new Branch are inherited from the previous BranchState. */
static fromBranch(prev: BranchState, branch: Branch): BranchState;
getFeatureAppearance(overrides: FeatureSymbology.Overrides, elemLo: number, elemHi: number, subcatLo: number, subcatHi: number, geomClass: GeometryClass, modelLo: number, modelHi: number, type: BatchType, animationNodeId: number): FeatureAppearance | undefined;
static createForDecorations(): BranchState;
withViewCoords(): BranchState;
constructor(opts: BranchStateOptions);
}
//# sourceMappingURL=BranchState.d.ts.map