Graphviz 13.0.0~dev.20241220.2304
|
Go to the source code of this file.
Macros | |
#define | TRI_API /* nothing */ |
Typedefs | |
typedef Ppoint_t(* | indexer_t) (void *base, size_t index) |
Enumerations | |
enum | { ISCCW = 1 , ISCW = 2 , ISON = 3 } |
return value from ccw More... | |
Functions | |
TRI_API int | Ptriangulate (Ppoly_t *polygon, void(*fn)(void *closure, const Ppoint_t tri[]), void *vc) |
int | ccw (Ppoint_t p1, Ppoint_t p2, Ppoint_t p3) |
are the given points counter-clockwise, clockwise, or co-linear? | |
bool | between (Ppoint_t pa, Ppoint_t pb, Ppoint_t pc) |
is pb between pa and pc? | |
bool | intersects (Ppoint_t pa, Ppoint_t pb, Ppoint_t pc, Ppoint_t pd) |
line to line intersection | |
bool | isdiagonal (size_t i, size_t ip2, void *pointp, size_t pointn, indexer_t indexer) |
is (i, i + 2) a diagonal? | |
anonymous enum |
Definition at line 23 of file triang.c.
References ISCCW, ISCW, ISON, Pxy_t::x, and Pxy_t::y.
Referenced by between(), convert(), finddqsplit(), intersects(), isdiagonal(), pointintri(), and Pshortestpath().
bool isdiagonal | ( | size_t | i, |
size_t | ip2, | ||
void * | pointp, | ||
size_t | pointn, | ||
indexer_t | indexer | ||
) |
Definition at line 91 of file triang.c.
References ccw(), intersects(), ISCCW, and ISCW.
Referenced by triangulate(), and triangulate().