EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
tetgen.h File Reference
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <time.h>
#include <assert.h>
#include <stdint.h>
+ Include dependency graph for tetgen.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  tetgenio
 
struct  tetgenio::polygon
 
struct  tetgenio::facet
 
struct  tetgenio::voroedge
 
struct  tetgenio::vorofacet
 
struct  tetgenio::pointparam
 
class  tetgenbehavior
 
class  tetgenmesh
 
class  tetgenmesh::triface
 
class  tetgenmesh::face
 
class  tetgenmesh::arraypool
 
class  tetgenmesh::memorypool
 
class  tetgenmesh::badface
 
class  tetgenmesh::insertvertexflags
 
class  tetgenmesh::flipconstraints
 
class  tetgenmesh::optparameters
 

Macros

#define REAL   double
 
#define FILENAMESIZE   1024
 
#define INPUTLINESIZE   2048
 
#define fastlookup(pool, index)
 
#define fsymself(t)
 
#define fnextself(t)
 
#define setvertices(t, torg, tdest, tapex, toppo)
 
#define setshvertices(s, pa, pb, pc)
 
#define issubface(t)   ((t).tet[9] && ((t).tet[9])[(t).ver & 3])
 
#define isshtet(s)   ((s).sh[9 + ((s).shver & 1)])
 
#define isshsubseg(s)   ((s).sh[6 + ((s).shver >> 1)])
 
#define issubseg(t)   ((t).tet[8] && ((t).tet[8])[ver2edge[(t).ver]])
 

Functions

void exactinit (int, int, int, REAL, REAL, REAL)
 
REAL orient3d (REAL *pa, REAL *pb, REAL *pc, REAL *pd)
 
REAL insphere (REAL *pa, REAL *pb, REAL *pc, REAL *pd, REAL *pe)
 
REAL orient4d (REAL *pa, REAL *pb, REAL *pc, REAL *pd, REAL *pe, REAL ah, REAL bh, REAL ch, REAL dh, REAL eh)
 
void tetrahedralize (tetgenbehavior *b, tetgenio *in, tetgenio *out, tetgenio *addin=NULL, tetgenio *bgmin=NULL)
 
void terminatetetgen (tetgenmesh *m, int x)
 

Macro Definition Documentation

#define fastlookup (   pool,
  index 
)
Value:
(void *) ((pool)->toparray[(index) >> (pool)->log2objectsperblock] + \
((index) & (pool)->objectsperblockmark) * (pool)->objectbytes)

Definition at line 1007 of file tetgen.h.

View newest version in sPHENIX GitHub at line 1007 of file tetgen.h

Referenced by tetgenmesh::add_steinerpt_in_schoenhardtpoly(), tetgenmesh::add_steinerpt_in_segment(), tetgenmesh::calculateabovepoint(), tetgenmesh::carvecavity(), tetgenmesh::carveholes(), tetgenmesh::collectremovepoints(), tetgenmesh::constraineddelaunay(), tetgenmesh::constrainedfacets(), tetgenmesh::delaunizecavity(), tetgenmesh::delaunizesegments(), tetgenmesh::fillcavity(), tetgenmesh::fillregion(), tetgenmesh::flipinsertfacet(), tetgenmesh::formcavity(), tetgenmesh::formregion(), tetgenmesh::getedge(), tetgenmesh::getvertexstar(), tetgenmesh::improvequalitybyflips(), tetgenmesh::improvequalitybysmoothing(), tetgenmesh::incrementalflip(), tetgenmesh::insertpoint(), tetgenmesh::insertpoint_abort(), tetgenmesh::insertpoint_cdt(), tetgenmesh::lawsonflip3d(), tetgenio::load_stl(), tetgenmesh::makefacetverticesmap(), tetgenmesh::makesegmentendpointsmap(), tetgenmesh::meshcoarsening(), tetgenmesh::meshsurface(), tetgenmesh::outvoronoi(), tetgenmesh::recoverboundary(), tetgenmesh::recoverdelaunay(), tetgenmesh::recoverfacebyflips(), tetgenmesh::recoversegments(), tetgenmesh::recoversubfaces(), tetgenmesh::reduceedgesatvertex(), tetgenmesh::refineregion(), tetgenmesh::removeslivers(), tetgenmesh::restorecavity(), tetgenmesh::scarveholes(), tetgenmesh::scoutcrossedge(), tetgenmesh::sinsertvertex(), tetgenmesh::smoothpoint(), tetgenmesh::splitsubface(), tetgenmesh::splittetrahedron(), tetgenmesh::sremovevertex(), tetgenmesh::suppressbdrysteinerpoint(), tetgenmesh::suppresssteinerpoints(), and tetgenmesh::triangulate().

