afdi-ambition-fbim-fe
Version:
3D组态BIM编辑器
144 lines (143 loc) • 3.21 kB
TypeScript
import { vec3 } from 'gl-matrix';
import { BIMWrap } from '../index';
import { Component } from './component';
import { Space } from './space';
import * as sadi from 'sadi-sdk-ts';
interface IChangeEnvParams {
edgeColor?: string;
edgeWidth?: number;
outLineColor?: string;
outLineWidth?: number;
background?: string;
light?: {
color?: string;
phi?: number;
theta?: number;
[key: string]: any;
};
camera?: {
orthographic?: boolean;
phi?: number;
theta?: number;
[key: string]: any;
};
ambient?: string;
highlightColor?: string;
bloom_range?: number;
exposure?: number;
[key: string]: any;
}
interface sadiEvent {
(ev: sadi.SceneContext, sc: CustomEvent<sadi.SelectResult>): void;
}
interface CustomEvents {
roam?: Function;
hideSpace?: Function;
recovery?: Function;
fullScreen?: Function;
cut?: Function;
measure?: Function;
}
export declare let customEvents: CustomEvents;
export declare class View {
loaded: boolean;
clickEvent: sadiEvent;
scene: sadi.Scene;
constructor(scene: any, loaded: boolean, clickEvent: any);
/**
* 恢复视图
*/
recovery: (componentWrap: Component, spaceWrap: Space) => void;
/**
* 视图自适应
*/
updateSize: () => void;
/**
* 视图动画
*/
setCamera: (data: any) => void;
/**
* 获取视图
*/
getScreenShotPic: () => sadi.Scene;
/**
* 获取视点
*/
getCameraInfo: () => sadi.CameraInfo;
/**
* 设置模式
*/
setSelectMode: (type: number) => void;
/**
* 设置背景图片
*/
setBackgroundImage: (url?: string) => Promise<void>;
/**初始化一些光效、背景等样式 */
initViewWrapEnvParams: () => void;
/**
* 属性组合设置 (目前支持最多两层属性设置)
*/
changeEnvParams: (params: IChangeEnvParams) => void;
/**
* 获取视图上下文
*/
getSceneContext: (sadiIns: BIMWrap) => Promise<sadi.SceneContext>;
/**
* 获取场景中所有楼层
*/
getStoreyList: () => sadi.Storey[];
/**
* 获取场景结构树
*/
getstructureTree: () => sadi.CategoryNode[];
/**
* 绑定点击事件
*/
bindClick: (event: any) => void;
/**
* cube
* 显示cube
*/
showCube: () => void;
/**
* cube
* 隐藏cube
*/
hideCube: () => void;
/**
* cube
* 导航cube位置和大小修改
*/
changeCubePositionAndSize: ({ size, position }: {
size: number;
position: {
top: number;
left: number;
};
}) => void;
/**
* cube
* 导航cube显示隐藏
*/
enableNavigationCube: (isShow: boolean) => void;
/**
* cube
* 漫游
*/
roam: (start: boolean, opts?: {
location: vec3;
angle: number;
height: number;
floor: sadi.Storey;
}) => void;
/**
* cube
* 导航cube 场景移动
*/
move3D: (mv: vec3) => void;
/**
* 销毁
*/
dispose: () => void;
}
export {};