com.supermap.realspace

类 Layer3DOSGBFile



  • public class Layer3DOSGBFile
    extends Layer3D
    三维切片缓存(OSGB)图层类,继承自 Layer3D类。

    OSGB缓存为一种数据存储格式,它具有数据可见范围更大、加载效率高、层级切换平滑及占用内存和CPU更低的优势。倾斜摄影模型、BIM、管线、精模数据、矢量缓存数据均可以采用此种格式存储。

    • 字段详细资料

      • maxDataValue

        public double maxDataValue
        获取图层的最大高度.
      • minDataValue

        public double minDataValue
        获取图层的最小高度.
    • 方法详细资料

      • getLODRangeScale

        public double getLODRangeScale()
        返回LOD层级切换的距离缩放系数。

        OSGB缓存通过设置LOD切换距离来控制在一定距离范围显示LOD层级的某一层。假设LOD切换距离为200米,离相机200米以内的模型将显示LOD第0级(最精细层);200-400米的模型显示第1级(次精细层),以此类推。

        OSGB缓存生成后不能直接改变LOD切换距离值,但可通过更改LOD层级切换距离缩放系数来改变LOD切换距离,即:

        新的LOD切换距离=原始LOD切换距离 * LOD切换距离缩放系数

        返回:
        LOD层级切换的距离缩放系数。
      • setLODRangeScale

        public void setLODRangeScale(double value)
        设置LOD层级切换距离缩放系数。

        OSGB缓存通过设置LOD切换距离来控制在一定距离范围显示LOD层级的某一层。假设LOD切换距离为200米,离相机200米以内的模型将显示LOD第0级(最精细层);200-400米的模型显示第1级(次精细层),以此类推。

        OSGB缓存生成后不能直接改变LOD切换距离值,但可通过更改LOD层级切换距离缩放系数来改变LOD切换距离,即:

        新的LOD切换距离=原始LOD切换距离 * LOD切换距离缩放系数

        参数:
        value - LOD层级切换的距离缩放系数。
      • getStyle

        public GeoStyle3D getStyle()
        返回OSGB缓存图层的风格。
        返回:
        图层风格。
      • setStyle

        public void setStyle(GeoStyle3D geoStyle3D)
        设置OSGB缓存图层的风格。
        参数:
        geoStyle3D - 指定的图层风格。
      • setOnlyObjectsVisible

        public void setOnlyObjectsVisible(int[] ids,
                                          boolean value)
        设置指定OSGB模型ID队列的模型是否可见(手动设置)。
        参数:
        ids - 指定的模型ID队列。
        value - 可见性。
      • setObjectsVisible

        public void setObjectsVisible(int[] ids,
                                      boolean value)
        设置指定OSGB模型ID队列的模型是否可见,并与模型成互斥可见关系。
        参数:
        ids - 指定的模型ID队列。
        value - 可见性。
      • setObjectsColor

        public void setObjectsColor(int[] ids,
                                    Color value)
        设置指定OSGB模型ID队列的模型颜色。
        参数:
        ids - 指定的模型ID队列。
        value - 指定的颜色。
      • getObjectsColor

        public void getObjectsColor(int[] ids,
                                    Color[] colors)
        获取指定OSGB模型ID队列的颜色。
        参数:
        ids - 指定的模型ID队列。
        colors - 颜色数组。
      • getObjectsColorCount

        public int getObjectsColorCount()
        返回设置颜色的对象个数。
        返回:
        设置颜色的对象个数。
      • removeObjectsColor

        public void removeObjectsColor(int[] ids)
        移除指定ID队列模型的颜色。
        参数:
        ids - 待移除颜色的ID队列。
      • clearObjectsColor

        public void clearObjectsColor()
        清除所有对象的颜色。
      • getFlattenRegionCount

        public int getFlattenRegionCount()
        返回当前场景的压平区域对象个数。
        返回:
        压平区域对象个数。
      • addFlattenRegion

        public int addFlattenRegion(Geometry geometry,
                                    java.lang.String tag)
        添加压平区域来压平当前的osgb模型。
        参数:
        geometry - 待添加的压平区域。
        tag - 待添加压平区域的标签。
        返回:
        当前压平区域的索引号。
      • clearFlattenRegion

        public void clearFlattenRegion()
        清除所有压平区域对象,恢复OSGB模型的初始状态。
      • getFlattenRegion

        public Geometry getFlattenRegion(int index)
        返回指定索引的压平区域对象。
        参数:
        index - 指定的索引号。
        返回:
        压平区域对象。
      • getFlattenRegionTag

        public java.lang.String getFlattenRegionTag(int index)
        返回指定索引的压平区域对象的标签。
        参数:
        index - 指定的索引。
        返回:
        压平区域对象标签。
      • indexOfFlattenRegion

        public int indexOfFlattenRegion(java.lang.String tag)
        通过标签获取压平区域的索引号。
        参数:
        tag - 指定的标签。
        返回:
        压平区域的索引号。
      • removeFlattenRegion

        public boolean removeFlattenRegion(int index)
        移除指定索引的压平区域。
        参数:
        index - 待移除的压平对象索引。
        返回:
        移除是否成功。
      • setFlattenRegionTag

        public boolean setFlattenRegionTag(int index,
                                           java.lang.String tag)
        设置指定索引的压平区域对象的标签。
        参数:
        index - 要设置标签的几何对象的索引值。
        tag - 指定的标签。
        返回:
        设置是否成功。
      • getFieldValueOfSelectedObject

        public java.lang.Object getFieldValueOfSelectedObject(int index)
        返回选中对象的属性数据表中指定ID字段的值。
        参数:
        index - 指定的字段ID。
        返回:
        属性值。
      • setHypsometricSetting

        public void setHypsometricSetting(HypsometricSetting HypsometricSetting)
        设置图层分层设色对象。
        参数:
        HypsometricSetting - 指定的分层设色对象。
      • getHypsometricSetting

        public HypsometricSetting getHypsometricSetting()
        获取图层分层设色对象。
        返回:
        分层设色对象。
      • getAllFieldValueOfLastSelectedObject

        public java.lang.Object[] getAllFieldValueOfLastSelectedObject()
        获取最后一次选择的所有属性字段信息。
        返回:
        属性字段信息。
      • getDatasetInfos

        public java.util.ArrayList<java.lang.String> getDatasetInfos(java.util.ArrayList<java.lang.Integer> startid,
                                                                     java.util.ArrayList<java.lang.Integer> endid)
        获取多数据源属性信息接口
        参数:
        startid - 当前数据集的起始ID
        endid - 当前数据集的结束ID
        返回:
        当前数据集的名称
      • setSelectedTranslate

        public void setSelectedTranslate(double translateX,
                                         double translateY,
                                         double translateZ)
        设置选中对象的偏移位置
        参数:
        translateX -
        translateY -
        translateZ -
      • removeAllObjsOffset

        public void removeAllObjsOffset()
        清除所有的对象偏移
      • setARModelScale

        public void setARModelScale(double valuex,
                                    double valuey,
                                    double valuez)
        AR图层设置放缩
        参数:
        value -
      • setARModelRotation

        public void setARModelRotation(double rotX,
                                       double rotY,
                                       double rotZ)
        AR图层设置旋转
        参数:
        value -
      • setTranslation

        public void setTranslation(double rotX,
                                   double rotY,
                                   double rotZ)
        AR图层设置平移
        参数:
        value -
      • setInitialized

        public void setInitialized(boolean status)
        设置图层是否初始化

        设置FALSE时会重新初始化图层

        参数:
        status -
      • setDistanceVisible

        public void setDistanceVisible(double distance)
        AR设置可见距离
        参数:
        distance -