com.supermap.realspace.spatialanalyst
类 Skyline
- java.lang.Object
-
- com.supermap.data.InternalHandle
-
- com.supermap.data.InternalHandleDisposable
-
- com.supermap.realspace.spatialanalyst.Skyline
-
- 所有已实现的接口:
- IDisposable
public class Skyline extends com.supermap.data.InternalHandleDisposable
天际线分析,设定观察者位置、观察方向、添加限高体区域对象,执行天际线分析,并在指定的场景中得到分析结果。- 作者:
- hup
-
-
方法概要
所有方法 实例方法 具体方法 限定符和类型 方法和说明 int
AddLimitBody(GeoRegion3D region3d)
添加指定的限高体区域对象,并返回指定对象的索引号。boolean
build()
执行天际线分析。void
clear()
清除分析结果。void
dispose()
释放对象占用的本地资源。Color
getColor()
获取天际线的颜色。double
getDirection()
获取相机与正北方向的夹角,单位:度。SkylineDisplayMode
getDisplayStyle()
获取天际线的显示模式。int
getInViewport()
获取天际线分析进行的指定视口。int
getLimitBodyCount()
获取分析中限高体区域的个数。GeoModel
getLimitModel(int index)
获取指定位限高体区域位置的限高体对象。GeoRegion3D
getLimitRegion(int index)
根据指定的索引号,获取对应的限高体区域对象。double
getLineWidth()
返回天际线线宽,单位为像素。boolean
getLookAround()
获取是否生成360°的天际线。void
getObjsVisible(HashMap<String,int[]> value)
获取天际线的可见对象ID集合。double
getPitch()
获取相机的俯仰角,注意:该俯仰指相机方向和水面方向的夹角,单位:度。AnalysisQuality
getQuality()
获取天际线分析的质量。double
getRadius()
获取天际线与观察点之间的水平距离。GeoLine3D
getSkyline()
返回天际线对象。GeoLine
getSkyline2D()
获取天际线二维线对象。GeoModel3D
getSkylineSector()
获取天际线与观察点构成的扇形面。GeoModel3D
getSkylineSector(double dSectorRadius)
获取天际线与观察点构成的扇形面。GeoModel3D
getSkylineSectorBody(double dHeight)
获取天际线与观察点构成的扇形面拉伸体。GeoModel3D
getSkylineSectorBody(double dHeight, double dBodyRadius)
获取天际线与观察点构成的扇形面拉伸体。Point3D
getViewerPosition()
获取观察者的位置。void
locateToViewerPosition()
将相机定位到观察者的位置。void
removeAllLimitBodies()
移除索引的限高体对象。boolean
removeLimitBody(int index)
移除指定位置的限高体对象。void
setColor(Color color)
设置天际线的颜色。void
setDirection(double direction)
设置相机与正北方向的夹角,单位:度。void
setDisplayStyle(SkylineDisplayMode displayMode)
设置天际线的显示模式。void
setInViewport(int value)
设置天际线分析在指定视口进行。void
setLimitBody(int index, GeoRegion3D region3d)
设置限高体对象。void
setLineWidth(double value)
设置天际线线宽,单位为像素。void
setLookAround(boolean value)
设置是否生成360°的天际线。void
setPitch(double pitch)
设置相机的俯仰角,注意:该俯仰指相机方向和水面方向的夹角,单位:度。void
setQuality(AnalysisQuality quality)
设置天际线分析的质量。void
setRadius(double value)
设置天际线与观察点之间的水平距离。void
setViewerPosition(Point3D position)
设置观察者的位置。void
setViewerVisible(boolean visible)
设置观测点是否可见。
-
-
-
构造器详细资料
-
Skyline
public Skyline(Scene scene)
根据指定的Scene对象,构造一个新的Skyline对象。- 参数:
scene
- 指定的场景对象。
-
-
方法详细资料
-
dispose
public void dispose()
释放对象占用的本地资源。
-
getViewerPosition
public Point3D getViewerPosition()
获取观察者的位置。- 返回:
- 观察者的位置。
-
setViewerPosition
public void setViewerPosition(Point3D position)
设置观察者的位置。- 参数:
position
- 指定的点位置。
-
getDirection
public double getDirection()
获取相机与正北方向的夹角,单位:度。- 返回:
- 相机与正北方向的夹角。
-
setDirection
public void setDirection(double direction)
设置相机与正北方向的夹角,单位:度。- 参数:
direction
- 指定的角度。
-
getPitch
public double getPitch()
获取相机的俯仰角,注意:该俯仰指相机方向和水面方向的夹角,单位:度。- 返回:
- 相机的俯仰角。
-
setPitch
public void setPitch(double pitch)
设置相机的俯仰角,注意:该俯仰指相机方向和水面方向的夹角,单位:度。- 参数:
pitch
- 指定的俯仰角度值。
-
getColor
public Color getColor()
获取天际线的颜色。- 返回:
- 天际线的颜色。
-
setColor
public void setColor(Color color)
设置天际线的颜色。- 参数:
color
- 指定的颜色。
-
getQuality
public AnalysisQuality getQuality()
获取天际线分析的质量。- 返回:
- 天际线分析的质量。
-
setQuality
public void setQuality(AnalysisQuality quality)
设置天际线分析的质量。- 参数:
quality
- 指定的分析质量。
-
getDisplayStyle
public SkylineDisplayMode getDisplayStyle()
获取天际线的显示模式。- 返回:
- 天际线的显示模式。
-
setDisplayStyle
public void setDisplayStyle(SkylineDisplayMode displayMode)
设置天际线的显示模式。- 参数:
displayMode
- 指定的显示模式。
-
build
public boolean build()
执行天际线分析。- 返回:
- 分析是否成功,成功返回true,否则返回fasle。
-
clear
public void clear()
清除分析结果。
-
getSkyline
public GeoLine3D getSkyline()
返回天际线对象。- 返回:
- 天际线对象。
-
locateToViewerPosition
public void locateToViewerPosition()
将相机定位到观察者的位置。
-
AddLimitBody
public int AddLimitBody(GeoRegion3D region3d)
添加指定的限高体区域对象,并返回指定对象的索引号。- 参数:
region3d
- 指定的三维面对象作限高体。- 返回:
- 限高体区域对象的索引号。
-
getLimitBodyCount
public int getLimitBodyCount()
获取分析中限高体区域的个数。- 返回:
- 限高体区域的个数。
-
setLimitBody
public void setLimitBody(int index, GeoRegion3D region3d)
设置限高体对象。- 参数:
index
- 指定限高体对象的索引号。region3d
- 指定的三维面作限高体对象。
-
getLimitRegion
public GeoRegion3D getLimitRegion(int index)
根据指定的索引号,获取对应的限高体区域对象。- 参数:
index
- 指定的索引号。- 返回:
- 限高体区域对象。
-
removeLimitBody
public boolean removeLimitBody(int index)
移除指定位置的限高体对象。- 参数:
index
- 待删除限高体的索引号。- 返回:
- 移除是否成功,成功返回true,否则返回false。
-
removeAllLimitBodies
public void removeAllLimitBodies()
移除索引的限高体对象。
-
getLimitModel
public GeoModel getLimitModel(int index)
获取指定位限高体区域位置的限高体对象。- 参数:
index
- 指定的索引号。- 返回:
- 限高体对象。
-
setViewerVisible
public void setViewerVisible(boolean visible)
设置观测点是否可见。- 参数:
visible
- 指定观测点的可见性。
-
getInViewport
public int getInViewport()
获取天际线分析进行的指定视口。- 返回:
- 指定视口索引。
-
setInViewport
public void setInViewport(int value)
设置天际线分析在指定视口进行。- 参数:
value
- 指定视口索引。
-
getLookAround
public boolean getLookAround()
获取是否生成360°的天际线。- 返回:
- 是否生成360°的天际线。
-
setLookAround
public void setLookAround(boolean value)
设置是否生成360°的天际线。- 参数:
value
- 是否生成360°的天际线。
-
getRadius
public double getRadius()
获取天际线与观察点之间的水平距离。- 返回:
- 水平距离。
-
setRadius
public void setRadius(double value)
设置天际线与观察点之间的水平距离。- 参数:
value
- 指定的水平距离。
-
getSkyline2D
public GeoLine getSkyline2D()
获取天际线二维线对象。- 返回:
- 二维线。
-
getSkylineSector
public GeoModel3D getSkylineSector()
获取天际线与观察点构成的扇形面。- 返回:
- 扇形面。
-
getSkylineSector
public GeoModel3D getSkylineSector(double dSectorRadius)
获取天际线与观察点构成的扇形面。- 参数:
dSectorRadius
- 天际线与观察点之间的水平距离。- 返回:
- 扇形面。
-
getSkylineSectorBody
public GeoModel3D getSkylineSectorBody(double dHeight)
获取天际线与观察点构成的扇形面拉伸体。- 参数:
dHeight
- 扇形面拉伸体的高程值。- 返回:
- 扇形面拉伸体。
-
getSkylineSectorBody
public GeoModel3D getSkylineSectorBody(double dHeight, double dBodyRadius)
获取天际线与观察点构成的扇形面拉伸体。- 参数:
dHeight
- 扇形面拉伸体的高程值。dBodyRadius
- 天际线与观察点之间的水平距离。- 返回:
- 扇形面拉伸体。
-
getObjsVisible
public void getObjsVisible(HashMap<String,int[]> value)
获取天际线的可见对象ID集合。- 参数:
value
- 可见对象ID集合。
-
getLineWidth
public double getLineWidth()
返回天际线线宽,单位为像素。- 返回:
- 天际线线宽。
- 抛出:
IllegalStateException
- 当前对象已被释放。- 从以下版本开始:
- 11.2.0。
-
setLineWidth
public void setLineWidth(double value)
设置天际线线宽,单位为像素。- 参数:
value
- 天际线线宽。- 抛出:
IllegalStateException
- 当前对象已被释放。- 从以下版本开始:
- 11.2.0。
-
-
Copyright © 2021–2024 SuperMap. All rights reserved.