采用iobject.net 采用鼠标选点进行开敞度分析时,第一次用m_VisibleViewDome.GetViewDomeRatio(ViewDome.ViewDomeType.VISIBLEDOME);
获取的结果总是负无穷,后面再选点时就不是这样。
请问1.有可能是什么原因造成的,怎么改正。
2.通过 GetViewDomeRatio获取的结果是通过什么计算的,面积?体积或者是其他
代码如下
private void SceneControl_MouseUp(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left && (m_sceneControl.Action == Action3D.CreatePoint) && !double.IsNaN(m_sceneControl.Scene.PixelToGlobe(e.Location).X))
{
Point3D point3D = m_sceneControl.Scene.PixelToGlobe(e.Location, PixelToGlobeMode.TerrainAndModel);
m_VisibleViewDome.ViewerPosition =point3D;
//可视距离
m_VisibleViewDome.Distance = 200;
//开敞度显示模式
m_VisibleViewDome.DisplayStyle = ViewDome.DisplayMode.FACELINE;
//显示可视区域
m_VisibleViewDome.DomeType = ViewDome.ViewDomeType.VISIBLEDOME;
//显示分析质量
m_VisibleViewDome.Quality = AnalysisQuality.Medium;
//显示面的颜色
m_VisibleViewDome.ViewDomeColor =System.Drawing.Color.FromArgb(100, Color.Red);
m_VisibleViewDome.ViewDomeLineColor = m_lineFillColor;
bool isBuildSuccess = m_VisibleViewDome.Build();
double m_viewDomeResult = m_VisibleViewDome.GetViewDomeRatio(ViewDome.ViewDomeType.VISIBLEDOME);
}
else if (e.Button == MouseButtons.Right)
{
ResetDrawPointState();
}
}