@glowjs/core
Version:
GlowJS数字孪生引擎核心库。
158 lines (157 loc) • 3.98 kB
TypeScript
import { Matrix, Quaternion } from '../runtime';
import { ManualWall } from './ManualWall';
import { MeshFaceData } from './MeshFaceData';
/**
* 手绘墙创建器
*/
export declare class ManualWallBuilder {
/**
* 拥有者
*/
readonly owner: ManualWall;
/**
* 开始墙角左面底部点
*/
startCornerLeftBottom: [number, number, number];
/**
* 开始墙角左面顶部点
*/
startCornerLeftTop: [number, number, number];
/**
* 开始墙角右面底部点
*/
startCornerRightBottom: [number, number, number];
/**
* 开始墙角右面顶部点
*/
startCornerRightTop: [number, number, number];
/**
* 结束墙角左面底部点
*/
endCornerLeftBottom: [number, number, number];
/**
* 结束墙角左面顶部点
*/
endCornerLeftTop: [number, number, number];
/**
* 结束墙角右面底部点
*/
endCornerRightBottom: [number, number, number];
/**
* 结束墙角右面顶部点
*/
endCornerRightTop: [number, number, number];
/**
* 把墙旋转到与Z轴重合需要用到的四元数
*/
rotateQuaternion: Quaternion;
/**
* 把墙还原到原始位置需要用到的四元数
*/
restoreQuaternion: Quaternion;
/**
* 楼层世界矩阵
*/
floorWorldMatrix: Matrix;
/**
* 楼层世界矩阵的逆矩阵
*/
floorInvertWorldMatrix: Matrix;
/**
* 开始墙角世界矩阵
*/
startCornerWorldMatrix: Matrix;
/**
* 开始墙角世界矩阵的逆矩阵
*/
startCornerInvertWorldMatrix: Matrix;
/**
* 洞
*/
holes: number[][][];
/**
* 顶部加点
*/
topAdded: number[][];
/**
* 底部加点
*/
bottomAdded: number[][];
/**
* 左面网格数据
*/
leftMeshData: MeshFaceData;
/**
* 右面网格数据
*/
rightMeshData: MeshFaceData;
/**
* 边缘网格数据
*/
edgeMeshData: MeshFaceData;
/**
* 开始墙角左面邻居
*/
startCornerLeftNeighbor: ManualWall;
/**
* 结束墙角左面邻居
*/
endCornerLeftNeighbor: ManualWall;
/**
* 开始墙角右面邻居
*/
startCornerRightNeighbor: ManualWall;
/**
* 结束墙角右面邻居
*/
endCornerRightNeighbor: ManualWall;
/**
* 实例化一个手绘墙创建器对象
* @param owner 拥有者
*/
constructor(owner: ManualWall);
/**
* 创建
*/
build(): void;
/**
* 创建左面
*/
buildLeft(): void;
/**
* 创建右面
*/
buildRight(): void;
/**
* 创建边缘
*/
buildEdge(): void;
/**
* 将楼层坐标系下的点转换到开始墙角坐标系下
* @param point 楼层坐标系下的点
*/
transferToStartCorner(point: [number, number, number]): [number, number, number];
/**
* 将楼层坐标系下的点转换到开始墙角坐标系下(丢弃指定坐标轴)
* @param point 楼层坐标系下的点
* @param ignoredFlag 忽略的坐标轴标记,0表示X轴,1=Y轴,2=Z轴,默认值0
*/
transferToStartCorner2D(point: [number, number, number], ignoredFlag?: number): [x: number, y: number];
/**
* 将开始墙角坐标系下的点转到到楼层坐标系下
* @param point 开始墙角坐标系下的点
*/
transferToFloor(point: [number, number, number]): [number, number, number];
/**
* 设置坐标转换参数
*/
setTransferParameters(): void;
/**
* 设置洞
*/
setHoles(): void;
/**
* 计算墙角挤压出来的点的位置(即墙交点,有8个点)
*/
computeCornerPoints(): void;
}