webcad-api/types/GraphicsSystem/PreViewer.d.ts
2020-10-15 10:22:20 +08:00

46 lines
1.7 KiB
TypeScript

import { Line, LineBasicMaterial, LineDashedMaterial, Scene, Vector3 } from 'three';
import { CameraUpdate } from './CameraUpdate';
import { Cursor } from './Cursor';
export declare enum DrawMode {
Square = 0,
Cross = 1,
ObliqueCross = 2
}
export declare class PreViewer {
private m_bNeedUpdate;
private m_Render;
private m_Scene;
protected m_Camera: CameraUpdate;
private m_Width;
private m_Height;
/**
* 光标对象
*/
Cursor: Cursor;
private m_DomEl;
constructor(container: HTMLElement);
UpdateSize(width: number, height: number): void;
get Width(): number;
get Height(): number;
get Scene(): Scene;
get Camera(): import("three").PerspectiveCamera | import("three").OrthographicCamera;
UpdateScreen(): void;
StartRender: () => void;
Render(): void;
private InitCamera;
private InitRender;
WorldToViewPoint(pWcs: Vector3): Vector3;
ScreenPointToViewerPoint(p: Vector3): Vector3;
ViewerPointToScreenPoint(p: Vector3): Vector3;
Draw(mode: DrawMode, size: number, pt: Vector3, material: LineBasicMaterial | LineDashedMaterial, isWcs?: boolean): Line<import("three").BufferGeometry, LineBasicMaterial | LineDashedMaterial>;
/**
* 在视图中绘制线,并返回该对象
* @param pts 点表
* @param material 材质
* @param [isWCS] 点表是世界坐标系
* @param [type] 绘制类型 Line or LineSegment
* @returns
*/
DrawLine(pts: Vector3[], material: LineBasicMaterial | LineDashedMaterial, isWCS?: boolean, type?: typeof Line): Line<import("three").BufferGeometry, LineBasicMaterial | LineDashedMaterial>;
}
//# sourceMappingURL=PreViewer.d.ts.map