#include "libqhull.h"
Go to the source code of this file.
Defines | |
#define | FORALLfacet_(facetlist) if (facetlist ) for ( facet=( facetlist ); facet && facet->next; facet= facet->next ) |
#define | FORALLnew_facets for ( newfacet=qh newfacet_list;newfacet && newfacet->next;newfacet=newfacet->next ) |
#define | FORALLsame_(newfacet) for (same= newfacet->f.samecycle; same != newfacet; same= same->f.samecycle) |
#define | FORALLsame_cycle_(newfacet) |
#define | FORALLvertex_(vertexlist) for (vertex=( vertexlist );vertex && vertex->next;vertex= vertex->next ) |
#define | FORALLvisible_facets for (visible=qh visible_list; visible && visible->visible; visible= visible->next) |
#define | FOREACHneighborA_(facet) FOREACHsetelement_(facetT, facet->neighbors, neighborA) |
#define | FOREACHnewfacet_(facets) FOREACHsetelement_(facetT, facets, newfacet) |
#define | FOREACHvertexA_(vertices) FOREACHsetelement_(vertexT, vertices, vertexA) |
#define | FOREACHvertexreverse12_(vertices) FOREACHsetelementreverse12_(vertexT, vertices, vertex) |
#define | FOREACHvisible_(facets) FOREACHsetelement_(facetT, facets, visible) |
#define | qh_ALGORITHMfault 0 |
#define | qh_DATAfault 1 |
#define | qh_DUPLICATEridge (facetT *)1L |
#define | qh_MERGEridge (facetT *)2L |
Functions | |
void | qh_addhash (void *newelem, setT *hashtable, int hashsize, int hash) |
void | qh_appendfacet (facetT *facet) |
void | qh_appendvertex (vertexT *vertex) |
void | qh_attachnewfacets (void) |
void | qh_check_bestdist (void) |
void | qh_check_maxout (void) |
void | qh_check_output (void) |
void | qh_check_point (pointT *point, facetT *facet, realT *maxoutside, realT *maxdist, facetT **errfacet1, facetT **errfacet2) |
void | qh_check_points (void) |
void | qh_checkconvex (facetT *facetlist, int fault) |
void | qh_checkfacet (facetT *facet, boolT newmerge, boolT *waserrorp) |
boolT | qh_checkflipped (facetT *facet, realT *dist, boolT allerror) |
void | qh_checkflipped_all (facetT *facetlist) |
void | qh_checkpolygon (facetT *facetlist) |
void | qh_checkvertex (vertexT *vertex) |
void | qh_clearcenters (qh_CENTER type) |
void | qh_createsimplex (setT *vertices) |
void | qh_deletevisible (void) |
void | qh_delfacet (facetT *facet) |
void | qh_delridge (ridgeT *ridge) |
void | qh_delvertex (vertexT *vertex) |
setT * | qh_facet3vertex (facetT *facet) |
setT * | qh_facetintersect (facetT *facetA, facetT *facetB, int *skipAp, int *skipBp, int extra) |
facetT * | qh_findbestfacet (pointT *point, boolT bestoutside, realT *bestdist, boolT *isoutside) |
facetT * | qh_findbestlower (facetT *upperfacet, pointT *point, realT *bestdistp, int *numpart) |
facetT * | qh_findfacet_all (pointT *point, realT *bestdist, boolT *isoutside, int *numpart) |
int | qh_findgood (facetT *facetlist, int goodhorizon) |
void | qh_findgood_all (facetT *facetlist) |
void | qh_furthestnext (void) |
void | qh_furthestout (facetT *facet) |
int | qh_gethash (int hashsize, setT *set, int size, int firstindex, void *skipelem) |
void | qh_infiniteloop (facetT *facet) |
void | qh_initbuild (void) |
void | qh_initialhull (setT *vertices) |
setT * | qh_initialvertices (int dim, setT *maxpoints, pointT *points, int numpoints) |
vertexT * | qh_isvertex (pointT *point, setT *vertices) |
facetT * | qh_makenew_nonsimplicial (facetT *visible, vertexT *apex, int *numnew) |
facetT * | qh_makenew_simplicial (facetT *visible, vertexT *apex, int *numnew) |
facetT * | qh_makenewfacet (setT *vertices, boolT toporient, facetT *facet) |
vertexT * | qh_makenewfacets (pointT *point) |
void | qh_makenewplanes (void) |
void | qh_matchduplicates (facetT *atfacet, int atskip, int hashsize, int *hashcount) |
void | qh_matchneighbor (facetT *newfacet, int newskip, int hashsize, int *hashcount) |
void | qh_matchnewfacets (void) |
boolT | qh_matchvertices (int firstindex, setT *verticesA, int skipA, setT *verticesB, int *skipB, boolT *same) |
void | qh_nearcoplanar (void) |
vertexT * | qh_nearvertex (facetT *facet, pointT *point, realT *bestdistp) |
facetT * | qh_newfacet (void) |
int | qh_newhashtable (int newsize) |
ridgeT * | qh_newridge (void) |
vertexT * | qh_newvertex (pointT *point) |
ridgeT * | qh_nextridge3d (ridgeT *atridge, facetT *facet, vertexT **vertexp) |
void | qh_outcoplanar (void) |
pointT * | qh_point (int id) |
void | qh_point_add (setT *set, pointT *point, void *elem) |
setT * | qh_pointfacet (void) |
int | qh_pointid (pointT *point) |
setT * | qh_pointvertex (void) |
void | qh_prependfacet (facetT *facet, facetT **facetlist) |
void | qh_printhashtable (FILE *fp) |
void | qh_printlists (void) |
void | qh_removefacet (facetT *facet) |
void | qh_removevertex (vertexT *vertex) |
void | qh_resetlists (boolT stats, boolT resetVisible) |
void | qh_setvoronoi_all (void) |
void | qh_triangulate (void) |
void | qh_triangulate_facet (facetT *facetA, vertexT **first_vertex) |
void | qh_triangulate_link (facetT *oldfacetA, facetT *facetA, facetT *oldfacetB, facetT *facetB) |
void | qh_triangulate_mirror (facetT *facetA, facetT *facetB) |
void | qh_triangulate_null (facetT *facetA) |
void | qh_updatevertices (void) |
void | qh_vertexintersect (setT **vertexsetA, setT *vertexsetB) |
setT * | qh_vertexintersect_new (setT *vertexsetA, setT *vertexsetB) |
void | qh_vertexneighbors (void) |
boolT | qh_vertexsubset (setT *vertexsetA, setT *vertexsetB) |
#define FORALLfacet_ | ( | facetlist | ) | if (facetlist ) for ( facet=( facetlist ); facet && facet->next; facet= facet->next ) |
#define FORALLnew_facets for ( newfacet=qh newfacet_list;newfacet && newfacet->next;newfacet=newfacet->next ) |
#define FORALLsame_ | ( | newfacet | ) | for (same= newfacet->f.samecycle; same != newfacet; same= same->f.samecycle) |
#define FORALLsame_cycle_ | ( | newfacet | ) |
#define FORALLvertex_ | ( | vertexlist | ) | for (vertex=( vertexlist );vertex && vertex->next;vertex= vertex->next ) |
#define FORALLvisible_facets for (visible=qh visible_list; visible && visible->visible; visible= visible->next) |
#define FOREACHneighborA_ | ( | facet | ) | FOREACHsetelement_(facetT, facet->neighbors, neighborA) |
#define FOREACHnewfacet_ | ( | facets | ) | FOREACHsetelement_(facetT, facets, newfacet) |
#define FOREACHvertexA_ | ( | vertices | ) | FOREACHsetelement_(vertexT, vertices, vertexA) |
#define FOREACHvertexreverse12_ | ( | vertices | ) | FOREACHsetelementreverse12_(vertexT, vertices, vertex) |
#define FOREACHvisible_ | ( | facets | ) | FOREACHsetelement_(facetT, facets, visible) |
#define qh_ALGORITHMfault 0 |
#define qh_DATAfault 1 |
#define qh_DUPLICATEridge (facetT *)1L |
#define qh_MERGEridge (facetT *)2L |
void qh_addhash | ( | void * | newelem, |
setT * | hashtable, | ||
int | hashsize, | ||
int | hash | ||
) |
void qh_appendfacet | ( | facetT * | facet | ) |
void qh_appendvertex | ( | vertexT * | vertex | ) |
void qh_attachnewfacets | ( | void | ) |
void qh_check_bestdist | ( | void | ) |
void qh_check_maxout | ( | void | ) |
void qh_check_output | ( | void | ) |
void qh_check_points | ( | void | ) |
void qh_checkconvex | ( | facetT * | facetlist, |
int | fault | ||
) |
void qh_checkfacet | ( | facetT * | facet, |
boolT | newmerge, | ||
boolT * | waserrorp | ||
) |
boolT qh_checkflipped | ( | facetT * | facet, |
realT * | dist, | ||
boolT | allerror | ||
) |
void qh_checkflipped_all | ( | facetT * | facetlist | ) |
void qh_checkpolygon | ( | facetT * | facetlist | ) |
void qh_checkvertex | ( | vertexT * | vertex | ) |
void qh_clearcenters | ( | qh_CENTER | type | ) |
void qh_createsimplex | ( | setT * | vertices | ) |
void qh_deletevisible | ( | void | ) |
void qh_delfacet | ( | facetT * | facet | ) |
void qh_delridge | ( | ridgeT * | ridge | ) |
void qh_delvertex | ( | vertexT * | vertex | ) |
setT* qh_facet3vertex | ( | facetT * | facet | ) |
setT* qh_facetintersect | ( | facetT * | facetA, |
facetT * | facetB, | ||
int * | skipAp, | ||
int * | skipBp, | ||
int | extra | ||
) |
facetT* qh_findbestlower | ( | facetT * | upperfacet, |
pointT * | point, | ||
realT * | bestdistp, | ||
int * | numpart | ||
) |
facetT* qh_findfacet_all | ( | pointT * | point, |
realT * | bestdist, | ||
boolT * | isoutside, | ||
int * | numpart | ||
) |
int qh_findgood | ( | facetT * | facetlist, |
int | goodhorizon | ||
) |
void qh_findgood_all | ( | facetT * | facetlist | ) |
void qh_furthestnext | ( | void | ) |
void qh_furthestout | ( | facetT * | facet | ) |
int qh_gethash | ( | int | hashsize, |
setT * | set, | ||
int | size, | ||
int | firstindex, | ||
void * | skipelem | ||
) |
void qh_infiniteloop | ( | facetT * | facet | ) |
void qh_initbuild | ( | void | ) |
void qh_initialhull | ( | setT * | vertices | ) |
setT* qh_initialvertices | ( | int | dim, |
setT * | maxpoints, | ||
pointT * | points, | ||
int | numpoints | ||
) |
facetT* qh_makenew_nonsimplicial | ( | facetT * | visible, |
vertexT * | apex, | ||
int * | numnew | ||
) |
facetT* qh_makenew_simplicial | ( | facetT * | visible, |
vertexT * | apex, | ||
int * | numnew | ||
) |
facetT* qh_makenewfacet | ( | setT * | vertices, |
boolT | toporient, | ||
facetT * | facet | ||
) |
vertexT* qh_makenewfacets | ( | pointT * | point | ) |
void qh_makenewplanes | ( | void | ) |
void qh_matchduplicates | ( | facetT * | atfacet, |
int | atskip, | ||
int | hashsize, | ||
int * | hashcount | ||
) |
void qh_matchneighbor | ( | facetT * | newfacet, |
int | newskip, | ||
int | hashsize, | ||
int * | hashcount | ||
) |
void qh_matchnewfacets | ( | void | ) |
boolT qh_matchvertices | ( | int | firstindex, |
setT * | verticesA, | ||
int | skipA, | ||
setT * | verticesB, | ||
int * | skipB, | ||
boolT * | same | ||
) |
void qh_nearcoplanar | ( | void | ) |
vertexT* qh_nearvertex | ( | facetT * | facet, |
pointT * | point, | ||
realT * | bestdistp | ||
) |
facetT* qh_newfacet | ( | void | ) |
int qh_newhashtable | ( | int | newsize | ) |
ridgeT* qh_newridge | ( | void | ) |
vertexT* qh_newvertex | ( | pointT * | point | ) |
ridgeT* qh_nextridge3d | ( | ridgeT * | atridge, |
facetT * | facet, | ||
vertexT ** | vertexp | ||
) |
void qh_outcoplanar | ( | void | ) |
void qh_point_add | ( | setT * | set, |
pointT * | point, | ||
void * | elem | ||
) |
setT* qh_pointfacet | ( | void | ) |
int qh_pointid | ( | pointT * | point | ) |
setT* qh_pointvertex | ( | void | ) |
void qh_prependfacet | ( | facetT * | facet, |
facetT ** | facetlist | ||
) |
void qh_printhashtable | ( | FILE * | fp | ) |
void qh_printlists | ( | void | ) |
void qh_removefacet | ( | facetT * | facet | ) |
void qh_removevertex | ( | vertexT * | vertex | ) |
void qh_resetlists | ( | boolT | stats, |
boolT | resetVisible | ||
) |
void qh_setvoronoi_all | ( | void | ) |
void qh_triangulate | ( | void | ) |
void qh_triangulate_facet | ( | facetT * | facetA, |
vertexT ** | first_vertex | ||
) |
void qh_triangulate_link | ( | facetT * | oldfacetA, |
facetT * | facetA, | ||
facetT * | oldfacetB, | ||
facetT * | facetB | ||
) |
void qh_triangulate_mirror | ( | facetT * | facetA, |
facetT * | facetB | ||
) |
void qh_triangulate_null | ( | facetT * | facetA | ) |
void qh_updatevertices | ( | void | ) |
void qh_vertexintersect | ( | setT ** | vertexsetA, |
setT * | vertexsetB | ||
) |
setT* qh_vertexintersect_new | ( | setT * | vertexsetA, |
setT * | vertexsetB | ||
) |
void qh_vertexneighbors | ( | void | ) |