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)
设置当前三维图层在指定视口的可见性。
|
public java.lang.String getName()
三维图层的名称在三维图层所在的三维地图中唯一标识此图层。该标识不区分大小写。
public java.lang.String getCaption()
三维图层的标题为该图层的显示名称,例如在图例或排版制图时显示的图层的名称即为图层的标题。注意与三维图层的名称相区别。
public Layer3DType getType()
Layer3DType
类。public boolean isSelectable()
public void setSelectable(boolean value)
value
- 一个布尔值,指定三维图层是否可选择。public boolean isVisible()
public void setVisible(boolean value)
value
- 一个布尔值,指定三维图层是否可显示。public FieldInfos getFieldInfos()
public Selection3D getSelection()
Selection3D
类。public Rectangle2D getBounds()
对于KML图层,该方法返回全球范围{ -180, 90, 180, -90}。
public Feature3Ds getFeatures()
下图为一个三维要素集合(Feature3Ds
),由图可以看出三维要素集合包括两个部分,一个是三维要素集合的子对象(即树的分枝及枝上的叶子),另一个是三维要素对象(主枝干上的叶子)。每个叶子就是一个三维要素(Feature3D
)对象。 1是主干,2、3、4均是枝干。
public boolean isReleaseWhenInvisible()
public void setReleaseWhenInvisible(boolean value)
value
- 该图层是否在隐藏时释放内存。public java.lang.String getDataName()
public void setVisibleInViewport(int index, boolean value)
index
- 指定的视口索引value
- 指定可见性,true表示可见,false表示不可见。public boolean getVisibleInViewport(int index)
index
- 指定的视口索引。public void clipByBox(GeoBox box, BoxClipPart part)
box
- 指定的长方体盒子part
- 指定裁剪区域public void setCustomClipPlane(Point3D firstPoint, Point3D secondPoint, Point3D thirdPoint)
firstPoint
- 第一个点secondPoint
- 第二个点thirdPoint
- 第三个点public void clearCustomClipPlane()
public void setCustomClipCross(Point3D point3d, Point2D point2d, double rotx, double roty, double rotz, double extrudeDistance)
point3d
- 中心点位置坐标。point2d
- 裁剪区域宽高。rotx
- 裁剪面绕X轴旋转角度。roty
- 裁剪面绕Y轴旋转角度。rotz
- 裁剪面绕Z轴旋转角度。extrudeDistance
- 裁剪区域中心点的拉伸距离。public void setClipLineColor(Color value)
value
- 指定的颜色。public Rectangle2D getSwipeRegion()
public void setSwipeRegion(Rectangle2D rec)
rec
- 卷帘区域,一个Rectangle2D对象public void setSwipeEnable(boolean enable)
enable
- 是否开启卷帘功能,true表示开启卷帘功能,false表示不开启。public boolean isSwipeEnable()
public void setMaxObjectVisibleDistance(double value)
value
- 指定最大可见距离的值。