UNPKG

@glowjs/core

Version:

GlowJS数字孪生引擎核心库。

120 lines (119 loc) 2.84 kB
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>; }