Macros | |
#define | Absolute(a) ((a) >= 0.0 ? (a) : -(a)) |
#define | apex(otri, vertexptr) vertexptr = (vertex) (otri).tri[(otri).orient + 3] |
#define | areabound(otri) ((REAL *) (otri).tri)[m->areaboundindex] |
#define | BADSUBSEGPERBLOCK 252 |
#define | BADTRIPERBLOCK 4092 |
#define | bond(otri1, otri2) |
#define | CDT_ONLY |
#define | deadsubseg(sub) ((sub)[1] == (subseg) NULL) |
#define | deadtri(tria) ((tria)[1] == (triangle) NULL) |
#define | DEADVERTEX -32768 |
#define | decode(ptr, otri) |
#define | dest(otri, vertexptr) vertexptr = (vertex) (otri).tri[minus1mod3[(otri).orient] + 3] |
#define | dissolve(otri) (otri).tri[(otri).orient] = (triangle) m->dummytri |
#define | dnext(otri1, otri2) |
#define | dnextself(otri) |
#define | dprev(otri1, otri2) |
#define | dprevself(otri) |
#define | elemattribute(otri, attnum) ((REAL *) (otri).tri)[m->elemattribindex + (attnum)] |
#define | encode(otri) (triangle) ((unsigned long) (otri).tri | (unsigned long) (otri).orient) |
#define | Fast_Two_Sum(a, b, x, y) |
#define | Fast_Two_Sum_Tail(a, b, x, y) |
#define | FILENAMESIZE 2048 |
#define | FLIPSTACKERPERBLOCK 252 |
#define | FREEVERTEX 2 |
#define | INEXACT /* Nothing */ |
#define | infect(otri) |
#define | infected(otri) (((unsigned long) (otri).tri[6] & (unsigned long) 2l) != 0l) |
#define | INPUTLINESIZE 1024 |
#define | INPUTVERTEX 0 |
#define | killsubseg(sub) |
#define | killtri(tria) |
#define | lnext(otri1, otri2) |
#define | lnextself(otri) (otri).orient = plus1mod3[(otri).orient] |
#define | lprev(otri1, otri2) |
#define | lprevself(otri) (otri).orient = minus1mod3[(otri).orient] |
#define | mark(osub) (* (int *) ((osub).ss + 8)) |
#define | NO_TIMER |
#define | ONETHIRD 0.333333333333333333333333333333333333333333333333333333333333 |
#define | onext(otri1, otri2) |
#define | onextself(otri) |
#define | oprev(otri1, otri2) |
#define | oprevself(otri) |
#define | org(otri, vertexptr) vertexptr = (vertex) (otri).tri[plus1mod3[(otri).orient] + 3] |
#define | otricopy(otri1, otri2) |
#define | otriequal(otri1, otri2) |
#define | PI 3.141592653589793238462643383279502884197169399375105820974944592308 |
#define | REDUCED |
#define | rnext(otri1, otri2) |
#define | rnextself(otri) |
#define | rprev(otri1, otri2) |
#define | rprevself(otri) |
#define | SAMPLEFACTOR 11 |
#define | SAMPLERATE 10 |
#define | sbond(osub1, osub2) |
#define | sdecode(sptr, osub) |
#define | sdest(osub, vertexptr) vertexptr = (vertex) (osub).ss[3 - (osub).ssorient] |
#define | sdissolve(osub) (osub).ss[(osub).ssorient] = (subseg) m->dummysub |
#define | segdest(osub, vertexptr) vertexptr = (vertex) (osub).ss[5 - (osub).ssorient] |
#define | SEGMENTVERTEX 1 |
#define | segorg(osub, vertexptr) vertexptr = (vertex) (osub).ss[4 + (osub).ssorient] |
#define | sencode(osub) (subseg) ((unsigned long) (osub).ss | (unsigned long) (osub).ssorient) |
#define | setapex(otri, vertexptr) (otri).tri[(otri).orient + 3] = (triangle) vertexptr |
#define | setareabound(otri, value) ((REAL *) (otri).tri)[m->areaboundindex] = value |
#define | setdest(otri, vertexptr) (otri).tri[minus1mod3[(otri).orient] + 3] = (triangle) vertexptr |
#define | setelemattribute(otri, attnum, value) ((REAL *) (otri).tri)[m->elemattribindex + (attnum)] = value |
#define | setmark(osub, value) * (int *) ((osub).ss + 8) = value |
#define | setorg(otri, vertexptr) (otri).tri[plus1mod3[(otri).orient] + 3] = (triangle) vertexptr |
#define | setsdest(osub, vertexptr) (osub).ss[3 - (osub).ssorient] = (subseg) vertexptr |
#define | setsegdest(osub, vertexptr) (osub).ss[5 - (osub).ssorient] = (subseg) vertexptr |
#define | setsegorg(osub, vertexptr) (osub).ss[4 + (osub).ssorient] = (subseg) vertexptr |
#define | setsorg(osub, vertexptr) (osub).ss[2 + (osub).ssorient] = (subseg) vertexptr |
#define | setvertex2tri(vx, value) ((triangle *) (vx))[m->vertex2triindex] = value |
#define | setvertexmark(vx, value) ((int *) (vx))[m->vertexmarkindex] = value |
#define | setvertextype(vx, value) ((int *) (vx))[m->vertexmarkindex + 1] = value |
#define | snext(osub1, osub2) |
#define | snextself(osub) |
#define | sorg(osub, vertexptr) vertexptr = (vertex) (osub).ss[2 + (osub).ssorient] |
#define | spivot(osub1, osub2) |
#define | spivotself(osub) |
#define | SPLAYNODEPERBLOCK 508 |
#define | Split(a, ahi, alo) |
#define | Square(a, x, y) |
#define | Square_Tail(a, x, y) |
#define | SQUAREROOTTWO 1.4142135623730950488016887242096980785696718753769480732 |
#define | ssym(osub1, osub2) |
#define | ssymself(osub) (osub).ssorient = 1 - (osub).ssorient |
#define | STARTINDEX 0 |
#define | stdissolve(osub) (osub).ss[6 + (osub).ssorient] = (subseg) m->dummytri |
#define | stpivot(osub, otri) |
#define | subsegcopy(osub1, osub2) |
#define | subsegequal(osub1, osub2) |
#define | SUBSEGPERBLOCK 508 /* Number of subsegments allocated at once. */ |
#define | sym(otri1, otri2) |
#define | symself(otri) |
#define | TRILIBRARY |
#define | TRIPERBLOCK 4092 /* Number of triangles allocated at once. */ |
#define | tsbond(otri, osub) |
#define | tsdissolve(otri) (otri).tri[6 + (otri).orient] = (triangle) m->dummysub |
#define | tspivot(otri, osub) |
#define | Two_Diff(a, b, x, y) |
#define | Two_Diff_Tail(a, b, x, y) |
#define | Two_One_Diff(a1, a0, b, x2, x1, x0) |
#define | Two_One_Product(a1, a0, b, x3, x2, x1, x0) |
#define | Two_One_Sum(a1, a0, b, x2, x1, x0) |
#define | Two_Product(a, b, x, y) |
#define | Two_Product_Presplit(a, b, bhi, blo, x, y) |
#define | Two_Product_Tail(a, b, x, y) |
#define | Two_Sum(a, b, x, y) |
#define | Two_Sum_Tail(a, b, x, y) |
#define | Two_Two_Diff(a1, a0, b1, b0, x3, x2, x1, x0) |
#define | Two_Two_Sum(a1, a0, b1, b0, x3, x2, x1, x0) |
#define | UNDEADVERTEX -32767 |
#define | uninfect(otri) |
#define | vertex2tri(vx) ((triangle *) (vx))[m->vertex2triindex] |
#define | vertexmark(vx) ((int *) (vx))[m->vertexmarkindex] |
#define | VERTEXPERBLOCK 4092 /* Number of vertices allocated at once. */ |
#define | vertextype(vx) ((int *) (vx))[m->vertexmarkindex + 1] |
#define | VIRUSPERBLOCK 1020 /* Number of virus triangles allocated at once. */ |
Typedefs | |
typedef REAL ** | subseg |
typedef REAL ** | triangle |
typedef REAL * | vertex |
Enumerations | |
enum | finddirectionresult { WITHIN , LEFTCOLLINEAR , RIGHTCOLLINEAR } |
enum | insertvertexresult { SUCCESSFULVERTEX , ENCROACHINGVERTEX , VIOLATINGVERTEX , DUPLICATEVERTEX } |
enum | locateresult { INTRIANGLE , ONEDGE , ONVERTEX , OUTSIDE } |
Functions | |
void | alternateaxes (vertex *sortarray, int arraysize, int axis) |
void | carveholes (struct mesh *m, struct behavior *b, REAL *holelist, int holes, REAL *regionlist, int regions) |
void | constrainededge (struct mesh *m, struct behavior *b, struct otri *starttri, vertex endpoint2, int newmark) |
REAL | counterclockwise (struct mesh *m, struct behavior *b, vertex pa, vertex pb, vertex pc) |
REAL | counterclockwiseadapt (vertex pa, vertex pb, vertex pc, REAL detsum) |
long | delaunay (struct mesh *m, struct behavior *b) |
void | delaunayfixup (struct mesh *m, struct behavior *b, struct otri *fixuptri, int leftside) |
long | divconqdelaunay (struct mesh *m, struct behavior *b) |
void | divconqrecurse (struct mesh *m, struct behavior *b, vertex *sortarray, int vertices, int axis, struct otri *farleft, struct otri *farright) |
void | dummyinit (struct mesh *m, struct behavior *b, int trianglebytes, int subsegbytes) |
REAL | estimate (int elen, REAL *e) |
void | exactinit () |
int | fast_expansion_sum_zeroelim (int elen, REAL *e, int flen, REAL *f, REAL *h) |
void | findcircumcenter (struct mesh *m, struct behavior *b, vertex torg, vertex tdest, vertex tapex, vertex circumcenter, REAL *xi, REAL *eta, int offcenter) |
enum finddirectionresult | finddirection (struct mesh *m, struct behavior *b, struct otri *searchtri, vertex searchpoint) |
void | flip (struct mesh *m, struct behavior *b, struct otri *flipedge) |
void | formskeleton (struct mesh *m, struct behavior *b, int *segmentlist, int *segmentmarkerlist, int numberofsegments) |
vertex | getvertex (struct mesh *m, struct behavior *b, int number) |
void | highorder (struct mesh *m, struct behavior *b) |
REAL | incircle (struct mesh *m, struct behavior *b, vertex pa, vertex pb, vertex pc, vertex pd) |
REAL | incircleadapt (vertex pa, vertex pb, vertex pc, vertex pd, REAL permanent) |
void | infecthull (struct mesh *m, struct behavior *b) |
void | initializetrisubpools (struct mesh *m, struct behavior *b) |
void | initializevertexpool (struct mesh *m, struct behavior *b) |
void | insertsegment (struct mesh *m, struct behavior *b, vertex endpoint1, vertex endpoint2, int newmark) |
void | insertsubseg (struct mesh *m, struct behavior *b, struct otri *tri, int subsegmark) |
enum insertvertexresult | insertvertex (struct mesh *m, struct behavior *b, vertex newvertex, struct otri *searchtri, struct osub *splitseg, int segmentflaws, int triflaws) |
void | internalerror () |
enum locateresult | locate (struct mesh *m, struct behavior *b, vertex searchpoint, struct otri *searchtri) |
void | makesubseg (struct mesh *m, struct osub *newsubseg) |
void | maketriangle (struct mesh *m, struct behavior *b, struct otri *newotri) |
void | makevertexmap (struct mesh *m, struct behavior *b) |
void | markhull (struct mesh *m, struct behavior *b) |
void | mergehulls (struct mesh *m, struct behavior *b, struct otri *farleft, struct otri *innerleft, struct otri *innerright, struct otri *farright, int axis) |
REAL | nonregular (struct mesh *m, struct behavior *b, vertex pa, vertex pb, vertex pc, vertex pd) |
void | numbernodes (struct mesh *m, struct behavior *b) |
REAL | orient3d (struct mesh *m, struct behavior *b, vertex pa, vertex pb, vertex pc, vertex pd, REAL aheight, REAL bheight, REAL cheight, REAL dheight) |
REAL | orient3dadapt (vertex pa, vertex pb, vertex pc, vertex pd, REAL aheight, REAL bheight, REAL cheight, REAL dheight, REAL permanent) |
void | parsecommandline (int argc, char **argv, struct behavior *b) |
void | plague (struct mesh *m, struct behavior *b) |
VOID * | poolalloc (struct memorypool *pool) |
void | pooldealloc (struct memorypool *pool, VOID *dyingitem) |
void | pooldeinit (struct memorypool *pool) |
void | poolinit (struct memorypool *pool, int bytecount, int itemcount, int firstitemcount, int alignment) |
void | poolrestart (struct memorypool *pool) |
void | poolzero (struct memorypool *pool) |
enum locateresult | preciselocate (struct mesh *m, struct behavior *b, vertex searchpoint, struct otri *searchtri, int stopatsubsegment) |
void | printsubseg (struct mesh *m, struct behavior *b, struct osub *s) |
void | printtriangle (struct mesh *m, struct behavior *b, struct otri *t) |
void | quality_statistics (struct mesh *m, struct behavior *b) |
unsigned long | randomnation (unsigned int choices) |
void | regionplague (struct mesh *m, struct behavior *b, REAL attribute, REAL area) |
long | removeghosts (struct mesh *m, struct behavior *b, struct otri *startghost) |
int | scale_expansion_zeroelim (int elen, REAL *e, REAL b, REAL *h) |
int | scoutsegment (struct mesh *m, struct behavior *b, struct otri *searchtri, vertex endpoint2, int newmark) |
void | segmentintersection (struct mesh *m, struct behavior *b, struct otri *splittri, struct osub *splitsubseg, vertex endpoint2) |
void | statistics (struct mesh *m, struct behavior *b) |
void | subsegdealloc (struct mesh *m, subseg *dyingsubseg) |
subseg * | subsegtraverse (struct mesh *m) |
void | transfernodes (struct mesh *m, struct behavior *b, REAL *pointlist, REAL *pointattriblist, int *pointmarkerlist, int numberofpoints, int numberofpointattribs) |
void | traversalinit (struct memorypool *pool) |
VOID * | traverse (struct memorypool *pool) |
void | triangledealloc (struct mesh *m, triangle *dyingtriangle) |
void | triangledeinit (struct mesh *m, struct behavior *b) |
void | triangleinit (struct mesh *m) |
triangle * | triangletraverse (struct mesh *m) |
void | triangulate (char *triswitches, struct triangulateio *in, struct triangulateio *out, struct triangulateio *vorout) |
void | triangulatepolygon (struct mesh *m, struct behavior *b, struct otri *firstedge, struct otri *lastedge, int edgecount, int doflip, int triflaws) |
void | triexit (int status) |
void | trifree (VOID *memptr) |
VOID * | trimalloc (int size) |
int | triunsuitable (vertex triorg, vertex tridest, vertex triapex, REAL area) |
void | unflip (struct mesh *m, struct behavior *b, struct otri *flipedge) |
void | vertexdealloc (struct mesh *m, vertex dyingvertex) |
void | vertexmedian (vertex *sortarray, int arraysize, int median, int axis) |
void | vertexsort (vertex *sortarray, int arraysize) |
vertex | vertextraverse (struct mesh *m) |
void | writeedges (struct mesh *m, struct behavior *b, int **edgelist, int **edgemarkerlist) |
void | writeelements (struct mesh *m, struct behavior *b, int **trianglelist, REAL **triangleattriblist) |
void | writeneighbors (struct mesh *m, struct behavior *b, int **neighborlist) |
void | writenodes (struct mesh *m, struct behavior *b, REAL **pointlist, REAL **pointattriblist, int **pointmarkerlist) |
void | writepoly (struct mesh *m, struct behavior *b, int **segmentlist, int **segmentmarkerlist) |
void | writevoronoi (struct mesh *m, struct behavior *b, REAL **vpointlist, REAL **vpointattriblist, int **vpointmarkerlist, int **vedgelist, int **vedgemarkerlist, REAL **vnormlist) |
Variables | |
REAL | ccwerrboundA |
REAL | ccwerrboundB |
REAL | ccwerrboundC |
REAL | epsilon |
REAL | iccerrboundA |
REAL | iccerrboundB |
REAL | iccerrboundC |
int | minus1mod3 [3] = {2, 0, 1} |
REAL | o3derrboundA |
REAL | o3derrboundB |
REAL | o3derrboundC |
int | plus1mod3 [3] = {1, 2, 0} |
unsigned long | randomseed |
REAL | resulterrbound |
REAL | splitter |
#define apex | ( | otri, | |
vertexptr | |||
) | vertexptr = (vertex) (otri).tri[(otri).orient + 3] |
Definition at line 1043 of file triangle.c.
Definition at line 1107 of file triangle.c.
#define BADSUBSEGPERBLOCK 252 |
Definition at line 271 of file triangle.c.
#define BADTRIPERBLOCK 4092 |
Definition at line 273 of file triangle.c.
#define bond | ( | otri1, | |
otri2 | |||
) |
Definition at line 1057 of file triangle.c.
#define CDT_ONLY |
Definition at line 227 of file triangle.c.
#define deadsubseg | ( | sub | ) | ((sub)[1] == (subseg) NULL) |
Definition at line 1240 of file triangle.c.
#define deadtri | ( | tria | ) | ((tria)[1] == (triangle) NULL) |
Definition at line 1117 of file triangle.c.
#define DEADVERTEX -32768 |
Definition at line 286 of file triangle.c.
#define decode | ( | ptr, | |
otri | |||
) |
Definition at line 912 of file triangle.c.
#define dest | ( | otri, | |
vertexptr | |||
) | vertexptr = (vertex) (otri).tri[minus1mod3[(otri).orient] + 3] |
Definition at line 1040 of file triangle.c.
Definition at line 1066 of file triangle.c.
#define dnext | ( | otri1, | |
otri2 | |||
) |
Definition at line 986 of file triangle.c.
#define dnextself | ( | otri | ) |
Definition at line 990 of file triangle.c.
#define dprev | ( | otri1, | |
otri2 | |||
) |
Definition at line 998 of file triangle.c.
#define dprevself | ( | otri | ) |
Definition at line 1002 of file triangle.c.
Definition at line 1099 of file triangle.c.
#define encode | ( | otri | ) | (triangle) ((unsigned long) (otri).tri | (unsigned long) (otri).orient) |
Definition at line 921 of file triangle.c.
Definition at line 4749 of file triangle.c.
Definition at line 4745 of file triangle.c.
#define FILENAMESIZE 2048 |
Definition at line 255 of file triangle.c.
#define FLIPSTACKERPERBLOCK 252 |
Definition at line 275 of file triangle.c.
#define FREEVERTEX 2 |
Definition at line 285 of file triangle.c.
#define INEXACT /* Nothing */ |
Definition at line 250 of file triangle.c.
#define infect | ( | otri | ) |
Definition at line 1084 of file triangle.c.
#define infected | ( | otri | ) | (((unsigned long) (otri).tri[6] & (unsigned long) 2l) != 0l) |
Definition at line 1094 of file triangle.c.
#define INPUTLINESIZE 1024 |
Definition at line 260 of file triangle.c.
#define INPUTVERTEX 0 |
Definition at line 283 of file triangle.c.
#define killsubseg | ( | sub | ) |
Definition at line 1242 of file triangle.c.
#define killtri | ( | tria | ) |
Definition at line 1119 of file triangle.c.
#define lnext | ( | otri1, | |
otri2 | |||
) |
Definition at line 942 of file triangle.c.
#define lnextself | ( | otri | ) | (otri).orient = plus1mod3[(otri).orient] |
Definition at line 946 of file triangle.c.
#define lprev | ( | otri1, | |
otri2 | |||
) |
Definition at line 951 of file triangle.c.
#define lprevself | ( | otri | ) | (otri).orient = minus1mod3[(otri).orient] |
Definition at line 955 of file triangle.c.
#define mark | ( | osub | ) | (* (int *) ((osub).ss + 8)) |
Definition at line 1206 of file triangle.c.
#define NO_TIMER |
Definition at line 200 of file triangle.c.
#define ONETHIRD 0.333333333333333333333333333333333333333333333333333333333333 |
Definition at line 313 of file triangle.c.
#define onext | ( | otri1, | |
otri2 | |||
) |
Definition at line 962 of file triangle.c.
#define onextself | ( | otri | ) |
Definition at line 966 of file triangle.c.
#define oprev | ( | otri1, | |
otri2 | |||
) |
Definition at line 974 of file triangle.c.
#define oprevself | ( | otri | ) |
Definition at line 978 of file triangle.c.
Definition at line 1037 of file triangle.c.
#define otricopy | ( | otri1, | |
otri2 | |||
) |
Definition at line 1071 of file triangle.c.
#define otriequal | ( | otri1, | |
otri2 | |||
) |
Definition at line 1077 of file triangle.c.
#define PI 3.141592653589793238462643383279502884197169399375105820974944592308 |
Definition at line 305 of file triangle.c.
#define REDUCED |
Definition at line 226 of file triangle.c.
#define rnext | ( | otri1, | |
otri2 | |||
) |
Definition at line 1010 of file triangle.c.
#define rnextself | ( | otri | ) |
Definition at line 1015 of file triangle.c.
#define rprev | ( | otri1, | |
otri2 | |||
) |
Definition at line 1024 of file triangle.c.
#define rprevself | ( | otri | ) |
Definition at line 1029 of file triangle.c.
#define SAMPLEFACTOR 11 |
Definition at line 295 of file triangle.c.
#define SAMPLERATE 10 |
Definition at line 301 of file triangle.c.
#define sbond | ( | osub1, | |
osub2 | |||
) |
Definition at line 1213 of file triangle.c.
#define sdecode | ( | sptr, | |
osub | |||
) |
Definition at line 1132 of file triangle.c.
#define sdest | ( | osub, | |
vertexptr | |||
) | vertexptr = (vertex) (osub).ss[3 - (osub).ssorient] |
Definition at line 1181 of file triangle.c.
Definition at line 1220 of file triangle.c.
#define segdest | ( | osub, | |
vertexptr | |||
) | vertexptr = (vertex) (osub).ss[5 - (osub).ssorient] |
Definition at line 1193 of file triangle.c.
#define SEGMENTVERTEX 1 |
Definition at line 284 of file triangle.c.
#define segorg | ( | osub, | |
vertexptr | |||
) | vertexptr = (vertex) (osub).ss[4 + (osub).ssorient] |
Definition at line 1190 of file triangle.c.
#define sencode | ( | osub | ) | (subseg) ((unsigned long) (osub).ss | (unsigned long) (osub).ssorient) |
Definition at line 1141 of file triangle.c.
#define setapex | ( | otri, | |
vertexptr | |||
) | (otri).tri[(otri).orient + 3] = (triangle) vertexptr |
Definition at line 1052 of file triangle.c.
Definition at line 1109 of file triangle.c.
#define setdest | ( | otri, | |
vertexptr | |||
) | (otri).tri[minus1mod3[(otri).orient] + 3] = (triangle) vertexptr |
Definition at line 1049 of file triangle.c.
#define setelemattribute | ( | otri, | |
attnum, | |||
value | |||
) | ((REAL *) (otri).tri)[m->elemattribindex + (attnum)] = value |
Definition at line 1102 of file triangle.c.
#define setmark | ( | osub, | |
value | |||
) | * (int *) ((osub).ss + 8) = value |
Definition at line 1208 of file triangle.c.
Definition at line 1046 of file triangle.c.
#define setsdest | ( | osub, | |
vertexptr | |||
) | (osub).ss[3 - (osub).ssorient] = (subseg) vertexptr |
Definition at line 1187 of file triangle.c.
#define setsegdest | ( | osub, | |
vertexptr | |||
) | (osub).ss[5 - (osub).ssorient] = (subseg) vertexptr |
Definition at line 1199 of file triangle.c.
#define setsegorg | ( | osub, | |
vertexptr | |||
) | (osub).ss[4 + (osub).ssorient] = (subseg) vertexptr |
Definition at line 1196 of file triangle.c.
#define setsorg | ( | osub, | |
vertexptr | |||
) | (osub).ss[2 + (osub).ssorient] = (subseg) vertexptr |
Definition at line 1184 of file triangle.c.
Definition at line 1295 of file triangle.c.
#define setvertexmark | ( | vx, | |
value | |||
) | ((int *) (vx))[m->vertexmarkindex] = value |
Definition at line 1285 of file triangle.c.
#define setvertextype | ( | vx, | |
value | |||
) | ((int *) (vx))[m->vertexmarkindex + 1] = value |
Definition at line 1290 of file triangle.c.
#define snext | ( | osub1, | |
osub2 | |||
) |
Definition at line 1167 of file triangle.c.
#define snextself | ( | osub | ) |
Definition at line 1171 of file triangle.c.
#define sorg | ( | osub, | |
vertexptr | |||
) | vertexptr = (vertex) (osub).ss[2 + (osub).ssorient] |
Definition at line 1178 of file triangle.c.
#define spivot | ( | osub1, | |
osub2 | |||
) |
Definition at line 1156 of file triangle.c.
#define spivotself | ( | osub | ) |
Definition at line 1160 of file triangle.c.
#define SPLAYNODEPERBLOCK 508 |
Definition at line 277 of file triangle.c.
#define Split | ( | a, | |
ahi, | |||
alo | |||
) |
Definition at line 4775 of file triangle.c.
Definition at line 4806 of file triangle.c.
#define SQUAREROOTTWO 1.4142135623730950488016887242096980785696718753769480732 |
Definition at line 309 of file triangle.c.
#define ssym | ( | osub1, | |
osub2 | |||
) |
Definition at line 1146 of file triangle.c.
#define ssymself | ( | osub | ) | (osub).ssorient = 1 - (osub).ssorient |
Definition at line 1150 of file triangle.c.
#define STARTINDEX 0 |
Definition at line 1276 of file triangle.c.
#define stpivot | ( | osub, | |
otri | |||
) |
Definition at line 1259 of file triangle.c.
#define subsegcopy | ( | osub1, | |
osub2 | |||
) |
Definition at line 1225 of file triangle.c.
#define subsegequal | ( | osub1, | |
osub2 | |||
) |
Definition at line 1231 of file triangle.c.
#define SUBSEGPERBLOCK 508 /* Number of subsegments allocated at once. */ |
Definition at line 267 of file triangle.c.
#define sym | ( | otri1, | |
otri2 | |||
) |
Definition at line 932 of file triangle.c.
#define symself | ( | otri | ) |
Definition at line 936 of file triangle.c.
#define TRILIBRARY |
Definition at line 214 of file triangle.c.
#define TRIPERBLOCK 4092 /* Number of triangles allocated at once. */ |
Definition at line 266 of file triangle.c.
#define tsbond | ( | otri, | |
osub | |||
) |
Definition at line 1271 of file triangle.c.
#define tspivot | ( | otri, | |
osub | |||
) |
Definition at line 1252 of file triangle.c.
Definition at line 4823 of file triangle.c.
Definition at line 4837 of file triangle.c.
Definition at line 4819 of file triangle.c.
Definition at line 4831 of file triangle.c.
Definition at line 4827 of file triangle.c.
#define UNDEADVERTEX -32767 |
Definition at line 287 of file triangle.c.
#define uninfect | ( | otri | ) |
Definition at line 1088 of file triangle.c.
Definition at line 1293 of file triangle.c.
#define vertexmark | ( | vx | ) | ((int *) (vx))[m->vertexmarkindex] |
Definition at line 1283 of file triangle.c.
#define VERTEXPERBLOCK 4092 /* Number of vertices allocated at once. */ |
Definition at line 268 of file triangle.c.
#define vertextype | ( | vx | ) | ((int *) (vx))[m->vertexmarkindex + 1] |
Definition at line 1288 of file triangle.c.
#define VIRUSPERBLOCK 1020 /* Number of virus triangles allocated at once. */ |
Definition at line 269 of file triangle.c.
Definition at line 495 of file triangle.c.
Definition at line 478 of file triangle.c.
Definition at line 512 of file triangle.c.
enum finddirectionresult |
Enumerator | |
---|---|
WITHIN | |
LEFTCOLLINEAR | |
RIGHTCOLLINEAR |
Definition at line 359 of file triangle.c.
enum insertvertexresult |
Enumerator | |
---|---|
SUCCESSFULVERTEX | |
ENCROACHINGVERTEX | |
VIOLATINGVERTEX | |
DUPLICATEVERTEX |
Definition at line 351 of file triangle.c.
enum locateresult |
Enumerator | |
---|---|
INTRIANGLE | |
ONEDGE | |
ONVERTEX | |
OUTSIDE |
Definition at line 343 of file triangle.c.
Definition at line 9335 of file triangle.c.
void carveholes | ( | struct mesh * | m, |
struct behavior * | b, | ||
REAL * | holelist, | ||
int | holes, | ||
REAL * | regionlist, | ||
int | regions | ||
) |
Definition at line 12963 of file triangle.c.
void constrainededge | ( | struct mesh * | m, |
struct behavior * | b, | ||
struct otri * | starttri, | ||
vertex | endpoint2, | ||
int | newmark | ||
) |
Definition at line 12131 of file triangle.c.
Definition at line 5215 of file triangle.c.
Definition at line 5126 of file triangle.c.
long delaunay | ( | struct mesh * | m, |
struct behavior * | b | ||
) |
Definition at line 10997 of file triangle.c.
void delaunayfixup | ( | struct mesh * | m, |
struct behavior * | b, | ||
struct otri * | fixuptri, | ||
int | leftside | ||
) |
Definition at line 12011 of file triangle.c.
long divconqdelaunay | ( | struct mesh * | m, |
struct behavior * | b | ||
) |
Definition at line 9953 of file triangle.c.
void divconqrecurse | ( | struct mesh * | m, |
struct behavior * | b, | ||
vertex * | sortarray, | ||
int | vertices, | ||
int | axis, | ||
struct otri * | farleft, | ||
struct otri * | farright | ||
) |
Definition at line 9726 of file triangle.c.
void dummyinit | ( | struct mesh * | m, |
struct behavior * | b, | ||
int | trianglebytes, | ||
int | subsegbytes | ||
) |
Definition at line 4166 of file triangle.c.
Definition at line 5087 of file triangle.c.
void exactinit | ( | ) |
Definition at line 4863 of file triangle.c.
Definition at line 4937 of file triangle.c.
void findcircumcenter | ( | struct mesh * | m, |
struct behavior * | b, | ||
vertex | torg, | ||
vertex | tdest, | ||
vertex | tapex, | ||
vertex | circumcenter, | ||
REAL * | xi, | ||
REAL * | eta, | ||
int | offcenter | ||
) |
Definition at line 6494 of file triangle.c.
enum finddirectionresult finddirection | ( | struct mesh * | m, |
struct behavior * | b, | ||
struct otri * | searchtri, | ||
vertex | searchpoint | ||
) |
Definition at line 11574 of file triangle.c.
void flip | ( | struct mesh * | m, |
struct behavior * | b, | ||
struct otri * | flipedge | ||
) |
Definition at line 7889 of file triangle.c.
void formskeleton | ( | struct mesh * | m, |
struct behavior * | b, | ||
int * | segmentlist, | ||
int * | segmentmarkerlist, | ||
int | numberofsegments | ||
) |
Definition at line 12391 of file triangle.c.
vertex getvertex | ( | struct mesh * | m, |
struct behavior * | b, | ||
int | number | ||
) |
Definition at line 4555 of file triangle.c.
void highorder | ( | struct mesh * | m, |
struct behavior * | b | ||
) |
Definition at line 13694 of file triangle.c.
Definition at line 5863 of file triangle.c.
Definition at line 5284 of file triangle.c.
void infecthull | ( | struct mesh * | m, |
struct behavior * | b | ||
) |
Definition at line 12558 of file triangle.c.
void initializetrisubpools | ( | struct mesh * | m, |
struct behavior * | b | ||
) |
Definition at line 4289 of file triangle.c.
void initializevertexpool | ( | struct mesh * | m, |
struct behavior * | b | ||
) |
Definition at line 4246 of file triangle.c.
void insertsegment | ( | struct mesh * | m, |
struct behavior * | b, | ||
vertex | endpoint1, | ||
vertex | endpoint2, | ||
int | newmark | ||
) |
Definition at line 12233 of file triangle.c.
void insertsubseg | ( | struct mesh * | m, |
struct behavior * | b, | ||
struct otri * | tri, | ||
int | subsegmark | ||
) |
Definition at line 7785 of file triangle.c.
enum insertvertexresult insertvertex | ( | struct mesh * | m, |
struct behavior * | b, | ||
vertex | newvertex, | ||
struct otri * | searchtri, | ||
struct osub * | splitseg, | ||
int | segmentflaws, | ||
int | triflaws | ||
) |
Definition at line 8173 of file triangle.c.
void internalerror | ( | ) |
Definition at line 3241 of file triangle.c.
enum locateresult locate | ( | struct mesh * | m, |
struct behavior * | b, | ||
vertex | searchpoint, | ||
struct otri * | searchtri | ||
) |
Definition at line 7614 of file triangle.c.
void makesubseg | ( | struct mesh * | m, |
struct osub * | newsubseg | ||
) |
Definition at line 4681 of file triangle.c.
void maketriangle | ( | struct mesh * | m, |
struct behavior * | b, | ||
struct otri * | newotri | ||
) |
Definition at line 4637 of file triangle.c.
void makevertexmap | ( | struct mesh * | m, |
struct behavior * | b | ||
) |
Definition at line 7375 of file triangle.c.
void markhull | ( | struct mesh * | m, |
struct behavior * | b | ||
) |
Definition at line 12345 of file triangle.c.
void mergehulls | ( | struct mesh * | m, |
struct behavior * | b, | ||
struct otri * | farleft, | ||
struct otri * | innerleft, | ||
struct otri * | innerright, | ||
struct otri * | farright, | ||
int | axis | ||
) |
Definition at line 9399 of file triangle.c.
REAL nonregular | ( | struct mesh * | m, |
struct behavior * | b, | ||
vertex | pa, | ||
vertex | pb, | ||
vertex | pc, | ||
vertex | pd | ||
) |
Definition at line 6453 of file triangle.c.
void numbernodes | ( | struct mesh * | m, |
struct behavior * | b | ||
) |
Definition at line 14445 of file triangle.c.
REAL orient3d | ( | struct mesh * | m, |
struct behavior * | b, | ||
vertex | pa, | ||
vertex | pb, | ||
vertex | pc, | ||
vertex | pd, | ||
REAL | aheight, | ||
REAL | bheight, | ||
REAL | cheight, | ||
REAL | dheight | ||
) |
Definition at line 6370 of file triangle.c.
REAL orient3dadapt | ( | vertex | pa, |
vertex | pb, | ||
vertex | pc, | ||
vertex | pd, | ||
REAL | aheight, | ||
REAL | bheight, | ||
REAL | cheight, | ||
REAL | dheight, | ||
REAL | permanent | ||
) |
Definition at line 5945 of file triangle.c.
void parsecommandline | ( | int | argc, |
char ** | argv, | ||
struct behavior * | b | ||
) |
Definition at line 3257 of file triangle.c.
void plague | ( | struct mesh * | m, |
struct behavior * | b | ||
) |
Definition at line 12640 of file triangle.c.
VOID * poolalloc | ( | struct memorypool * | pool | ) |
Definition at line 3979 of file triangle.c.
Definition at line 4042 of file triangle.c.
void pooldeinit | ( | struct memorypool * | pool | ) |
Definition at line 3958 of file triangle.c.
void poolinit | ( | struct memorypool * | pool, |
int | bytecount, | ||
int | itemcount, | ||
int | firstitemcount, | ||
int | alignment | ||
) |
Definition at line 3910 of file triangle.c.
void poolrestart | ( | struct memorypool * | pool | ) |
Definition at line 3864 of file triangle.c.
void poolzero | ( | struct memorypool * | pool | ) |
Definition at line 3830 of file triangle.c.
enum locateresult preciselocate | ( | struct mesh * | m, |
struct behavior * | b, | ||
vertex | searchpoint, | ||
struct otri * | searchtri, | ||
int | stopatsubsegment | ||
) |
Definition at line 7470 of file triangle.c.
void printsubseg | ( | struct mesh * | m, |
struct behavior * | b, | ||
struct osub * | s | ||
) |
Definition at line 3734 of file triangle.c.
void printtriangle | ( | struct mesh * | m, |
struct behavior * | b, | ||
struct otri * | t | ||
) |
Definition at line 3640 of file triangle.c.
void quality_statistics | ( | struct mesh * | m, |
struct behavior * | b | ||
) |
Definition at line 15324 of file triangle.c.
unsigned long randomnation | ( | unsigned int | choices | ) |
Definition at line 6647 of file triangle.c.
Definition at line 12850 of file triangle.c.
long removeghosts | ( | struct mesh * | m, |
struct behavior * | b, | ||
struct otri * | startghost | ||
) |
Definition at line 9890 of file triangle.c.
Definition at line 5031 of file triangle.c.
int scoutsegment | ( | struct mesh * | m, |
struct behavior * | b, | ||
struct otri * | searchtri, | ||
vertex | endpoint2, | ||
int | newmark | ||
) |
Definition at line 11797 of file triangle.c.
void segmentintersection | ( | struct mesh * | m, |
struct behavior * | b, | ||
struct otri * | splittri, | ||
struct osub * | splitsubseg, | ||
vertex | endpoint2 | ||
) |
Definition at line 11669 of file triangle.c.
void statistics | ( | struct mesh * | m, |
struct behavior * | b | ||
) |
Definition at line 15532 of file triangle.c.
Definition at line 4402 of file triangle.c.
subseg * subsegtraverse | ( | struct mesh * | m | ) |
Definition at line 4423 of file triangle.c.
void transfernodes | ( | struct mesh * | m, |
struct behavior * | b, | ||
REAL * | pointlist, | ||
REAL * | pointattriblist, | ||
int * | pointmarkerlist, | ||
int | numberofpoints, | ||
int | numberofpointattribs | ||
) |
Definition at line 14067 of file triangle.c.
void traversalinit | ( | struct memorypool * | pool | ) |
Definition at line 4065 of file triangle.c.
VOID * traverse | ( | struct memorypool * | pool | ) |
Definition at line 4101 of file triangle.c.
Definition at line 4356 of file triangle.c.
void triangledeinit | ( | struct mesh * | m, |
struct behavior * | b | ||
) |
Definition at line 4596 of file triangle.c.
void triangleinit | ( | struct mesh * | m | ) |
Definition at line 6608 of file triangle.c.
triangle * triangletraverse | ( | struct mesh * | m | ) |
Definition at line 4377 of file triangle.c.
void triangulate | ( | char * | triswitches, |
struct triangulateio * | in, | ||
struct triangulateio * | out, | ||
struct triangulateio * | vorout | ||
) |
Definition at line 15652 of file triangle.c.
void triangulatepolygon | ( | struct mesh * | m, |
struct behavior * | b, | ||
struct otri * | firstedge, | ||
struct otri * | lastedge, | ||
int | edgecount, | ||
int | doflip, | ||
int | triflaws | ||
) |
Definition at line 8834 of file triangle.c.
void triexit | ( | int | status | ) |
Definition at line 1385 of file triangle.c.
Definition at line 1414 of file triangle.c.
VOID * trimalloc | ( | int | size | ) |
Definition at line 1396 of file triangle.c.
Definition at line 1336 of file triangle.c.
void unflip | ( | struct mesh * | m, |
struct behavior * | b, | ||
struct otri * | flipedge | ||
) |
Definition at line 8024 of file triangle.c.
Definition at line 4448 of file triangle.c.
Definition at line 9257 of file triangle.c.
Definition at line 9183 of file triangle.c.
vertex vertextraverse | ( | struct mesh * | m | ) |
Definition at line 4469 of file triangle.c.
void writeedges | ( | struct mesh * | m, |
struct behavior * | b, | ||
int ** | edgelist, | ||
int ** | edgemarkerlist | ||
) |
Definition at line 14764 of file triangle.c.
void writeelements | ( | struct mesh * | m, |
struct behavior * | b, | ||
int ** | trianglelist, | ||
REAL ** | triangleattriblist | ||
) |
Definition at line 14477 of file triangle.c.
void writeneighbors | ( | struct mesh * | m, |
struct behavior * | b, | ||
int ** | neighborlist | ||
) |
Definition at line 15131 of file triangle.c.
void writenodes | ( | struct mesh * | m, |
struct behavior * | b, | ||
REAL ** | pointlist, | ||
REAL ** | pointattriblist, | ||
int ** | pointmarkerlist | ||
) |
Definition at line 14305 of file triangle.c.
void writepoly | ( | struct mesh * | m, |
struct behavior * | b, | ||
int ** | segmentlist, | ||
int ** | segmentmarkerlist | ||
) |
Definition at line 14618 of file triangle.c.
void writevoronoi | ( | struct mesh * | m, |
struct behavior * | b, | ||
REAL ** | vpointlist, | ||
REAL ** | vpointattriblist, | ||
int ** | vpointmarkerlist, | ||
int ** | vedgelist, | ||
int ** | vedgemarkerlist, | ||
REAL ** | vnormlist | ||
) |
Definition at line 14918 of file triangle.c.
REAL ccwerrboundA |
Definition at line 619 of file triangle.c.
REAL ccwerrboundB |
Definition at line 619 of file triangle.c.
REAL ccwerrboundC |
Definition at line 619 of file triangle.c.
REAL epsilon |
Definition at line 617 of file triangle.c.
REAL iccerrboundA |
Definition at line 620 of file triangle.c.
REAL iccerrboundB |
Definition at line 620 of file triangle.c.
REAL iccerrboundC |
Definition at line 620 of file triangle.c.
int minus1mod3[3] = {2, 0, 1} |
Definition at line 903 of file triangle.c.
REAL o3derrboundA |
Definition at line 621 of file triangle.c.
REAL o3derrboundB |
Definition at line 621 of file triangle.c.
REAL o3derrboundC |
Definition at line 621 of file triangle.c.
int plus1mod3[3] = {1, 2, 0} |
Definition at line 902 of file triangle.c.
unsigned long randomseed |
Definition at line 625 of file triangle.c.
REAL resulterrbound |
Definition at line 618 of file triangle.c.
REAL splitter |
Definition at line 616 of file triangle.c.