@itwin/core-frontend
Version:
iTwin.js frontend components
56 lines • 2.58 kB
TypeScript
/** @packageDocumentation
* @module Rendering
*/
import { IndexedPolyface, Loop, Path, Point3d, Range3d, SolidPrimitive, Transform } from "@itwin/core-geometry";
import { AnalysisStyleDisplacement, Feature } from "@itwin/core-common";
import { DisplayParams } from "./DisplayParams";
import { MeshBuilderMap } from "./MeshBuilderMap";
import { MeshList } from "./MeshPrimitives";
import { GeometryOptions } from "./Primitives";
import { GeometryList } from "./GeometryList";
import { Geometry } from "./GeometryPrimitives";
/** @internal */
export declare class GeometryAccumulator {
private _transform;
private _surfacesOnly;
private readonly _analysisDisplacement?;
readonly tileRange: Range3d;
readonly geometries: GeometryList;
currentFeature?: Feature;
get surfacesOnly(): boolean;
get transform(): Transform;
get isEmpty(): boolean;
get haveTransform(): boolean;
constructor(options?: {
surfacesOnly?: boolean;
transform?: Transform;
tileRange?: Range3d;
analysisStyleDisplacement?: AnalysisStyleDisplacement;
feature?: Feature;
});
private getPrimitiveRange;
private calculateTransform;
addLoop(loop: Loop, displayParams: DisplayParams, transform: Transform, disjoint: boolean): boolean;
addLineString(pts: Point3d[], displayParams: DisplayParams, transform: Transform): boolean;
addPointString(pts: Point3d[], displayParams: DisplayParams, transform: Transform): boolean;
addPath(path: Path, displayParams: DisplayParams, transform: Transform, disjoint: boolean): boolean;
addPolyface(pf: IndexedPolyface, displayParams: DisplayParams, transform: Transform): boolean;
addSolidPrimitive(primitive: SolidPrimitive, displayParams: DisplayParams, transform: Transform): boolean;
addGeometry(geom: Geometry): boolean;
clear(): void;
/**
* Generates a MeshBuilderMap
* native: GeometryAccumulator::ToMeshBuilderMap(GeometryOptionsCR options, double tolerance, FeatureTableP featureTable, ViewContextR context) const
* note : removed featureTable, ViewContext
* @param tolerance should derive from Viewport.getPixelSizeAtPoint
*/
toMeshBuilderMap(options: GeometryOptions, tolerance: number, pickable: {
isVolumeClassifier?: boolean;
modelId?: string;
} | undefined): MeshBuilderMap;
toMeshes(options: GeometryOptions, tolerance: number, pickable: {
isVolumeClassifier?: boolean;
modelId?: string;
} | undefined): MeshList;
}
//# sourceMappingURL=GeometryAccumulator.d.ts.map