com.supermap.realspace
类 Layer3DVectorFile

java.lang.Object
  继承者 com.supermap.realspace.Layer3D
      继承者 com.supermap.realspace.Layer3DVectorFile

public class Layer3DVectorFile
extends Layer3D

矢量文件图层类。


方法摘要
 void addGeoModels(GeoModel[] geoModels)
          通过该方法可以动态地添加模型到缓存中。
 Layer3DSetting getAdditionalSetting()
          获取三维缓存图层扩展设置信息。
 Layer3DVectorFileDataType getDataType()
          返回图层的数据类型。
 Feature3D[] getFeature3Ds(int[] ids)
          返回指定 ID 的三维要素对象几何。
 Feature3Ds getFeatures()
          该类不支持该方法。
 FieldInfos getFieldInfos()
          返回矢量文件缓存的字段信息。
 java.lang.Object getFieldValueOfSelectedObject(int index)
          返回矢量文件缓存中当前选中对象某一字段的值。
 java.lang.Object getFieldValueOfSelectedObject(java.lang.String name)
          返回矢量文件缓存中当前选中对象的某一字段的值。
 double getLODDistance()
          返回模型矢量缓存精细显示的距离。
 double getPreloadRange()
          获取预加载范围。
 GeoStyle3D getStyle()
          返回图层的风格。
 double getTileWidth()
          获取矢量图层的瓦片边长。
 Volume3D getVolume()
          获取三维体图层。
 boolean isEditable()
          该类不支持该方法。
 boolean isLod()
          返回矢量图层是否建立了LOD(Level Of Details)。
 boolean isQuickRender()
          返回是否对图层进行快速渲染。
 void modifyFeature3Ds(Feature3D[] features)
          已过时。 
 void setAdditionalSetting(Layer3DSetting value)
          设置三维缓存图层扩展设置信息。
 void setBestLOD(java.util.HashMap<java.lang.Integer,java.lang.Double> lodMap)
          设置模型LOD层显示距离。
 void setEditable(boolean value)
          该类不支持该方法。
 void setLODDistance(double value)
          设置模型矢量缓存精细显示的距离。
 void setObjectsVisible(int[] nIds, boolean bVisible)
          批量设置对象的可见/隐藏状态。
 void setPreloadRange(double range)
          设置预加载范围。
 void setQuickRender(boolean value)
          设置是否对图层进行快速渲染。
 void setStyle(GeoStyle3D geoStyle3D)
          设置图层的风格。
 
从类 com.supermap.realspace.Layer3D 继承的方法
clearCustomClipPlane, clipByBox, fromXML, getAlphaReject, getBounds, getBoxClipPart, getCaption, getClipBox, getCustomClipCross, getDataName, getDescription, getFilterPixelSize, getMapServiceType, getMaxObjectVisibleDistance, getMaxVisibleAltitude, getMinObjectVisibleDistance, getMinVisibleAltitude, getName, getParentGroup, getParentLayer, getPassword, getReceiveSunLight, getSelection, getShdowType, getSnap, getSwipeRegion, getType, getVisibleDistance, getVisibleInViewport, isAlwaysRender, isChangedToLayerStyle, isDisposed, isSelectable, isShadowEnable, isSketchMode, isSwipeEnable, isVisible, isWebDatasource, setAlphaReject, setAlwaysRender, setCaption, setChangedToLayerStyle, setCustomClipCross, setCustomClipPlane, setDescription, setFilterPixelSize, setMaxObjectVisibleDistance, setMaxVisibleAltitude, setMinObjectVisibleDistance, setMinVisibleAltitude, setParentGroup, setReceiveSunLight, setSelectable, setSelection, setShadowEnable, setShadowType, setSketchMode, setSnap, setSwipeEnable, setSwipeRegion, setVisible, setVisibleDistance, setVisibleInViewport, toXML, updateData
 
从类 java.lang.Object 继承的方法
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

方法详细信息

getStyle

public GeoStyle3D getStyle()
返回图层的风格。

返回:
图层的风格。

setStyle

public void setStyle(GeoStyle3D geoStyle3D)
设置图层的风格。

参数:
geoStyle3D - 图层的风格。

getDataType

public Layer3DVectorFileDataType getDataType()
返回图层的数据类型。

返回:
图层的数据类型。

addGeoModels

public void addGeoModels(GeoModel[] geoModels)
通过该方法可以动态地添加模型到缓存中。只允许对矢量模型缓存加载后生成的图层添加模型。

参数:
geoModels - 待添加的模型数组。

getFieldInfos

public FieldInfos getFieldInfos()
返回矢量文件缓存的字段信息。

返回:
矢量文件缓存的字段信息。

getFieldValueOfSelectedObject

public java.lang.Object getFieldValueOfSelectedObject(int index)
返回矢量文件缓存中当前选中对象某一字段的值。

参数:
index - 要取其值的字段的索引。
返回:
矢量文件缓存中当前选中对象某一字段的值。

