com.supermap.realspace

类 Layer3DOSGBFile



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

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

    • 方法详细资料

      • getFlattenRegionCount

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

        public boolean isExcavation()
        返回该图层是否参与地表开挖。
        返回:
        是否参与地表开挖。
      • setExcavation

        public void setExcavation(boolean bValue)
        获取该图层是否参与地表开挖。
        参数:
        bValue - 是否参与地表开挖。
      • 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 dValue)
        设置LOD层级切换距离缩放系数。

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

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

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

        参数:
        dValue - LOD层级切换距离缩放系数。
      • setObjectsVisible

        public void setObjectsVisible(int[] nIds,
                                      boolean bVisible)
        根据模型ID队列设置模型是否可见。
        参数:
        nIds - 指定的ID队列。
        bVisible - 模型是否可见。
      • addFlattenRegion

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

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

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

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

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

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

        public void setObjectsColor(int[] ids,
                                    Color color)
        设置OSGB缓存图层中指定一组对象的颜色。
        参数:
        ids - 待设置颜色的对象索引列表。
        color - 指定的颜色。
      • getObjectsColor

        public Color[] getObjectsColor()
        返回对象颜色。
        返回:
        对象颜色。
      • getObjectsColorIDs

        public int[] getObjectsColorIDs()
        返回具有颜色的对象ID队列。
        返回:
        具有颜色的对象索引列表。
      • removeObjectsColor

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

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

        public void setSelectionFiltrateByTransparency(double thredhold)
        设置OSGB缓存图层透明过滤阈值,可透过半透明模型来选中位于半透物后面的对象。
        参数:
        thredhold - 透明过滤阈值。
      • getSelectionFiltrateByTransparency

        public double getSelectionFiltrateByTransparency()
        返回OSGB格式缓存图层透明过滤阈值。
        返回:
        透明过滤阈值。
      • getVolume

        public Volume3D getVolume()
        返回三维栅格图层。
        返回:
        三维栅格图层。
      • getFieldInfos

        public FieldInfos getFieldInfos()
        返回属性表信息。
        返回:
        字段信息集合。
      • getFieldValueOfSelectedObject

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

        public Object getFieldValueOfSelectedObject(String name)
        返回选中对象的属性数据表中指定name字段的值。
        参数:
        name - 指定的字段name。
        返回:
        属性值。
      • getVolNames

        public void getVolNames(ArrayList<String> volNames)
        获取所有三维栅格缓存的属性名称列表。
        参数:
        volNames - 所有三维栅格缓存名称列表。
      • getVisibleVolName

        public String getVisibleVolName()
        获取当前显示的三维栅格缓存的属性名称。
      • setVisibleVolName

        public void setVisibleVolName(String value)
        根据指定的名称,设置当前显示的三维栅格缓存。
        参数:
        value - 指定的三维栅格缓存的属性名称。
      • getVisibleVolIndex

        public int getVisibleVolIndex()
        获取当前显示的三维栅格缓存的索引。
      • setVisibleVolIndex

        public void setVisibleVolIndex(int value)
        根据指定的索引,设置当前显示的三维栅格缓存。
        参数:
        value - 指定的三维栅格缓存的索引。
      • getDataType

        public OSGBType getDataType()
        获取三维切片缓存图层的数据类型。
      • setModifyRegions

        public void setModifyRegions(ArrayList<Geometry> regions,
                                     ModifyRegionMode mode)
        设置修改倾斜摄影数据的多边形对象和模式。
        参数:
        regions - 指定的多边形对象列表。
        mode - 修改倾斜摄影数据的模式。
      • clearModifyRegions

        public void clearModifyRegions()
        清空修改倾斜摄影数据的多边形对象。
      • getHistory

        public Calendar getHistory()
        获取当前浏览的历史数据时间。
        返回:
        当前时间。
      • setHistory

        public void setHistory(Calendar value)
        设置当前浏览的历史数据时间。
        参数:
        value - 待设置的历史数据时间。
      • getTransparentSorting

        public boolean getTransparentSorting()
        获取是否透明排序。此属性设置为true,即按透明排序,可以保证两个半透明对象之间的半透效果正确。
        返回:
        是否透明排序。
      • setTransparentSorting

        public void setTransparentSorting(boolean value)
        设置是否透明排序。此属性设置为true,即按透明排序,可以保证两个半透明对象之间的半透效果正确。
        参数:
        value - 指定是否透明排序。
      • getWireFrameMode

        public WireFrameType getWireFrameMode()
        获取模型线框显示模式 。
        返回:
        线框显示模式 。
      • setWireFrameMode

        public void setWireFrameMode(WireFrameType value)
        设置模型线框显示模式 。
        参数:
        value - 指定的线框显示模式 。
      • getBrightness

        public float getBrightness()
        获取图层颜色的亮度。
        返回:
        亮度。
      • setBrightness

        public void setBrightness(float value)
        设置图层颜色的亮度。
        参数:
        value - 指定的亮度。
      • getConstrast

        public float getConstrast()
        获取图层颜色的对比度。
        返回:
        对比度。
      • setConstrast

        public void setConstrast(float value)
        设置图层颜色的对比度。
        参数:
        value - 指定的对比度。
      • getHue

        public float getHue()
        获取图层颜色的色相。
        返回:
        色相。
      • setHue

        public void setHue(float value)
        设置影像颜色的色相。
        参数:
        value - 指定的色相。
      • getSaturation

        public float getSaturation()
        获取图层颜色的饱和度。
        返回:
        饱和度。
      • setSaturation

        public void setSaturation(float value)
        设置图层颜色的饱和度。
        参数:
        value - 指定的饱和度。
      • getGamma

        public float getGamma()
        获取图层颜色的明度。
        返回:
        明度。
      • setGamma

        public void setGamma(float value)
        设置图层颜色的明度。
        参数:
        value - 指定的明度。
      • getConstantPolygonOffset

        public float getConstantPolygonOffset()
        获取多边形偏移常量,默认值为1.0。当值为正值时,表示多边形朝屏幕外偏移;为负值时,表示多边形朝屏幕内偏移。
        返回:
        多边形偏移常量。
      • setConstantPolygonOffset

        public void setConstantPolygonOffset(float value)
        设置多边形偏移常量,默认值为1.0。当值为正值时,表示多边形朝屏幕外偏移;为负值时,表示多边形朝屏幕内偏移。
        参数:
        value - 指定的多边形偏移常量。
      • getSlopeScalePolygonOffset

        public float getSlopeScalePolygonOffset()
        获取多边形偏移深度斜率因子,默认值0.0。深度斜率是指当贯穿一个多边形时,用X坐标(或Y坐标)的变化量除以Z坐标的变化量所得的比值。
        返回:
        多边形偏移深度斜率因子。
      • setSlopeScalePolygonOffset

        public void setSlopeScalePolygonOffset(float value)
        设置多边形偏移深度斜率因子,默认值0.0。深度斜率是指当贯穿一个多边形时,用X坐标(或Y坐标)的变化量除以Z坐标的变化量所得的比值。
        参数:
        value - 指定的多边形偏移深度斜率因子。
      • getStyle

        public GeoStyle3D getStyle()
        获取图层的风格。
        返回:
        图层的风格。
      • setStyle

        public void setStyle(GeoStyle3D value)
        设置图层的风格。
        参数:
        value - 图层的风格。
      • getCullMode

        public CullModeType getCullMode()
        获取单双面绘制模式。
        返回:
        单双面绘制模式。
      • setCullMode

        public void setCullMode(CullModeType value)
        设置单双面绘制模式。
        参数:
        value - 指定的单双面绘制模式。
      • getOperationViewportIndex

        public HashMap<OperationMode,int[]> getOperationViewportIndex()
        获取多视口下对应的操作类型。
        返回:
        获取指定视口下的操作类型,一个字典对象。键值为操作类型,值为视口索引集合。
      • setOperationViewportIndex

        public void setOperationViewportIndex(OperationMode type,
                                              int[] index)
        设置多视口下对应的操作类型。
        参数:
        type - 指定操作模式,包括压平、裁剪、镶嵌、挖洞。
        index - 指定的视口索引集合。
      • getFlattenRegionTag

        public String getFlattenRegionTag(int index)
        获得指定索引的压平对象标签。
        参数:
        index - 索引号
      • isSelectByFile

        public boolean isSelectByFile()
        获取是否根据文件获取切片信息。
      • setSelectByFile

        public void setSelectByFile(boolean value)
        设置是否根据文件获取切片信息。
        参数:
        value - 取切片信息
      • setHypsometricSetting

        public void setHypsometricSetting(HypsometricSetting value)
        设置分层设色对象.
        参数:
        value - 分层设色对象
      • getHypsometricSetting

        public HypsometricSetting getHypsometricSetting()
        获取分层设色对象
      • getMinDataValue

        public double getMinDataValue()
        获取最小值。
      • getMaxDataValue

        public double getMaxDataValue()
        获取最大值。
      • getPointCloudGroupInfos

        public String[] getPointCloudGroupInfos()
        获取点云分组信息。
        返回:
        获得分组集合。
      • getPointCloudGroupBounds

        public Rectangle2D getPointCloudGroupBounds(String groupName)
        获取点云数组的显示范围。
        参数:
        groupName - 分组文件名
        返回:
        获取的点云分组范围。
      • setPointCloudGroupsVisible

        public void setPointCloudGroupsVisible(String[] groupNames,
                                               boolean bVisible)
        设置点云一个或多个点云分组是否可见。
        参数:
        groupNames - 输入分组集合。
        bVisible - 设置指定分组是否可见。
      • getLoadingPriority

        public LoadingPriorityEnum getLoadingPriority()
        获取加载数据调度优先级模式,默认深度优先非线性切换。
        返回:
        加载数据调度优先级模式。
      • setLoadingPriority

        public void setLoadingPriority(LoadingPriorityEnum loadingPriorityType)
        设置加载数据调度优先级模式。
        参数:
        loadingPriorityType - 加载数据调度优先级模式。
      • getAllFieldValueOfSelectedObject

        public Object[] getAllFieldValueOfSelectedObject()
        获取选择对象的所有属性值
        返回:
      • getFlattenHeightOffset

        public float getFlattenHeightOffset()
        获取倾斜压平高度限制值:倾斜压平时,距离矢量面高度大于倾斜压平高度限制值的部分不做压平处理。
        返回:
      • setFlattenHeightOffset

        public void setFlattenHeightOffset(float flattenHeightOffset)
        设置倾斜压平高度限制值。倾斜压平时,距离矢量面高度大于倾斜压平高度限制值的部分不做压平处理。
        参数:
        flattenHeightOffset -
      • getHeightScale

        public float getHeightScale()
        获取白模动态拉伸高度比例
        返回:
      • setHeightScale

        public void setHeightScale(float heightScale)
        设置白模动态拉伸高度比例 该接口使用场景是远处显示面,近处拉伸成模型(有动态拉伸的过程)
      • getMinHeight

        public double getMinHeight()
        获取倾斜摄影模型最小高度,将值传给相机参数,使相机定位更准确。
        返回:
      • getMaxHeight

        public double getMaxHeight()
        获取倾斜摄影模型最大高度,将值传给相机参数,使相机定位更准确。
        返回:
      • getHistoricalRecord

        public Date getHistoricalRecord()
        获取当前倾斜更新产生的时间戳,实现浏览指定时间戳的历史数据。
        返回:
        时间戳,记录了年月日时分秒
      • setHistoricalRecord

        public void setHistoricalRecord(Date date)
        根据倾斜更新产生的时间戳,将相关的时间戳信息设置到图层上,便于历史数据浏览。
        参数:
        date - 时间戳,设置年月日时分秒
      • getHistoricalRecords

        public Date[] getHistoricalRecords()
        获取所有倾斜更新产生的时间戳。
        返回:
        时间戳集合
      • setColorStyle

        public void setColorStyle(ColorStyle colorStyle)
        设置纹理显示风格,仅支持模型或倾斜的三维瓦片。
        参数:
        colorStyle - 纹理显示风格(原始纹理、灰度纹理)
        抛出:
        IllegalStateException - 当前对象已被释放。
        从以下版本开始:
        11.2.0。
      • getColorStyle

        public ColorStyle getColorStyle()
        返回纹理显示风格,仅支持模型或倾斜的三维瓦片。
        返回:
        纹理显示风格(原始纹理、灰度纹理)。
        抛出:
        IllegalStateException - 当前对象已被释放。
        从以下版本开始:
        11.2.0。
      • getValidCategoryFields

        public String[] getValidCategoryFields()
        返回点云瓦片图层当前分层设色的特征值字段。
        返回:
        特征值字段。
        抛出:
        IllegalStateException - 当前对象已被释放。
        从以下版本开始:
        11.2.0。
      • setCurrentCategoryField

        public void setCurrentCategoryField(String categoryField)
        设置当前用于分层设色的特征值字段。
        参数:
        categoryField - 特征值字段。
        抛出:
        IllegalStateException - 当前对象已被释放。
        从以下版本开始:
        11.2.0。
      • getCurrentCategoryField

        public String getCurrentCategoryField()
        返回当前用于分层设色的特征值字段。
        返回:
        特征值字段。
        抛出:
        IllegalStateException - 当前对象已被释放。
        从以下版本开始:
        11.2.0。
      • setIconRelatedTextLayer

        public void setIconRelatedTextLayer(Layer3D layer)
        设置图标关联文字显隐图层ID。对基于同一个点数据集图层生成的图标专题图与标签专题图缓存进行关联显示和隐藏,实现同一个点位的图标和文字同步显隐。
        参数:
        layer - 文字标签专题图缓存的图层。
        抛出:
        IllegalStateException - 当前对象已被释放。
        从以下版本开始:
        11.2.0。

Copyright © 2021–2024 SuperMap. All rights reserved.