97 lines
3.3 KiB
TypeScript
97 lines
3.3 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;
|
|
RendererFollowView: boolean;
|
|
/**使用后期渲染器 */
|
|
UsePass: boolean;
|
|
/**后期渲染器 */
|
|
Composer: EffectComposer;
|
|
_AAType: AAType;
|
|
RenderPass: RenderPass;
|
|
OutlinePass: OutlinePass;
|
|
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").PerspectiveCamera | import("three").OrthographicCamera;
|
|
get Width(): number;
|
|
get Height(): number;
|
|
set AAType(type: AAType);
|
|
get AAType(): AAType;
|
|
InitRender(canvasContainer: HTMLElement): void;
|
|
OnSize: (width?: number, height?: number) => void;
|
|
OnSizeEvent(): 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;
|
|
RenderDatabaseEndEvent(): void;
|
|
UpdateRenderType(db: Database, type: RenderType): Promise<void>;
|
|
SwitchLayout(): void;
|
|
LayoutRenderEntity(en: Entity): void;
|
|
ViewportPoint(pt: Vector3 | Vector2, viewport: ViewportEntity): void;
|
|
GetIViewer(pts: (Vector3 | Vector2)[]): IViewer;
|
|
}
|
|
//# sourceMappingURL=Viewer.d.ts.map
|