@glowjs/core
Version:
GlowJS数字孪生引擎核心库。
120 lines (119 loc) • 2.84 kB
TypeScript
import { App } from '../core/App';
import { Floor } from './Floor';
import { Placement } from './placement';
import { TransformNode } from '../runtime';
import { Entity } from './Entity';
import { Point3D } from '../misc/Point3D';
import { Thing } from './Thing';
/**
* 自定义建筑
*/
export declare class Building extends Entity {
/**
* 鼠标移入楼层链接的颜色
*/
static floorLinkColor: string;
/**
* 鼠标移入楼层链接的透明度
*/
static floorLinkAlpha: number;
/**
* 链接ID
*/
linkId: string | null;
/**
* 链接名称
*/
linkName: string | null;
/**
* 获取楼层是否已经展开
*/
expanded: boolean;
/**
* 进入建筑是否显示外立面和楼层链接(仅在存在楼层链接时生效)
*/
showFacadesAndLinks: boolean;
/**
* 合并网格的父节点
*/
mergedMeshNode: TransformNode;
/**
* 楼层展开偏移量
*/
expandOffset: Point3D;
private _tweenExpand;
/**
* 实例化一个建筑对象
* @param app 应用
*/
constructor(app: App);
/**
* 注册默认事件
*/
registerDefaultEvents(): void;
/**
* 获取外立面
*/
get facades(): Placement[];
/**
* 获取楼层链接外立面
*/
get floorLinks(): Thing[];
/**
* 获取楼层
*/
get floors(): Floor[];
/**
* 获取当前是否正在执行楼层动画
*/
get expanding(): boolean;
/**
* 是否有外立面
*/
hasFacades(): boolean;
/**
* 获取实例类型
*/
get instanceClass(): any;
/**
* 展开楼层
* @param time 时间,默认值500,单位毫秒
* @param complete 完成时的回调函数
*/
expandFloors(time?: number, complete?: () => void): void;
/**
* 合并楼层
* @param time 时间,默认值500,单位毫秒
* @param complete 完成时的回调函数
*/
unexpandFloors(time?: number, complete?: () => void): void;
/**
* 序列化成JSON对象
*/
toJson(): any;
/**
* 从JSON对象反序列化(仅生成层级树)
* @param {*} json JSON对象
*/
fromJson(json: any): void;
/**
* 创建(仅当前层级可见对象
*/
build(force?: boolean): Promise<void>;
/**
* 设置子节点列表
*/
setSubNodes(): void;
/**
* 拆毁(删掉网格,仅保留层级树)
*/
unbuild(): void;
/**
* 释放
*/
dispose(): void;
/**
* 创建合并的网格(在园区层级时调用)
*/
buildMergedMesh(): Promise<void>;
}