Tizen 2.0 Release
[profile/ivi/osmesa.git] / src / glu / sgi / libnurbs / internals / nurbsconsts.h
1 /*
2  * SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008)
3  * Copyright (C) 1991-2000 Silicon Graphics, Inc. All Rights Reserved.
4  *
5  * Permission is hereby granted, free of charge, to any person obtaining a
6  * copy of this software and associated documentation files (the "Software"),
7  * to deal in the Software without restriction, including without limitation
8  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
9  * and/or sell copies of the Software, and to permit persons to whom the
10  * Software is furnished to do so, subject to the following conditions:
11  *
12  * The above copyright notice including the dates of first publication and
13  * either this permission notice or a reference to
14  * http://oss.sgi.com/projects/FreeB/
15  * shall be included in all copies or substantial portions of the Software.
16  *
17  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
18  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20  * SILICON GRAPHICS, INC. BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
21  * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
22  * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23  * SOFTWARE.
24  *
25  * Except as contained in this notice, the name of Silicon Graphics, Inc.
26  * shall not be used in advertising or otherwise to promote the sale, use or
27  * other dealings in this Software without prior written authorization from
28  * Silicon Graphics, Inc.
29  */
30
31 /*
32  * nurbsconsts.h
33  *
34  */
35
36 #ifndef __glunurbsconsts_h_
37 #define __glunurbsconsts_h_
38
39 /* NURBS Properties - one set per map, 
40    each takes a single INREAL arg */
41 #define N_SAMPLING_TOLERANCE    1
42 #define N_S_RATE                6
43 #define N_T_RATE                7
44 #define N_CLAMPFACTOR           13
45 #define         N_NOCLAMPING            0.0
46 #define N_MINSAVINGS            14
47 #define         N_NOSAVINGSSUBDIVISION  0.0
48
49 /* NURBS Properties - one set per map, 
50    each takes an enumerated value */
51 #define N_CULLING               2
52 #define         N_NOCULLING             0.0
53 #define         N_CULLINGON             1.0
54 #define N_SAMPLINGMETHOD        10
55 #define         N_NOSAMPLING            0.0
56 #define         N_FIXEDRATE             3.0
57 #define         N_DOMAINDISTANCE        2.0
58 #define         N_PARAMETRICDISTANCE    5.0
59 #define         N_PATHLENGTH            6.0
60 #define         N_SURFACEAREA           7.0
61 #define         N_OBJECTSPACE_PARA           8.0
62 #define         N_OBJECTSPACE_PATH           9.0
63 #define N_BBOX_SUBDIVIDING      17
64 #define         N_NOBBOXSUBDIVISION     0.0
65 #define         N_BBOXTIGHT             1.0
66 #define         N_BBOXROUND             2.0
67
68 /* NURBS Rendering Properties - one set per renderer
69    each takes an enumerated value */
70 #define N_DISPLAY               3
71 #define         N_FILL                  1.0     
72 #define         N_OUTLINE_POLY          2.0
73 #define         N_OUTLINE_TRI           3.0
74 #define         N_OUTLINE_QUAD          4.0
75 #define         N_OUTLINE_PATCH         5.0
76 #define         N_OUTLINE_PARAM         6.0
77 #define         N_OUTLINE_PARAM_S       7.0
78 #define         N_OUTLINE_PARAM_ST      8.0
79 #define         N_OUTLINE_SUBDIV        9.0
80 #define         N_OUTLINE_SUBDIV_S      10.0
81 #define         N_OUTLINE_SUBDIV_ST     11.0
82 #define         N_ISOLINE_S             12.0
83 #define N_ERRORCHECKING         4
84 #define         N_NOMSG                 0.0
85 #define         N_MSG                   1.0
86
87 /* GL 4.0 propeties not defined above */
88 #ifndef N_PIXEL_TOLERANCE
89 #define N_PIXEL_TOLERANCE       N_SAMPLING_TOLERANCE
90 #define N_ERROR_TOLERANCE       20
91 #define N_SUBDIVISIONS          5
92 #define N_TILES                 8
93 #define N_TMP1                  9
94 #define N_TMP2                  N_SAMPLINGMETHOD
95 #define N_TMP3                  11
96 #define N_TMP4                  12
97 #define N_TMP5                  N_CLAMPFACTOR
98 #define N_TMP6                  N_MINSAVINGS
99 #define N_S_STEPS               N_S_RATE
100 #define N_T_STEPS               N_T_RATE
101 #endif
102
103 /* NURBS Rendering Properties - one set per map,
104    each takes an INREAL matrix argument */
105 #define N_CULLINGMATRIX         1
106 #define N_SAMPLINGMATRIX        2
107 #define N_BBOXMATRIX            3
108
109
110 /* NURBS Rendering Properties - one set per map,
111    each takes an INREAL vector argument */
112 #define N_BBOXSIZE              4
113
114 /* type argument for trimming curves */
115 #ifndef N_P2D
116 #define N_P2D                   0x8     
117 #define N_P2DR                  0xd
118 #endif  
119
120 #endif /* __glunurbsconsts_h_ */