109 typedef __int64 intptr_t;
110 typedef unsigned __int64 uintptr_t;
112 typedef int intptr_t;
113 typedef unsigned int uintptr_t;
223 p->vertexlist = (
int *) NULL;
224 p->numberofvertices = 0;
238 f->numberofpolygons = 0;
239 f->holelist = (
REAL *) NULL;
240 f->numberofholes = 0;
431 char *
readline(
char*
string, FILE* infile,
int *linenumber);
555 for (
j = 0;
j <
f->numberofpolygons;
j++) {
556 p = &
f->polygonlist[
j];
557 delete []
p->vertexlist;
559 delete []
f->polygonlist;
560 if (
f->holelist != (
REAL *) NULL) {
561 delete []
f->holelist;
1423 #define fastlookup(pool, index) \
1424 (void *) ((pool)->toparray[(index) >> (pool)->log2objectsperblock] + \
1425 ((index) & ((pool)->objectsperblock - 1)) * (pool)->objectbytes)
1466 listinit(itbytes, pcomp, mitems, exsize);
1558 queue(
int bytecount,
int itemcount = 256) {
1583 void **newnode =
tail;
1584 if (newitem != (
void *) NULL) {
1589 *newnode = (
void *)
tail;
1591 return (
void *)(newnode + 1);
1596 void **deadnode = (
void **) *
head;
1600 return (
void *)(deadnode + 1);
1744 list** subceillists,
list** tetlists,
list** ceillists,
1745 list* verlist,
queue* flipque,
bool chkencseg,
1746 bool chkencsub,
bool chkbadtet);
1761 bool bwflag,
bool visflag,
1762 bool noencsegflag,
bool noencsubflag);
1774 bool bwflag,
bool cflag);
1798 REAL bzmin,
REAL bzmax,
int* internum);
1882 queue* flipque,
bool noreloc,
bool optflag);
1886 bool noreloc,
bool optflag);
1888 list* ptlist,
queue* flipque,
bool optflag);
2377 printf(
"Error: Out of memory.\n");
2380 printf(
" Please report this bug to sihang@mail.berlios.de. Include\n");
2381 printf(
" the message above, your input data set, and the exact\n");
2382 printf(
" command line you used to run this program, thank you.\n");
2385 printf(
"Program stopped.\n");
2438 #define Orient(V) ((V) Div2)
2442 #define EdgeRing(V) ((V) Mod2)
2458 t.loc = (
int) ((uintptr_t) (ptr) & (uintptr_t) 3);
2459 t.tet = (
tetrahedron *) ((uintptr_t) (ptr) & ~(uintptr_t) 7);
2463 return (
tetrahedron) ((uintptr_t)
t.tet | (uintptr_t)
t.loc);
2592 for (
i = 0; (
i < 3) && (
org(t2) != torg);
i++) {
2626 for (
i = 0; (
i < 3) && (
org(t2) != torg);
i++) {
2689 if ((t1.
ver & 1) == 0) {
2709 if ((
t.ver & 1) == 0) {
2869 s.shver = (
int) ((uintptr_t) (sptr) & (uintptr_t) 7);
2870 s.sh = (
shellface *) ((uintptr_t) (sptr) & ~ (uintptr_t) 7);
2874 return (
shellface) ((uintptr_t)
s.sh | (uintptr_t)
s.shver);
2957 s.shver =
ve[
s.shver];
2966 s.shver =
ve[
ve[
s.shver]];
3054 return (((
int *) ((
s).sh))[
shmarkindex] & (
int) 1) != 0;
3060 #define smarktest(s) \
3061 ((int *) ((s).sh))[shmarkindex] = (((int *)((s).sh))[shmarkindex] | (int) 2)
3063 #define sunmarktest(s) \
3064 ((int *) ((s).sh))[shmarkindex] = (((int *)((s).sh))[shmarkindex] & ~(int) 2)
3066 #define smarktested(s) ((((int *) ((s).sh))[shmarkindex] & (int) 2) != 0)
3079 if ((
t).tet[9] != NULL) {
3098 if ((
t).tet[9] == NULL) {
3102 for (
int i = 0;
i < 4;
i++) {
3115 if ((
t).tet[9] != NULL) {
3165 if ((
t).tet[8] != NULL) {
3178 if ((
t).tet[8] == NULL) {
3182 for (
int i = 0;
i < 6;
i++) {
3193 if ((
t).tet[8] != NULL) {
3328 if (
s->sh == (
shellface *) NULL)
return true;
3336 return ((
org(*
t) == testpoint) || (
dest(*
t) == testpoint) ||
3337 (
apex(*
t) == testpoint));
3341 return (
s->sh[3] == (
shellface) testpoint) ||
3357 ((
unsigned long)(
t->tet[
t->loc]) & ~(
unsigned long)7l);
3373 n[1] = -(
v1[0] *
v2[2] -
v2[0] *
v1[2]);
3380 return sqrt((p2[0] -
p1[0]) * (p2[0] -
p1[0]) +
3381 (p2[1] -
p1[1]) * (p2[1] -
p1[1]) +
3382 (p2[2] -
p1[2]) * (p2[2] -
p1[2]));
3387 #define NORM2(x, y, z) ((x) * (x) + (y) * (y) + (z) * (z))
3389 #define DIST(p1, p2) \
3390 sqrt(NORM2((p2)[0] - (p1)[0], (p2)[1] - (p1)[1], (p2)[2] - (p1)[2]))
3392 #define TETGEN_DOT(v1, v2) \
3393 ((v1)[0] * (v2)[0] + (v1)[1] * (v2)[1] + (v1)[2] * (v2)[2])
3395 #define CROSS(v1, v2, n) \
3396 (n)[0] = (v1)[1] * (v2)[2] - (v2)[1] * (v1)[2];\
3397 (n)[1] = -((v1)[0] * (v2)[2] - (v2)[0] * (v1)[2]);\
3398 (n)[2] = (v1)[0] * (v2)[1] - (v2)[0] * (v1)[1]
3400 #define SETVECTOR3(V, a0, a1, a2) (V)[0] = (a0); (V)[1] = (a1); (V)[2] = (a2)
3402 #define SWAP2(a0, a1, tmp) (tmp) = (a0); (a0) = (a1); (a1) = (tmp)
3417 c = var[
i]; var[
i] = var[
j]; var[
j] =
c;
3424 short word = 0x4321;
3425 if((*(
char *)& word) != 0x21)
AnnoyingScalar sqrt(const AnnoyingScalar &x)
Definition: AnnoyingScalar.h:134
int i
Definition: BiCGSTAB_step_by_step.cpp:9
const unsigned n
Definition: CG3DPackingUnitTest.cpp:11
#define assert(e,...)
Definition: Logger.h:744
Vector3f p1
Definition: MatrixBase_all.cpp:2
Tridiagonalization< MatrixXf > tri
Definition: Tridiagonalization_compute.cpp:1
float * p
Definition: Tutorial_Map_using.cpp:9
Map< RowVectorXf > v2(M2.data(), M2.size())
M1<< 1, 2, 3, 4, 5, 6, 7, 8, 9;Map< RowVectorXf > v1(M1.data(), M1.size())
Scalar Scalar int size
Definition: benchVecAdd.cpp:17
Scalar * b
Definition: benchVecAdd.cpp:17
cout<< "Here is the matrix m:"<< endl<< m<< endl;Eigen::FullPivLU< Matrix5x3 > lu(m)
int nomerge
Definition: tetgen.h:681
int verbose
Definition: tetgen.h:690
int nobisect
Definition: tetgen.h:682
REAL goodratio
Definition: tetgen.h:694
REAL minratio
Definition: tetgen.h:693
int refine
Definition: tetgen.h:653
int nobound
Definition: tetgen.h:676
bool parse_commandline(int argc, char **argv)
int useshelles
Definition: tetgen.h:691
enum objecttype object
Definition: tetgen.h:705
REAL alpha1
Definition: tetgen.h:700
REAL goodangle
Definition: tetgen.h:696
int optpasses
Definition: tetgen.h:666
int noflip
Definition: tetgen.h:683
int plc
Definition: tetgen.h:651
int diagnose
Definition: tetgen.h:661
int fixedvolume
Definition: tetgen.h:657
int order
Definition: tetgen.h:667
int neighout
Definition: tetgen.h:670
char commandline[1024]
Definition: tetgen.h:708
int coarse
Definition: tetgen.h:654
int varvolume
Definition: tetgen.h:656
REAL maxdihedral
Definition: tetgen.h:699
char addinfilename[1024]
Definition: tetgen.h:711
REAL epsilon
Definition: tetgen.h:703
int insertaddpoints
Definition: tetgen.h:658
int conformdel
Definition: tetgen.h:660
REAL minangle
Definition: tetgen.h:695
int nojettison
Definition: tetgen.h:684
int steiner
Definition: tetgen.h:685
int geomview
Definition: tetgen.h:674
int voroout
Definition: tetgen.h:671
REAL alpha3
Definition: tetgen.h:702
int vtkview
Definition: tetgen.h:675
REAL maxvolume
Definition: tetgen.h:697
int zeroindex
Definition: tetgen.h:662
int quiet
Definition: tetgen.h:689
int docheck
Definition: tetgen.h:688
int regionattrib
Definition: tetgen.h:659
int max_btreenode_size
Definition: tetgen.h:664
~tetgenbehavior()
Definition: tetgen.h:789
char outfilename[1024]
Definition: tetgen.h:710
REAL mindihedral
Definition: tetgen.h:698
tetgenbehavior()
Definition: tetgen.h:724
REAL alpha2
Definition: tetgen.h:701
int nofacewritten
Definition: tetgen.h:679
int offcenter
Definition: tetgen.h:687
int fliprepair
Definition: tetgen.h:686
int gidview
Definition: tetgen.h:673
int noiterationnum
Definition: tetgen.h:680
int edgesout
Definition: tetgen.h:669
int maxflipedgelinksize
Definition: tetgen.h:692
bool parse_commandline(char *switches)
Definition: tetgen.h:719
int quality
Definition: tetgen.h:652
REAL epsilon2
Definition: tetgen.h:704
char infilename[1024]
Definition: tetgen.h:709
int nonodewritten
Definition: tetgen.h:677
int metric
Definition: tetgen.h:655
int btree
Definition: tetgen.h:663
int facesout
Definition: tetgen.h:668
int optlevel
Definition: tetgen.h:665
char bgmeshfilename[1024]
Definition: tetgen.h:712
objecttype
Definition: tetgen.h:646
@ MEDIT
Definition: tetgen.h:646
@ NODES
Definition: tetgen.h:646
@ VTK
Definition: tetgen.h:646
@ POLY
Definition: tetgen.h:646
@ STL
Definition: tetgen.h:646
@ MESH
Definition: tetgen.h:646
@ NONE
Definition: tetgen.h:646
@ OFF
Definition: tetgen.h:646
@ PLY
Definition: tetgen.h:646
int meditview
Definition: tetgen.h:672
int noelewritten
Definition: tetgen.h:678
int numberofregions
Definition: tetgen.h:349
int numberofvfacets
Definition: tetgen.h:403
bool useindex
Definition: tetgen.h:291
int * facetmarkerlist
Definition: tetgen.h:332
vorofacet * vfacetlist
Definition: tetgen.h:399
int numberofpointmtrs
Definition: tetgen.h:308
void save_neighbors(char *)
pbcgroup * pbcgrouplist
Definition: tetgen.h:366
REAL * tetrahedronvolumelist
Definition: tetgen.h:323
int * trifacemarkerlist
Definition: tetgen.h:380
int * trifacelist
Definition: tetgen.h:378
char * readline(char *string, FILE *infile, int *linenumber)
int * edgemarkerlist
Definition: tetgen.h:388
REAL * holelist
Definition: tetgen.h:338
int numberofpointattributes
Definition: tetgen.h:307
char * findnextnumber(char *string)
@ FILENAMESIZE
Definition: tetgen.h:206
int numberofvpoints
Definition: tetgen.h:401
REAL * pointattributelist
Definition: tetgen.h:303
int * adjtetlist
Definition: tetgen.h:379
int numberofvedges
Definition: tetgen.h:402
int numberofpoints
Definition: tetgen.h:306
static void init(facet *f)
Definition: tetgen.h:236
int numberofsegmentconstraints
Definition: tetgen.h:363
int numberofedges
Definition: tetgen.h:389
REAL * pointlist
Definition: tetgen.h:302
REAL * regionlist
Definition: tetgen.h:348
bool load_node(char *filebasename)
int mesh_dim
Definition: tetgen.h:288
int numberofcorners
Definition: tetgen.h:326
@ INPUTLINESIZE
Definition: tetgen.h:209
char * readnumberline(char *string, FILE *infile, char *infilename)
void save_elements(char *)
bool load_tetmesh(char *)
REAL * facetconstraintlist
Definition: tetgen.h:355
REAL * segmentconstraintlist
Definition: tetgen.h:362
int * neighborlist
Definition: tetgen.h:324
voroedge * vedgelist
Definition: tetgen.h:398
bool(* TetSizeFunc)(REAL *, REAL *, REAL *, REAL *, REAL *, REAL)
Definition: tetgen.h:282
int numberoftrifaces
Definition: tetgen.h:381
int numberofpbcgroups
Definition: tetgen.h:367
void initialize()
Definition: tetgen.h:437
int numberoftetrahedronattributes
Definition: tetgen.h:327
int ** vcelllist
Definition: tetgen.h:400
bool load_plc(char *, int)
bool load_node_call(FILE *infile, int markers, char *nodefilename)
static void init(polygon *p)
Definition: tetgen.h:222
int numberoffacetconstraints
Definition: tetgen.h:356
int firstnumber
Definition: tetgen.h:285
int numberofholes
Definition: tetgen.h:339
tetgenio()
Definition: tetgen.h:612
int * edgelist
Definition: tetgen.h:387
TetSizeFunc tetunsuitable
Definition: tetgen.h:407
facet * facetlist
Definition: tetgen.h:331
int numberoftetrahedra
Definition: tetgen.h:325
REAL * pointmtrlist
Definition: tetgen.h:304
int * tetrahedronlist
Definition: tetgen.h:321
REAL * tetrahedronattributelist
Definition: tetgen.h:322
char * findnextfield(char *string)
int numberoffacets
Definition: tetgen.h:333
~tetgenio()
Definition: tetgen.h:613
int numberofvcells
Definition: tetgen.h:404
int * pointmarkerlist
Definition: tetgen.h:305
void deinitialize()
Definition: tetgen.h:499
REAL * vpointlist
Definition: tetgen.h:397
Definition: tetgen.h:1397
char * getblock(int objectindex)
long objects
Definition: tetgen.h:1406
int objectsperblock
Definition: tetgen.h:1402
void * lookup(int objectindex)
void poolinit(int sizeofobject, int log2objperblk)
char ** toparray
Definition: tetgen.h:1405
int objectbytes
Definition: tetgen.h:1401
arraypool(int sizeofobject, int log2objperblk)
int toparraylen
Definition: tetgen.h:1404
int log2objectsperblock
Definition: tetgen.h:1403
unsigned long totalmemory
Definition: tetgen.h:1407
int newindex(void **newptr)
Definition: tetgen.h:1123
point pset1[3]
Definition: tetgen.h:1128
enum fliptype ft
Definition: tetgen.h:1127
point pset2[3]
Definition: tetgen.h:1129
elemflip()
Definition: tetgen.h:1131
Definition: tetgen.h:1062
shellface * sh
Definition: tetgen.h:1066
face & operator=(const face &s)
Definition: tetgen.h:1072
face()
Definition: tetgen.h:1070
int shver
Definition: tetgen.h:1067
bool operator!=(face &s)
Definition: tetgen.h:1077
bool operator==(face &s)
Definition: tetgen.h:1076
Definition: tetgen.h:1456
compfunc comp
Definition: tetgen.h:1463
void clear()
Definition: tetgen.h:1474
int expandsize
Definition: tetgen.h:1462
int maxitems
Definition: tetgen.h:1462
char * base
Definition: tetgen.h:1460
void setcomp(compfunc compf)
Definition: tetgen.h:1473
void * operator[](int i)
Definition: tetgen.h:1470
int hasitem(void *checkitem)
int items
Definition: tetgen.h:1462
int len()
Definition: tetgen.h:1475
void del(int pos, int order)
void * insert(int pos, void *insitem)
~list()
Definition: tetgen.h:1468
list(int itbytes, compfunc pcomp, int mitems=256, int exsize=128)
Definition: tetgen.h:1465
void * append(void *appitem)
int itembytes
Definition: tetgen.h:1461
void listinit(int itbytes, compfunc pcomp, int mitems, int exsize)
Definition: tetgen.h:1513
int itemsperblock
Definition: tetgen.h:1525
void poolinit(int, int, enum wordtype, int)
int itemwords
Definition: tetgen.h:1524
void * pathitem
Definition: tetgen.h:1521
memorypool(int, int, enum wordtype, int)
void * deaditemstack
Definition: tetgen.h:1519
void ** firstblock
Definition: tetgen.h:1517
void ** nowblock
Definition: tetgen.h:1517
void ** pathblock
Definition: tetgen.h:1520
int alignbytes
Definition: tetgen.h:1523
wordtype itemwordtype
Definition: tetgen.h:1522
int unallocateditems
Definition: tetgen.h:1527
void * nextitem
Definition: tetgen.h:1518
int pathitemsleft
Definition: tetgen.h:1528
int itembytes
Definition: tetgen.h:1524
long maxitems
Definition: tetgen.h:1526
long items
Definition: tetgen.h:1526
Definition: tetgen.h:1550
queue(int bytecount, int itemcount=256)
Definition: tetgen.h:1558
int linkitembytes
Definition: tetgen.h:1555
void clear()
Definition: tetgen.h:1568
int linkitems
Definition: tetgen.h:1556
bool empty()
Definition: tetgen.h:1580
void ** head
Definition: tetgen.h:1554
void * push(void *newitem)
Definition: tetgen.h:1582
long len()
Definition: tetgen.h:1579
void * pop()
Definition: tetgen.h:1594
void ** tail
Definition: tetgen.h:1554
Definition: tetgen.h:1040
bool operator!=(triface &t)
Definition: tetgen.h:1057
triface()
Definition: tetgen.h:1048
int ver
Definition: tetgen.h:1045
int loc
Definition: tetgen.h:1045
bool operator==(triface &t)
Definition: tetgen.h:1054
tetrahedron * tet
Definition: tetgen.h:1044
triface & operator=(const triface &t)
Definition: tetgen.h:1050
interresult
Definition: tetgen.h:839
@ INTERSUBFACE
Definition: tetgen.h:841
@ TOUCHEDGE
Definition: tetgen.h:840
@ TOUCHFACE
Definition: tetgen.h:840
@ INTERVERT
Definition: tetgen.h:840
@ SHAREFACE
Definition: tetgen.h:839
@ SHAREEDGE
Definition: tetgen.h:839
@ DISJOINT
Definition: tetgen.h:839
@ COLLISIONFACE
Definition: tetgen.h:841
@ INTERFACE
Definition: tetgen.h:840
@ INTERTET
Definition: tetgen.h:840
@ SHAREVERTEX
Definition: tetgen.h:839
@ INTEREDGE
Definition: tetgen.h:840
@ BELOWHULL2
Definition: tetgen.h:842
@ INTERSECT
Definition: tetgen.h:839
@ TRIEDGEINT
Definition: tetgen.h:841
@ EDGETRIINT
Definition: tetgen.h:841
@ INTERSUBSEG
Definition: tetgen.h:841
enum locateresult sinsertvertex(point insertpt, face *splitsh, face *splitseg, bool bwflag, bool cflag)
bool fillcavity(arraypool *, arraypool *, arraypool *, arraypool *)
void setpointtype(point pt, enum verttype value)
Definition: tetgen.h:3223
long updvolcount
Definition: tetgen.h:2167
bool iscospheric(REAL *, REAL *, REAL *, REAL *, REAL *, REAL vol24, REAL eps)
int recentq
Definition: tetgen.h:2107
void ordervertices(point *vertexarray, int arraysize)
void btree_sort(point *, int, int, REAL, REAL, REAL, REAL, REAL, REAL, int)
enum locateresult adjustlocatesub(point, face *, enum locateresult, REAL)
memorypool * badtetrahedrons
Definition: tetgen.h:2047
int(* compfunc)(const void *, const void *)
Definition: tetgen.h:1436
void algorithmicstatistics()
void setdest(triface &t, point pointptr)
Definition: tetgen.h:2517
void sstpivot(face *, triface *)
void detachauxsubfaces(list *newtetlist)
REAL xmax
Definition: tetgen.h:2113
enum locateresult adjustlocateseg(point, face *, enum locateresult, REAL)
void removeholetets(memorypool *viri)
enum locateresult locateseg(point searchpt, face *searchseg)
void flipedgerecursive(face *flipedge, queue *flipqueue)
void spivotself(face &s)
Definition: tetgen.h:2885
void outneighbors(tetgenio *)
void makeindex2pointmap(point *&)
void setelemattribute(tetrahedron *ptr, int attnum, REAL value)
Definition: tetgen.h:2754
void restorepolyhedron(list *oldtetlist)
unsigned long randomnation(unsigned int choices)
enum interresult tri_edge_cop_inter(REAL *, REAL *, REAL *, REAL *, REAL *, REAL *)
point * highordertable
Definition: tetgen.h:2087
void sspivot(face &s, face &edge)
Definition: tetgen.h:3137
void orientnewsubs(list *newshlist, face *orientsh, REAL *norm)
int pointmarkindex
Definition: tetgen.h:2123
REAL cosmindihed
Definition: tetgen.h:2147
int shellpbcgroup(face &s)
Definition: tetgen.h:3028
long samples
Definition: tetgen.h:2144
void setareabound(face &s, REAL value)
Definition: tetgen.h:2996
long totaldeadtets
Definition: tetgen.h:2159
int highorderindex
Definition: tetgen.h:2125
int * idx2segpglist
Definition: tetgen.h:2098
@ ELEPERBLOCK
Definition: tetgen.h:815
@ VERPERBLOCK
Definition: tetgen.h:815
@ SUBPERBLOCK
Definition: tetgen.h:815
long rejsubpts
Definition: tetgen.h:2172
void setshell2badface(face &s, badface *value)
Definition: tetgen.h:2986
enum interresult finddirection2(triface *searchtet, point)
static int locver2dest[4][6]
Definition: tetgen.h:1192
void formbowatcavityquad(point, list *, list *)
badface * subquefront[3]
Definition: tetgen.h:2104
memorypool * tet2segpool
Definition: tetgen.h:2048
enum locateresult locate2(point searchpt, triface *searchtet, arraypool *)
void sfnextself(face &)
Definition: tetgen.h:2975
void setpoint2ppt(point pt, point value)
Definition: tetgen.h:3274
void tallslivers(bool optflag)
long r2count
Definition: tetgen.h:2170
shellface * shellfacetraverse(memorypool *)
void setshelltype(face &s, enum shestype value)
Definition: tetgen.h:3022
void sesym(face &s1, face &s2)
Definition: tetgen.h:2942
memorypool * subsegs
Definition: tetgen.h:2043
long outbowatcircumcount
Definition: tetgen.h:2169
void enextself(triface &t)
Definition: tetgen.h:2554
locateresult
Definition: tetgen.h:845
@ ONVERTEX
Definition: tetgen.h:845
@ ONEDGE
Definition: tetgen.h:845
@ ENCSEGMENT
Definition: tetgen.h:846
@ ONFACE
Definition: tetgen.h:845
@ OUTSIDE
Definition: tetgen.h:845
@ INTETRAHEDRON
Definition: tetgen.h:845
void bowatinsertsite(point bp, face *splitseg, int n, list **sublists, list **subceillists, list **tetlists, list **ceillists, list *verlist, queue *flipque, bool chkencseg, bool chkencsub, bool chkbadtet)
void tetallnormal(point, point, point, point, REAL N[4][3], REAL *volume)
bool removeedgebycombNM(REAL *, int, triface *, int *, triface *, triface *, queue *)
long meshedges
Definition: tetgen.h:2118
long across_edge_count
Definition: tetgen.h:2160
void constrainedfacets2()
bool p1interpolatebgm(point pt, triface *bgmtet, long *scount)
bool incrflipdelaunaysub(int shmark, REAL eps, list *, int, REAL *, queue *)
long insphere_sos_count
Definition: tetgen.h:2155
long opt_edge_flips
Definition: tetgen.h:2163
void insertsubseg(face *tri)
void getsegmentsplitpoint2(face *sseg, point refpt, REAL *vt)
void point2segorg(point, face &)
void outmesh2medit(char *)
triface firstbotface
Definition: tetgen.h:2073
void tfnextself(triface &t)
Definition: tetgen.h:2705
bool infected(triface &t)
Definition: tetgen.h:2792
point sapex(face &s)
Definition: tetgen.h:2923
void splittetrahedron(point, triface *, queue *)
int collapverts
Definition: tetgen.h:2140
bool trimbowatcavity(point bp, face *bpseg, int n, list **sublists, list **subceillists, list **tetlists, list **ceillists, REAL maxcosd)
static int locver2nextf[4][6][2]
Definition: tetgen.h:1201
enum locateresult locatesub(point searchpt, face *searchsh, int, REAL)
void optimizemesh2(bool optflag)
void setpoint2bgmtet(point pt, tetrahedron value)
Definition: tetgen.h:3282
void projpt2face(REAL *p, REAL *f1, REAL *f2, REAL *f3, REAL *prj)
void tetrahedrondealloc(tetrahedron *)
long inspherecount
Definition: tetgen.h:2155
bool smoothpoint(point smthpt, point, point, list *, bool, REAL *)
void assignsegmentmarkers()
void replacepolygonsubs(list *oldshlist, list *newshlist)
bool findrelocatepoint2(point sp, point np, REAL *n, list *, list *)
point getsubsegfarorg(face *sseg)
bool fnextself(triface &t)
Definition: tetgen.h:2605
void stpivot(face &s, triface &t)
Definition: tetgen.h:3090
void setapex(triface &t, point pointptr)
Definition: tetgen.h:2521
long r1count
Definition: tetgen.h:2170
void repairencsegs(bool chkencsub, bool chkbadtet)
int point2pbcptindex
Definition: tetgen.h:2124
long bowatsubcount
Definition: tetgen.h:2166
point oppo(triface &t)
Definition: tetgen.h:2509
void edgeorthonormal(REAL *e1, REAL *e2, REAL *op, REAL *n)
pbcdata * subpbcgrouptable
Definition: tetgen.h:2094
void setvolumebound(tetrahedron *ptr, REAL value)
Definition: tetgen.h:2764
void maketetrahedronmap(int *&, tetrahedron **&)
void ssbond(face &s, face &edge)
Definition: tetgen.h:3144
bool splittetedge(point, triface *, queue *)
void plaguesub(memorypool *viri)
void outsubfaces(tetgenio *)
int pointmtrindex
Definition: tetgen.h:2121
enum finddirectionresult finddirection(triface *searchtet, point, long)
bool relocatepoint(point steinpt, triface *oldtet, list *, list *, queue *)
void sfnext(face &, face &)
Definition: tetgen.h:2971
int checkdelaunay(REAL, queue *)
arraypool * elemfliplist
Definition: tetgen.h:2076
bool incrflipdelaunay(triface *, point *, long, bool, bool, REAL, queue *)
bool recoveredgebyflips(triface *searchtet, point pb, int *)
long ptloc_count
Definition: tetgen.h:2153
shellface * dummyshbase
Definition: tetgen.h:2057
void enqueueflipedge(face &, queue *)
arraypool * btreenode_list
Definition: tetgen.h:2060
tetrahedron point2bgmtet(point pt)
Definition: tetgen.h:3278
long opt_face_flips
Definition: tetgen.h:2163
REAL facedihedral(REAL *pa, REAL *pb, REAL *pc1, REAL *pc2)
long flip22count
Definition: tetgen.h:2157
void pinfect(point pt)
Definition: tetgen.h:3231
void uninfect(triface &t)
Definition: tetgen.h:2786
void inscribedsphere(REAL *, REAL *, REAL *, REAL *, REAL *cent, REAL *radius)
void retrievenewsubs(list *newshlist, bool removeseg)
REAL shortdistance(REAL *p, REAL *e1, REAL *e2)
void decidefeaturepointsizes()
int relverts
Definition: tetgen.h:2138
bool marktested(triface &t)
Definition: tetgen.h:2810
void collapseedge(point suppt, point conpt, list *oldtetlist, list *)
long abovecount
Definition: tetgen.h:2165
memorypool * tet2subpool
Definition: tetgen.h:2048
int maxcavfaces
Definition: tetgen.h:2149
long rejsegpts
Definition: tetgen.h:2172
arraypool * subsegstack
Definition: tetgen.h:2070
memorypool * subfaces
Definition: tetgen.h:2042
static int locver2org[4][6]
Definition: tetgen.h:1191
long maxcavsize
Definition: tetgen.h:2161
bool scoutfront(triface *front, triface *idfront)
~tetgenmesh()
Definition: tetgen.h:2278
bool removeedgebyflips(triface *remedge, int *)
void getfacetabovepoint(face *facetsh)
long flip44s
Definition: tetgen.h:2174
long flip23s
Definition: tetgen.h:2174
int pointmark(point pt)
Definition: tetgen.h:3208
long maxregionsize
Definition: tetgen.h:2161
@ CCW
Definition: tetgen.h:822
@ CW
Definition: tetgen.h:822
bool removeedgebyflip32(REAL *key, triface *, triface *, queue *)
REAL shortdistance(REAL *p, REAL *e1, REAL *e2, REAL *e3)
bool splitencseg(point, face *, list *, list *, list *, queue *, bool, bool, bool)
void marktest(triface &t)
Definition: tetgen.h:2802
static int loc2oppo[4]
Definition: tetgen.h:1196
bool suppressfacetpoint(face *supsh, list *frontlist, list *misfrontlist, list *ptlist, list *conlist, memorypool *viri, queue *flipque, bool noreloc, bool optflag)
enum locateresult hullwalk(point searchpt, triface *hulltet)
void interecursive(shellface **subfacearray, int arraysize, int axis, REAL bxmin, REAL bxmax, REAL bymin, REAL bymax, REAL bzmin, REAL bzmax, int *internum)
void formbowatcavitysegquad(point, list *, list *)
bool isfacehaspoint(triface *t, point testpoint)
Definition: tetgen.h:3335
REAL distance(REAL *p1, REAL *p2)
Definition: tetgen.h:3378
@ FILENAMESIZE
Definition: tetgen.h:810
badface * tetquefront[64]
Definition: tetgen.h:2105
void spivot(face &s1, face &s2)
Definition: tetgen.h:2880
long failsegcount
Definition: tetgen.h:2168
void suninfect(face &s)
Definition: tetgen.h:3045
bool suppresssegpoint(face *supseg, list *spinshlist, list *newsegshlist, list *frontlist, list *misfrontlist, list *ptlist, list *conlist, memorypool *viri, queue *flipque, bool noreloc, bool optflag)
void esym(triface &t1, triface &t2)
Definition: tetgen.h:2536
int elemattribindex
Definition: tetgen.h:2126
void getsplitpoint(point e1, point e2, point refpt, point newpt)
long flip22s
Definition: tetgen.h:2174
bool registerelemflip(enum fliptype ft, point pa1, point pb1, point pc1, point pa2, point pb2, point pc2)
bool tallencsegs(point testpt, int n, list **ceillists)
point sorg(face &s)
Definition: tetgen.h:2915
REAL xmin
Definition: tetgen.h:2113
void gluefronts(triface *front, triface *front1, list *gluetetlist, list *glueshlist)
long orient3dcount
Definition: tetgen.h:2154
bool removeedge(badface *remedge, bool optflag)
arraypool * caveshbdlist
Definition: tetgen.h:2068
REAL areabound(face &s)
Definition: tetgen.h:2992
long flip32s
Definition: tetgen.h:2174
long flip26count
Definition: tetgen.h:2156
point dummypoint
Definition: tetgen.h:2083
void outelements(tetgenio *)
void senext(face &s1, face &s2)
Definition: tetgen.h:2951
void symedge(triface &t1, triface &t2)
Definition: tetgen.h:2642
bool sinfected(face &s)
Definition: tetgen.h:3053
tetrahedron * tetrahedrontraverse()
void retrievenewtets(list *newtetlist)
void recoversegment(point tstart, point tend, queue *flipqueue)
wordtype
Definition: tetgen.h:826
@ POINTER
Definition: tetgen.h:826
@ FLOATINGPOINT
Definition: tetgen.h:826
bool removetetbypeeloff(triface *striptet, triface *)
long across_face_count
Definition: tetgen.h:2160
badface * badfacetraverse(memorypool *)
void puninfect(point pt)
Definition: tetgen.h:3235
void regionplague(memorypool *viri, REAL attribute, REAL volume)
void getnextsface(face *, face *)
int * segpglist
Definition: tetgen.h:2098
void facenormal2(point pa, point pb, point pc, REAL *n, int pivot)
void flip32(triface *, queue *)
void tssbond1(triface &t, face &seg)
Definition: tetgen.h:3176
void enext2fnextself(triface &t)
Definition: tetgen.h:2742
void flip22(triface *, queue *)
int jettisoninverts
Definition: tetgen.h:2143
void outfaces(tetgenio *)
void ssdissolve(face &s)
Definition: tetgen.h:3151
@ SAMPLEFACTOR
Definition: tetgen.h:819
void findedge(triface *t, point eorg, point edest)
void outvoronoi(tetgenio *)
void initializecavity(list *floorlist, list *ceillist, list *frontlist, list *ptlist, list *gluelist)
long maxbowatcavsize
Definition: tetgen.h:2159
REAL ** tetrahedron
Definition: tetgen.h:972
void lu_solve(REAL lu[4][4], int n, int *ps, REAL *b, int N)
bool issymexist(triface *t)
Definition: tetgen.h:3355
long across_max_count
Definition: tetgen.h:2160
REAL minfaceang
Definition: tetgen.h:2148
tetrahedron point2tet(point pt)
Definition: tetgen.h:3246
void senext2self(face &s)
Definition: tetgen.h:2965
int tri_edge_2d(point, point, point, point, point, point, int, int *, int *)
point point2pbcpt(point pt)
Definition: tetgen.h:3288
bool acceptsegpt(point segpt, point refpt, face *splitseg)
shellface sencode(face &s)
Definition: tetgen.h:2873
bool checktet4ill(triface *testtet, bool enqflag)
tetrahedron * dummytet
Definition: tetgen.h:2051
bool checkseg4encroach(face *testseg, point testpt, point *, bool enqflag)
int checksubsegs
Definition: tetgen.h:2132
long failsubcount
Definition: tetgen.h:2168
void setsapex(face &s, point pointptr)
Definition: tetgen.h:2935
bool checktet4opt(triface *testtet, bool enqflag)
void facenormal(REAL *pa, REAL *pb, REAL *pc, REAL *n, REAL *nlen)
void sbond(face &s1, face &s2)
Definition: tetgen.h:2893
void delaunizesegments2()
shellface point2sh(point pt)
Definition: tetgen.h:3254
enum interresult tri_edge_inter_tail(REAL *, REAL *, REAL *, REAL *, REAL *, REAL, REAL)
void setshellpbcgroup(face &s, int value)
Definition: tetgen.h:3032
bool checktet4badqual(triface *testtet, bool enqflag)
long ptloc_max_count
Definition: tetgen.h:2153
void adjustedgering(triface &t, int direction)
Definition: tetgen.h:3308
void mergefacets(queue *flipqueue)
void splittetface(point, triface *, queue *)
long optcount[10]
Definition: tetgen.h:2173
enum interresult edge_vert_col_inter(REAL *, REAL *, REAL *)
bool isfacehasedge(face *s, point tend1, point tend2)
Definition: tetgen.h:3349
void outhullfaces(tetgenio *)
shestype
Definition: tetgen.h:833
@ SHARP
Definition: tetgen.h:833
@ NSHARP
Definition: tetgen.h:833
point getsubsegfardest(face *sseg)
void setsorg(face &s, point pointptr)
Definition: tetgen.h:2927
void outnodes(tetgenio *)
void sym(triface &t1, triface &t2)
Definition: tetgen.h:2468
void tssdissolve1(triface &t)
Definition: tetgen.h:3191
void assignregionattribs()
void sdissolve(face &s)
Definition: tetgen.h:2908
memorypool * badsubsegs
Definition: tetgen.h:2045
long flipn2ncount
Definition: tetgen.h:2156
long totalbowatcavsize
Definition: tetgen.h:2159
void formstarpolyhedron(point pt, list *tetlist, list *verlist, bool)
unsigned long randomseed
Definition: tetgen.h:2145
int elemmarkerindex
Definition: tetgen.h:2128
void btree_search(point searchpt, triface *searchtet)
void flip22sub(face *, queue *)
int sizeoftensor
Definition: tetgen.h:2120
void tsdissolve(triface &t)
Definition: tetgen.h:3114
void tallbadtetrahedrons()
tetrahedron encode(triface &t)
Definition: tetgen.h:2462
arraypool * fixededgelist
Definition: tetgen.h:2079
bool b_steinerflag
Definition: tetgen.h:2150
void formstarpolygon(point pt, list *trilist, list *verlist)
tetgenmesh * bgm
Definition: tetgen.h:2036
void triangulate(int shmark, REAL eps, list *ptlist, list *conlist, int holes, REAL *holelist, memorypool *viri, queue *)
void setpoint2sh(point pt, shellface value)
Definition: tetgen.h:3258
void outmetrics(tetgenio *)
static int va[6]
Definition: tetgen.h:1187
void decode(tetrahedron ptr, triface &t)
Definition: tetgen.h:2457
static int vd[6]
Definition: tetgen.h:1187
long cdtenforcesegpts
Definition: tetgen.h:2171
REAL interiorangle(REAL *o, REAL *p1, REAL *p2, REAL *n)
bool acceptvolpt(point volpt, list *ceillist, list *verlist)
void carvecavity(arraypool *, arraypool *, arraypool *)
long hullsize
Definition: tetgen.h:2116
void getseghasorg(face *sseg, point dorg)
void marksharpsegments(REAL sharpangle)
void markedge(triface &t)
Definition: tetgen.h:2837
static int vo[6]
Definition: tetgen.h:1187
int firstnonemptyq
Definition: tetgen.h:2107
void sesymself(face &s)
Definition: tetgen.h:2947
bool recoverfacebyflips(triface *front, int *)
enum verttype pointtype(point pt)
Definition: tetgen.h:3219
void interpolatesizemap()
shellface point2seg(point pt)
Definition: tetgen.h:3262
long rejtetpts
Definition: tetgen.h:2172
void planelineint(REAL *, REAL *, REAL *, REAL *, REAL *, REAL *, REAL *)
REAL tetaspectratio(point, point, point, point)
void formskeleton(clock_t &)
void flip23(triface *, queue *)
bool removeedgebyflip22(REAL *key, int, triface *, queue *)
long updsegcount
Definition: tetgen.h:2167
bool constrainedcavity(triface *oldtet, list *floorlist, list *ceillist, list *ptlist, list *frontlist, list *misfrontlist, list *newtetlist, list *gluetetlist, list *glueshlist, queue *flipque)
bool fnext(triface &t1, triface &t2)
Definition: tetgen.h:2574
void splitsubface(point, face *, queue *)
enum finddirectionresult finddirectionsub(face *searchsh, point tend)
void enext2self(triface &t)
Definition: tetgen.h:2566
void unmarkedge(triface &t)
Definition: tetgen.h:2842
void tsspivot(triface *, face *)
void enextfnextself(triface &t)
Definition: tetgen.h:2732
void outsubsegments(tetgenio *)
enum interresult finddirection3(triface *searchtet, point)
static int locver2apex[4][6]
Definition: tetgen.h:1193
point apex(triface &t)
Definition: tetgen.h:2505
void setnewpointsize(point newpt, point e1, point e2)
int shmarkindex
Definition: tetgen.h:2129
list * segpbcgrouptable
Definition: tetgen.h:2095
REAL macheps
Definition: tetgen.h:2146
void makeshellface(memorypool *, face *)
bool removefacebyflips(triface *remface, int *)
void constrainededge(face *startsh, point tend, queue *flipqueue)
bool findorg(triface *t, point dorg)
void cross(REAL *v1, REAL *v2, REAL *n)
Definition: tetgen.h:3370
int checksubfaces
Definition: tetgen.h:2131
bool findorg(face *s, point dorg)
void esymself(triface &t)
Definition: tetgen.h:2542
enum locateresult adjustlocate(point, triface *, enum locateresult, REAL)
void senext2(face &s1, face &s2)
Definition: tetgen.h:2960
void formbowatcavity(point bp, face *bpseg, face *bpsh, int *n, int *nmax, list **sublists, list **subceillists, list **tetlists, list **ceillists)
void releasebowatcavity(face *, int, list **, list **, list **, list **)
void point2tetorg(point, triface &)
void tspivot(triface &t, face &s)
Definition: tetgen.h:3078
REAL cosmaxdihed
Definition: tetgen.h:2147
void randomsample(point searchpt, triface *searchtet)
void splitsubedge(point, face *, queue *)
void restorecavity(arraypool *, arraypool *, arraypool *)
void maketetrahedron(triface *)
long ndelaunayedgecount
Definition: tetgen.h:2162
void tetalldihedral(point, point, point, point, REAL *, REAL *, REAL *)
long lawson3d(queue *flipqueue)
void sinfect(face &s)
Definition: tetgen.h:3039
void formcavity(face *, arraypool *, arraypool *, arraypool *, arraypool *, arraypool *, arraypool *, arraypool *)
void stdissolve(face &s)
Definition: tetgen.h:3123
void carveholessub(int holes, REAL *holelist, memorypool *viri)
finddirectionresult
Definition: tetgen.h:853
@ TOPCOLLINEAR
Definition: tetgen.h:854
@ RIGHTCOLLINEAR
Definition: tetgen.h:854
@ ACROSSEDGE
Definition: tetgen.h:853
@ LEFTCOLLINEAR
Definition: tetgen.h:853
@ BELOWHULL
Definition: tetgen.h:854
@ ACROSSFACE
Definition: tetgen.h:853
void setpoint2pbcpt(point pt, point value)
Definition: tetgen.h:3292
void setsdest(face &s, point pointptr)
Definition: tetgen.h:2931
point sdest(face &s)
Definition: tetgen.h:2919
bool circumsphere(REAL *, REAL *, REAL *, REAL *, REAL *cent, REAL *radius)
bool acceptfacpt(point facpt, list *subceillist, list *verlist)
void enqueuebadtet(triface *tt, REAL key, REAL *cent)
void setpoint2seg(point pt, shellface value)
Definition: tetgen.h:3266
badface * shell2badface(face &s)
Definition: tetgen.h:2982
void point2shorg(point, face &)
memorypool * badsubfaces
Definition: tetgen.h:2046
void getonextseg(face *s, face *lseg)
void tsspivot1(triface &t, face &seg)
Definition: tetgen.h:3163
bool validatebowatcavityquad(point bp, list *ceillist, REAL maxcosd)
void badfacedealloc(memorypool *, badface *)
void markacutevertices(REAL acuteangle)
void tsbond(triface &t, face &s)
Definition: tetgen.h:3097
bool check4fixededge(point pa, point pb)
int suprelverts
Definition: tetgen.h:2139
void enqueueflipface(triface &, queue *)
bool checksub4encroach(face *testsub, point testpt, bool enqflag)
void shellfacedealloc(memorypool *, shellface *)
int maxcavverts
Definition: tetgen.h:2149
void infecthull(memorypool *viri)
bool suppressvolpoint(triface *suptet, list *frontlist, list *misfrontlist, list *ptlist, queue *flipque, bool optflag)
int shellmark(face &s)
Definition: tetgen.h:3005
bool iscollinear(REAL *, REAL *, REAL *, REAL eps)
int unsupverts
Definition: tetgen.h:2141
void enqueueencsub(face *ss, point encpt, int quenumber, REAL *cent)
shellface * dummysh
Definition: tetgen.h:2056
enum locateresult locate(point searchpt, triface *searchtet)
fliptype
Definition: tetgen.h:836
@ N32
Definition: tetgen.h:836
@ T44
Definition: tetgen.h:836
@ T22
Definition: tetgen.h:836
@ FORBIDDENFACE
Definition: tetgen.h:836
@ T23
Definition: tetgen.h:836
@ T32
Definition: tetgen.h:836
@ FORBIDDENEDGE
Definition: tetgen.h:836
@ N40
Definition: tetgen.h:836
void insertconstrainedpoints(tetgenio *addio)
void sbond1(face &s1, face &s2)
Definition: tetgen.h:2901
int nonconvex
Definition: tetgen.h:2135
point abovepoint
Definition: tetgen.h:2083
void deallocfaketets(list *frontlist)
void infecthullsub(memorypool *viri)
bool lu_decmp(REAL lu[4][4], int n, int *ps, REAL *d, int N)
static int locpivot[4][3]
Definition: tetgen.h:1211
void getsegmentsplitpoint3(face *sseg, point refpt, REAL *vt)
bool carvecavity(list *newtetlist, list *outtetlist, list *gluetetlist, queue *flipque)
bool facemarked(triface &t)
Definition: tetgen.h:2828
int smoothsegverts
Definition: tetgen.h:2142
void unmarkface(triface &t)
Definition: tetgen.h:2824
bool tallencsubs(point testpt, int n, list **ceillists)
int areaboundindex
Definition: tetgen.h:2130
long r3count
Definition: tetgen.h:2170
REAL elemattribute(tetrahedron *ptr, int attnum)
Definition: tetgen.h:2749
void dissolve(triface &t)
Definition: tetgen.h:2490
long cavityexpcount
Definition: tetgen.h:2162
bool smoothsliver(badface *remedge, list *starlist)
void tfnext(triface &t1, triface &t2)
Definition: tetgen.h:2685
void symself(triface &t)
Definition: tetgen.h:2473
bool findcollapseedge(point suppt, point *conpt, list *oldtetlist, list *)
void projpt2edge(REAL *p, REAL *e1, REAL *e2, REAL *prj)
REAL zmax
Definition: tetgen.h:2113
void insertauxsubface(triface *front, triface *idfront)
void sdecode(shellface sptr, face &s)
Definition: tetgen.h:2868
long bowatvolcount
Definition: tetgen.h:2166
REAL ymax
Definition: tetgen.h:2113
long insegments
Definition: tetgen.h:2117
bool isdead(triface *t)
Definition: tetgen.h:3322
arraypool * cavebdrylist
Definition: tetgen.h:2067
void setelemmarker(tetrahedron *ptr, int value)
Definition: tetgen.h:2774
REAL volumebound(tetrahedron *ptr)
Definition: tetgen.h:2760
bool pinfected(point pt)
Definition: tetgen.h:3239
static int minus1mod3[3]
Definition: tetgen.h:1216
REAL * point
Definition: tetgen.h:998
static int locver2edge[4][6]
Definition: tetgen.h:1204
int max_btreenode_size
Definition: tetgen.h:2062
void enext(triface &t1, triface &t2)
Definition: tetgen.h:2548
verttype
Definition: tetgen.h:829
@ ACUTEVERTEX
Definition: tetgen.h:829
@ FREESEGVERTEX
Definition: tetgen.h:830
@ DUPLICATEDVERTEX
Definition: tetgen.h:829
@ UNUSEDVERTEX
Definition: tetgen.h:829
@ FREEVOLVERTEX
Definition: tetgen.h:830
@ NACUTEVERTEX
Definition: tetgen.h:829
@ DEADVERTEX
Definition: tetgen.h:830
@ FREESUBVERTEX
Definition: tetgen.h:830
void infect(triface &t)
Definition: tetgen.h:2782
arraypool * caveoldtetlist
Definition: tetgen.h:2067
void symedgeself(triface &t)
Definition: tetgen.h:2659
tetgenio * in
Definition: tetgen.h:2030
void setpointmark(point pt, int value)
Definition: tetgen.h:3212
void outedges(tetgenio *)
REAL ** shellface
Definition: tetgen.h:985
long bowatsegcount
Definition: tetgen.h:2166
point dest(triface &t)
Definition: tetgen.h:2501
long opt_tet_peels
Definition: tetgen.h:2163
void setorg(triface &t, point pointptr)
Definition: tetgen.h:2513
REAL zmin
Definition: tetgen.h:2113
static REAL PI
Definition: tetgen.h:1641
static int edge2locver[6][2]
Definition: tetgen.h:1205
int getelemmarker(tetrahedron *ptr)
Definition: tetgen.h:2770
void unmarktest(triface &t)
Definition: tetgen.h:2806
int tri_edge_test(point, point, point, point, point, point, int, int *, int *)
void bond(triface &t1, triface &t2)
Definition: tetgen.h:2480
bool delaunizecavity(arraypool *, arraypool *, arraypool *, arraypool *, arraypool *, arraypool *)
REAL distance2(tetrahedron *tetptr, point p)
enum locateresult insertvertexbw(point insertpt, triface *searchtet, bool bwflag, bool visflag, bool noencsegflag, bool noencsubflag)
void makesegmentmap(int *&, shellface **&)
tetgenmesh()
Definition: tetgen.h:2182
int max_btree_depth
Definition: tetgen.h:2064
long flip14count
Definition: tetgen.h:2156
static int ve[6]
Definition: tetgen.h:1184
bool removefacebyflip23(REAL *key, triface *, triface *, queue *)
badface * tetquetail[64]
Definition: tetgen.h:2105
void setpoint2tet(point pt, tetrahedron value)
Definition: tetgen.h:3250
REAL lengthlimit
Definition: tetgen.h:2115
void setoppo(triface &t, point pointptr)
Definition: tetgen.h:2525
void makesubfacemap(int *&, shellface **&)
enum interresult tri_edge_inter(REAL *, REAL *, REAL *, REAL *, REAL *)
REAL incircle3d(point pa, point pb, point pc, point pd)
REAL insphere_s(REAL *, REAL *, REAL *, REAL *, REAL *)
triface recenttet
Definition: tetgen.h:2111
bool scoutsegmentsub(face *searchsh, point tend)
tetgenbehavior * b
Definition: tetgen.h:2033
triface firsttopface
Definition: tetgen.h:2073
point org(triface &t)
Definition: tetgen.h:2497
memorypool * tetrahedrons
Definition: tetgen.h:2041
tetrahedron * dummytetbase
Definition: tetgen.h:2052
void formbowatcavitysub(point, face *, list *, list *)
void findedge(face *s, point eorg, point edest)
enum interresult edge_edge_cop_inter(REAL *, REAL *, REAL *, REAL *, REAL *)
bool edgemarked(triface &t)
Definition: tetgen.h:2847
void splitsubedge(point, face *, arraypool *, arraypool *)
int dupverts
Definition: tetgen.h:2136
enum shestype shelltype(face &s)
Definition: tetgen.h:3018
int nextnonemptyq[64]
Definition: tetgen.h:2106
long lawson(queue *flipqueue)
enum locateresult preciselocate(point searchpt, triface *searchtet, long)
enum interresult tri_vert_cop_inter(REAL *, REAL *, REAL *, REAL *, REAL *)
void updatebowatcavityquad(list *tetlist, list *ceillist)
int point2simindex
Definition: tetgen.h:2122
REAL ymin
Definition: tetgen.h:2113
badface * dequeueencsub(int *quenumber)
void setshellmark(face &s, int value)
Definition: tetgen.h:3010
void senextself(face &s)
Definition: tetgen.h:2956
point point2ppt(point pt)
Definition: tetgen.h:3270
bool splitsliver(badface *remedge, list *tetlist, list *ceillist)
void btree_insert(point insertpt)
bool removeedgebytranNM(REAL *, int, triface *, triface *, point, point, queue *)
void repairencsubs(bool chkbadtet)
bool delaunizecavvertices(triface *, list *, list *, list *, queue *)
bool identifyfronts(list *frontlist, list *misfrontlist, list *gluetetlist, list *glueshlist)
void markface(triface &t)
Definition: tetgen.h:2820
insertsiteresult
Definition: tetgen.h:849
@ SUCCESSONEDGE
Definition: tetgen.h:849
@ SUCCESSINTET
Definition: tetgen.h:849
@ DUPLICATEPOINT
Definition: tetgen.h:850
@ OUTSIDEPOINT
Definition: tetgen.h:850
@ SUCCESSONFACE
Definition: tetgen.h:849
REAL minfacetdihed
Definition: tetgen.h:2148
void enextfnext(triface &t1, triface &t2)
Definition: tetgen.h:2727
void enext2(triface &t1, triface &t2)
Definition: tetgen.h:2560
int steinerleft
Definition: tetgen.h:2119
void plague(memorypool *viri)
point * facetabovepointarray
Definition: tetgen.h:2083
static int plus1mod3[3]
Definition: tetgen.h:1215
int checkpbcs
Definition: tetgen.h:2133
int varconstraint
Definition: tetgen.h:2134
void updatebowatcavitysub(list *sublist, list *subceillist, int *cutcount)
bool unifypoint(point testpt, triface *, enum locateresult, REAL)
enum interresult scoutcrosstet(face *ssub, triface *searchtet, arraypool *)
bool iscoplanar(REAL *, REAL *, REAL *, REAL *, REAL vol6, REAL eps)
void recoversubfacebyflips(face *pssub, triface *crossface, arraypool *)
REAL longest
Definition: tetgen.h:2114
int unuverts
Definition: tetgen.h:2137
enum interresult scoutsegment2(face *, triface *, point *)
static int locverpivot[4][6][2]
Definition: tetgen.h:1212
long inserthullcount
Definition: tetgen.h:2158
badface ** subquetail[3]
Definition: tetgen.h:2104
void enext2fnext(triface &t1, triface &t2)
Definition: tetgen.h:2737
REAL dot(REAL *v1, REAL *v2)
Definition: tetgen.h:3363
memorypool * points
Definition: tetgen.h:2044
long updsubcount
Definition: tetgen.h:2167
arraypool * caveshlist
Definition: tetgen.h:2068
int volumeboundindex
Definition: tetgen.h:2127
void rotatepoint(REAL *p, REAL rotangle, REAL *p1, REAL *p2)
enum interresult tri_tri_inter(REAL *, REAL *, REAL *, REAL *, REAL *, REAL *)
enum interresult scoutsubface(face *ssub, triface *searchtet, int)
long failvolcount
Definition: tetgen.h:2168
arraypool * cavetetlist
Definition: tetgen.h:2067
arraypool * subfacstack
Definition: tetgen.h:2070
@ N
Definition: constructor.cpp:22
static int f(const TensorMap< Tensor< int, 3 > > &tensor)
Definition: cxx11_tensor_map.cpp:237
RealScalar s
Definition: level1_cplx_impl.h:130
int RealScalar int RealScalar int RealScalar RealScalar * ps
Definition: level1_cplx_impl.h:124
int RealScalar int RealScalar int RealScalar * pc
Definition: level1_cplx_impl.h:124
const char const int const RealScalar const RealScalar * pa
Definition: level2_cplx_impl.h:20
const char const int const int const RealScalar const RealScalar const int const RealScalar * pb
Definition: level2_impl.h:28
char char * op
Definition: level2_impl.h:374
double eps
Definition: crbond_bessel.cc:24
squared absolute value
Definition: GlobalFunctions.h:87
double f2(const Vector< double > &coord)
f2 function, in front of the C2 unknown
Definition: poisson/poisson_with_singularity/two_d_poisson.cc:233
double f1(const Vector< double > &coord)
f1 function, in front of the C1 unknown
Definition: poisson/poisson_with_singularity/two_d_poisson.cc:147
int c
Definition: calibrate.py:100
const double & pe() const
Peclet number.
Definition: gen_axisym_advection_diffusion_elements.h:284
list x
Definition: plotDoE.py:28
t
Definition: plotPSD.py:36
int numberofpolygons
Definition: tetgen.h:231
int numberofholes
Definition: tetgen.h:233
polygon * polygonlist
Definition: tetgen.h:230
REAL * holelist
Definition: tetgen.h:232
int * pointpairlist
Definition: tetgen.h:278
int numberofpointpairs
Definition: tetgen.h:277
int fmark1
Definition: tetgen.h:275
int numberofvertices
Definition: tetgen.h:219
int * vertexlist
Definition: tetgen.h:218
int v1
Definition: tetgen.h:251
int c1
Definition: tetgen.h:263
int * elist
Definition: tetgen.h:264
Definition: tetgen.h:1104
triface tt
Definition: tetgen.h:1105
point fapex
Definition: tetgen.h:1109
point forg
Definition: tetgen.h:1109
point fdest
Definition: tetgen.h:1109
point foppo
Definition: tetgen.h:1109
REAL cent[3]
Definition: tetgen.h:1108
struct badface * previtem
Definition: tetgen.h:1111
REAL key
Definition: tetgen.h:1107
face ss
Definition: tetgen.h:1106
point noppo
Definition: tetgen.h:1110
struct badface * nextitem
Definition: tetgen.h:1111
Definition: tetgen.h:1154
REAL transmat[2][4][4]
Definition: tetgen.h:1158
int segid[2]
Definition: tetgen.h:1156
face ss[2]
Definition: tetgen.h:1157
int fmark[2]
Definition: tetgen.h:1155
std::ofstream out("Result.txt")
void terminatetetgen(int x)
Definition: tetgen.h:2370
#define REAL
Definition: tetgen.h:146
REAL insphere(REAL *pa, REAL *pb, REAL *pc, REAL *pd, REAL *pe)
REAL orient3d(REAL *pa, REAL *pb, REAL *pc, REAL *pd)
void swapBytes(unsigned char *var, int size)
Definition: tetgen.h:3410
bool testIsBigEndian()
Definition: tetgen.h:3422
void tetrahedralize(tetgenbehavior *b, tetgenio *in, tetgenio *out, tetgenio *addin=NULL, tetgenio *bgmin=NULL)
#define EdgeRing(V)
Definition: tetgen.h:2442
#define Orient(V)
Definition: tetgen.h:2438
std::ptrdiff_t j
Definition: tut_arithmetic_redux_minmax.cpp:2