#define fnextself (   t)
Value:
t1ver = (t).ver; \
decode((t).tet[facepivot1[(t).ver]], (t)); \
(t).ver = facepivot2[t1ver][(t).ver]

Definition at line 2430 of file tetgen.h.

View newest version in sPHENIX GitHub at line 2430 of file tetgen.h

#define fsymself (   t)
Value:
t1ver = (t).ver; \
decode((t).tet[(t).ver & 3], (t));\
(t).ver = fsymtbl[t1ver][(t).ver]

Definition at line 2415 of file tetgen.h.

View newest version in sPHENIX GitHub at line 2415 of file tetgen.h

#define isshtet (   s)    ((s).sh[9 + ((s).shver & 1)])

Definition at line 2972 of file tetgen.h.

View newest version in sPHENIX GitHub at line 2972 of file tetgen.h

Referenced by tetgenmesh::constrainedfacets(), and tetgenmesh::sinsertvertex().

#define REAL   double

Definition at line 35 of file tetgen.h.

View newest version in sPHENIX GitHub at line 35 of file tetgen.h

Referenced by tetgenmesh::add_steinerpt_in_schoenhardtpoly(), tetgenmesh::add_steinerpt_in_segment(), tetgenmesh::areabound(), tetgenmesh::calculateabovepoint(), tetgenmesh::calculateabovepoint4(), tetgenmesh::carveholes(), tetgenmesh::checkconforming(), tetgenmesh::checkdelaunay(), tetgenmesh::checkfac4encroach(), tetgenmesh::checkfac4split(), tetgenmesh::checkflipeligibility(), tetgenmesh::checkmesh(), tetgenmesh::checkregular(), tetgenmesh::checkseg4encroach(), tetgenmesh::checkseg4split(), tetgenmesh::checktet4split(), tetgenmesh::circumsphere(), tetgenmesh::collectremovepoints(), compress(), tetgenio::deinitialize(), tetgenmesh::delaunizecavity(), tetgenmesh::elemattribute(), estimate(), exactinit(), expansion_sum(), expansion_sum_zeroelim1(), expansion_sum_zeroelim2(), tetgenmesh::facedihedral(), tetgenmesh::facenormal(), fast_expansion_sum(), fast_expansion_sum_zeroelim(), tetgenmesh::fillcavity(), tetgenmesh::finddirection(), tetgenmesh::flip23(), tetgenmesh::flip32(), tetgenmesh::flip41(), tetgenmesh::flipcertify(), tetgenmesh::flipinsertfacet(), tetgenmesh::flipnm(), tetgenmesh::getpointmeshsize(), tetgenmesh::getsteinerptonsegment(), grow_expansion(), grow_expansion_zeroelim(), tetgenmesh::hilbert_sort3(), tetgenmesh::hilbert_split(), tetgenmesh::identifypscedges(), tetgenmesh::improvequalitybyflips(), incircle(), tetgenmesh::incircle3d(), incircleadapt(), incircleexact(), incirclefast(), incircleslow(), tetgenmesh::incrementaldelaunay(), tetgenmesh::incrementalflip(), tetgenio::init(), tetgenio::initialize(), tetgenmesh::initializepools(), tetgenmesh::insertconstrainedpoints(), tetgenmesh::insertpoint(), insphere(), tetgenmesh::insphere_s(), insphereadapt(), insphereexact(), inspherefast(), insphereslow(), tetgenmesh::interecursive(), tetgenmesh::interiorangle(), tetgenmesh::interpolatemeshsize(), tetgenmesh::lawsonflip(), tetgenmesh::lawsonflip3d(), linear_expansion_sum(), linear_expansion_sum_zeroelim(), tetgenmesh::linelineint(), tetgenio::load_face(), tetgenio::load_medit(), tetgenio::load_mtr(), tetgenio::load_node_call(), tetgenio::load_off(), tetgenio::load_ply(), tetgenio::load_poly(), tetgenio::load_stl(), tetgenio::load_tet(), tetgenio::load_var(), tetgenio::load_vol(), tetgenio::load_vtk(), tetgenmesh::locate(), tetgenmesh::lu_decmp(), tetgenmesh::lu_solve(), tetgenmesh::mergefacets(), tetgenmesh::optimizemesh(), orient2d(), orient2dadapt(), orient2dexact(), orient2dfast(), orient2dslow(), orient3d(), orient3dadapt(), orient3dexact(), orient3dfast(), tetgenmesh::orient3dfast(), orient3dslow(), orient4d(), tetgenmesh::orient4d_s(), orient4dadapt(), orient4dexact(), tetgenmesh::orthosphere(), tetgenmesh::outelements(), tetgenmesh::outmetrics(), tetgenmesh::outnodes(), tetgenmesh::outvoronoi(), tetgenbehavior::parse_commandline(), tetgenmesh::planelineint(), tetgenmesh::projpt2edge(), tetgenmesh::projpt2face(), tetgenmesh::qualitystatistics(), tetgenmesh::randomsample(), tetgenmesh::reconstructmesh(), tetgenmesh::removefacebyflips(), tetgenmesh::removeslivers(), tetgenmesh::repairbadtets(), tetgenmesh::repairencfacs(), tetgenio::save_nodes(), scale_expansion(), scale_expansion_zeroelim(), tetgenmesh::scoutcrossedge(), tetgenmesh::scoutpoint(), tetgenmesh::scoutsegment(), tetgenmesh::setareabound(), tetgenmesh::setelemattribute(), tetgenmesh::setvolumebound(), tetgenmesh::shortdistance(), tetgenmesh::sinsertvertex(), tetgenmesh::slocate(), tetgenmesh::smoothpoint(), tetgenmesh::splitsegment(), tetgenmesh::splitsliver(), tetgenmesh::splitsubface(), tetgenmesh::splittetrahedron(), tetgenmesh::sremovevertex(), tetgenmesh::sscoutsegment(), tetgenmesh::suppressbdrysteinerpoint(), tetgenmesh::suppresssteinerpoints(), tetgenmesh::tetalldihedral(), tetgenmesh::tetallnormal(), tetgenmesh::tetaspectratio(), tetgenmesh::tetprismvol(), tetrahedralize(), tetgenmesh::transfernodes(), tetgenmesh::tri_edge_2d(), tetgenmesh::tri_edge_tail(), tetgenmesh::tri_edge_test(), tetgenmesh::tri_tri_inter(), tetgenmesh::triangulate(), tetgenmesh::triarea(), tetgenmesh::unifysegments(), and tetgenmesh::volumebound().

