public class Layer3DOSGBFile extends 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()
返回设置颜色的对象个数。
|
Point3D |
getPositon()
获取图层的中心点
|
GeoStyle3D |
getStyle()
返回OSGB缓存图层的风格。
|
int |
indexOfFlattenRegion(java.lang.String tag)
通过标签获取压平区域的索引号。
|
boolean |
removeFlattenRegion(int index)
移除指定索引的压平区域。
|
void |
removeObjectsColor(int[] ids)
移除指定ID队列模型的颜色。
|
boolean |
setFlattenRegionTag(int index, java.lang.String tag)
设置指定索引的压平区域对象的标签。
|
void |
setHypsometricSetting(HypsometricSetting HypsometricSetting)
设置图层分层设色对象。
|
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 |
setStyle(GeoStyle3D geoStyle3D)
设置OSGB缓存图层的风格。
|
void |
setSelectedTranslate(final double translateX,final double translateY,final double translateZ)
设置选中对象的偏移位置。
|
void |
removeAllObjsOffset()
清除所有的对象偏移。
|
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
public double maxDataValue
public double minDataValue
public double getLODRangeScale()
OSGB缓存通过设置LOD切换距离来控制在一定距离范围显示LOD层级的某一层。假设LOD切换距离为200米,离相机200米以内的模型将显示LOD第0级(最精细层);200-400米的模型显示第1级(次精细层),以此类推。
OSGB缓存生成后不能直接改变LOD切换距离值,但可通过更改LOD层级切换距离缩放系数来改变LOD切换距离,即:
新的LOD切换距离=原始LOD切换距离 * LOD切换距离缩放系数
public void setLODRangeScale(double value)
OSGB缓存通过设置LOD切换距离来控制在一定距离范围显示LOD层级的某一层。假设LOD切换距离为200米,离相机200米以内的模型将显示LOD第0级(最精细层);200-400米的模型显示第1级(次精细层),以此类推。
OSGB缓存生成后不能直接改变LOD切换距离值,但可通过更改LOD层级切换距离缩放系数来改变LOD切换距离,即:
新的LOD切换距离=原始LOD切换距离 * LOD切换距离缩放系数
value
- LOD层级切换的距离缩放系数。public GeoStyle3D getStyle()
public void setStyle(GeoStyle3D geoStyle3D)
geoStyle3D
- 指定的图层风格。public void setOnlyObjectsVisible(int[] ids, boolean value)
ids
- 指定的模型ID队列。value
- 可见性。public void setObjectsVisible(int[] ids, boolean value)
ids
- 指定的模型ID队列。value
- 可见性。public void setObjectsColor(int[] ids, Color value)
ids
- 指定的模型ID队列。value
- 指定的颜色。public void getObjectsColor(int[] ids, Color[] colors)
ids
- 指定的模型ID队列。colors
- 颜色数组。public int getObjectsColorCount()
public void removeObjectsColor(int[] ids)
ids
- 待移除颜色的ID队列。public void clearObjectsColor()
public int getFlattenRegionCount()
public int addFlattenRegion(Geometry geometry, java.lang.String tag)
geometry
- 待添加的压平区域。tag
- 待添加压平区域的标签。public void clearFlattenRegion()
public Geometry getFlattenRegion(int index)
index
- 指定的索引号。public java.lang.String getFlattenRegionTag(int index)
index
- 指定的索引。public int indexOfFlattenRegion(java.lang.String tag)
tag
- 指定的标签。public boolean removeFlattenRegion(int index)
index
- 待移除的压平对象索引。public boolean setFlattenRegionTag(int index, java.lang.String tag)
index
- 要设置标签的几何对象的索引值。tag
- 指定的标签。public FieldInfos getFieldInfos()
getFieldInfos
在类中 Layer3D
public java.lang.Object getFieldValueOfSelectedObject(int index)
index
- 指定的字段ID。public void setHypsometricSetting(HypsometricSetting HypsometricSetting)
HypsometricSetting
- 指定的分层设色对象。public HypsometricSetting getHypsometricSetting()
public java.lang.Object[] getAllFieldValueOfLastSelectedObject()
public java.util.ArrayList<java.lang.String> getDatasetInfos(java.util.ArrayList<java.lang.Integer> startid, java.util.ArrayList<java.lang.Integer> endid)
startid
- 当前数据集的起始IDendid
- 当前数据集的结束IDpublic Point3D getPositon()
public void setSelectedTranslate(final double translateX,final double translateY,final double translateZ)
translateX
- 设定偏移的x坐标偏移量translateY
- 设定偏移的x坐标偏移量translateZ
- 设定偏移的x坐标偏移量public void removeAllObjsOffset()