webcad-ue4-api/types/GraphicsSystem/Viewer.d.ts
2022-02-16 11:15:31 +08:00

92 lines
3.2 KiB
TypeScript

import { Matrix4, Object3D, Scene, Vector2, Vector3, WebGLRenderer } from 'three';
import { EffectComposer } from "three/examples/jsm/postprocessing/EffectComposer";
import { RenderPass } from "three/examples/jsm/postprocessing/RenderPass";
import { AAType } from '../Common/SystemEnum';
import { Database } from '../DatabaseServices/Database';
import { Entity } from '../DatabaseServices/Entity/Entity';
import { ViewportEntity } from '../DatabaseServices/ViewportEntity';
import { CameraUpdate } from './CameraUpdate';
import { GripScene } from './GripScene';
import { IViewer } from './IView';
import { OutlinePass } from './OutlinePass';
import { PreViewer } from './PreViewer';
import { RenderType } from './RenderType';
export declare class Viewer {
canvasContainer: HTMLElement;
protected NeedUpdate: boolean;
DisableRenderer: boolean;
CameraCtrl: CameraUpdate;
LookTarget: Vector3;
Renderer: WebGLRenderer;
PreViewer: PreViewer;
UsePass: boolean;
_AAType: AAType;
RenderPass: RenderPass;
OutlinePass: OutlinePass;
Composer: EffectComposer;
private _SMAAPass;
private _Scene;
private _RenderSelectScene;
GripScene: GripScene;
private _Width;
private _Height;
private _NeedUpdateEnts;
isLayout: boolean;
ViewPorts: ViewportEntity[];
LayoutScene: Scene;
CurrentViewport: ViewportEntity;
constructor(canvasContainer: HTMLElement);
get Scene(): Scene;
set Scene(s: Scene);
get Camera(): import("three").OrthographicCamera | import("three").PerspectiveCamera;
get Width(): number;
get Height(): number;
set AAType(type: AAType);
get AAType(): AAType;
InitRender(canvasContainer: HTMLElement): void;
OnSize: (width?: number, height?: number) => void;
private _TempMove;
StartRender: () => void;
UpdateRender(): void;
Render(): void;
private _constant;
private _planNormal;
ScreenToWorld(pt: Vector3, planNormal?: Vector3, constant?: Vector3): Vector3;
/**
* 世界坐标系转到屏幕坐标系的变换矩阵
* wcsP.applyMatrix4(dcs) => dcsP;
*/
get DCS(): Matrix4;
WorldToScreen(pt: Vector3): Vector3;
/**
* 更新视角观测目标(物体中心)
*/
UpdateLockTarget(): void;
IsLookSelect: boolean;
private _OldUsePass;
StartLookSelect(): void;
EndLookSelect(): void;
/**当前相机控制 */
get CameraControl(): CameraUpdate;
Rotate(mouseMove: Vector3): void;
Pan(mouseMove: Vector3): void;
Zoom(scale: number, center?: Vector3): void;
ZoomAll(UpdateRender?: boolean): void;
ZoomtoEntitys(ens: Entity[]): void;
ViewToTop(): void;
ViewToFront(): void;
ViewToSwiso(): void;
/**
* 获得当前视图显示图元的对象列表(Threejs对象).
*/
get VisibleObjects(): Object3D[];
get VisibleEntitys(): Entity[];
private LazyRenderDatabase;
RenderDatabase(db: Database): void;
UpdateRenderType(db: Database, type: RenderType): Promise<void>;
SwitchLayout(): void;
AddViewport(en: Entity, isZoom?: boolean): void;
ViewportPoint(pt: Vector3 | Vector2, viewport: ViewportEntity): void;
GetIViewer(pts: (Vector3 | Vector2)[]): IViewer;
}
//# sourceMappingURL=Viewer.d.ts.map