LineSweeperForPortLocations(IEnumerable<Polyline> obstacles, Point direction, Point coneRsDir, Point coneLsDir, VisibilityGraph visibilityGraph, IEnumerable<Point> portLocations) : base(obstacles, direction) { this.visibilityGraph = visibilityGraph; ConeRightSideDirection = coneRsDir; ConeLeftSideDirection = coneLsDir; coneSideComparer = new ConeSideComparer(this); leftConeSides = new RbTree<ConeSide>(coneSideComparer); rightConeSides = new RbTree<ConeSide>(coneSideComparer); PortLocations = portLocations; }
LineSweeper(IEnumerable<Polyline> obstacles, Point direction, Point coneRsDir, Point coneLsDir, VisibilityGraph visibilityGraph, Set<Point> ports, Polyline borderPolyline) : base(obstacles, direction) { this.visibilityGraph = visibilityGraph; ConeRightSideDirection = coneRsDir; ConeLeftSideDirection = coneLsDir; coneSideComparer = new ConeSideComparer(this); leftConeSides = new RbTree<ConeSide>(coneSideComparer); rightConeSides = new RbTree<ConeSide>(coneSideComparer); Ports = ports; BorderPolyline = borderPolyline; PortEdgesCreator = (a, b) => new TollFreeVisibilityEdge(a, b); }