|
Graphviz 14.0.3~dev.20251029.0425
|
#include <stdbool.h>#include <stdio.h>#include <stdint.h>#include <stdlib.h>#include <math.h>#include <pathplan/pathutil.h>#include <pathplan/tri.h>#include <util/list.h>#include <util/prisize_t.h>Go to the source code of this file.
Data Structures | |
| struct | pointnlink_t |
| struct | tedge_t |
| struct | triangle_t |
| struct | deque_t |
Macros | |
| #define | DQ_FRONT 1 |
| #define | DQ_BACK 2 |
| #define | prerror(msg) fprintf (stderr, "lib/pathplan/%s:%d: %s\n", __FILE__, __LINE__, (msg)) |
| #define | POINTSIZE sizeof (Ppoint_t) |
| #define | POINTNLINKSIZE sizeof (pointnlink_t) |
| #define | POINTNLINKPSIZE sizeof (pointnlink_t *) |
Typedefs | |
| typedef struct pointnlink_t | pointnlink_t |
| typedef struct triangle_t | triangle_t |
| typedef struct deque_t | deque_t |
Functions | |
| static | LIST (triangle_t) |
| int | Pshortestpath (Ppoly_t *polyp, Ppoint_t eps[2], Ppolyline_t *output) |
| static int | triangulate (pointnlink_t **points, size_t point_count) |
| static int | loadtriangle (pointnlink_t *pnlap, pointnlink_t *pnlbp, pointnlink_t *pnlcp) |
| static void | connecttris (size_t tri1, size_t tri2) |
| static bool | marktripath (size_t trii, size_t trij) |
| static void | add2dq (deque_t *dq, int side, pointnlink_t *pnlp) |
| static void | splitdq (deque_t *dq, int side, size_t index) |
| static size_t | finddqsplit (const deque_t *dq, pointnlink_t *pnlp) |
| static int | pointintri (size_t trii, Ppoint_t *pp) |
| static int | growops (size_t newopn) |
| #define DQ_BACK 2 |
Definition at line 22 of file shortest.c.
| #define DQ_FRONT 1 |
Definition at line 21 of file shortest.c.
| #define POINTNLINKPSIZE sizeof (pointnlink_t *) |
Definition at line 35 of file shortest.c.
| #define POINTNLINKSIZE sizeof (pointnlink_t) |
Definition at line 34 of file shortest.c.
| #define POINTSIZE sizeof (Ppoint_t) |
Definition at line 27 of file shortest.c.
| #define prerror | ( | msg | ) | fprintf (stderr, "lib/pathplan/%s:%d: %s\n", __FILE__, __LINE__, (msg)) |
Definition at line 24 of file shortest.c.
| typedef struct pointnlink_t pointnlink_t |
| typedef struct triangle_t triangle_t |
|
static |
Definition at line 393 of file shortest.c.
References DQ_FRONT, deque_t::fpnlpi, pointnlink_t::link, deque_t::lpnlpi, and deque_t::pnlps.
Referenced by Pshortestpath().
|
static |
Definition at line 358 of file shortest.c.
References triangle_t::e, LIST_AT, tedge_t::pnl0p, tedge_t::pnl1p, pointnlink_t::pp, and tedge_t::right_index.
Referenced by Pshortestpath().
|
static |
Definition at line 414 of file shortest.c.
References deque_t::apex, ccw(), deque_t::fpnlpi, ISCCW, ISCW, deque_t::lpnlpi, deque_t::pnlps, and pointnlink_t::pp.
Referenced by Pshortestpath().
|
static |
Definition at line 434 of file shortest.c.
References NULL, opn, ops, POINTSIZE, and prerror.
Referenced by Pshortestpath().
|
static |
Definition at line 53 of file shortest.c.
|
static |
Definition at line 341 of file shortest.c.
References triangle_t::e, LIST_TRY_APPEND, tedge_t::pnl0p, tedge_t::pnl1p, prerror, tedge_t::right_index, and SIZE_MAX.
Referenced by triangulate().
|
static |
Definition at line 376 of file shortest.c.
References LIST_AT, LIST_GET, mark(), marktripath(), and SIZE_MAX.
Referenced by marktripath(), and Pshortestpath().
|
static |
Definition at line 424 of file shortest.c.
References ccw(), ISCW, and LIST_GET.
Referenced by Pshortestpath().
| int Pshortestpath | ( | Ppoly_t * | polyp, |
| Ppoint_t | eps[2], | ||
| Ppolyline_t * | output | ||
| ) |
Definition at line 81 of file shortest.c.
References add2dq(), deque_t::apex, ccw(), connecttris(), DQ_BACK, DQ_FRONT, triangle_t::e, finddqsplit(), deque_t::fpnlpi, free(), growops(), ISCCW, pointnlink_t::link, LIST_AT, LIST_CLEAR, LIST_GET, LIST_SIZE, deque_t::lpnlpi, triangle_t::mark, marktripath(), NULL, ops, Ppoly_t::pn, tedge_t::pnl0p, tedge_t::pnl1p, deque_t::pnlpn, deque_t::pnlps, pointintri(), POINTNLINKPSIZE, pointnlink_t::pp, prerror, PRISIZE_T, Ppoly_t::ps, tedge_t::right_index, SIZE_MAX, splitdq(), triangulate(), Pxy_t::x, and Pxy_t::y.
Referenced by genroute(), routesplines_(), and simpleSplineRoute().
|
static |
Definition at line 407 of file shortest.c.
References DQ_FRONT, deque_t::fpnlpi, and deque_t::lpnlpi.
Referenced by Pshortestpath().
|
static |
Definition at line 315 of file shortest.c.
References isdiagonal(), loadtriangle(), point_indexer(), points, prerror, and triangulate().
Referenced by Pshortestpath(), and triangulate().