#define setshvertices (   s,
  pa,
  pb,
  pc 
)
#define setvertices (   t,
  torg,
  tdest,
  tapex,
  toppo 
)
Value:
(t).tet[orgpivot[(t).ver]] = (tetrahedron) (torg);\
(t).tet[destpivot[(t).ver]] = (tetrahedron) (tdest); \
(t).tet[apexpivot[(t).ver]] = (tetrahedron) (tapex); \
(t).tet[oppopivot[(t).ver]] = (tetrahedron) (toppo)

Definition at line 2471 of file tetgen.h.

View newest version in sPHENIX GitHub at line 2471 of file tetgen.h

Referenced by tetgenmesh::add_steinerpt_in_schoenhardtpoly(), tetgenmesh::carveholes(), tetgenmesh::flip23(), tetgenmesh::flip32(), tetgenmesh::flip41(), tetgenmesh::initialdelaunay(), tetgenmesh::reconstructmesh(), and tetgenmesh::suppressbdrysteinerpoint().

Function Documentation

void exactinit ( int  ,
int  ,
int  ,
REAL  ,
REAL  ,
REAL   
)

Definition at line 543 of file predicates.cxx.

View newest version in sPHENIX GitHub at line 543 of file predicates.cxx

References _use_inexact_arith, _use_static_filter, ccwerrboundA, ccwerrboundB, ccwerrboundC, epsilon, half, iccerrboundA, iccerrboundB, iccerrboundC, isperrboundA, isperrboundB, isperrboundC, ispstaticfilter, G4BECAL::maxz, o3derrboundA, o3derrboundB, o3derrboundC, o3dstaticfilter, printf(), REAL, resulterrbound, splitter, and test_double().

