web-ifc-viewer
Version:
47 lines (46 loc) • 1.77 kB
TypeScript
import { BufferGeometry, Color, LineBasicMaterial, Mesh, MeshBasicMaterial, Vector3 } from 'three';
import { CSS2DObject } from 'three/examples/jsm/renderers/CSS2DRenderer';
import { IfcContext } from '../../context';
export declare class IfcDimensionLine {
private readonly context;
private readonly labelClassName;
static scaleFactor: number;
static scale: number;
static units: string;
private root;
private readonly line;
private readonly textLabel;
private endpointMeshes;
private readonly axis;
private endpoint;
start: Vector3;
end: Vector3;
center: Vector3;
private length;
private scale;
private readonly lineMaterial;
private readonly endpointMaterial;
private boundingMesh?;
private readonly boundingSize;
constructor(context: IfcContext, start: Vector3, end: Vector3, lineMaterial: LineBasicMaterial, endpointMaterial: MeshBasicMaterial, endpointGeometry: BufferGeometry, className: string, endpointScale: Vector3);
dispose(): void;
get boundingBox(): Mesh<BufferGeometry, import("three").Material | import("three").Material[]> | undefined;
get text(): CSS2DObject;
set dimensionColor(dimensionColor: Color);
set visibility(visible: boolean);
set endpointGeometry(geometry: BufferGeometry);
set endpointScale(scale: Vector3);
set endPoint(point: Vector3);
removeFromScene(): void;
createBoundingBox(): void;
private rescaleObjectsToCameraPosition;
private rescaleMesh;
private addEndpointMeshes;
private newEndpointMesh;
private newText;
private getTextContent;
private newBoundingBox;
private setupBoundingBox;
private getLength;
private getCenter;
}