com.supermap.realspace.spatialanalyst
类 Skyline

java.lang.Object
  继承者 com.supermap.realspace.spatialanalyst.Skyline

public class Skyline
extends java.lang.Object

天际线分析,设定观察者位置、观察方向、添加限高体区域对象,执行天际线分析,并在指定的场景中得到分析结果。


构造方法摘要
Skyline(Scene scene)
          根据指定的Scene对象,构造一个新的Skyline对象。
 
方法摘要
 int AddLimitBody(GeoRegion3D region3d)
          添加指定的限高体区域对象,并返回指定对象的索引号。
 boolean build()
          执行天际线分析。
 void clear()
          清除分析结果。
 void dispose()
          释放对象占用的本地资源。
 java.awt.Color getColor()
          获取天际线的颜色。
 double getDirection()
          获取相机与正北方向的夹角,单位:度。
 SkylineDisplayMode getDisplayStyle()
          获取天际线的显示模式。
 int getInViewport()
          获取天际线分析进行的指定视口。
 int getLimitBodyCount()
          获取分析中限高体区域的个数。
 GeoModel getLimitModel(int index)
          获取指定位限高体区域位置的限高体对象。
 GeoRegion3D getLimitRegion(int index)
          根据指定的索引号,获取对应的限高体区域对象。
 boolean getLookAround()
          获取是否生成360°的天际线。
 void getObjsVisible(java.util.HashMap<java.lang.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(java.awt.Color color)
          设置天际线的颜色。
 void setDirection(double direction)
          设置相机与正北方向的夹角,单位:度。
 void setDisplayStyle(SkylineDisplayMode displayMode)
          设置天际线的显示模式。
 void setInViewport(int value)
          设置天际线分析在指定视口进行。
 void setLimitBody(int index, GeoRegion3D region3d)
          设置限高体对象。
 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)
          设置观测点是否可见。
 
从类 java.lang.Object 继承的方法
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

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 java.awt.Color getColor()
获取天际线的颜色。

返回:
天际线的颜色。

setColor

public void setColor(java.awt.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(java.util.HashMap<java.lang.String,int[]> value)
获取天际线的可见对象ID集合。

参数:
value - 可见对象ID集合。