@glowjs/core
Version:
GlowJS数字孪生引擎核心库。
168 lines (167 loc) • 3.79 kB
TypeScript
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;
}