public CMCGPCheckedResult CheckSurface(CMCheckedGeoPoint Input, CMBAPSurfaceNoise APSurfaceNoiseInner) { double height = 100; bool IsObstacle = false; double dif = 0; CMCGPCheckedResult CheckedResult = new CMCGPCheckedResult(); CheckedResult.SurfaceName = SurfaceName;//string.Format("Поверхность R-{0}", Radius); height += APInf.AirfieldHeight; if (CMGeoBase.IsPointInPolygon(mPointsList, Input.Coordinates)) { if (CMGeoBase.IsPointInPolygon(APSurfaceNoiseInner.PointsList, Input.Coordinates) == false) { CheckedResult.ResultText = string.Format("Попадает в {0}", SurfaceName); } } CheckedResult.IsObstacle = IsObstacle; CheckedResult.PointHeight = Input.Height; CheckedResult.SurfaceHeight = height; CheckedResult.Exceeding = dif; return(CheckedResult); }
public CMAPSurfaces() { SurfaceA = new CMAPSurfaceA(); SurfaceB = new CMAPSurfaceB(); SurfaceC = new CMAPSurfaceC(); SurfaceOuterHorizontal = new CMAPSurfaceC(); SurfaceD = new CMAPSurfaceD(); SurfaceE = new CMAPSurfaceC(); SurfaceNoiseG = new CMBAPSurfaceNoise(5947.81, 726.22, 61, "Шумовая зона Г"); SurfaceNoiseV = new CMBAPSurfaceNoise(8196.22, 1007.73, 61, "Шумовая зона В"); SurfaceNoiseB = new CMBAPSurfaceNoise(11073.75, 1368.12, 61, "Шумовая зона Б"); APPVP_B = new CMAPPVP(); ApproachSurface = new CMApproachSurfaceData(); TransitionSurface = new CMTransitionSurfaceData(); TakeoffSurface = new CMTakeoffSurfaceData(0.016, "Поверхность взлета"); TakeoffSurfaceInfo = new CMTakeoffSurfaceData(0.012, "Информационная поверхность"); InnerApproachSurface = new CMInnerApproachSurfaceData(); CancelledApproachSurface = new CMCancelledApproachSurfaceData(); InnerTransitionSurface = new CMInnerTransitionSurfaceData(); }