[:zh]

更新概述:

V1.6更新内容较多,功能更新如下:

  1. 增加框选功能控件,提供四种框选模式,并提供API接口;
  2. 增加构件选中的高亮显示模式切换;
  3. 场景参数配置中增加了一系列的选项,包括智能色彩校正、透明度是否开启等;
  4. 优化视角立方体(ViewBox)和输出问题鼠标误选中的问题;
  5. 漫游模式增加“固定当前高度”开关,方便在楼层中漫游;
  6. 增加双击构件/Marker的事件,视角自动平移并缩放至构件位置,并提供两个API接口;
  7. 加入支持构件空间变换的操作API接口,包括平移,选择,缩放;基于该接口,我们做了场景“爆炸”功能,也可以实现动画施工模拟,参考Example;
  8. 修改了用户反馈的bug。

V1.6.0的API更新如下:

  1. BIMVIZ.RenderEngine
    flyToElementByBox(相机平移飞到构件包围盒中心,距离为包围盒大小倍数)
    flyToElementByDistance(相机平移飞到构件包围盒中心)
    getCamera3rdViewFixedTarget(第三视角时,观察点位置是否固定)
    setCamera3rdViewFixedTarget(第三视角时,设置观察点位置是否固定)
    isEnableCamera1rdRoamingFixedElevation(第一视角时,固定当前高度)
    enableCamera1rdRoamingFixedElevation(第一视角时,设置是否固定当前高度)
    getCamera1rdRoamingFixedElevation(第一视角时,返回固定高度)
    setCamera1rdRoamingFixedElevation(第一视角时,设置固定高度)
    flyToPositionByDistance(相机视点飞到某个位置,使用动画模式)
    getElementNodeList(获取所有构件节点)
    getElementAxisAlignedBox(获取原始构件的包围盒)
    getTransformedElementAxisAlignedBox(获取变化后构件的包围盒)
    getRectSelectManager(返回框选管理器)
    getElementTransform(获取构件的坐标变换对象)
    transformElement(设置构件的坐标变换对象)
    translateElement(设置构件的平移参数)
    rotateElement(设置构件的旋转参数)
    scaleElement(设置构件的缩放参数)
    showGround设置场景是否显示地面
  2. BIMVIZ.RectSelectManager
  3. BIMVIZ.HightlightShowOrderMode
  4. BIMVIZ.D3.Transform

注:本次更新无需重新导出Bzip以及重新生成场景。

私有云用户请去BimViz技术交流QQ群中下载升级包,QQ群号:399419276


详细更新说明:

1. 增加控件 DefaultRectSelectControl.js, 场景中名称为“框选”,按钮图标为

框选概念说明详见:

框选

控件打开状态下,按住Shift激活左键拖拽框选功能。

系统提供了四种多次框选的方式:

重置:多次框选,仅保留最后一次选择结果;

并集:多次框选,选择结果叠加;

交集:多次框选,仅保留多次结果的重复部分;

减去:多次框选,去除结果中的重复部分。

控件中提供实现上述四种模式的源代码。

另外,增加了系统层面的框选功能:任意界面下,按住Ctrl+左键拖拽框选构件(仅并集模式:多次框选,选择结果叠加)。

2. 增加构件选中的高亮显示模式切换。

始终在最前:多次框选,仅保留最后一次选择结果;

可被遮挡:多次框选,选择结果叠加。

3. 场景参数配置中增加了一系列的选项,包括智能色彩校正、透明度是否开启等。

其中,透明度来源,选择了“模型材质”后,便可以关闭BimViz的特殊透明度效果。

4. 优化视角立方体(ViewBox)和输出问题鼠标误选中的问题;

5. 第一人称漫游模式增加“固定当前高度”开关,方便在楼层或隧道中漫游;

 

6.增加双击构件的事件,视角自动平移并缩放至构件位置,并提供三个API接口;

  1. 加入RenderEngine.flyToElementByDistance(elementId, distance, callback),飞到指定构件时,可以指定距离和回调;
  2. 加入RenderEngine.flyToElementByBox(elementId, boxDistanceFactor, callback),飞到指定构件时,可以指定根据包围盒大小自动计算距离和回调, 距离=包围盒大小与倍数因子的乘积;
  3. 加入RenderEngine.flyToPositionByDistance(position, distance, callback),飞到指定位置时,可以指定距离和回调,比如可以控制飞到Marker的距离。


7.加入支持构件空间变换的操作API接口,包括平移,选择,缩放;

接口为:getElementTransform,transformElement,translateElement,rotateElement,scaleElement,详见:

构件的坐标变换

如何对构件进行坐标变换

基于该接口,我们做了场景“爆炸”功能。

也可以实现动画施工模拟,参考Example:


8.修改了用户反馈的bug。

1. 修复:RenderEngine的getElementAxisAlignedBox错误
2. 修复:RenderEngine.flyToElement当初始设置cameraMove为false时,不起作用的bug

9.优化了点选高亮构件的执行效率。
[:]

Leave A Comment

*
*