ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/OpenMD/trunk/src/QuickHull/io.h
Revision: 1138
Committed: Tue May 29 22:51:00 2007 UTC (18 years ago) by chuckv
Content type: text/plain
File size: 7489 byte(s)
Log Message:
Addded QuickHull to cvs.

File Contents

# User Rev Content
1 chuckv 1138 /*<html><pre> -<a href="qh-io.htm"
2     >-------------------------------</a><a name="TOP">-</a>
3    
4     io.h
5     declarations of Input/Output functions
6    
7     see README, qhull.h and io.c
8    
9     copyright (c) 1993-2003, The Geometry Center
10     */
11    
12     #ifndef qhDEFio
13     #define qhDEFio 1
14    
15     /*============ constants and flags ==================*/
16    
17     /*-<a href="qh-io.htm#TOC"
18     >--------------------------------</a><a name="qh_MAXfirst">-</a>
19    
20     qh_MAXfirst
21     maximum length of first two lines of stdin
22     */
23     #define qh_MAXfirst 200
24    
25     /*-<a href="qh-io.htm#TOC"
26     >--------------------------------</a><a name="qh_MINradius">-</a>
27    
28     qh_MINradius
29     min radius for Gp and Gv, fraction of maxcoord
30     */
31     #define qh_MINradius 0.02
32    
33     /*-<a href="qh-io.htm#TOC"
34     >--------------------------------</a><a name="qh_GEOMepsilon">-</a>
35    
36     qh_GEOMepsilon
37     adjust outer planes for 'lines closer' and geomview roundoff.
38     This prevents bleed through.
39     */
40     #define qh_GEOMepsilon 2e-3
41    
42     /*-<a href="qh-io.htm#TOC"
43     >--------------------------------</a><a name="qh_WHITESPACE">-</a>
44    
45     qh_WHITESPACE
46     possible values of white space
47     */
48     #define qh_WHITESPACE " \n\t\v\r\f"
49    
50    
51     /*-<a href="qh-io.htm#TOC"
52     >--------------------------------</a><a name="RIDGE">-</a>
53    
54     qh_RIDGE
55     to select which ridges to print in qh_eachvoronoi
56     */
57     typedef enum
58     {
59     qh_RIDGEall = 0, qh_RIDGEinner, qh_RIDGEouter
60     }
61     qh_RIDGE;
62    
63     /*-<a href="qh-io.htm#TOC"
64     >--------------------------------</a><a name="printvridgeT">-</a>
65    
66     printvridgeT
67     prints results of qh_printvdiagram
68    
69     see:
70     <a href="io.c#printvridge">qh_printvridge</a> for an example
71     */
72     typedef void (*printvridgeT)(FILE *fp, vertexT *vertex, vertexT *vertexA, setT *centers, boolT unbounded);
73    
74     /*============== -prototypes in alphabetical order =========*/
75    
76     void dfacet( unsigned id);
77     void dvertex( unsigned id);
78     int qh_compare_facetarea(const void *p1, const void *p2);
79     int qh_compare_facetmerge(const void *p1, const void *p2);
80     int qh_compare_facetvisit(const void *p1, const void *p2);
81     int qh_compare_vertexpoint(const void *p1, const void *p2); /* not used */
82    
83     void qh_countfacets (facetT *facetlist, setT *facets, boolT printall,
84     int *numfacetsp, int *numsimplicialp, int *totneighborsp,
85     int *numridgesp, int *numcoplanarsp, int *numnumtricoplanarsp);
86     pointT *qh_detvnorm (vertexT *vertex, vertexT *vertexA, setT *centers, realT *offsetp);
87     setT *qh_detvridge (vertexT *vertex);
88     setT *qh_detvridge3 (vertexT *atvertex, vertexT *vertex);
89     int qh_eachvoronoi (FILE *fp, printvridgeT printvridge, vertexT *atvertex, boolT visitall, qh_RIDGE innerouter, boolT inorder);
90     int qh_eachvoronoi_all (FILE *fp, printvridgeT printvridge, boolT isupper, qh_RIDGE innerouter, boolT inorder);
91     void qh_facet2point(facetT *facet, pointT **point0, pointT **point1, realT *mindist);
92     setT *qh_facetvertices (facetT *facetlist, setT *facets, boolT allfacets);
93     void qh_geomplanes (facetT *facet, realT *outerplane, realT *innerplane);
94     void qh_markkeep (facetT *facetlist);
95     setT *qh_markvoronoi (facetT *facetlist, setT *facets, boolT printall, boolT *islowerp, int *numcentersp);
96     void qh_order_vertexneighbors(vertexT *vertex);
97     void qh_printafacet(FILE *fp, int format, facetT *facet, boolT printall);
98     void qh_printbegin (FILE *fp, int format, facetT *facetlist, setT *facets, boolT printall);
99     void qh_printcenter (FILE *fp, int format, char *string, facetT *facet);
100     void qh_printcentrum (FILE *fp, facetT *facet, realT radius);
101     void qh_printend (FILE *fp, int format, facetT *facetlist, setT *facets, boolT printall);
102     void qh_printend4geom (FILE *fp, facetT *facet, int *num, boolT printall);
103     void qh_printextremes (FILE *fp, facetT *facetlist, setT *facets, int printall);
104     void qh_printextremes_2d (FILE *fp, facetT *facetlist, setT *facets, int printall);
105     void qh_printextremes_d (FILE *fp, facetT *facetlist, setT *facets, int printall);
106     void qh_printfacet(FILE *fp, facetT *facet);
107     void qh_printfacet2math(FILE *fp, facetT *facet, int format, int notfirst);
108     void qh_printfacet2geom(FILE *fp, facetT *facet, realT color[3]);
109     void qh_printfacet2geom_points(FILE *fp, pointT *point1, pointT *point2,
110     facetT *facet, realT offset, realT color[3]);
111     void qh_printfacet3math (FILE *fp, facetT *facet, int format, int notfirst);
112     void qh_printfacet3geom_nonsimplicial(FILE *fp, facetT *facet, realT color[3]);
113     void qh_printfacet3geom_points(FILE *fp, setT *points, facetT *facet, realT offset, realT color[3]);
114     void qh_printfacet3geom_simplicial(FILE *fp, facetT *facet, realT color[3]);
115     void qh_printfacet3vertex(FILE *fp, facetT *facet, int format);
116     void qh_printfacet4geom_nonsimplicial(FILE *fp, facetT *facet, realT color[3]);
117     void qh_printfacet4geom_simplicial(FILE *fp, facetT *facet, realT color[3]);
118     void qh_printfacetNvertex_nonsimplicial(FILE *fp, facetT *facet, int id, int format);
119     void qh_printfacetNvertex_simplicial(FILE *fp, facetT *facet, int format);
120     void qh_printfacetheader(FILE *fp, facetT *facet);
121     void qh_printfacetridges(FILE *fp, facetT *facet);
122     void qh_printfacets(FILE *fp, int format, facetT *facetlist, setT *facets, boolT printall);
123     void qh_printhelp_degenerate(FILE *fp);
124     void qh_printhelp_singular(FILE *fp);
125     void qh_printhyperplaneintersection(FILE *fp, facetT *facet1, facetT *facet2,
126     setT *vertices, realT color[3]);
127     void qh_printneighborhood (FILE *fp, int format, facetT *facetA, facetT *facetB, boolT printall);
128     void qh_printline3geom (FILE *fp, pointT *pointA, pointT *pointB, realT color[3]);
129     void qh_printpoint(FILE *fp, char *string, pointT *point);
130     void qh_printpointid(FILE *fp, char *string, int dim, pointT *point, int id);
131     void qh_printpoint3 (FILE *fp, pointT *point);
132     void qh_printpoints_out (FILE *fp, facetT *facetlist, setT *facets, int printall);
133     void qh_printpointvect (FILE *fp, pointT *point, coordT *normal, pointT *center, realT radius, realT color[3]);
134     void qh_printpointvect2 (FILE *fp, pointT *point, coordT *normal, pointT *center, realT radius);
135     void qh_printridge(FILE *fp, ridgeT *ridge);
136     void qh_printspheres(FILE *fp, setT *vertices, realT radius);
137     void qh_printvdiagram (FILE *fp, int format, facetT *facetlist, setT *facets, boolT printall);
138     int qh_printvdiagram2 (FILE *fp, printvridgeT printvridge, setT *vertices, qh_RIDGE innerouter, boolT inorder);
139     void qh_printvertex(FILE *fp, vertexT *vertex);
140     void qh_printvertexlist (FILE *fp, char* string, facetT *facetlist,
141     setT *facets, boolT printall);
142     void qh_printvertices (FILE *fp, char* string, setT *vertices);
143     void qh_printvneighbors (FILE *fp, facetT* facetlist, setT *facets, boolT printall);
144     void qh_printvoronoi (FILE *fp, int format, facetT *facetlist, setT *facets, boolT printall);
145     void qh_printvnorm (FILE *fp, vertexT *vertex, vertexT *vertexA, setT *centers, boolT unbounded);
146     void qh_printvridge (FILE *fp, vertexT *vertex, vertexT *vertexA, setT *centers, boolT unbounded);
147     void qh_produce_output(void);
148     void qh_projectdim3 (pointT *source, pointT *destination);
149     int qh_readfeasible (int dim, char *remainder);
150     coordT *qh_readpoints(int *numpoints, int *dimension, boolT *ismalloc);
151     void qh_setfeasible (int dim);
152     boolT qh_skipfacet(facetT *facet);
153    
154     #endif /* qhDEFio */