Referenced by tetrahedralize().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

REAL insphere ( REAL pa,
REAL pb,
REAL pc,
REAL pd,
REAL pe 
)

Definition at line 4050 of file predicates.cxx.

View newest version in sPHENIX GitHub at line 4050 of file predicates.cxx

References _use_inexact_arith, _use_static_filter, Absolute, insphereadapt(), isperrboundA, ispstaticfilter, and REAL.

Referenced by tetgenmesh::checkregular(), tetgenmesh::flipcertify(), and tetgenmesh::insphere_s().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

REAL orient4d ( REAL pa,
REAL pb,
REAL pc,
REAL pd,
REAL pe,
REAL  ah,
REAL  bh,
REAL  ch,
REAL  dh,
REAL  eh 
)

Definition at line 4600 of file predicates.cxx.

View newest version in sPHENIX GitHub at line 4600 of file predicates.cxx

References Absolute, isperrboundA, orient4dadapt(), and REAL.

Referenced by tetgenmesh::checkregular(), tetgenmesh::flipcertify(), tetgenmesh::orient4d_s(), and tetgenmesh::tetprismvol().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void terminatetetgen ( tetgenmesh m,
int  x 
)
inline

Definition at line 2247 of file tetgen.h.

View newest version in sPHENIX GitHub at line 2247 of file tetgen.h

References exit(), tetgenmesh::freememory(), printf(), and x.

Referenced by tetgenmesh::add_steinerpt_in_segment(), tetgenmesh::addsteiner4recoversegment(), tetgenmesh::memorypool::alloc(), tetgenmesh::delaunizesegments(), tetgenmesh::flip32(), tetgenmesh::formcavity(), tetgenmesh::formregion(), tetgenmesh::highorder(), tetgenmesh::incrementaldelaunay(), tetgenmesh::incrementalflip(), tetgenmesh::interecursive(), tetgenio::load_edge(), tetgenio::load_face(), tetgenio::load_mtr(), tetgenio::load_node_call(), tetgenio::load_tet(), tetgenio::load_vol(), main(), tetgenmesh::outedges(), tetgenmesh::outelements(), tetgenmesh::outfaces(), tetgenmesh::outhullfaces(), tetgenmesh::outmetrics(), tetgenmesh::outneighbors(), tetgenmesh::outnodes(), tetgenmesh::outsubfaces(), tetgenmesh::outsubsegments(), tetgenmesh::outvoronoi(), tetgenbehavior::parse_commandline(), tetgenmesh::memorypool::poolinit(), tetgenmesh::recoveredgebyflips(), tetgenmesh::recoverfacebyflips(), tetgenmesh::recoversubfaces(), tetgenmesh::scoutcrossedge(), tetgenmesh::scoutsubface(), tetgenmesh::sscoutsegment(), tetgenmesh::transfernodes(), tetgenmesh::unifysubfaces(), and tetgenbehavior::usage().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void tetrahedralize ( tetgenbehavior b,
tetgenio in,
tetgenio out,
tetgenio addin = NULL,
tetgenio bgmin = NULL 
)

