com.supermap.realspace
类 Layer3DOSGBFile
- java.lang.Object
-
- com.supermap.realspace.Layer3D
-
- com.supermap.realspace.Layer3DOSGBFile
-
public class Layer3DOSGBFile extends Layer3D
三维切片缓存(OSGB)图层类,继承自 Layer3D类。OSGB缓存为一种数据存储格式,它具有数据可见范围更大、加载效率高、层级切换平滑及占用内存和CPU更低的优势。倾斜摄影模型、BIM、管线、精模数据、矢量缓存数据均可以采用此种格式存储。
-
-
字段概要
字段 限定符和类型 字段和说明 doublemaxDataValue获取图层的最大高度.doubleminDataValue获取图层的最小高度.
-
方法概要
所有方法 实例方法 具体方法 限定符和类型 方法和说明 intaddFlattenRegion(Geometry geometry, java.lang.String tag)添加压平区域来压平当前的osgb模型。voidclearFlattenRegion()清除所有压平区域对象,恢复OSGB模型的初始状态。voidclearObjectsColor()清除所有对象的颜色。java.lang.Object[]getAllFieldValueOfLastSelectedObject()获取最后一次选择的所有属性字段信息。java.util.ArrayList<java.lang.String>getDatasetInfos(java.util.ArrayList<java.lang.Integer> startid, java.util.ArrayList<java.lang.Integer> endid)获取多数据源属性信息接口FieldInfosgetFieldInfos()返回属性表信息。java.lang.ObjectgetFieldValueOfSelectedObject(int index)返回选中对象的属性数据表中指定ID字段的值。GeometrygetFlattenRegion(int index)返回指定索引的压平区域对象。intgetFlattenRegionCount()返回当前场景的压平区域对象个数。java.lang.StringgetFlattenRegionTag(int index)返回指定索引的压平区域对象的标签。HypsometricSettinggetHypsometricSetting()获取图层分层设色对象。doublegetLODRangeScale()返回LOD层级切换的距离缩放系数。voidgetObjectsColor(int[] ids, Color[] colors)获取指定OSGB模型ID队列的颜色。intgetObjectsColorCount()返回设置颜色的对象个数。GeoStyle3DgetStyle()返回OSGB缓存图层的风格。intindexOfFlattenRegion(java.lang.String tag)通过标签获取压平区域的索引号。voidremoveAllObjsOffset()清除所有的对象偏移booleanremoveFlattenRegion(int index)移除指定索引的压平区域。voidremoveObjectsColor(int[] ids)移除指定ID队列模型的颜色。voidsetARModelRotation(double rotX, double rotY, double rotZ)AR图层设置旋转voidsetARModelScale(double valuex, double valuey, double valuez)AR图层设置放缩voidsetDistanceVisible(double distance)AR设置可见距离booleansetFlattenRegionTag(int index, java.lang.String tag)设置指定索引的压平区域对象的标签。voidsetHypsometricSetting(HypsometricSetting HypsometricSetting)设置图层分层设色对象。voidsetInitialized(boolean status)设置图层是否初始化 设置FALSE时会重新初始化图层voidsetLODRangeScale(double value)设置LOD层级切换距离缩放系数。voidsetObjectsColor(int[] ids, Color value)设置指定OSGB模型ID队列的模型颜色。voidsetObjectsVisible(int[] ids, boolean value)设置指定OSGB模型ID队列的模型是否可见,并与模型成互斥可见关系。voidsetOnlyObjectsVisible(int[] ids, boolean value)设置指定OSGB模型ID队列的模型是否可见(手动设置)。voidsetSelectedTranslate(double translateX, double translateY, double translateZ)设置选中对象的偏移位置voidsetStyle(GeoStyle3D geoStyle3D)设置OSGB缓存图层的风格。voidsetTranslation(double rotX, double rotY, double rotZ)AR图层设置平移-
从类继承的方法 com.supermap.realspace.Layer3D
clearCustomClipPlane, clipByBox, getBounds, getCaption, getDataName, getFeatures, getName, getSelection, getSwipeRegion, getType, getVisibleInViewport, isReleaseWhenInvisible, isSelectable, isSwipeEnable, isVisible, setClipLineColor, setCustomClipCross, setCustomClipPlane, setMaxObjectVisibleDistance, setReleaseWhenInvisible, setSelectable, setSwipeEnable, setSwipeRegion, setVisible, setVisibleInViewport
-
-
-
-
字段详细资料
-
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- 指定的标签。- 返回:
- 设置是否成功。
-
getFieldInfos
public FieldInfos getFieldInfos()
返回属性表信息。- 覆盖:
getFieldInfos在类中Layer3D- 返回:
- 字段信息集合。
-
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- 当前数据集的起始IDendid- 当前数据集的结束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-
-
-