com.supermap.realspace
类 Layer3D
- java.lang.Object
-
- com.supermap.realspace.Layer3D
-
public class Layer3D extends java.lang.Object
三维图层类。该类提供了三维图层显示和控制等便于三维地图管理的一系列设置方法。
三维图层种类有以下几种:数据集类型三维图层、地图类型三维图层、KML 类型三维图层、影像文件类型三维图层、模型缓存类型三维图层和矢量文件图层。各种类型三维图层可以叠加在一起显示。
三维图层类提供了对三维图层的显示、选择等状态的控制,可以实现控制图层是否可选择,是否显示,还可以利用该类提供的方法返回图层中被选择的对象集合等。
-
-
构造器概要
构造器 构造器和说明 Layer3D()
-
方法概要
所有方法 实例方法 具体方法 限定符和类型 方法和说明 void
clearCustomClipPlane()
清除裁剪面void
clipByBox(GeoBox box, BoxClipPart part)
根据指定的长方体盒子和裁剪区域对图层的可渲染部分进行裁剪Rectangle2D
getBounds()
返回图层的范围。java.lang.String
getCaption()
返回三维图层的标题。java.lang.String
getDataName()
返回图层所使用数据的名称。Feature3Ds
getFeatures()
返回树状结构的三维要素集合对象。FieldInfos
getFieldInfos()
返回三维矢量图层的属性字段信息集合对象。java.lang.String
getName()
返回三维图层的名称。Selection3D
getSelection()
返回三维图层的选择集。Rectangle2D
getSwipeRegion()
获取开启卷帘的区域Layer3DType
getType()
返回三维图层的类型。boolean
getVisibleInViewport(int index)
获取当前三维图层在指定视口的可见性。boolean
isReleaseWhenInvisible()
返回该图层是否在隐藏时释放内存boolean
isSelectable()
返回三维图层中的对象是否可以选择。boolean
isSwipeEnable()
获取是否开启卷帘功能boolean
isVisible()
返回该三维图层是否可显示。void
setClipLineColor(Color value)
设置裁剪边线颜色。void
setCustomClipCross(Point3D point3d, Point2D point2d, double rotx, double roty, double rotz, double extrudeDistance)
corss裁剪分析,根据中心点,裁剪区域宽高,裁剪面绕X轴旋转角度,裁剪面绕Y轴旋转角度,裁剪面绕Z轴旋转角度,裁剪区域中心点的拉伸距离进行裁剪。void
setCustomClipPlane(Point3D firstPoint, Point3D secondPoint, Point3D thirdPoint)
裁剪面分析,按顺序设置三个顶点的位置,裁剪面分析的结果指只显示该面法线方向的部分, 法线遵循右手法则,逆时针法线朝上,顺时针法线朝下,分析结果只显示大拇指方向上的模型结构。void
setMaxObjectVisibleDistance(double value)
设置当前图层内矢量对象的最大可见距离。void
setReleaseWhenInvisible(boolean value)
设置该图层是否在隐藏时释放内存,该属性为 False 表示3D图层隐藏后不释放内存。void
setSelectable(boolean value)
返回三维图层中的对象是否可以选择。void
setSwipeEnable(boolean enable)
设置是否开启卷帘功能void
setSwipeRegion(Rectangle2D rec)
设置开启卷帘的区域void
setVisible(boolean value)
设置该三维图层是否可显示。void
setVisibleInViewport(int index, boolean value)
设置当前三维图层在指定视口的可见性。
-
-
-
方法详细资料
-
getName
public java.lang.String getName()
返回三维图层的名称。三维图层的名称在三维图层所在的三维地图中唯一标识此图层。该标识不区分大小写。
- 返回:
- 三维图层的名称。
-
getCaption
public java.lang.String getCaption()
返回三维图层的标题。三维图层的标题为该图层的显示名称,例如在图例或排版制图时显示的图层的名称即为图层的标题。注意与三维图层的名称相区别。
- 返回:
- 三维图层的标题。
-
getType
public Layer3DType getType()
返回三维图层的类型。有关三维图层的类型,请参见Layer3DType
类。- 返回:
- 三维图层的类型。
-
isSelectable
public boolean isSelectable()
返回三维图层中的对象是否可以选择。true 表示可用鼠标选择相应三维图层中的对象,false 表示该三维图层中的对象不可选。- 返回:
- 三维图层中的对象是否可以选择。
-
setSelectable
public void setSelectable(boolean value)
返回三维图层中的对象是否可以选择。true 表示可用鼠标选择相应三维图层中的对象,false 表示该三维图层中的对象不可选。- 参数:
value
- 一个布尔值,指定三维图层是否可选择。
-
isVisible
public boolean isVisible()
返回该三维图层是否可显示。- 返回:
- 一个布尔值,表示该三维图层是否可显示。false 表示该三维图层不可见;true 表示可见。
- Default:
- 默认值为 false,即该三维图层不可见。
-
setVisible
public void setVisible(boolean value)
设置该三维图层是否可显示。false 表示该三维图层不可见;true 表示可见。- 参数:
value
- 一个布尔值,指定三维图层是否可显示。
-
getFieldInfos
public FieldInfos getFieldInfos()
返回三维矢量图层的属性字段信息集合对象。- 返回:
- Selection3D
-
getSelection
public Selection3D getSelection()
返回三维图层的选择集。详细信息,请参见Selection3D
类。- 返回:
- 三维图层的选择集。
-
getBounds
public Rectangle2D getBounds()
返回图层的范围。对于KML图层,该方法返回全球范围{ -180, 90, 180, -90}。
- 返回:
- 图层的范围。
-
getFeatures
public Feature3Ds getFeatures()
返回树状结构的三维要素集合对象。只针对 KML 类型的三维图层有效,对于其他类型的三维图层返回值为 null。下图为一个三维要素集合(
Feature3Ds
),由图可以看出三维要素集合包括两个部分,一个是三维要素集合的子对象(即树的分枝及枝上的叶子),另一个是三维要素对象(主枝干上的叶子)。每个叶子就是一个三维要素(Feature3D
)对象。 1是主干,2、3、4均是枝干。- 返回:
- 树状结构的三维要素集合对象。
-
isReleaseWhenInvisible
public boolean isReleaseWhenInvisible()
返回该图层是否在隐藏时释放内存- 返回:
- 该图层是否在隐藏时释放内存,该属性为 False 表示3D图层隐藏后不释放内存。
-
setReleaseWhenInvisible
public void setReleaseWhenInvisible(boolean value)
设置该图层是否在隐藏时释放内存,该属性为 False 表示3D图层隐藏后不释放内存。- 参数:
value
- 该图层是否在隐藏时释放内存。
-
getDataName
public java.lang.String getDataName()
返回图层所使用数据的名称。- 返回:
- 数据名称。数据来源于文件时,返回文件全路径名;来源于数据集时,返回“DatasetName@DatasourceAlias”格式的名称;数据来源于Map时,返回地图名称。
-
setVisibleInViewport
public void setVisibleInViewport(int index, boolean value)
设置当前三维图层在指定视口的可见性。设置图层在某一视口中可见,在另一视口不可见,可实现图层的对比显示效果。- 参数:
index
- 指定的视口索引value
- 指定可见性,true表示可见,false表示不可见。
-
getVisibleInViewport
public boolean getVisibleInViewport(int index)
获取当前三维图层在指定视口的可见性。- 参数:
index
- 指定的视口索引。- 返回:
- true表示可见,否则为false。
-
clipByBox
public void clipByBox(GeoBox box, BoxClipPart part)
根据指定的长方体盒子和裁剪区域对图层的可渲染部分进行裁剪- 参数:
box
- 指定的长方体盒子part
- 指定裁剪区域
-
setCustomClipPlane
public void setCustomClipPlane(Point3D firstPoint, Point3D secondPoint, Point3D thirdPoint)
裁剪面分析,按顺序设置三个顶点的位置,裁剪面分析的结果指只显示该面法线方向的部分, 法线遵循右手法则,逆时针法线朝上,顺时针法线朝下,分析结果只显示大拇指方向上的模型结构。- 参数:
firstPoint
- 第一个点secondPoint
- 第二个点thirdPoint
- 第三个点
-
clearCustomClipPlane
public void clearCustomClipPlane()
清除裁剪面
-
setCustomClipCross
public void setCustomClipCross(Point3D point3d, Point2D point2d, double rotx, double roty, double rotz, double extrudeDistance)
corss裁剪分析,根据中心点,裁剪区域宽高,裁剪面绕X轴旋转角度,裁剪面绕Y轴旋转角度,裁剪面绕Z轴旋转角度,裁剪区域中心点的拉伸距离进行裁剪。- 参数:
point3d
- 中心点位置坐标。point2d
- 裁剪区域宽高。rotx
- 裁剪面绕X轴旋转角度。roty
- 裁剪面绕Y轴旋转角度。rotz
- 裁剪面绕Z轴旋转角度。extrudeDistance
- 裁剪区域中心点的拉伸距离。
-
setClipLineColor
public void setClipLineColor(Color value)
设置裁剪边线颜色。- 参数:
value
- 指定的颜色。
-
getSwipeRegion
public Rectangle2D getSwipeRegion()
获取开启卷帘的区域- 返回:
- 卷帘区域,一个Rectangle2D对象
-
setSwipeRegion
public void setSwipeRegion(Rectangle2D rec)
设置开启卷帘的区域- 参数:
rec
- 卷帘区域,一个Rectangle2D对象
-
setSwipeEnable
public void setSwipeEnable(boolean enable)
设置是否开启卷帘功能- 参数:
enable
- 是否开启卷帘功能,true表示开启卷帘功能,false表示不开启。
-
isSwipeEnable
public boolean isSwipeEnable()
获取是否开启卷帘功能- 返回:
- 该图层是否开启卷帘功能,true表示开启卷帘功能,false表示不开启。
-
setMaxObjectVisibleDistance
public void setMaxObjectVisibleDistance(double value)
设置当前图层内矢量对象的最大可见距离。- 参数:
value
- 指定最大可见距离的值。
-
-