@itwin/core-frontend
Version:
iTwin.js frontend components
72 lines • 4.64 kB
TypeScript
/** @packageDocumentation
* @module Rendering
*/
import { IndexedPolyface, Loop, Path, Point3d, Range3d, SolidPrimitive, StrokeOptions, Transform } from "@itwin/core-geometry";
import { Feature } from "@itwin/core-common";
import { DisplayParams } from "./DisplayParams";
import { PolyfacePrimitiveList } from "./Polyface";
import { StrokesPrimitiveList } from "./Strokes";
/** @internal */
export type PrimitiveGeometryType = Loop | Path | IndexedPolyface | SolidPrimitive;
/** @internal */
export declare abstract class Geometry {
readonly transform: Transform;
readonly tileRange: Range3d;
readonly displayParams: DisplayParams;
readonly feature?: Feature;
constructor(transform: Transform, tileRange: Range3d, displayParams: DisplayParams, feature: Feature | undefined);
static createFromPointString(pts: Point3d[], tf: Transform, tileRange: Range3d, params: DisplayParams, feature: Feature | undefined): Geometry;
static createFromLineString(pts: Point3d[], tf: Transform, tileRange: Range3d, params: DisplayParams, feature: Feature | undefined): Geometry;
static createFromLoop(loop: Loop, tf: Transform, tileRange: Range3d, params: DisplayParams, disjoint: boolean, feature: Feature | undefined): Geometry;
static createFromSolidPrimitive(primitive: SolidPrimitive, tf: Transform, tileRange: Range3d, params: DisplayParams, feature: Feature | undefined): Geometry;
static createFromPath(path: Path, tf: Transform, tileRange: Range3d, params: DisplayParams, disjoint: boolean, feature: Feature | undefined): Geometry;
static createFromPolyface(ipf: IndexedPolyface, tf: Transform, tileRange: Range3d, params: DisplayParams, feature: Feature | undefined): Geometry;
protected abstract _getPolyfaces(facetOptions: StrokeOptions): PolyfacePrimitiveList | undefined;
protected abstract _getStrokes(facetOptions: StrokeOptions): StrokesPrimitiveList | undefined;
getPolyfaces(tolerance: number): PolyfacePrimitiveList | undefined;
getStrokes(tolerance: number): StrokesPrimitiveList | undefined;
get hasTexture(): boolean;
doDecimate(): boolean;
doVertexCluster(): boolean;
part(): undefined;
}
/** @internal */
export declare class PrimitivePathGeometry extends Geometry {
readonly path: Path;
readonly isDisjoint: boolean;
constructor(path: Path, tf: Transform, range: Range3d, params: DisplayParams, isDisjoint: boolean, feature: Feature | undefined);
protected _getPolyfaces(_facetOptions: StrokeOptions): PolyfacePrimitiveList | undefined;
protected _getStrokes(facetOptions: StrokeOptions): StrokesPrimitiveList | undefined;
static getStrokesForLoopOrPath(loopOrPath: Loop | Path, facetOptions: StrokeOptions, params: DisplayParams, isDisjoint: boolean, transform: Transform): StrokesPrimitiveList | undefined;
private static collectCurveStrokes;
}
/** @internal */
export declare class PrimitivePointStringGeometry extends Geometry {
readonly pts: Point3d[];
constructor(pts: Point3d[], tf: Transform, range: Range3d, params: DisplayParams, feature: Feature | undefined);
protected _getPolyfaces(_facetOptions: StrokeOptions): PolyfacePrimitiveList | undefined;
protected _getStrokes(_facetOptions: StrokeOptions): StrokesPrimitiveList | undefined;
}
/** @internal */
export declare class PrimitiveLineStringGeometry extends Geometry {
readonly pts: Point3d[];
constructor(pts: Point3d[], tf: Transform, range: Range3d, params: DisplayParams, feature: Feature | undefined);
protected _getPolyfaces(_facetOptions: StrokeOptions): PolyfacePrimitiveList | undefined;
protected _getStrokes(_facetOptions: StrokeOptions): StrokesPrimitiveList | undefined;
}
/** @internal */
export declare class PrimitiveLoopGeometry extends Geometry {
readonly loop: Loop;
readonly isDisjoint: boolean;
constructor(loop: Loop, tf: Transform, range: Range3d, params: DisplayParams, isDisjoint: boolean, feature: Feature | undefined);
protected _getPolyfaces(facetOptions: StrokeOptions): PolyfacePrimitiveList | undefined;
protected _getStrokes(facetOptions: StrokeOptions): StrokesPrimitiveList | undefined;
}
/** @internal */
export declare class PrimitivePolyfaceGeometry extends Geometry {
readonly polyface: IndexedPolyface;
constructor(polyface: IndexedPolyface, tf: Transform, range: Range3d, params: DisplayParams, feature: Feature | undefined);
protected _getPolyfaces(facetOptions: StrokeOptions): PolyfacePrimitiveList | undefined;
protected _getStrokes(_facetOptions: StrokeOptions): StrokesPrimitiveList | undefined;
}
//# sourceMappingURL=GeometryPrimitives.d.ts.map