Exemple #1
0
        private void IntersectScanSegments()
        {
            var si = new SegmentIntersector();

            this.VisibilityGraph = si.Generate(HorizontalScanSegments.Segments, VerticalScanSegments.Segments);
            si.RemoveSegmentsWithNoVisibility(HorizontalScanSegments, VerticalScanSegments);
            HorizontalScanSegments.DevTraceVerifyVisibility();
            VerticalScanSegments.DevTraceVerifyVisibility();
        }
Exemple #2
0
        /// <summary>
        /// Generate the visibility graph along which edges will be routed.
        /// </summary>
        /// <returns></returns>
        internal override void GenerateVisibilityGraph()
        {
            this.AccumulateVertexCoords();
            this.CreateSegmentVectorsAndPopulateCoordinateMaps();
            this.RunScanLineToCreateSegmentsAndBoundingBoxSteinerPoints();
            this.GenerateSparseIntersectionsFromVertexPoints();
            this.CreateScanSegmentTrees();

            HorizontalScanSegments.DevTraceVerifyVisibility();
            VerticalScanSegments.DevTraceVerifyVisibility();
            Debug_AssertGraphIsRectilinear(VisibilityGraph, ObstacleTree);

            this.Cleanup();
        }