@glowjs/core
Version:
GlowJS数字孪生引擎核心库。
2,886 lines (2,884 loc) • 147 kB
TypeScript
// Generated by dts-bundle-generator v9.5.1
import { ActionManager } from '@babylonjs/core/Actions/actionManager';
import { ExecuteCodeAction } from '@babylonjs/core/Actions/directActions';
import { AnimationGroup } from '@babylonjs/core/Animations/animationGroup';
import { AssetContainer, InstantiatedEntries } from '@babylonjs/core/assetContainer';
import { PointerDragBehavior } from '@babylonjs/core/Behaviors/Meshes/pointerDragBehavior';
import { VertexBuffer } from '@babylonjs/core/Buffers/buffer';
import { ArcRotateCamera } from '@babylonjs/core/Cameras/arcRotateCamera';
import { Camera } from '@babylonjs/core/Cameras/camera';
import { ICameraInput } from '@babylonjs/core/Cameras/cameraInputsManager';
import { PickingInfo } from '@babylonjs/core/Collisions/pickingInfo';
import { BoundingBox } from '@babylonjs/core/Culling/boundingBox';
import { BoundingInfo } from '@babylonjs/core/Culling/boundingInfo';
import { Ray, TrianglePickingPredicate } from '@babylonjs/core/Culling/ray';
import { Engine } from '@babylonjs/core/Engines/engine';
import { ICanvasRenderingContext } from '@babylonjs/core/Engines/ICanvas';
import { PointerEventTypes, PointerInfo } from '@babylonjs/core/Events/pointerEvents';
import { Gizmo } from '@babylonjs/core/Gizmos/gizmo';
import { GizmoManager } from '@babylonjs/core/Gizmos/gizmoManager';
import { EngineInstrumentation } from '@babylonjs/core/Instrumentation/engineInstrumentation';
import { SceneInstrumentation } from '@babylonjs/core/Instrumentation/sceneInstrumentation';
import { GlowLayer } from '@babylonjs/core/Layers/glowLayer';
import { HighlightLayer } from '@babylonjs/core/Layers/highlightLayer';
import { DirectionalLight } from '@babylonjs/core/Lights/directionalLight';
import { HemisphericLight } from '@babylonjs/core/Lights/hemisphericLight';
import { SceneLoader } from '@babylonjs/core/Loading/sceneLoader';
import { BackgroundMaterial } from '@babylonjs/core/Materials/Background/backgroundMaterial';
import { ColorCurves } from '@babylonjs/core/Materials/colorCurves';
import { Effect } from '@babylonjs/core/Materials/effect';
import { FresnelParameters } from '@babylonjs/core/Materials/fresnelParameters';
import { ImageProcessingConfiguration } from '@babylonjs/core/Materials/imageProcessingConfiguration';
import { Material } from '@babylonjs/core/Materials/material';
import { NodeMaterial } from '@babylonjs/core/Materials/Node/nodeMaterial';
import { PBRMaterial } from '@babylonjs/core/Materials/PBR/pbrMaterial';
import { StandardMaterial } from '@babylonjs/core/Materials/standardMaterial';
import { CubeTexture } from '@babylonjs/core/Materials/Textures/cubeTexture';
import { EquiRectangularCubeTexture } from '@babylonjs/core/Materials/Textures/equiRectangularCubeTexture';
import { Texture } from '@babylonjs/core/Materials/Textures/texture';
import { Color3, Color4 } from '@babylonjs/core/Maths/math.color';
import { Plane } from '@babylonjs/core/Maths/math.plane';
import { Scalar } from '@babylonjs/core/Maths/math.scalar';
import { Matrix, Quaternion, Vector2, Vector3, Vector4 } from '@babylonjs/core/Maths/math.vector';
import { SphericalPolynomial } from '@babylonjs/core/Maths/sphericalPolynomial';
import { AbstractMesh } from '@babylonjs/core/Meshes/abstractMesh';
import { CreateBox } from '@babylonjs/core/Meshes/Builders/boxBuilder';
import { CreateCylinder } from '@babylonjs/core/Meshes/Builders/cylinderBuilder';
import { CreateGround } from '@babylonjs/core/Meshes/Builders/groundBuilder';
import { CreateLineSystem, CreateLines } from '@babylonjs/core/Meshes/Builders/linesBuilder';
import { CreatePlane } from '@babylonjs/core/Meshes/Builders/planeBuilder';
import { CreateSphere } from '@babylonjs/core/Meshes/Builders/sphereBuilder';
import { CreateTube } from '@babylonjs/core/Meshes/Builders/tubeBuilder';
import { Geometry } from '@babylonjs/core/Meshes/geometry';
import { InstancedMesh } from '@babylonjs/core/Meshes/instancedMesh';
import { LinesMesh } from '@babylonjs/core/Meshes/linesMesh';
import { Mesh } from '@babylonjs/core/Meshes/mesh';
import { VertexData } from '@babylonjs/core/Meshes/mesh.vertexData';
import { TransformNode } from '@babylonjs/core/Meshes/transformNode';
import { EnvironmentTextureTools } from '@babylonjs/core/Misc/environmentTextureTools';
import { Observer } from '@babylonjs/core/Misc/observable';
import { Tools } from '@babylonjs/core/Misc/tools';
import { Node as Node$1 } from '@babylonjs/core/node';
import { ParticleHelper } from '@babylonjs/core/Particles/particleHelper';
import { ParticleSystem } from '@babylonjs/core/Particles/particleSystem';
import { Scene } from '@babylonjs/core/scene';
import { FloatArray } from '@babylonjs/core/types';
import { AdvancedDynamicTexture } from '@babylonjs/gui/2D/advancedDynamicTexture';
import { Button } from '@babylonjs/gui/2D/controls/button';
import { Container } from '@babylonjs/gui/2D/controls/container';
import { Control } from '@babylonjs/gui/2D/controls/control';
import { Ellipse } from '@babylonjs/gui/2D/controls/ellipse';
import { Image as Image$1 } from '@babylonjs/gui/2D/controls/image';
import { InputText } from '@babylonjs/gui/2D/controls/inputText';
import { Line as Line2D } from '@babylonjs/gui/2D/controls/line';
import { Rectangle } from '@babylonjs/gui/2D/controls/rectangle';
import { StackPanel } from '@babylonjs/gui/2D/controls/stackPanel';
import { TextBlock } from '@babylonjs/gui/2D/controls/textBlock';
import { Measure } from '@babylonjs/gui/2D/measure';
import { GridMaterial } from '@babylonjs/materials/grid';
import { Easing, Tween } from '@tweenjs/tween.js';
declare class ArchiveDoor extends Component {
/**
* 实例化一个密集架门对象
* @param entity 实体
*/
constructor(entity: Entity);
/**
* 获取密集架对象
*/
get group(): ArchiveCabinetGroup;
/**
* 获取或设置可见性
*/
get visible(): boolean;
set visible(value: boolean);
private _nearst;
/**
* 获取最近的密集架列
*/
get nearest(): ArchiveCabinet;
/**
* 获取或设置与前一列的偏移位置(单位:厘米)
*/
get offsetPos(): number;
set offsetPos(value: number);
}
declare class AutoRotate {
/**
* 管理器
*/
readonly mgr: CameraMgr;
/**
* 获取或设置是否启用
*/
enable: boolean;
/**
* 间隔时间
*/
timeout: number;
/**
* 旋转速度
*/
speed: number;
private _timeoutId;
private _mouseIndex;
private _cacheMouseIndex;
/**
* 实例化一个自动旋转对象
* @param mgr 管理器
*/
constructor(mgr: CameraMgr);
private _update;
private _onMouseEvent;
/**
* 检查,true=无操作,false=有操作
*/
private _check;
}
declare class Background extends Base {
private _img;
_skybox: SkyBox;
constructor(app: App);
/**
* 设置背景效果
*/
setBackgroundEffect(): Promise<void>;
}
declare class Container$1 {
/** 图片 */
img: Img;
/** 线 */
line: Line$1;
/** 文本列表 */
txts: Txt[];
/** 构造函数 */
constructor();
}
declare class Decoration extends Base {
private _grid;
constructor(app: App);
/**
* 设置装饰效果
*/
setDecorationEffect(): Promise<void>;
}
declare class EnvironmentTexture extends Base {
private _texture;
private _intensity;
private _rotationY;
/**
* 实例化一个环境贴图对象
* @param app 应用
* @param texture 贴图资源
*/
constructor(app: App);
/**
* 设置环境贴图
*/
setEnvEffect(): Promise<void>;
}
declare class Glow extends Base {
private _layer;
/**
* 实例化一个发光层对象
* @param app 应用
*/
constructor(app: App);
/**
* 获取或设置启用
*/
get enable(): boolean;
set enable(value: boolean);
/**
* 获取或设置强度
*/
get intensity(): number;
set intensity(value: number);
/**
* 获取或设置模糊系数
*/
get blurSize(): number;
set blurSize(value: number);
/**
* 添加网格
* @param mesh 网格
*/
addMesh(mesh: Mesh): void;
/**
* 移除网格
* @param mesh 网格
*/
removeMesh(mesh: Mesh): void;
/**
* 释放
*/
dispose(): void;
}
declare class ImageProcessing extends Base {
private _config;
/**
* 实例化一个图像处理对象
* @param app 应用
*/
constructor(app: App);
/**
* 获取或设置启用
*/
get enable(): boolean;
set enable(value: boolean);
/**
* 获取或设置启用色调映射
*/
get toneMapping(): boolean;
set toneMapping(value: boolean);
/**
* 获取或设置色调映射类型
*/
get toneMappingType(): ToneMappingType;
set toneMappingType(value: ToneMappingType);
/**
* 获取或设置效果对比度值。范围[0,4],默认值1。
*/
get contrast(): number;
set contrast(value: number);
/**
* 获取或设置效果曝光值。范围[0,4],默认值1。
*/
get exposure(): number;
set exposure(value: number);
/**
* 释放
*/
dispose(): void;
}
declare class Img {
/** 资源ID */
resId: string;
/** 原始宽度 */
srcWidth: number;
/** 原始高度 */
srcHeight: number;
/** 实际宽度 */
width: number;
/** 实际高度 */
height: number;
/** X 坐标 */
x: number;
/** Y 坐标 */
y: number;
/** 构造函数 */
constructor();
}
declare class Light extends Base {
/**
* 环境光1
*/
ambientLight1: HemisphericLight;
/**
* 环境光2
*/
ambientLight2: HemisphericLight;
/**
* 太阳光
*/
sunLight: DirectionalLight;
private _shadowGenerator;
private _shadowMap;
/**
* 实例化一个灯光对象
* @param app 应用
*/
constructor(app: App);
/**
* 设置灯光生效
* @param generateShadow 是否生成阴影
*/
setLightEffect(generateShadow?: boolean): void;
/**
* 设置阴影生效
*/
setShadowEffect(): void;
}
declare class Line$1 {
points: Point2D[];
/** 线宽 */
width: number;
/** 颜色 */
color: string;
/** 是否显示 */
enable: boolean;
/** 构造函数 */
constructor();
}
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;
}
declare class OutlineEffect extends Base {
private _scene;
private _postProcess;
private _highlightedMeshes;
private _highlightColor;
private _width;
private _depthRenderer;
private _highlightRenderer;
private _entites;
private _resizeEventId;
constructor(app: App);
private _registerShaders;
private _initPostProcess;
/**
* 获取或设置轮廓颜色(十六进制)
*/
get color(): string;
set color(value: string);
/** 获取或设置轮廓线宽度 */
get width(): number;
set width(value: number);
/**
* 添加实体
* @param entites 实体
*/
add(...entites: Entity[]): void;
/**
* 是否包含指定的实体
* @param item 实体
*/
includes(item: Entity): boolean;
/**
* 移除实体
* @param entites 实体
*/
remove(...entites: Entity[]): void;
/**
* 清理
*/
clean(): void;
/**
* 重置
*/
reset(): void;
/**
* 销毁
*/
dispose(): void;
}
declare class Particle extends Base {
private _levelId;
private _particles;
constructor(app: App);
setParticleEffect(): Promise<void>;
private _createParticle;
private _setParticle;
}
declare class PerformancePanel extends StackPanel {
private _meshesLength;
private _activeMeshesLength;
private _materialsLength;
private _texturesLength;
private _animationLength;
private _drawCalls;
private _frameTimeMax;
private _evalTimeMax;
private _particlesFrameTime;
private _interFrameTime;
private _gpuFrameTime;
private _shaderCompTime;
private _shaderTotal;
private _sceneRenderTime;
private _cameraRenderTime;
private _targetsRenderTime;
private _fpsValue;
private _heapSize;
private _heapTotal;
private _heapLimit;
private _deltaTimeValue;
private _activeFaces;
private _totalVertices;
private _sceneInstrumentation;
private _engineInstrumentation;
app: App;
/**
* 实例化一个性能面板对象
*/
constructor(app: App);
/**
* 获取或设置可见性
*/
get visible(): boolean;
set visible(value: boolean);
private _update;
}
declare class PostProcessMgr extends Base {
outlineEffect: OutlineEffect;
constructor(app: App);
/** 是否启用轮廓效果 */
get enableOutline(): boolean;
set enableOutline(value: boolean);
dispose(): void;
}
declare class ToolTip extends Rectangle {
static _root: AdvancedDynamicTexture;
private _textBlock;
/**
* 应用
*/
app: App;
/**
* 实例化一个提示信息对象
* @param app 应用
*/
constructor(app: App);
/**
* 获取或设置字体大小
*/
get fontSize(): number;
set fontSize(value: number);
/**
* 获取或设置文本
*/
get text(): string;
set text(value: string);
/**
* 获取或设置文本颜色
*/
get textColor(): string;
set textColor(value: string);
private _onFrameUpdate;
}
declare class Tracker extends Base {
private _initialized;
private _root;
private _timeoutId;
/**
* 实例化一个跟踪器对象
* @param app 应用
*/
constructor(app: App);
/**
* 初始化
*/
init(): Promise<void>;
/**
* 显示到指定包围盒
* @param boundingBox 包围盒
* @param time 显示时间,单位秒,不设置表示不限时间
*/
show(boundingBox: BoundingBox, time?: number): void;
/**
* 隐藏
*/
hide(): void;
/**
* 释放
*/
dispose(): void;
}
declare class Txt {
/** 文本内容 */
value: string;
/** 对齐方式 */
align: TxtAlign;
/** 字体大小 */
fontSize: number;
/** 字体颜色 */
color: string;
/** X 坐标 */
x: number;
/** Y 坐标 */
y: number;
/** 构造函数 */
constructor();
}
declare enum ArchiveCabinetGroupState {
/**
* 默认
*/
Default = 1,
/**
* 组
*/
Group = 2,
/**
* 列
*/
Column = 4,
/**
* 容量
*/
Capacity = 8
}
declare enum ColumnPosition {
/**
* 固定列左侧
*/
Left = -1,
/**
* 固定列
*/
Fixed = 0,
/**
* 固定列右侧
*/
Right = 1
}
declare enum ToneMappingType {
/**
* ACES
*/
Aces,
/**
* 标准
*/
Standard
}
/**
* 动画组件
*/
export declare class Animator extends Component {
private _playObserves;
private _endObserves;
/**
* 实例化一个动画组件对象
* @param entity 实体
*/
constructor(entity: Entity);
/**
* 获取是否正在播放
*/
get isPlaying(): boolean;
/**
* 获取动画组列表
*/
get animationGroups(): AnimationGroup[];
/**
* 获取动画组名称列表
*/
get animationGroupNames(): string[];
_current: AnimationGroup;
/**
* 播放指定索引动画组一次(适用于常规播放一次的动话)
* @param index 动画索引
*/
once(index: number): void;
private _loopIndex;
/**
* 获取或设置循环动画组索引(试用于需要循环播放的动画,比如人物动画)
*/
get loopIndex(): number;
set loopIndex(value: number);
/**
* 获取或设置门是否保持打开状态(试用于漫游时,强制打开门)
*/
keepOpen: boolean;
private _doorState;
/**
* 获取或设置门状态(适用于普通门、机柜、冷通道门)
*/
get doorState(): boolean;
set doorState(value: boolean);
_updateAll(): void;
_unbuild(): void;
_setEvents(): void;
}
/**
* 应用
*/
export declare class App extends EventDispatcher {
/**
* 加载并行限制,0表示不限制,可影响场景加载速度
*/
static loadLimit: number;
private _cursor;
version: string;
/**
* 是否编辑器模式
*/
_isEditor: boolean;
/**
* 实体字典
*/
_entityMap: Map<string, Entity>;
/**
* 所有组件对象
*/
readonly allComponents: Component[];
/**
* 场景
*/
_scene: Scene;
/**
* DOM容器
*/
container: HTMLDivElement;
/**
* 富文本容器
*/
richContainer: HTMLDivElement;
/**
* 根路径
*/
readonly basePath: string;
/**
* 项目文件地址
*/
projectFile: string;
/**
* 授权文件地址
*/
licenseFile: string;
/**
* 画布大小
*/
size: Size;
/**
* 画布
*/
canvas: HTMLCanvasElement;
/**
* 运行时
*/
runTime: RunTime;
/**
* 材质管理器
*/
materialMgr: MaterialMgr;
/**
* 相机管理器
*/
cameraMgr: CameraMgr;
/**
* 效果管理器
*/
effectMgr: EffectMgr;
/**
* 资源池
*/
resPool: ResPool;
/**
* 层级管理器
*/
levelMgr: LevelMgr;
/**
* GUI管理器
*/
guiMgr: GUIMgr;
/**
* 事件管理器
*/
eventMgr: EventMgr;
/**
* 管道管理器
*/
pipelineMgr: PipelineMgr;
/**
* 后处理管理器
*/
postProcessMgr: PostProcessMgr;
/**
* 跟踪器
*/
tracker: Tracker;
/**
* 是否已加载
*/
loaded: boolean;
/**
* 选项
*/
options: AppOptions;
/**
* 是否为移动端
*/
readonly isMobile: boolean;
/**
* 实例化一个应用对象
* @param options 选项
*/
constructor(options: AppOptions);
/**
* 获取或设置指针样式(与CSS一致)
*/
get cursor(): string;
set cursor(value: string);
/**
* 注册默认事件
* @param levelBack 是否注册层级后退事件,默认true
*/
registerDefaultEvents(levelBack?: boolean): void;
/**
* 加载项目
*/
load(): Promise<void>;
/**
* 根据ID获取实体对象
* @param id 实体ID
* @returns 实体对象
*/
getEntityById(id: string): Entity | undefined;
/**
* 创建实体
* @param type 实体类型
*/
create(type: EntityType | string): Entity;
/**
* 释放
*/
dispose(): void;
}
/**
* 档案盒
*/
export declare class ArchiveBox extends Entity {
/**
* 默认宽度
*/
static readonly defaultWidth: number;
/**
* 默认高度
*/
static readonly defaultHeight: number;
/**
* 默认深度
*/
static readonly defaultDepth: number;
private _box;
private _front;
private _back;
private _side;
private _width;
private _height;
private _depth;
private _frontImg;
private _backImg;
private _sideImg;
private _backgroundColor;
/**
* 数据
*/
data: any;
/**
* 档案列表
*/
archives: any[];
/**
* 实例化一个档案盒
* @param app 应用
*/
constructor(app: App);
/**
* 获取或设置宽度
*/
get width(): number;
set width(value: number);
/**
* 获取或设置高度
*/
get height(): number;
set height(value: number);
/**
* 获取或设置深度
*/
get depth(): number;
set depth(value: number);
/**
* 获取或设置前面图片
*/
get frontImg(): ResImageSource;
set frontImg(value: ResImageSource);
/**
* 获取或设置后面图片
*/
get backImg(): ResImageSource;
set backImg(value: ResImageSource);
/**
* 获取或设置侧面图片
*/
get sideImg(): SideSource;
set sideImg(value: SideSource);
/**
* 获取或设置背景颜色
*/
get backgroundColor(): string;
set backgroundColor(value: string);
/**
* 序列化成JSON对象
*/
toJson(): any;
/**
* 从JSON对象反序列化(仅生成层级树)
* @param json JSON对象
*/
fromJson(json: any): void;
/**
* 创建(仅当前层级可见对象)
* @param force 是否强制
*/
build(force?: boolean): Promise<void>;
/**
* 拆毁
*/
unbuild(): void;
}
/**
* 密集架(列)
*/
export declare class ArchiveCabinet extends Component {
static tagStyleConfig: {
show: boolean;
hasBackground: boolean;
backgroundColor: string;
fontSize: number;
fontColor: string;
};
private _eventIds;
/**
* 获取或设置数据
*/
data: any;
/**
* 标识网格
*/
_tagMesh: InstancedMesh;
/**
* 固定列标识网格
*/
_fixedMesh: InstancedMesh;
/**
* 档案格(层位)列表
*/
readonly grids: ArchiveGrid[];
/**
* 实例化一个密集架列
* @param entity 实体
*/
constructor(entity: Entity);
/**
* 获取密集架对象
*/
get group(): ArchiveCabinetGroup;
/**
* 获取是否固定列
*/
get isFixed(): boolean;
/**
* 获取列号
*/
get columnId(): string;
/**
* 获取列号(数字类型)
*/
get columnIndex(): number;
/**
* 实际索引号(从0开始)
*/
get realIndex(): number;
/**
* 获取前一列
*/
get front(): ArchiveCabinet;
/**
* 列位置
*/
get columnPosition(): ColumnPosition;
/**
* 获取或设置与前一列的偏移位置(单位:厘米)
*/
get offsetPos(): number;
set offsetPos(value: number);
/**
* 获取列类型,1=左活动列,0=固定列,2=右活动列
*/
get columnType(): number;
/**
* 获取面类型,1=左面柜,0=双面柜,2=右面柜
*/
get sideType(): number;
/**
* 显示层位
*/
_showGrid(): void;
/**
* 隐藏层位
*/
_hideGrid(): void;
private _afterBuild;
/**
* 获取或设置显隐列标识
*/
get showTag(): boolean;
set showTag(value: boolean);
/**
* 左面居中显示
*/
leftOn(): void;
/**
* 右面居中显示
*/
rightOn(): void;
/**
* 正面居中显示
*/
frontOn(): void;
/**
* 显示容量
* @param useRate 使用率
*/
showCapacity(useRate: number | undefined): void;
/**
* 隐藏容量
*/
hideCapacity(): void;
/**
* 清理档案盒
*/
removeArchiveBox(): void;
}
/**
* 密集架组(库区)
*/
export declare class ArchiveCabinetGroup extends Component {
/** 密集架位置移动缓动时间 */
static positionTweenTime: number;
/**
* 获取或设置数据
*/
data: any;
private _cacheColumnPosition;
private _isAlarm;
/**
* 密集架当前的状态
*/
_state: ArchiveCabinetGroupState;
/**
* 选中的列
*/
_selected: ArchiveCabinet;
/**
* 密集架(列)列表
*/
readonly cabinets: ArchiveCabinet[];
/**
* 密集架门列表
*/
readonly doors: ArchiveDoor[];
/**
* 告警图标
*/
alarmIcon: Billboard;
/**
* 鼠标移动事件
*/
onMouseMove: (group: ArchiveCabinetGroup, ev: EventArg) => void;
/**
* 组右键菜单事件
*/
onGroupRightMenu: (group: ArchiveCabinetGroup, left: number, top: number) => void;
/**
* 进入组事件
*/
onEnterGroup: (group: ArchiveCabinetGroup) => void;
/**
* 退出组事件
*/
onExitGroup: (group: ArchiveCabinetGroup) => void;
/**
* 进入列
*/
onEnterCabinet: (cabinet: ArchiveCabinet) => void;
/**
* 离开列
*/
onExitCabinet: (cabinet: ArchiveCabinet) => void;
/**
* 列右键菜单事件
*/
onCabinetRightMenu: (cabinet: ArchiveCabinet, left: number, top: number) => void;
/**
* 组告警变化事件
*/
onAlarmChanged: (group: ArchiveCabinetGroup) => void;
/**
* 层位右键菜单事件
*/
onGridRightMenu: (grid: ArchiveGrid, left: number, top: number) => void;
/**
* 实例化一个密集架组对象
* @param entity 实体(组)
*/
constructor(entity: Entity);
/**
* 获取起始列号
*/
get startIndex(): number;
/**
* 获取已排序的密集架列表(列号从小到大排序)
*/
get sortedCabinets(): ArchiveCabinet[];
/**
* 获取排序标识,true=从左往右,false=从右往左
*/
get sortFlag(): boolean;
/**
* 实体ID
*/
get entityId(): string;
/**
* 获取密集架ID
*/
get deviceId(): string;
/**
* 获取或设置是否告警
*/
get isAlarm(): boolean;
set isAlarm(value: boolean);
private _positionTween;
/**
* 获取或设置列位置
*/
get columnPosition(): number[];
set columnPosition(value: number[]);
updateJTColumnPosition(value: number[]): void;
/**
* 固定列
*/
get fixedColumn(): ArchiveCabinet;
/**
* 设置固定列标识
*/
setFixedTag(): void;
/**
* 移除固定列标识
*/
removeFixedTag(): void;
/**
* 在相机中居中显示
*/
centerOn(): void;
/**
* 显示容量模式
* @param data 容量数据
*/
showCapacity(data: ArchiveCabinetGroupCount): void;
/**
* 隐藏容量
*/
hideCapacity(): void;
/**
* 隐藏
*/
hide(): void;
/**
* 显示
*/
show(): void;
/**
* 手动触发进入组
*/
triggerEnterGroup(): void;
/**
* 手动触发进入列
* @param cabinet 列
*/
triggerEnterCabinet(cabinet: ArchiveCabinet): void;
/**
* 手动离开组
*/
triggerExistGroup(): void;
/**
* 手动触发离开列
*/
triggerExistCabinet(): void;
/**
* 更新包围盒
*/
private _updateBoundingBox;
}
/**
* 档案格(层位)
*/
export declare class ArchiveGrid {
/**
* 档案盒列表
*/
readonly boxes: ArchiveBox[];
/**
* 所属列
*/
readonly cabinet: ArchiveCabinet;
/**
* 节号
*/
readonly sectionId: string;
/**
* 层号
*/
readonly layerId: string;
/**
* 面标识(节号区分左右面),1=左侧,2=右侧
*/
readonly sideFlag: "1" | "2" | undefined;
/**
* 实例化档案格对象
* @param cabinet 所属列
* @param sectionId 节号
* @param layerId 层号
*/
constructor(cabinet: ArchiveCabinet, sectionId: string, layerId: string, sideFlag?: "1" | "2");
/**
* 获取网格
*/
get mesh(): Mesh;
/**
* 获取层位在列的哪面,false=左,true=右
*/
get side(): boolean;
/**
* 清理档案盒
*/
removeArchiveBox(): void;
}
/**
* 档案管理
*/
export declare class ArchiveMgr extends Component {
/**
* 密集架组(库区)列表
*/
readonly groups: ArchiveCabinetGroup[];
/**
* 当前选中的密集架
*/
_selected: ArchiveCabinetGroup;
/**
* 定位的层位
*/
_tracked: ArchiveGrid;
/**
* 实例化一个档案管理对象
* @param entity 实体(楼层或园区)
*/
constructor(entity: Entity);
/**
* 显示容量
* @param countList 统计数据
*/
showCapcity(countList: ArchiveCabinetGroupCount[]): void;
/**
* 重置
*/
hideCapacity(): void;
}
/**
* 基类
*/
export declare class Base extends EventDispatcher {
/**
* 应用
*/
app: App;
/**
* 类名称
*/
className: string;
/**
* 实例化一个基类对象
* @param app 应用
*/
constructor(app: App);
/**
* 释放
*/
dispose(): void;
}
/**
* 广告牌
*/
export declare class Billboard extends EventDispatcher {
/**
* 2D广告牌根
*/
static _root2d: AdvancedDynamicTexture | null;
private _data;
/**
* 锚点
*/
private _anchor;
/**
* 根
*/
private _root;
/**
* 容器
*/
private _container;
/**
* 上一次点击的时间点,用于计算双击事件
*/
private _lastClickTime;
/**
* 提示信息
*/
tip: string;
/**
* 初始化2D广告牌根
*/
static _init2DRoot(): void;
private _canvas;
/**
* 实例化一个广告牌对象
* @param type 类型
* @param options 选项
*/
constructor(type: "2D" | "3D", options: BillboardOptions);
private _onResize;
/**
* 获取类型
*/
get type(): "2D" | "3D";
/**
* 获取或设置渲染顺序(仅3D有效)
*/
get renderOrder(): number;
set renderOrder(value: number);
/**
* 获取或设置是否响应鼠标指针事件,默认true
*/
get isPointerBlocker(): boolean;
set isPointerBlocker(value: boolean);
/**
* 获取或设置位置(世界坐标)
*/
get position(): Point3D;
set position(value: Point3D);
/**
* 获取或设置旋转
*/
get rotation(): number;
set rotation(value: number);
/**
* 获取或设置可见性
*/
get visible(): boolean;
set visible(value: boolean);
/**
* 获取或设置指针样式
*/
get cursor(): string;
set cursor(value: string);
/**
* 获取或设置数据
*/
get data(): any;
set data(value: any);
/**
* 设置颜色
* @param value 值
*/
setColor(value: {
[key: string]: string;
}): void;
private _observer;
private _scale;
private _direction;
/**
* 获取或设置是否开启缩放动画
*/
get scaleAnimation(): boolean;
set scaleAnimation(value: boolean);
/**
* 释放
*/
dispose(): void;
}
/**
* 板卡
*/
export declare class BoardCard extends Entity {
private _box;
private _front;
private _width;
private _height;
private _depth;
private _frontImg;
private _backgroundColor;
/**
* 实例化一个板卡对象
* @param app 应用
*/
constructor(app: App);
/**
* 获取或设置宽度
*/
get width(): number;
set width(value: number);
/**
* 获取或设置高度
*/
get height(): number;
set height(value: number);
/**
* 获取或设置深度
*/
get depth(): number;
set depth(value: number);
/**
* 获取或设置前面图片
*/
get frontImg(): ResImageSource;
set frontImg(value: ResImageSource);
/**
* 获取或设置背景颜色
*/
get backgroundColor(): string;
set backgroundColor(value: string);
/**
* 序列化成JSON对象
*/
toJson(): any;
/**
* 从JSON对象反序列化(仅生成层级树)
* @param json JSON对象
*/
fromJson(json: any): void;
/**
* 创建(仅当前层级可见对象)
* @param force 是否强制
*/
build(force?: boolean): Promise<void>;
/**
* 拆毁
*/
unbuild(): void;
}
/**
* 自定义建筑
*/
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>;
}
/**
* 机柜
*/
export declare class Cabinet extends Component {
/**
* 机柜编号标签样式配置
*/
static tagStyleConfig: CabinetTagStyleConfig;
private _eventIds;
private _tagMesh;
_showAssetId: string;
private _alarmAssetIds;
/**
* 资产设备列表
*/
readonly assets: RackMounted[];
/**
* 进入机柜事件
*/
onEnterCabinet: (cabinet: Cabinet) => void;
/**
* 退出机柜事件
*/
onExistCabinet: (cabinet: Cabinet) => void;
/**
* 机柜右键点击事件
*/
onCabinetRightClick: (cabinet: Cabinet, left: number, top: number) => void;
/**
* 实例化一个机柜对象
* @param entity 实体
*/
constructor(entity: Entity);
/**
* 获取实体ID
*/
get entityId(): string;
/** 获取或设置机柜唯一ID */
cabinetId: string;
private _cabinetName;
/**
* 获取或设置机柜名称
*/
get cabinetName(): string;
set cabinetName(value: string);
/** 获取或设置机柜区域ID */
areaId: string;
/**
* 显示容量
* @param data 容量数据
*/
showCapacity(data: CabinetCapacityData): void;
/**
* 隐藏容量
*/
hideCapacity(): void;
/**
* 隐藏
*/
hide(): void;
/**
* 显示
*/
show(): void;
/**
* 前面居中显示
* @param callback 回调函数
*/
frontOn(callback?: () => void): void;
/**
* 后面居中显示
* @param callback 回调函数
*/
backOn(callback?: () => void): void;
/**
* 获取挂接点
* @param flag 标记,true=前面,false=后面
*/
getPoint(flag?: boolean): TransformNode;
/**
* 手动触发退出机柜事件
*/
triggerExist(): void;
/**
* 添加编号
*/
private _afterBuild;
/**
* 更新顶部编号标签
*/
updateTag(): void;
/**
* 添加资产
* @param item 机架设备
* @param flag 挂接点标记,true=前面,false=后面
*/
add(item: RackMounted, flag?: boolean): void;
/**
* 加载资产
* @param list 资产配置列表
*/
loadAssets(list: AssetData[]): Promise<void>;
/***
* 清理资产
*/
clear(): void;
/**
* 更新告警状态
* @param asset_ids 资产ID列表
*/
updateAlarmStates(asset_ids?: string[]): void;
_updateAssetsAlarmStatus(): void;
_resetCabinetAlarmStatus(): void;
}
/**
* 机柜管理器
*/
export declare class CabinetMgr extends Component {
/**
* 资产模型配置字典
*/
private static readonly _assetModelConfigDic;
/**
*
* @param model_id 模型ID
* @param data 资产模型数据
*/
static setAssetModel(model_id: string, data: RackMountedData): void;
/**
* 获取资产模型数据
* @param model_id 模型ID
* @param uheight U高
*/
static getAssetModel(model_id: string, uheight?: number): RackMountedData;
/**
* 当前场景机柜列表
*/
readonly cabinets: Cabinet[];
_capacity: boolean;
/**
* 当前选中的机柜
*/
_selected: Cabinet;
/**
* 定位的资产设备
*/
_tracked: RackMounted;
/**
* 实例化一个机柜管理器对象
* @param entity 实体(楼层或园区)
*/
constructor(entity: Entity);
/**
* 显示容量
* @param data 容量数据
*/
showCapacity(data: CabinetCapacityData[]): void;
/**
* 隐藏容量
*/
hideCapacity(): void;
}
/**
* 相机管理器
*/
export declare class CameraMgr extends Base {
/**
* 相机
*/
camera: ArcRotateCamera;
private _updateObserver;
private _flyTween;
private _cache;
private _radiusLimit;
private _flyStartData;
private _flyEndData;
private _flyingData;
private _person;
/**
* 是否锁定拖动的灵敏度(直径小于5时生效,用于资产模型编辑)
*/
lockPanning: boolean;
/**
* 自动旋转
*/
readonly autoRotate: AutoRotate;
/**
* 实例化一个相机管理器对象
* @param app 应用
*/
constructor(app: App);
get mapPanning(): boolean;
set mapPanning(value: boolean);
/** 当前层级Y轴世界坐标 */
get levelWorldY(): number;
/**
* 获取或设置人称
*/
get person(): CameraPerson;
set person(value: CameraPerson);
_setCameraByRoaming(): Promise<void>;
/**
* 获取相机是否在飞行
*/
get flying(): boolean;
/**
* 获取或设置近裁剪面距离
*/
get near(): number;
set near(value: number);
/**
* 获取或设置远裁剪面距离
*/
get far(): number;
set far(value: number);
/**
* 获取或设置是否开启相机操作(包括旋转、平移、缩放)
*/
get inputEnabled(): boolean;
set inputEnabled(value: boolean);
/**
* 获取或设置旋转启用(仅左键,中键不禁用)
*/
get enableRotate(): boolean;
set enableRotate(value: boolean);
/**
* 获取或设置缩放启用
*/
get enableZoom(): boolean;
set enableZoom(value: boolean);
/**
* 获取或设置平移启用
*/
get enablePan(): boolean;
set enablePan(value: boolean);
private _setButtonEnable;
/**
* 获取或设置相机沿Y轴的旋转角度(弧度)
*/
get alpha(): number;
set alpha(value: number);
/**
* 获取或设置相机沿X轴的旋转角度(弧度)
*/
get beta(): number;
set beta(value: number);
/**
* 获取或设置相机到目标点的半径
*/
get radius(): number;
set radius(value: number);
/**
* 获取或设置目标点位置
*/
get target(): Point3D;
set target(value: Point3D);
/**
* 获取或设置相机位置
*/
get position(): Point3D;
set position(value: Point3D);
/**
* 获取或设置当前在Y轴上的惯性值。这个数字越大,相机停止的时间就越长。
*/
get inertialAlphaOffset(): number;
set inertialAlphaOffset(value: number);
/**
* 获取或设置当前在X轴上的惯性值。这个数字越大,相机停止的时间就越长。
*/
get inertialBetaOffset(): number;
set inertialBetaOffset(value: number);
/**
* 获取或设置Y轴上允许的最小角度。这可以帮助限制相机在场景中移动的方式。
*/
get lowerAlphaLimit(): number;
set lowerAlphaLimit(value: number);
/**
* 获取或设置Y轴上允许的最大角度。这可以帮助限制相机在场景中移动的方式。
*/
get upperAlphaLimit(): number;
set upperAlphaLimit(value: number);
/**
* 获取或设置X轴上允许的最小角度。这可以帮助限制相机在场景中移动的方式。
*/
get lowerBetaLimit(): number;
set lowerBetaLimit(value: number);
/**
* 获取或设置X轴上允许的最大角度。这可以帮助限制相机在场景中移动的方式。
*/
get upperBetaLimit(): number;
set upperBetaLimit(value: number);
/**
* 获取或设置相机与目标允许的最小距离(相机不能靠近)。这可以帮助限制相机在场景中移动的方式。
*/
get lowerRadiusLimit(): number;
set lowerRadiusLimit(value: number);
/**
* 获取或设置相机与目标的最大允许距离(相机不能再远)。这可以帮助限制相机在场景中移动的方式。
*/
get upperRadiusLimit(): number;
set upperRadiusLimit(value: number);
/**
* 获取或设置摄像机沿X轴平移期间使用的当前惯性值。
*/
get inertialPanningX(): number;
set inertialPanningX(value: number);
/**
* 获取或设置摄像机沿Y轴平移期间使用的当前惯性值。
*/
get inertialPanningY(): number;
set inertialPanningY(value: number);
/**
* 获取或设置在平移模式和捏/缩放模式下考虑相机的距离。基本上,如果你的手指移开超过这个距离,你会被认为在捏模式。
*/
get pinchToPanMaxDistance(): number;
set pinchToPanMaxDistance(value: number);
/**
* 获取或设置相机可以平移的最大距离。这可以帮助相机始终在你的场景中。
*/
get panningDistanceLimit(): number;
set panningDistanceLimit(value: number);
/**
* 获取或设置相机的平移目标
*/
get panningOriginTarget(): [
number,
number,
number
];
set panningOriginTarget(value: [
number,
number,
number
]);
/**
* 获取或设置在平移过程中使用的惯性值。0表示停止惯性,1表示没有减速。
*/
get panningInertia(): number;
set panningInertia(value: number);
/**
* 获取或设置指针沿X轴的角度灵敏度或摄像机旋转的速度。
*/
get angularSensibilityX(): number;
set angularSensibilityX(value: number);
/**
* 获取或设置指针沿Y轴的角度灵敏度或摄像机旋转的速度。
*/
get angularSensibilityY(): number;
set angularSensibilityY(value: number);
/**
* 获取或设置指针缩放精度或相机缩放的速度。
*/
get pinchPrecision(): number;
set pinchPrecision(value: number);
/**
* 获取或设置指针缩放增量百分比或摄像机缩放的速度。如果不为0,则使用它来代替pinchDeltaPrecision。它定义了当前相机的百分比。缩放时使用的半径作为增量。
*/
get pinchDeltaPercentage(): number;
set pinchDeltaPercentage(value: number);
/**
* 获取或设置指针使用自然缩放来覆盖缩放精度和缩放增量百分比。当usennaturalpinchzoom是真实的,多点触摸变焦将在这样的任何物体在飞机上的相机的目标点将缩放完美的手指运动。
*/
get useNaturalPinchZoom(): boolean;
set useNaturalPinchZoom(value: boolean);
/**
* 获取或设置指针平移的灵敏度或相机移动的速度。
*/
get panningSensibility(): number;
set panningSensibility(value: number);
/**
* 获取或设置鼠标滚轮精度或摄像机缩放的速度。
*/
get wheelPrecision(): number;
set wheelPrecision(value: number);
/**
* 获取或设置鼠标滚轮增量百分比或摄像机缩放的速度。如果不为0,则使用它来代替pinchDeltaPrecision。它定义了当前相机的百分比。缩放时使用的半径作为增量。
*/
get wheelDeltaPercentage(): number;
set wheelDeltaPercentage(value: number);
/**
* 通过zoomOn函数定义在一个特定的网格上缩放半径的大小。
*/
get zoomOnFactor(): number;
set zoomOnFactor(value: number);
/**
* 定义相机位置的屏幕偏移量。
*/
get targetScreenOffset(): [
x: number,
y: number
];
set targetScreenOffset(value: [
x: number,
y: number
]);
/**
* 允许相机完全反转。如果是假的,相机不能倒过来。
*/
get allowUpsideDown(): boolean;
set allowUpsideDown(value: boolean);
/**
* 获取或设置相机的模式,0=透视,1=正交
*/
get mode(): CameraMode;
set mode(value: CameraMode);
/**
* 获取或设置正交投影的左边距
*/
get orthoLeft(): number;
set orthoLeft(value: number);
/**
* 获取或设置正交投影的右边距
*/
get orthoRight(): number;
set orthoRight(value: number);
/**
* 获取或设置正交投影的顶边距
*/
get orthoTop(): number;
set orthoTop(value: number);
/**
* 获取或设置正交投影的底边距
*/
get orthoBottom(): number;
set orthoBottom(value: number);
/**
* 获取正交投影的宽度
*/
get orthoWidth(): number;
/**
* 获取正交投影的高度
*/
get orthHeight(): number;
/**
* 获取或设置相机的平移因子(仅在透视模式下有效),默认值2,越大越慢。
*/
panningFactor: number;
/**
* 获取或设置相机的最大平移灵敏度(最慢时的值),默认值1000
*/
maxPanningSensibility: number;
/**
* 获取或设置相机的最小平移灵敏度(最快时的值),默认值0.1
*/
minPanningSensibility: number;
/**
* 从给定位置和目标重建角度(alpha, beta)和半径
*/
rebuildAnglesAndRadius(): void;
/**
* 从给定位置和目标重置相机
*/
reset(target: Point3D, position: Point3D): void;
/**
* 使用一个位置来定义当前相机的相关信息,如alpha, beta和半径
* @param position 定义要设置摄像机的位置
*/
setPosition(position: Point3D): void;
/**
* 定义相机应该查看的目标。这将自动调整alpha、beta和半径以适应新的目标。
* @param target 新目标
*/
setTarget(target: Point3D): void;
private _onPerspectiveUpdate;
private _onOrthographicUpdate;
private _onUpdate;
/**
* 更新限制(切换场景后调用)
*/
updateLimit(): void;
/**
* 自适应观察指定物体
* @param obj 物体
* @param time 花费的时间,默认值500毫秒
* @param callback 完成回调函数
*/
fit(obj: Entity | BoundingInfo, time?: number, callback?: () => void): void;
/**
* 自适应观察指定物体数组
* @param arr 物体数组
* @param time 花费的时间,默认值500毫秒
* @param callback 完成回调函数
*/
fitArray(arr: Entity[], time?: number, callback?: () => void): void;
/**
* 飞行
* @param position 相机位置
* @param target 目标
* @param time 花费的时间,默认值2000毫秒
* @param callback 完成回调函数
* @param easing 缓动函数类型
*/
flyTo(position: Point3D, target: Point3D, time?: number, callback?: () => void, easing?: EasingFunction): void;
private _updateOrthographic;
/**
* 停止飞行
*/
stopFlying(): void;
private _updateAngelLimit;
/**
* 切换到正交投影
* @param time 事件,默认500毫秒
* @param callback 回调函数,默认为空
* @param view 视图,默认顶视图
*/
toOrthographic(time?: number, callback?: () => void, view?: OrthographicView): void;
/**
* 切换到透视投影
*/
toPerspective(time?: number, callback?: () => void): void;
/**
* 释放
*/
dispose(): void;
/**
* 打印日志
*/
log(): void;
}
/**
* (泛)园区[片区]
*/
export declare class Campus extends Floor {
/**
* 实例化一个(泛)园区对象
* @param {App} app 应用
*/
constructor(app: App);
/**
* 获取实例类型
*/
get instanceClass(): any;
/**
* 获取所有建筑
*/
get buildings(): Building[];
/**
* 序列化成JSON对象
*/
toJson(): any;
/**
* 从JSON对象反序列化(仅生成层级树)
* @param json JSON对象
*/
fromJson(json: any): void;
/**
* 创建(仅当前层级可见对象)
* @param {boolean} force 是否强制
*/
build(force?: boolean): Promise<void>;
}
/**
* 色彩校正
*/
export declare class ColorCorrection extends Base {
/**
* 图像处理配置对象
*/
private _config;
/**
* 颜色曲线
*/
private _colorCurves;
/**
* 实例化一个图像校正对象
* @param {App} app 应用
*/
constructor(app: App);
/**
* 获取或设置是否启用色彩校正
*/
get enable(): boolean;
set enable(value: boolean);
/**
* 获取或设置全局密度值。
* 密度值在[-100,+100]范围内,0表示颜色滤镜没有效果,+100表示颜色滤镜有最大效果。
*小于零的值提供了一个相反色调的过滤器。
*/
get globalDensity(): number;
set globalDensity(value: number);
/**
* 获取或设置全局曝光值。
* 这是一个范围为[-100,+100]的调整值,其中默认值0.0不进行调整,正值增加曝光,负值减少曝光。
*/
get globalExposure(): number;
set globalExposure(value: number);
/**
* 获取或设置全局色调值。
* 色调值是HSB在[0,360]范围内的标准色调值,其中0=红色,120=绿色和240=蓝色。默认值为30度(橙色)。
*/
get globalHue(): number;
set globalHue(value: number);
/**
* 获取或设置全局饱和值。
* 这是一个范围[-100,+100]的调整值,默认值0.0不进行调整,正值增加饱和度,负值减少饱和度。
*/
get globalSaturation(): number;
set globalSaturation(value: number);
/**
* 获取或设置高亮区域密度值。
* 密度值在[-100,+100]范围内,0表示颜色滤镜没有效果,+100表示颜色滤镜有最大效果。
*小于零的值提供了一个相反色调的过滤器。
*/
get highlightsDensity(): number;
set highlightsDensity(value: number);
/**
* 获取或设置高亮区域曝光值。
* 这是一个范围为[-100,+100]的调整值,其中默认值0.0不进行调整,正值增加曝光,负值减少曝光。
*/
get highlightsExposure(): number;
set highlightsExposure(value: number);
/**
* 获取或设置高亮区域色调值。
* 色调值是HSB在[0,360]范围内的标准色调值,其中0=红色,120=绿色和240=蓝色。默认值为30度(橙色)。
*/
get highlightsHue(): number;
set highlightsHue(value: number);
/**
* 获取或设置高亮区域饱和值。
* 这是一个范围[-100,+100]的调整值,默认值0.0不进行调整,正值增加饱和度,负值减少饱和度。
*/
get highlightsSaturation(): number;
set highlightsSaturation(value: number);
/**
* 获取或设置中亮区域密度值。
* 密度值在[-100,+100]范围内,0表示颜色滤镜没有效果,+100表示颜色滤镜有最大效果。
*小于零的值提供了一个相反色调的过滤器。
*/
get midtonesDensity(): number;
set midtonesDensity(value: number);
/**
* 获取或设置中亮区域曝光值。
* 这是一个范围为[-100,+100]的调整值,其中默认值0.0不进行调整,正值增加曝光,负值减少曝光。
*/
get midtonesExposure(): number;
set midtonesExposure(value: number);
/**
* 获取或设置中亮区域色调值。
* 色调值是HSB在[0,360]范围内的标准色调值,其中0=红色,120=绿色和240=蓝色。默认值为30度(橙色)。
*/
get midtonesHue(): number;
set midtonesHue(value: number);
/**
* 获取或设置中亮区域饱和值。
* 这是一个范围[-100,+100]的调整值,默认值0.0不进行调整,正值增加饱和度,负值减少饱和度。
*/
get midtonesSaturation(): number;
set midtonesSaturation(value: number);
/**
* 获取或设置阴影区域(低亮)密度值。
* 密度值在[-100,+100]范围内,0表示颜色滤镜没有效果,+100表示颜色滤镜有最大效果。
*小于零的值提供了一个相反色调的过滤器。
*/
get shadowsDensity(): number;
set shadowsDensity(value: number);
/**
* 获取或设置阴影区域(低亮)曝光值。
* 这是一个范围为[-100,+100]的调整值,其中默认值0.0不进行调整,正值增加曝光,负值减少曝光。
*/
get shadowsExposure(): number;
set shadowsExposure(value: number);
/**
* 获取或设置阴影区域(低亮)色调值。
* 色调值是HSB在[0,360]范围内的标准色调值,其中0=红色,120=绿色和240=蓝色。默认值为30度(橙色)。
*/
get shadowsHue(): number;
set shadowsHue(value: number);
/**
* 获取或设置阴影区域(低亮)饱和值。
* 这是一个范围[-100,+100]的调整值,默认值0.0不进行调整,正值增加饱和度,负值减少饱和度。
*/
get shadowsSaturation(): number;
set shadowsSaturation(value: number);
/**
* 释放
*/
dispose(): void;
}
/**
* 组件
*/
export declare class Component implements IDisposable {
/**
* 实体
*/
readonly entity: Entity;
/**
* 获取3D应用
*/
get app(): App;
/**
* 实例化一个组件对象
* @param entity 实体
*/
constructor(entity: Entity);
dispose(): void;
}
/**
* 墙角
*/
export declare class Corner extends Entity {
/**
* 获取墙列表
*/
readonly walls: Wall[];
/**
* 实例化一个墙角对象
* @param app 应用
*/
constructor(app: App);
/**
* 获取实例类型
*/
get instanceClass(): any;
/**
* 获取索引
*/
get index(): number;
/**
* 计算包围盒
*/
computeBoundingInfo(): void;
/**
* 序列化成JSON对象
*/
toJson(): any;
/**
* 从JSON对象反序列化(仅生成层级树)
* @param json JSON对象
*/
fromJson(json: any): void;
/**
* 创建(仅当前层级可见对象)
* @param force 是否强制
*/
build(force?: boolean): Promise<void>;
}
/**
* 装饰网格
*/
export declare class DecorateGrid extends Entity {
private _mesh;
private _mat;
private _onAfterFrameObserver;
/**
* 实例化一个装饰网格对象
* @param app 应用
*/
constructor(app: App);
build(): Promise<void>;
private _onAfterFrame;
/**
* 拆毁(删掉网格,仅保留层级树)
*/
unbuild(): void;
}
/**
* 测距工具
*/
export declare class DistanceTool {
/**
* 应用对象
*/
app: App;
private _started;
private _eventIds;
private _poins;
private _mesh;
private _tips;
private _nodes;
/**
* 提示文本颜色
*/
tipColor: string;
/**
* 提示文本X轴偏移,默认值0
*/
tipOffsetX: number;
/**
* 提示文本Y轴偏移,默认值0
*/
tipOffsetY: number;
/**
* 线颜色
*/
lineColor: string;
/**
* 点颜色
*/
pointColor: string;
/**
* 点大小
*/
pointSize: number;
/**
* 最小距离
*/
minDistance: number;
/**
* 构造函数
* @param app 应用对象
*/
constructor(app: App);
private _onLeftPointerDown;
private _onRightPointerUp;
/**
* 开始
*/
start(): void;
/**
* 停止
*/
stop(): void;
}
/**
* 门窗
*/
export declare class DoorWindow extends Thing {
private _isOpen;
/**
* 是否是窗户,默认false表示门
*/
isWindow: boolean;
/**
* 实例化一个门窗对象
* @param app 应用
*/
constructor(app: App);
/**
* 获取或设置打开状态
*/
get isOpen(): boolean;
set isOpen(value: boolean);
/**
* 获取二维边界(用于判断门窗是否在水平方向越界)
*/
get bound2D(): Point2D;
/**
* 获取或设置左边距(到开始墙点的距离)
*/
left: number;
/**
* 判断给定的左边距在指定墙体是否有效
* @param left 左边距
* @param parent 墙体
*/
isLeftEnabled(left: number, parent: Wall): boolean;
/**
* 左边距转换成坐标,仅在build中使用
*/
leftToPosition(): Point3D;
/**
* 获取实例类型
*/
get instanceClass(): any;
/**
* 获取或设置朝向,取值0、1、2、3
*/
get direction(): DoorWindowDirection;
set direction(value: DoorWindowDirection);
/**
* 获取或设置位置
*/
get position(): Point3D;
set position(value: Point3D);
/**
* 获取或设置底边距(离地高度)
*/
get bottom(): number;
set bottom(value: number);
/**
* 序列化成JSON对象
*/
toJson(): any;
/**
* 从JSON对象反序列化(仅生成层级树)
* @param json JSON对象
*/
fromJson(json: any): void;
/**
* 创建(仅当前层级可见对象)
* @param {boolean} force 是否强制
*/
build(force?: boolean): Promise<void>;
}
/**
* 效果管理器
*/
export declare class EffectMgr extends Base {
/**
* 环境贴图
*/
environmentTexture: EnvironmentTexture;
/**
* 背景
*/
background: Background;
/**
* 雾效
*/
fog: Fog;
/**
* 发光层
*/
glow: Glow;
/**
* 灯光
*/
light: Light;
/**
* 图像处理
*/
imageProcessing: ImageProcessing;
/**
* 颜色校正
*/
colorCorrection: ColorCorrection;
/**
* 装饰
*/
decoration: Decoration;
/**
* 粒子
*/
particle: Particle;
/**
* 实例化一个效果管理器对象
* @param app 应用
*/
constructor(app: App);
/**
* 获取或设置背景色
*/
get backgroundColor(): string;
set backgroundColor(value: string);
/**
* 加载粒子系统
* @param fileName 文件名称
*/
loadParticle(fileName: string): Promise<void>;
/**
* 释放
*/
dispose(): void;
/**
* 场景加载前设置效果
*/
setEffectBeforeLevelLoad(): Promise<void>;
/**
* 场景加载后设置效果
*/
setEffectAfterLevelLoad(): void;
}
/**
* 实体
*/
export declare class Entity extends Base {
/**
* 自定义检查函数,用于某些特殊用途
*/
static customCheckFun: (data: any) => Entity;
protected _viewInfo: ViewInfo | null;
protected _cursor: string;
_boundingInfoNode: TransformNode;
protected _boxContainer: TransformNode;
/**
* 最大观察距离(包围球半径倍数)
*/
maxRadiusScale: number;
/**
* 包围盒
*/
boundingInfo: BoundingInfo;
/**
* 节点
*/
node: TransformNode;
/**
* 偏移节点
*/
offsetNode: TransformNode;
/**
* 子元素
*/
readonly children: Entity[];
/**
* 组件列表
*/
readonly _components: Component[];
/**
* 是否已创建
*/
built: boolean;
/**
* 父元素
*/
parent: Entity | null;
/**
* 前置层级(用于存储园区转场、热点跳转、POI跳转、楼层跳转时的返回层级)
*/
preLevel: Entity | null;
/**
* 获取子节点列表
*/
readonly subNodes: TransformNode[];
/**
* 标签
*/
readonly tags: Set<string>;
/**
* 用户数据
*/
readonly userData: any;
/**
* 效果数据
*/
effectData: EffectData;
/**
* 获取或设置路径动画移动速度
*/
moveSpeed: number;
/**
* 实体注册的应用事件ID列表,当实体销毁时自动移除集合中的事件
*/
appEventIds: string[];
protected _enablePointerMoveEvents: boolean;
protected _pickable: boolean;
private _castShadow;
/**
* 是否投射阴影
*/
get castShadow(): boolean;
set castShadow(value: boolean);
/**
* 获取或设置提示信息
*/
tip: string;
/**
* 实例化一个实体对象
* @param app 应用
*/
constructor(app: App);
/**
* 获取或设置编号
*/
get id(): string;
set id(value: string);
/**
* 获取实体类型
*/
get type(): EntityType;
/**
* 获取或设置名称
*/
get name(): string;
set name(value: string);
/**
* 获取或设置可见性
*/
get visible(): boolean;
set visible(value: boolean);
/**
* 获取或设置观察视角
*/
get viewInfo(): ViewInfo | null;
set viewInfo(value: ViewInfo | null);
/**
* 获取子网格列表
*/
get subMeshes(): Mesh[];
/**
* 获取材质列表
*/
get materials(): Material[];
/**
* 获取或设置位置
*/
get position(): Point3D;
set position(value: Point3D);
/**
* 获取或设置偏移量
*/
get offset(): Point3D;
set offset(value: Point3D);
/**
* 获取或设置允许指针移动事件
*/
get enablePointerMoveEvents(): boolean;
set enablePointerMoveEvents(value: boolean);
/**
* 获取或设置是否可被拾取
*/
get pickable(): boolean;
set pickable(value: boolean);
/**
* 获取或设置指针样式,与CSS保持一致
*/
get cursor(): string;
set cursor(value: string);
/**
* 获取或设置旋转(四元数)
*/
get rotation(): Point4D;
set rotation(value: Point4D);
/**
* 获取或设置欧拉角(弧度)
*/
get euler(): Point3D;
set euler(value: Point3D);
/**
* 获取或设置角度
*/
get angles(): Point3D;
set angles(value: Point3D);
/**
* 获取或设置缩放
*/
get scale(): Point3D;
set scale(value: Point3D);
/**
* 获取包围盒中心点坐标(世界坐标)
*/
get center(): Point3D;
/**
* 获取包围盒半径
*/
get radius(): number;
/**
* 获取包围盒大小
*/
get size(): Point3D;
/**
* 获取该对象下的所有层级数量(包含自身)
*/
get levelCount(): number;
private _boundingColor;
/**
* 获取或设置包围盒颜色
*/
get boundingColor(): string;
set boundingColor(value: string);
/**
* 获取或设置是否显示包围盒
*/
get showBoundingBox(): boolean;
set showBoundingBox(value: boolean);
/**
* 获取或设置是否显示轮廓
*/
get outline(): boolean;
set outline(value: boolean);
/**
* 获取实例类型
*/
get instanceClass(): any;
/**
* 获取是否允许被冻结世界矩阵
*/
get canFreezeWorldMatrix(): boolean;
/**
* 获取是否允许被冻结材质
*/
get canFreezeMaterial(): boolean;
/**
* 是否是当前层级
*/
get isCurrentLevel(): boolean;
/**
* 冻结世界矩阵
* @param recursive 是否递归调用冻结子元素的世界矩阵,默认true
*/
freezeWorldMatrix(recursive?: boolean): void;
/**
* 解除冻结世界矩阵
* @param recursive 是否递归调用解除冻结子元素的世界矩阵,默认true
*/
unfreezeWorldMatrix(recursive?: boolean): void;
/**
* 计算世界矩阵
* @param recursive 是否递归调用计算子元素的世界矩阵,默认true
*/
computeWorldMatrix(recursive?: boolean): void;
/**
* 设置总是激活,用于性能优化,切换场景后失效
* @param recursive 是否递归调用设置子元素总是激活,默认true
*/
setAlwaysActive(recursive?: boolean): void;
/**
* 设置包围盒同步机制
* @param value 值,默认true
* @param recursive 是否递归调用设置子元素的包围盒同步机制,默认true
*/
setDoNotSyncBoundingInfo(value?: boolean, recursive?: boolean): void;
/**
* 冻结材质
* @param recursive 是否递归调用冻结子元素的材质,默认true
*/
freezeMaterial(recursive?: boolean): void;
/**
* 解除冻结材质
* @param recursive 是否递归调用解除冻结子元素的材质,默认true
*/
unfreezeMaterial(recursive?: boolean): void;
/**
* 获取所有子网格(递归获取子元素的网格)
*/
getAllSubMeshes(): Mesh[];
/**
* 获取所有子网格(递归获取子元素的网格),含实例网格
*/
_getAllSubMeshes2(): Mesh[];
/**
* 计算包围盒
*/
computeBoundingInfo(): void;
/**
*