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、管线、精模数据、矢量缓存数据均可以采用此种格式存储。
-
-
字段概要
字段 限定符和类型 字段和说明 double
maxDataValue
获取图层的最大高度.double
minDataValue
获取图层的最小高度.
-
方法概要
所有方法 实例方法 具体方法 限定符和类型 方法和说明 int
addFlattenRegion(Geometry geometry, java.lang.String tag)
添加压平区域来压平当前的osgb模型。void
clearFlattenRegion()
清除所有压平区域对象,恢复OSGB模型的初始状态。void
clearObjectsColor()
清除所有对象的颜色。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)
获取多数据源属性信息接口FieldInfos
getFieldInfos()
返回属性表信息。java.lang.Object
getFieldValueOfSelectedObject(int index)
返回选中对象的属性数据表中指定ID字段的值。Geometry
getFlattenRegion(int index)
返回指定索引的压平区域对象。int
getFlattenRegionCount()
返回当前场景的压平区域对象个数。java.lang.String
getFlattenRegionTag(int index)
返回指定索引的压平区域对象的标签。HypsometricSetting
getHypsometricSetting()
获取图层分层设色对象。double
getLODRangeScale()
返回LOD层级切换的距离缩放系数。void
getObjectsColor(int[] ids, Color[] colors)
获取指定OSGB模型ID队列的颜色。int
getObjectsColorCount()
返回设置颜色的对象个数。GeoStyle3D
getStyle()
返回OSGB缓存图层的风格。int
indexOfFlattenRegion(java.lang.String tag)
通过标签获取压平区域的索引号。void
removeAllObjsOffset()
清除所有的对象偏移boolean
removeFlattenRegion(int index)
移除指定索引的压平区域。void
removeObjectsColor(int[] ids)
移除指定ID队列模型的颜色。void
setARModelRotation(double rotX, double rotY, double rotZ)
AR图层设置旋转void
setARModelScale(double valuex, double valuey, double valuez)
AR图层设置放缩void
setDistanceVisible(double distance)
AR设置可见距离boolean
setFlattenRegionTag(int index, java.lang.String tag)
设置指定索引的压平区域对象的标签。void
setHypsometricSetting(HypsometricSetting HypsometricSetting)
设置图层分层设色对象。void
setInitialized(boolean status)
设置图层是否初始化 设置FALSE时会重新初始化图层void
setLODRangeScale(double value)
设置LOD层级切换距离缩放系数。void
setObjectsColor(int[] ids, Color value)
设置指定OSGB模型ID队列的模型颜色。void
setObjectsVisible(int[] ids, boolean value)
设置指定OSGB模型ID队列的模型是否可见,并与模型成互斥可见关系。void
setOnlyObjectsVisible(int[] ids, boolean value)
设置指定OSGB模型ID队列的模型是否可见(手动设置)。void
setSelectedTranslate(double translateX, double translateY, double translateZ)
设置选中对象的偏移位置void
setStyle(GeoStyle3D geoStyle3D)
设置OSGB缓存图层的风格。void
setTranslation(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
-
-
-