geo-visibility

This crate contains algorithms to compute visibility polygon.

crate.io docs.rs

This code is a Rust port of the C++ lib visibility.

Example

The following example shows how to compute the visibility polygon of a point amongst line obstacles. The [visibility] method is provided by the [Visibility] trait which is implemented for most geo-types.

```rust use geo::{Coordinate, Line}; use geo_visibility::Visibility;

let point = geo::Point::new(0.0, 0.0);

let lines = vec![ Line::new( Coordinate { x: 1.0, y: 1.0 }, Coordinate { x: 1.0, y: -1.0 }, ), Line::new( Coordinate { x: -1.0, y: -1.0 }, Coordinate { x: -1.0, y: -2.0 }, ), ];

let visibilitypolygon = point.visibility(lines.asslice()); ```