1. 常量和全局变量
位于:BOS3D.**
1.1. GlobalData
全局数据,可修改
名称 | 说明 | 类型 | 默认 | 示例 |
---|---|---|---|---|
UserControlView | 用户控制初始视角 | 布尔值 boolean | false | false |
EnableClippingCaps | 是否允许切面补面 | 布尔值 boolean | true | true |
EnableTextureLoading | 是否允许使用纹理 | 布尔值 boolean | true | true |
EnableTransformAoMap | aomap 是否受矩阵影响 | 布尔值 boolean | true | true |
DisableAntialias | 禁用抗锯齿 | 布尔值 boolean | false | true |
EnableZoomToComponentByDClick | 是否允许双击时聚焦到构件 | 布尔值 boolean | true | true |
SelectionColor | 构件选中时材质 | 对象 object | {color: 0x3fad00, side: THREE.DoubleSide | {color: 0x00ff00, side: THREE.DoubleSide |
DisableAntialias | 抗锯齿 | 布尔值 boolean | true | false |
AutoMergeComponent | 自动合并构件 | 布尔值 boolean | true | false |
AutoMergeComponentCount | 自动合并构件的数量阈值 | 数值 number | 10000 | 200 |
EnableViewController | 是否显示视图控制器(在初始化Viewer模块前更改才能生效) | 布尔值 boolean | true | false |
Hover | 鼠标覆盖构件时显示差异 | 布尔值 boolean | false | false |
EnableHitDetection | 是否启用碰撞检测 | 布尔值 boolean | false | false |
EnableSelectionOutline | 是否开启选择轮廓线 | 布尔值 boolean | false | false |
EnableSelectionByTranslucent | 是否开启透明时可选中 | 布尔值 boolean | false | false |
EnableSelectionBoundingBox | 是否开启选中时显示包围盒 | 布尔值 boolean | false | false |
EnableAnimation | 是否允许fbx动画 | 布尔值 boolean | true | false |
LoadComponentOnDemand | 是否由用户指定加载构件 | 布尔值 boolean | false | true |
EnableLogarithmicDepthBuffer | 是否使用对数缓冲区 | 布尔值 boolean | false | true |
notDepthWriteByTransparent | 当构件透明时禁用写入深度 | 布尔值 boolean | false | true |
ConstraintZoom | 是否启用缩放阈值控制 | 布尔值 boolean | false | true |
geometricErrorThresholdValue | 几何误差阈值,大于该值时加载构件,小于时隐藏构件(3Dtile模型适用) | 数值 number | 100 | 80 |
MaximumAvailableMemory | 最大可用内存,当实际内存大于该值时,将尝试卸载不可见的构件(3Dtiles模型适用) | 布尔值 boolean | false | true |
PickingEffect | 是否启用新的拾取效果,如果启用,将会覆盖 EnableSelectionOutline 设置 | 布尔值 boolean | true | true |
loadBatch | 是否启用批量加载,如果场景中只有批量数据,那么该设置无效 | 布尔值 boolean | true | false |
alphaTest | alphaMap的alpha测试,不透明度大于该值才会显示 | 数值 Number 值域0-1 | 0.5 | 0.2 |
EnableCreateMiniMap | 是否在前端生成小地图,从4.18.0版本开始默认为false,小地图生成由服务端进行 | 布尔值 boolean | false | true |
MultipleSelectComponents | 在按下ctrl键时,是否允许构件的多选 | 布尔值 boolean | true | false |
ContinueRender | 持续渲染,自动更新画布内容,适用于视频融合等需要持续渲染的情况。开启后会增加能耗 | 布尔值 boolean | false | false |
KeepViewState | 保持视角不变,当加载多个模型,希望后加载的模型不影响调整好的视角时开启 | 布尔值 boolean | false | false |
usePack | 使用启动数据包模式(需要服务端数据支持)加载模型,对于大部分模型,启动后能加快加载速度、减少资源占用。需要在模型加载之前设置 | 布尔值 boolean | false | false |
enableOcclusion | 对于启动数据包模式加载的模型,是否开启遮挡剔除优化,对于部分模型,可以提高渲染性能 | 布尔值 boolean | false | false |
1.2. CAMERATYPE
相机类型 静态
- CAMERATYPE.ORTHOGRAPHIC 正交相机
- CAMERATYPE.PERSPECTIVE 透视相机
1.3. IDENTITYMATRIX4
单位矩阵4*4 静态
1.4. IDENTITYMATRIX3
单位矩阵3*3 静态
1.5. DefaultInvisibleComponentType
默认不显示的构件类型 可修改
- IfcOpeningElement
- IfcSpace
- OST_Rooms //适配不同语言的revit软件
- "房间"
1.6. EnumStandardView
标准视角 静态
//6个面
- Top
- Bottom
- Front
- Back
- Right
- Left
8个顶点
- TopFrontRight
- TopFrontLeft
- TopBackRight
- TopBackLeft
- BottomFrontRight
- BottomFrontLeft
- BottomBackRight
- BottomBackLeft
12条棱
- TopFront
- TopBack
- TopRight
- TopLeft
- BottomFront
- BottomBack
- BottomRight
- BottomLeft
- FrontRight
- FrontLeft
- BackRight
- BackLeft
1.7. EVENTS
事件 静态 模型相关事件
- ERROR 发生错误
- ON_LOAD_START 开始加载, 订阅的参数:{type:ON_LOAD_START,modelKey:String}
ON_LOAD_PROGRESS 加载进度通知, 订阅的参数:{type:ON_LOAD_PROGRESS,progress:Number,modelKey:String}
ON_LOAD_COMPLETE 加载完成, 订阅的参数:{type:ON_LOAD_COMPLETE,modelKey:String}
- ON_LOAD_EMPTY_SCENE 加载了空场景,
- ON_LOAD_CONFIG_FINISH 模型配置加载完成,
ON_LOAD_INVALID_SCENE 加载了非法场景,
ON_NETWORK_ERROR 网络错误,
- ACCOUNT_NO_EXIST 无法获取用户,
- NO_PERMISSION 没有权限,
ON_LOAD_ERROR 加载错误,
ON_SELECTION_CHANGED 选中发生变更,
- ON_RECTPICK_ADD 框选添加,
ON_RECTPICK_REMOVE 框选移除,
ON_CLICK_PICK 点击拾取, 订阅的参数:{type:ON_CLICK_PICK,event: Object,doubleClick: Boolean,canvasPos: Object,intersectInfo: Object}
- ON_HOVER_PICK 悬停拾取, 订阅的参数:{type:ON_CLICK_PICK,event: Object,canvasPos: Object,intersectInfo: Object}
- ON_MEASURE_PICK 测量点击,
- ON_SELECTION_FAILED 拾取失败,
- ON_CLIP_HOVER 剖切悬停,
- ON_HOVER_SNAP 剖切填充悬停,
- ON_CLIP_MOUSE_MOVE 剖切鼠标移动,
- ON_CLIP_MOUSE_DOWN 剖切鼠标按下,
- ON_CAMERA_HEIGHT_CHANGED 漫游人物高度变更,
- ON_CAMERA_CHANGED_AND_RENDERED 相机改变并且渲染完成,
- ON_MODEL_MATRIX_CHANGED 模型矩阵发生变化,
- ON_DATABASE_OPEN 数据库打开, 订阅的参数:{type:ON_DATABASE_OPEN}
- ON_DATABASE_CLOSE 数据库关闭, 订阅的参数:{type:ON_DATABASE_CLOSE}
- ON_DATABASE_ADD 添加数据,
- ON_DATABASE_DELETE 删除数据,
- ON_DATABASE_CLERA 清理数据,
- ON_DATABASE_EEEOR 数据库错误, 订阅的参数:{type:ON_DATABASE_EEEOR}
- ON_CLIP_HOVER 剖切覆盖,
- ON_CLIP_MOUSE_MOVE 剖切鼠标移动,
ON_CLIP_MOUSE_DOWN 剖切鼠标按下,
BEFORE_RESETSCENE 场景重置之前, 订阅的参数:{type:BEFORE_RESETSCENE,data:Object},data是场景重置的参数,无参数则重置全部
AFTER_RESETSCENE: 场景重置之后 订阅的参数:{type:AFTER_RESETSCENE,data:Object},data是场景重置的参数,无参数则重置全部
ON_MAP_CREATED 地图被创建
- ON_MAP_LOAD_ALL 地图加载完成
相机相关事件
- ON_CAMERA_CHANGE 视角、相机变更, 订阅的参数:{type:ON_CAMERA_CHANGE,camera:BOS3D.Camera}
控制相关事件
- ON_CONTROL_ENTER 进入控制模式, 订阅的参数:{type:ON_CONTROL_ENTER,name:String}
- ON_CONTROL_EXIST 退出控制模式, 订阅的参数:{type:ON_CONTROL_EXIST,name:String}
- ON_POINTERLOCK_EXIST 退出自由漫游的沉浸控制模式, 订阅的参数:{type:ON_POINTERLOCK_EXIST,name:String}
- ON_CONTROL_BEGIN 控制开始, 订阅的参数:{type:ON_CONTROL_BEGIN,name:String,control:String}
- ON_CONTROL_END 控制结束, 订阅的参数:{type:ON_CONTROL_END,name:String,control:String}
- ON_CONTROL_MOUSEMOVE 发生鼠标移动, 订阅的参数:{type:ON_CONTROL_MOUSEMOVE,name:String,control:String}
- ON_CONTROL_ZOOM 发生缩放, 订阅的参数:{type:ON_CONTROL_ZOOM}
- ON_CONTROL_PANING 发生平移, 订阅的参数:{type:ON_CONTROL_PANING}
- ON_CONTROL_ROTATING 发生旋转, 订阅的参数:{type:ON_CONTROL_ROTATING}
- ON_CONTROL_WALKING 发生漫游移动, 订阅的参数:{type:ON_CONTROL_WALKING}
- ON_CONTROL_UPDATEUI UI需要更新,
- ON_CONTROL_KEYDOWN 键盘按下,
- ON_CONTROL_KEYUP 键盘抬起
- ON_CAMERA_ANIMATION_UPDATE 相机动画更新 订阅的参数:{type:ON_CAMERA_ANIMATION_UPDATE}
标签聚合相关事件
- ON_AGGREGATE_ONCLICK 聚合标签鼠标点击事件
- ON_AGGREGATE_HOVER 聚合标签鼠标hover事件
1.8. RENDEREVENTS
渲染相关事件
- WEBGL_CONTEXT_LOST webgl上下文丢失
- WEBGL_CONTEXT_RESTORED webgl上下文恢复
- PRE_RENDER:准备渲染,
- RENDER: 渲染,
- FINISH_RENDER: 完成渲染
1.9. LOADERROREVENTS
从5.5起,该对象和EVENT对象保持一致。加载发生错误时,统一触发ON_LOAD_ERROR事件。事件的具体错误原因保存在event.errorType,这里的值对应以下具体错误事件类型。 加载出错的详细事件
- LOAD_COMPONENT_ERROR: 加载构件出错,
- LOAD_MATERIAL_ERROR: 加载材质出错,
- LOAD_GEOMETRY_ERROR: 加载几何出错,
- LOAD_TEXTURE_ERROR: 加载纹理出错,
- PARSEFAILE: 模型解析失败,
- PARSING: 模型解析中,
- LOAD_ERROR: 加载出现错误,
- SCENE_NOT_CLOSE: 场景包没有闭合,
SCENE_NOTHING_TO_LOAD: 场景中没有可加载的内容,
LOAD_SCENE_ERROR: 加载场景出现错误,
1.10. EnumRenderType
渲染事件类型枚举
- RENDER: 渲染
- RENDER_FINISHED: 渲染完成
- RESIZE: 尺寸变更
1.11. RotatePivotMode
旋转模式控制 静态
- MOUSEPOINT 绕鼠标按下位置对应的构件旋转
- SELECTION 绕选中的构件旋转
- CENTER 绕场景中心旋转
- CAMERA 绕相机旋转
1.12. ControlMode
控制模式 静态
- ORBIT 自由旋转模式
- PICK 单选模式
- PAN 平移模式
- ZOOM 缩放模式
- WALK 漫游模式
1.13. ToolMode
工具控制模式 静态
- PICK_BY_RECT 框选模式
- ZOOM_BY_RECT 框选缩放模式
- CLIP_BY_BOX 盒切模式
- CLIP_FILL 自由剖切,
- PICK_BY_MEASURE: 测量模式
- COMPONENT_TRANSFORM 构件变换模式
1.14. DrawingStyle
构件绘制的模式
- SHADING: 单面片模式,
- BOARDLINE: 单边界、轮廓模式,
- SHADINGWITHLINE: 面片+边界模式
1.15. EnumLengthUnits
模型、场景单位
- Centimeter: "cm",
- Decimetre: "dm",
- Meter: "m",
- Millimeter: "mm",
- Kilometer: "km"
1.16. ControlConfig
控制配置(可修改)
名称 | 说明 | 类型 | 默认 | 示例 |
---|---|---|---|---|
ReverseWheelDirection | 是否反转鼠标滚轮缩放方向 | 布尔值 boolean | false | false |
MovementSpeedRate | 运动速率 | 数值 number | 1 | 1.5 |
WalkSpeedRate | 漫游速率 | 数值 number | 1 | 1.5 |
RotatePivotMode | 旋转点模式 | 枚举 | RotatePivotMode.MOUSEPOINT | 见RotatePivotMode |
NoPan | 禁止平移 | 布尔值 boolean | false | false |
NoRotate | 禁止旋转 | 布尔值 boolean | false | false |
NoZoom | 禁止缩放 | 布尔值 boolean | false | false |
NoKey | 禁止按键 | 布尔值 boolean | false | false |