#polygon #offset #margin #padding #shape

geo-offset

Add margin and padding to geometric shapes

4 releases (breaking)

0.4.0 Feb 8, 2025
0.3.0 Apr 25, 2021
0.2.0 Apr 6, 2021
0.1.0 Jul 3, 2019

#702 in Algorithms

Download history 1/week @ 2025-02-01 134/week @ 2025-02-08 10/week @ 2025-02-15 2/week @ 2025-03-15 16/week @ 2025-03-22 8/week @ 2025-03-29 58/week @ 2025-04-12 141/week @ 2025-04-19 196/week @ 2025-04-26

395 downloads per month
Used in 2 crates

ISC license

28KB
685 lines

This crate contains algorithms to shrink and dilate various geometric shapes.

This code is a Rust port of the JS lib polygon-offset.

Example

The following example shows how to compute an inflated line.
The offset method is provided by the Offset trait which is implemented for most geo-types.

use geo_types::{Coord, Line};
use geo_offset::Offset;

let line = Line::new(
    Coord { x: 0.0, y: 0.0 },
    Coord { x: 1.0, y: 8.0 },
);

let line_with_offset = line.offset(2.0)?;

geo-offset

This crate contains algorithms to shrink and dilate various geometric shapes.

crate.io docs.rs

This code is a Rust port of the JS lib polygon-offset.

Example

The following example shows how to compute an inflated line. The offset method is provided by the Offset trait which is implemented for most geo-types.

use geo_types::{Coord, Line};
use geo_offset::Offset;

let line = Line::new(
    Coord { x: 0.0, y: 0.0 },
    Coord { x: 1.0, y: 8.0 },
);

let line_with_offset = line.offset(2.0)?;

Dependencies

~2MB
~39K SLoC