UNPKG

@glowjs/core

Version:

GlowJS数字孪生引擎核心库。

168 lines (167 loc) 3.79 kB
import { App } from '../core/App'; import { Corner } from './Corner'; import { Entity } from './Entity'; import { MeshFaceData } from './MeshFaceData'; import { Point2D } from '../misc'; import { Placement } from '..'; /** * 房间 */ export declare class Room extends Entity { /** * 默认高度 */ static defaultHeight: number; /** * 默认瓷砖大小 */ static defaultBlockSize: number[]; /** * 地板贴图编号 */ floorTextureId: string; private _floorHeight; private _roofHeight; private _ceilingHeight; /** * 地板网格数据 */ floorMeshData: MeshFaceData; /** * 天花板贴图编号 */ ceilingTextureId: string; /** * 天花板网格数据 */ ceilingMeshData: MeshFaceData; /** * 屋顶贴图编号 */ roofTextureId: string; /** * 屋顶网格数据 */ roofMeshData: MeshFaceData; /** * 获取墙角列表 */ corners: Corner[]; /** * 获取洞列表 */ holes: Corner[][]; private _floorBlockSize; private _ceilingBlockSize; private _roofBlockSize; private _showFloor; private _showCeiling; private _showRoof; private _floorOpacity; /** * 原始顶点 */ private _positions; /** * 原始UV */ private _uvs; /** * 实例化一个房间对象 * @param app 应用 */ constructor(app: App); /** * 获取实例类型 */ get instanceClass(): any; /** * 获取或设置显示地板 */ get showFloor(): boolean; set showFloor(value: boolean); /** * 获取或设置显示天花板 */ get showCeiling(): boolean; set showCeiling(value: boolean); /** * 获取或设置显示顶部 */ get showRoof(): boolean; set showRoof(value: boolean); /** * 获取或设置地板块大小 */ get floorBlockSize(): number[]; set floorBlockSize(value: number[]); /** * 获取或设置贴图长度 */ get textureWidth(): number; set textureWidth(value: number); /** * 获取或设置贴图宽度 */ get textureHeight(): number; set textureHeight(value: number); /** * 获取或设置离地高度 */ get floorHeight(): number; set floorHeight(value: number); /** * 获取或设置地板透明度 */ get floorOpacity(): number; set floorOpacity(value: number); /** * 获取或设置天花板块大小 */ get ceilingBlockSize(): number[]; set ceilingBlockSize(value: number[]); /** * 获取或设置屋顶块大小 */ get roofBlockSize(): number[]; set roofBlockSize(value: number[]); /** * 判断点是否在房间内 * @param point 二维点 */ isPointIn(point: Point2D): boolean; /** * 获取房间内部的摆件 */ get innerPlacements(): Placement[]; /** * 获取面积 */ getArea(): number; /** * 序列化成JSON对象 */ toJson(): any; /** * 从JSON对象反序列化(仅生成层级树) * @param json JSON对象 */ fromJson(json: any): void; /** * 创建(仅当前层级可见对象) * @param {boolean} force 是否强制 */ build(force?: boolean): Promise<void>; /** * 拆毁(删掉网格,仅保留层级树) */ unbuild(): void; /** * 释放 */ dispose(): void; /** * 计算包围盒 */ computeBoundingInfo(): void; }