getFieldValueOfSelectedObject

public java.lang.Object getFieldValueOfSelectedObject(java.lang.String name)
返回矢量文件缓存中当前选中对象的某一字段的值。

参数:
name - 要取其值的字段的名称。
返回:
矢量文件缓存中当前选中对象某一字段的值。

modifyFeature3Ds

@Deprecated
public void modifyFeature3Ds(Feature3D[] features)
已过时。 

用于修改矢量缓存文件中矢量对象的相关信息,指定的对象需要加载到内存中,否则修改可能失败。

该方法只能修改加载到内存中的选中对象,是否加载到内存可通过对象可见与否来判断,即不在当前场景窗口的对象是无法修改的。

参数:
features - 三维要素数组。

getFeature3Ds

public Feature3D[] getFeature3Ds(int[] ids)
返回指定 ID 的三维要素对象几何。

该方法只能得到加载到内存中的选中对象,是否加载到内存可通过对象可见与否来判断,即不在当前场景窗口的对象是无法得到的。

参数:
ids - 用于获得三维要素对象的 ID 数组。
返回:
对应 ID 的对象集合,可能未完全包含 ids 指定的对象。

isQuickRender

public boolean isQuickRender()
返回是否对图层进行快速渲染。目前该快速渲染仅对模型矢量缓存文件(SCV文件)有效。

选择快速渲染方式,将减少模型矢量缓存的加载时间,达到提高性能的目的。

返回:
返回是否对图层进行快速渲染。

setQuickRender

public void setQuickRender(boolean value)
设置是否对图层进行快速渲染。目前该快速渲染仅对模型矢量缓存文件(SCV文件)有效。

选择快速渲染方式,将减少模型矢量缓存的加载时间,达到提高性能的目的。

参数:
value - 是否对图层进行快速渲染。

getLODDistance

public double getLODDistance()
返回模型矢量缓存精细显示的距离。单位为米。该距离仅在 Layer3DVectorFileDataType 设置为 MODEL 时起作用。

返回:
模型矢量缓存精细显示的距离。单位为米。该距离仅在 Layer3DVectorFileDataType 设置为 MODEL 时起作用。
默认值:
默认值为 200.0,单位为米。

setLODDistance

public void setLODDistance(double value)
设置模型矢量缓存精细显示的距离。单位为米。该距离仅在 Layer3DVectorFileDataType 设置为 MODEL 时起作用。

参数:
value - 模型矢量缓存精细显示的距离。单位为米。

getFeatures

public Feature3Ds getFeatures()
该类不支持该方法。

覆盖:
Layer3D 中的 getFeatures
返回:
树状结构的三维要素集合对象。

isEditable

public boolean isEditable()
该类不支持该方法。

覆盖:
Layer3D 中的 isEditable
返回:
一个布尔值,表示三维图层对象是否可编辑。true 表示该三维图层可编辑,false 表示不可编辑。

setEditable

public void setEditable(boolean value)
该类不支持该方法。

覆盖:
Layer3D 中的 setEditable
参数:
value - 一个布尔值,该三维图层对象是否可编辑。true 表示该三维图层可编辑,false 表示不可编辑。

setObjectsVisible

public void setObjectsVisible(int[] nIds,
                              boolean bVisible)
批量设置对象的可见/隐藏状态。

参数:
nIds - 传入指定的对象id数组。
bVisible - 对象是否可见。默认为true,即:可见。

setBestLOD

public void setBestLOD(java.util.HashMap<java.lang.Integer,java.lang.Double> lodMap)
设置模型LOD层显示距离。

参数:
lodMap - 哈希表对象,其中键值为0和1,分别代表设置精细模型显示距离和设置LOD显示距离;映射值为距离值。

isLod

public boolean isLod()
返回矢量图层是否建立了LOD(Level Of Details)。

返回:
是否建立了LOD。

setPreloadRange

public void setPreloadRange(double range)
设置预加载范围。

当用户设置该值后,场景会以(2*range+Scene.CameraFOV)为夹角建立一个新的视景体,以增加模型的加载范围。该加载范围内的模型在漫游时将更加流畅。

参数:
range - 预加载范围。

getPreloadRange

public double getPreloadRange()
获取预加载范围。

返回:
预加载范围。

getTileWidth

public double getTileWidth()
获取矢量图层的瓦片边长。

返回:
瓦片边长。

getVolume

public Volume3D getVolume()
获取三维体图层。

返回:

getAdditionalSetting

public Layer3DSetting getAdditionalSetting()
获取三维缓存图层扩展设置信息。有关三维图层扩展设置,请参见Layer3DSetting 类。

返回:
扩展设置信息。

setAdditionalSetting

public void setAdditionalSetting(Layer3DSetting value)
设置三维缓存图层扩展设置信息。有关三维图层扩展设置,请参见Layer3DSetting 类。

参数:
value - 指定的扩展设置信息。