EIC Software
Reference for
EIC
simulation and reconstruction software on GitHub
|
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <time.h>
#include <assert.h>
#include <stdint.h>
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) |
#define fastlookup | ( | pool, | |
index | |||
) |
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 FILENAMESIZE 1024 |
Definition at line 39 of file tetgen.h.
View newest version in sPHENIX GitHub at line 39 of file tetgen.h
Referenced by tetgenio::load_edge(), tetgenio::load_face(), tetgenio::load_medit(), tetgenio::load_mtr(), tetgenio::load_node(), 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::outedges(), tetgenmesh::outelements(), tetgenmesh::outfaces(), tetgenmesh::outhullfaces(), tetgenmesh::outmesh2medit(), tetgenmesh::outmesh2vtk(), tetgenmesh::outmetrics(), tetgenmesh::outneighbors(), tetgenmesh::outnodes(), tetgenmesh::outsmesh(), tetgenmesh::outsubfaces(), tetgenmesh::outsubsegments(), tetgenmesh::outvoronoi(), tetgenio::save_edges(), tetgenio::save_elements(), tetgenio::save_faces(), tetgenio::save_faces2smesh(), tetgenio::save_neighbors(), tetgenio::save_nodes(), and tetgenio::save_poly().
#define fnextself | ( | t | ) |
#define fsymself | ( | t | ) |
#define INPUTLINESIZE 2048 |
Definition at line 43 of file tetgen.h.
View newest version in sPHENIX GitHub at line 43 of file tetgen.h
Referenced by tetgenio::load_edge(), tetgenio::load_face(), tetgenio::load_medit(), tetgenio::load_mtr(), tetgenio::load_node(), 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(), tetgenio::readline(), and tetgenio::readnumberline().
Definition at line 3028 of file tetgen.h.
View newest version in sPHENIX GitHub at line 3028 of file tetgen.h
Referenced by tetgenmesh::constrainedfacets(), tetgenmesh::flip22(), tetgenmesh::flip31(), tetgenmesh::insertpoint(), tetgenmesh::lawsonflip(), tetgenmesh::lawsonflip3d(), tetgenmesh::makefacetverticesmap(), tetgenmesh::scarveholes(), tetgenmesh::sinsertvertex(), tetgenmesh::slocate(), and tetgenmesh::sscoutsegment().
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().
Definition at line 2954 of file tetgen.h.
View newest version in sPHENIX GitHub at line 2954 of file tetgen.h
Referenced by tetgenmesh::carveholes(), tetgenmesh::fillregion(), tetgenmesh::flip23(), tetgenmesh::flip32(), tetgenmesh::flip41(), tetgenmesh::flipnm(), tetgenmesh::getvertexstar(), tetgenmesh::insertconstrainedpoints(), tetgenmesh::lawsonflip3d(), tetgenmesh::removefacebyflips(), tetgenmesh::removevertexbyflips(), tetgenmesh::scoutsegment(), and tetgenmesh::scoutsubface().
Definition at line 3078 of file tetgen.h.
View newest version in sPHENIX GitHub at line 3078 of file tetgen.h
Referenced by tetgenmesh::addsteiner4recoversegment(), tetgenmesh::carveholes(), tetgenmesh::constrainedfacets(), tetgenmesh::delaunizesegments(), tetgenmesh::flip23(), tetgenmesh::flip32(), tetgenmesh::flip41(), tetgenmesh::flipnm(), tetgenmesh::formcavity(), tetgenmesh::insertconstrainedpoints(), tetgenmesh::lawsonflip3d(), tetgenmesh::recoverfacebyflips(), tetgenmesh::reduceedgesatvertex(), tetgenmesh::refineregion(), tetgenmesh::removeedgebyflips(), tetgenmesh::scoutcrossedge(), tetgenmesh::scoutsegment(), and tetgenmesh::splitsliver().
#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 | |||
) |
Definition at line 2741 of file tetgen.h.
View newest version in sPHENIX GitHub at line 2741 of file tetgen.h
Referenced by tetgenmesh::delaunizecavity(), tetgenmesh::flip22(), tetgenmesh::flip31(), tetgenmesh::identifypscedges(), tetgenmesh::reconstructmesh(), tetgenmesh::recoversubfaces(), tetgenmesh::sinsertvertex(), tetgenmesh::sremovevertex(), tetgenmesh::sscoutsegment(), and tetgenmesh::triangulate().
#define setvertices | ( | t, | |
torg, | |||
tdest, | |||
tapex, | |||
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().
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().
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().
Definition at line 2194 of file predicates.cxx.
View newest version in sPHENIX GitHub at line 2194 of file predicates.cxx
References _use_inexact_arith, _use_static_filter, Absolute, o3derrboundA, o3dstaticfilter, orient3dadapt(), and REAL.
Referenced by tetgenmesh::add_steinerpt_in_schoenhardtpoly(), tetgenmesh::checkmesh(), tetgenmesh::delaunizecavity(), tetgenmesh::facedihedral(), tetgenmesh::fillcavity(), tetgenmesh::finddirection(), tetgenmesh::flipinsertfacet(), tetgenmesh::flipnm(), tetgenmesh::incrementalflip(), tetgenmesh::insertpoint(), tetgenmesh::insphere_s(), tetgenmesh::interiorangle(), tetgenmesh::lawsonflip3d(), tetgenmesh::locate(), tetgenmesh::orient4d_s(), tetgenmesh::reconstructmesh(), tetgenmesh::removefacebyflips(), tetgenmesh::scoutcrossedge(), tetgenmesh::sinsertvertex(), tetgenmesh::slocate(), tetgenmesh::smoothpoint(), tetgenmesh::sremovevertex(), tetgenmesh::sscoutsegment(), tetgenmesh::suppressbdrysteinerpoint(), tetgenmesh::tri_edge_2d(), tetgenmesh::tri_edge_tail(), tetgenmesh::tri_edge_test(), tetgenmesh::tri_tri_inter(), and tetgenmesh::unifysegments().
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().
|
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().
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().