KiCad PCB EDA Suite
Loading...
Searching...
No Matches
geometry_predicates.h File Reference

Exact orientation and in-circle predicates over integer coordinates. More...

#include <algorithm>
#include <cmath>
#include <cstdint>
#include <math/vector2d.h>

Go to the source code of this file.

Namespaces

namespace  KIGEOM
 
namespace  KIGEOM::detail
 

Functions

int KIGEOM::OrientationSign (const VECTOR2I &a, const VECTOR2I &b, const VECTOR2I &c)
 Orientation of triangle (a, b, c): +1 counter-clockwise, -1 clockwise, 0 collinear.
 
bool KIGEOM::detail::inCircleLegalDouble (const VECTOR2I &a, const VECTOR2I &b, const VECTOR2I &c, const VECTOR2I &p)
 Filtered-double legality test; the tie margin treats a near-cocircular quad as legal to keep a flip loop from oscillating.
 
bool KIGEOM::InCircleDelaunayLegal (const VECTOR2I &a, const VECTOR2I &b, const VECTOR2I &c, const VECTOR2I &p)
 True when p is outside the circumcircle of CCW triangle (a, b, c): the shared edge is already Delaunay and must not be flipped.
 
bool KIGEOM::IsSliverTriangle (const VECTOR2I &a, const VECTOR2I &b, const VECTOR2I &c)
 A triangle is a sliver when its longest edge exceeds ten times its shortest.
 

Detailed Description

Exact orientation and in-circle predicates over integer coordinates.

Definition in file geometry_predicates.h.