/** * 3d 元素type 类型,用于cache * 只缓存系统自带核心的元素 */ export const CORE_3D_TYPE: { /** * 核心 renderer */ BASE_RENDER: 'base_renderer'; /** * 核心 camera */ BASE_CAMERA: 'base_camera'; /** * 核心 scene */ BASE_SCENE: 'base_scene'; /** * 与 html 2d 平面交互的3d元素 scene */ CSS_SCENE: 'css_scene'; /** * 用户模型集合,主要用于统一管理非 Scene、Camera、Light 等核心 Object * 可以将 OBJ模型、自定义元素同一放在该节点之下 */ USER_MODEL: 'user_model'; /** * domElement */ DOM_ELEMENT: 'dom_element'; /** * 事件处理器 */ EVENTS: 'events'; /** * 基础控制器 */ ORBIT: 'orbit'; }; /** * 内置 模块 * webglRender、domElement、rootScene、cameraFactory */ export const INNER_MODULE: { WEBGL_RENDER: 'webglRender'; /** three canvas element */ DOM_ELEMENT: 'domElement'; ROOT_SCENE: 'rootScene'; /** camera factory */ CAMERA_FACTORY: 'cameraFactory'; }; /** * 模型类型,主要用于模型的分组,以及独立操作模型 */ export const MODEL_CLASSIFY_MAPPER: { // 未知类型 UNKOWN: 'unkown'; // 所有,缺省值 ALL: 'all'; // 建筑物 (外壳等) BUILDING: 'building'; // 楼层 FLOOR: 'floor'; // 设备 DEVICE: 'device'; // 房顶 ROOF: 'roof'; // 地面、四周环境、基础环境 GROUND: 'ground'; // 其它 OTHER: 'other'; // 背景 BG: 'background'; // 辅助类型 HELPER: 'helper'; }; /** * 模型层级 */ export const MODEL_LEVEL_TYPE: { /** 未知层级 0 */ UNKNOW: 'Unknown'; /** 厂区层级 1 */ PARK: 'Park'; /** 建筑层级 2 */ BUILDING: 'Building'; /** 楼层层级 3 */ FLOOR: 'Floor'; /** 房间层级 4 */ HOUSE: 'House'; /** 物体层级 (最小细粒度的对象)5 */ STUFF: 'Stuff'; }; /** * 画布内置事件 * 全屏事件/单击事件/双击事件 */ export const STAGE_EVENT_TYPE: { /** 全屏事件 */ FULLSCREEN: 'stage_fullscreen'; CLICK: 'stage_click'; DVCLICK: 'stage_dbclick'; }; /** * orbit 控制器 boolean 类型的 trigger */ export const ORBIT_CONTROL_TRIGGER: { enabled: 'enabled'; enableDamping: 'enableDamping'; enableZoom: 'enableZoom'; enableRotate: 'enableRotate'; enablePan: 'enablePan'; screenSpacePanning: 'screenSpacePanning'; autoRotate: 'autoRotate'; enableKeys: 'enableKeys'; }; export const INNER_EVENTS: { OBJ_LOAD_DONE: 'obj_load_done'; // 所有的 obj 已加载完成 OBJ_VISIBLE: 'obj_visible'; // obj 显隐事件 OBJ_SELECTED: 'obj_selected'; // obj 选中事件 // 相机类型事件 CAMERA_ZOOM: 'camera_zoom'; CAMERA_FLY: 'camera_fly'; CAMERA_LOOK: 'camera_look'; CAMERA_FOLLOW: 'camera_follow'; CAMERA_ROTATE: 'camera_rotate'; // resize 事件 COMMON_RESIZE: 'common_resize'; // 通用 resize 事件 ({ type: 'common_resize', width, height }) => {} }; /** * 系统内置 Pivot */ export const INNER_PIVOTS: { // obj editor pivot transformModeChanged: 'transformModeChanged'; snapChanged: 'snapChanged'; spaceChanged: 'spaceChanged'; // object pivot objectSelected: 'objectSelected'; objectFocused: 'objectFocused'; objectAdded: 'objectAdded'; objectChanged: 'objectChanged'; objectRemoved: 'objectRemoved'; // events windowResize: 'windowResize'; // 清除 object 选中 clearSelected: 'clearSelected'; }; /** * 循环类型 */ export const LOOP_TYPES: { /** 不循环,只执行一次 */ No: 'no'; /** 不断循环 */ Repeat: 'repeat'; /** 来回不断循环, 类似于 yoyo */ kickback: 'kickback'; }; /** * Object3D ctl 类型, * RouteLineEditor类型、PolyEditor 类型 * 填充值为了在使用同一个 PositionControls 时,区分执行来自于不同控制器的监听事件 */ export const OBJ_CTL_TYPE: { ROUTELINE_CTL: 'routeline_ctl'; POLYEDITOR_CTL: 'polyeditor_ctl'; };