Definition at line 30860 of file tetgen.cxx.

View newest version in sPHENIX GitHub at line 30860 of file tetgen.cxx

References tetgenmesh::addin, tetgenmesh::b, tetgenmesh::bgm, tetgenmesh::carveholes(), tetgenmesh::checkdelaunay(), tetgenmesh::checkmesh(), tetgenmesh::checksegments(), tetgenmesh::checkshells(), tetgenbehavior::coarsen, tetgenmesh::constraineddelaunay(), tetgenbehavior::convex, tetgenmesh::delaunayrefinement(), tetgenmesh::detectinterfaces(), tetgenbehavior::diagnose, tetgenbehavior::docheck, tetgenmesh::dupverts, tetgenbehavior::edgesout, exactinit(), tetgenbehavior::facesout, tetgenio::firstnumber, tetgenmesh::highorder(), tetgenmesh::in, tetgenmesh::incrementaldelaunay(), tetgenmesh::initializepools(), tetgenbehavior::insertaddpoints, tetgenmesh::insertconstrainedpoints(), tetgenmesh::interpolatemeshsize(), tetgenmesh::memorypool::items, tetgenmesh::jettisonnodes(), Acts::UnitConstants::m, tetgenbehavior::meditview, tetgenio::mesh_dim, tetgenmesh::meshcoarsening(), tetgenmesh::meshsurface(), tetgenbehavior::metric, tetgenbehavior::neighout, tetgenbehavior::nobisect, tetgenbehavior::noelewritten, tetgenbehavior::noexact, tetgenbehavior::nofacewritten, tetgenbehavior::noiterationnum, tetgenbehavior::nojettison, tetgenbehavior::nonodewritten, tetgenbehavior::nostaticfilter, tetgenio::numberofcorners, tetgenio::numberofpoints, tetgenbehavior::object, tetgenmesh::arraypool::objects, tetgenbehavior::OFF, tetgenmesh::optimizemesh(), tetgenbehavior::optlevel, tetgenbehavior::order, tetgenmesh::outedges(), tetgenmesh::outelements(), tetgenmesh::outfaces(), tetgenbehavior::outfilename, tetgenmesh::outhullfaces(), tetgenmesh::outmesh2medit(), tetgenmesh::outmesh2vtk(), tetgenmesh::outmetrics(), tetgenmesh::outneighbors(), tetgenmesh::outnodes(), tetgenmesh::outsmesh(), tetgenmesh::outsubfaces(), tetgenmesh::outsubsegments(), tetgenmesh::outvoronoi(), tetgenbehavior::plc, tetgenbehavior::PLY, printf(), tetgenbehavior::quality, tetgenbehavior::quiet, REAL, tetgenmesh::reconstructmesh(), tetgenmesh::recoverboundary(), tetgenmesh::recoverdelaunay(), tetgenbehavior::refine, tetgenmesh::statistics(), tetgenbehavior::STL, tetgenmesh::subfaces, tetgenmesh::subvertstack, tetgenmesh::suppresssteinerpoints(), tetgenmesh::tetgenmesh(), tetgenmesh::tetrahedrons, tetgenmesh::transfernodes(), tetgenmesh::unuverts, tetgenbehavior::verbose, tetgenbehavior::voroout, tetgenbehavior::vtkview, tetgenmesh::xmax, tetgenmesh::xmin, tetgenmesh::ymax, tetgenmesh::ymin, tetgenmesh::zmax, and tetgenmesh::zmin.

Referenced by EicStlFactory::_ConstructGeometry(), EicStlFactory::CreateRootFile(), and main().

+ Here is the call graph for this function:

+ Here is the caller graph for this function: