~ubuntu-branches/ubuntu/trusty/qhull/trusty-proposed

« back to all changes in this revision

Viewing changes to src/io.h

  • Committer: Package Import Robot
  • Author(s): Barak A. Pearlmutter
  • Date: 2014-02-13 11:09:12 UTC
  • mfrom: (8.1.4 sid)
  • Revision ID: package-import@ubuntu.com-20140213110912-ifwyxorlsnnl1ebh
Tags: 2012.1-4
Add convenience link to #include <qhull/qhull.h> to simplify transition.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*<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 */