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_ */
121