Module linestring::linestring_2d[][src]

Modules

Module containing the convex hull calculations

Module containing the intersection calculations

Structs

A simple 2d AABB If min_max is none no data has not been assigned yet.

A 2d line

A 2d line string, aka polyline. If the ‘connected’ field is set the ‘as_lines()’ method will connect start point with the end-point. Todo: The builder structure of this struct needs to be revisited

A set of 2d LineString, an aabb + convex_hull. It also contains a list of aabb & convex_hulls of shapes this set has gobbled up. This can be useful for separating out inner regions of the shape.

This is a simple but efficient affine transformation object. It can pan, zoom and flip points around center axis but not rotate. It does not handle vector transformation, only points.

A parabolic arc as used in https://github.com/eadf/boostvoronoi.rs This struct contains the parameters for the arc + the functionality to convert it to a LineString2 or LineString3.

Enums

Placeholder for different 2d shapes

Functions

The distance between the line a->b to the point p is the same as distance = |(a-p)×(a-b)|/|a-b| https://en.wikipedia.org/wiki/Distance_from_a_point_to_a_line#Another_vector_formulation Make sure to not call this function with a-b==0 This function returns the distance²

Same as distance_to_line_squared but it can be called when a-b might be 0. It’s a little slower because it does the a==b test

Get any intersection point between line segment and point. Inspired by https://stackoverflow.com/a/17590923