summaryrefslogtreecommitdiffstats
path: root/bundles/org.eclipse.swt.opengl/common/org/eclipse/swt/opengl/GLU.java
blob: 2f837004a2509f467e91b5f6b6aa1b6281aaa029 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
/*******************************************************************************
 * Copyright (c) 2000, 2003 IBM Corporation and others.
 * All rights reserved. This program and the accompanying materials 
 * are made available under the terms of the Common Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/cpl-v10.html
 * 
 * Contributors:
 *     IBM Corporation - initial API and implementation
 *******************************************************************************/
package org.eclipse.swt.opengl;


public class GLU {

	/* Version */
	public static final int GLU_VERSION_1_1 = 1;
	public static final int GLU_VERSION_1_2 = 1;
	
	/* Errors: (return value 0 = no error) */
	public static final int GLU_INVALID_ENUM = 100900;
	public static final int GLU_INVALID_VALUE = 100901;
	public static final int GLU_OUT_OF_MEMORY = 100902;
	public static final int GLU_INCOMPATIBLE_GL_VERSION = 100903;
	
	/* StringName */
	public static final int GLU_VERSION = 100800;
	public static final int GLU_EXTENSIONS = 100801;
	
	
	/****           Quadric constants               ****/
	
	/* QuadricNormal */
	public static final int GLU_SMOOTH = 100000;
	public static final int GLU_FLAT = 100001;
	public static final int GLU_NONE = 100002;
	
	/* QuadricDrawStyle */
	public static final int GLU_POINT = 100010;
	public static final int GLU_LINE = 100011;
	public static final int GLU_FILL = 100012;
	public static final int GLU_SILHOUETTE = 100013;
	
	/* QuadricOrientation */
	public static final int GLU_OUTSIDE = 100020;
	public static final int GLU_INSIDE = 100021;
	
	/* Callback types: */
	/*      GLU_ERROR               100103 */
	
	
	/****           Tesselation constants           ****/
	
	public static final double GLU_TESS_MAX_COORD = 1.0e150;
	
	/* TessProperty */
	public static final int GLU_TESS_WINDING_RULE = 100140;
	public static final int GLU_TESS_BOUNDARY_ONLY = 100141;
	public static final int GLU_TESS_TOLERANCE = 100142;
	
	/* TessWinding */
	public static final int GLU_TESS_WINDING_ODD = 100130;
	public static final int GLU_TESS_WINDING_NONZERO = 100131;
	public static final int GLU_TESS_WINDING_POSITIVE = 100132;
	public static final int GLU_TESS_WINDING_NEGATIVE = 100133;
	public static final int GLU_TESS_WINDING_ABS_GEQ_TWO = 100134;
	
	/* TessCallback */
	public static final int GLU_TESS_BEGIN = 100100;  /* void (CALLBACK*)(GLenum    type)  */
	public static final int GLU_TESS_VERTEX = 100101;  /* void (CALLBACK*)(void      *data) */
	public static final int GLU_TESS_END = 100102;  /* void (CALLBACK*)(void)            */
	public static final int GLU_TESS_ERROR = 100103;  /* void (CALLBACK*)(GLenum    errno) */
	public static final int GLU_TESS_EDGE_FLAG = 100104;  /* void (CALLBACK*)(GLboolean boundaryEdge)  */
	public static final int GLU_TESS_COMBINE = 100105;  /* void (CALLBACK*)(GLdouble  coords[3],
	                                                            void      *data[4],
	                                                            GLfloat   weight[4],
	                                                            void      **dataOut)     */
	public static final int GLU_TESS_BEGIN_DATA = 100106;  /* void (CALLBACK*)(GLenum    type,  
	                                                            void      *polygon_data) */
	public static final int GLU_TESS_VERTEX_DATA = 100107;  /* void (CALLBACK*)(void      *data, 
	                                                            void      *polygon_data) */
	public static final int GLU_TESS_END_DATA = 100108;  /* void (CALLBACK*)(void      *polygon_data) */
	public static final int GLU_TESS_ERROR_DATA = 100109;  /* void (CALLBACK*)(GLenum    errno, 
	                                                            void      *polygon_data) */
	public static final int GLU_TESS_EDGE_FLAG_DATA = 100110;  /* void (CALLBACK*)(GLboolean boundaryEdge,
	                                                            void      *polygon_data) */
	public static final int GLU_TESS_COMBINE_DATA = 100111;  /* void (CALLBACK*)(GLdouble  coords[3],
	                                                            void      *data[4],
	                                                            GLfloat   weight[4],
	                                                            void      **dataOut,
	                                                            void      *polygon_data) */
	
	/* TessError */
	public static final int GLU_TESS_ERROR1 = 100151;
	public static final int GLU_TESS_ERROR2 = 100152;
	public static final int GLU_TESS_ERROR3 = 100153;
	public static final int GLU_TESS_ERROR4 = 100154;
	public static final int GLU_TESS_ERROR5 = 100155;
	public static final int GLU_TESS_ERROR6 = 100156;
	public static final int GLU_TESS_ERROR7 = 100157;
	public static final int GLU_TESS_ERROR8 = 100158;
	
	public static final int GLU_TESS_MISSING_BEGIN_POLYGON = GLU_TESS_ERROR1;
	public static final int GLU_TESS_MISSING_BEGIN_CONTOUR = GLU_TESS_ERROR2;
	public static final int GLU_TESS_MISSING_END_POLYGON = GLU_TESS_ERROR3;
	public static final int GLU_TESS_MISSING_END_CONTOUR = GLU_TESS_ERROR4;
	public static final int GLU_TESS_COORD_TOO_LARGE = GLU_TESS_ERROR5;
	public static final int GLU_TESS_NEED_COMBINE_CALLBACK = GLU_TESS_ERROR6;
	
	/****           NURBS constants                 ****/
	
	/* NurbsProperty */
	public static final int GLU_AUTO_LOAD_MATRIX = 100200;
	public static final int GLU_CULLING = 100201;
	public static final int GLU_SAMPLING_TOLERANCE = 100203;
	public static final int GLU_DISPLAY_MODE = 100204;
	public static final int GLU_PARAMETRIC_TOLERANCE = 100202;
	public static final int GLU_SAMPLING_METHOD = 100205;
	public static final int GLU_U_STEP = 100206;
	public static final int GLU_V_STEP = 100207;
	
	/* NurbsSampling */
	public static final int GLU_PATH_LENGTH = 100215;
	public static final int GLU_PARAMETRIC_ERROR = 100216;
	public static final int GLU_DOMAIN_DISTANCE = 100217;
	
	
	/* NurbsTrim */
	public static final int GLU_MAP1_TRIM_2 = 100210;
	public static final int GLU_MAP1_TRIM_3 = 100211;
	
	/* NurbsDisplay */
	/*      GLU_FILL                100012 */
	public static final int GLU_OUTLINE_POLYGON = 100240;
	public static final int GLU_OUTLINE_PATCH = 100241;
	
	/* NurbsCallback */
	/*      GLU_ERROR               100103 */
	
	/* NurbsErrors */
	public static final int GLU_NURBS_ERROR1 = 100251;
	public static final int GLU_NURBS_ERROR2 = 100252;
	public static final int GLU_NURBS_ERROR3 = 100253;
	public static final int GLU_NURBS_ERROR4 = 100254;
	public static final int GLU_NURBS_ERROR5 = 100255;
	public static final int GLU_NURBS_ERROR6 = 100256;
	public static final int GLU_NURBS_ERROR7 = 100257;
	public static final int GLU_NURBS_ERROR8 = 100258;
	public static final int GLU_NURBS_ERROR9 = 100259;
	public static final int GLU_NURBS_ERROR10 = 100260;
	public static final int GLU_NURBS_ERROR11 = 100261;
	public static final int GLU_NURBS_ERROR12 = 100262;
	public static final int GLU_NURBS_ERROR13 = 100263;
	public static final int GLU_NURBS_ERROR14 = 100264;
	public static final int GLU_NURBS_ERROR15 = 100265;
	public static final int GLU_NURBS_ERROR16 = 100266;
	public static final int GLU_NURBS_ERROR17 = 100267;
	public static final int GLU_NURBS_ERROR18 = 100268;
	public static final int GLU_NURBS_ERROR19 = 100269;
	public static final int GLU_NURBS_ERROR20 = 100270;
	public static final int GLU_NURBS_ERROR21 = 100271;
	public static final int GLU_NURBS_ERROR22 = 100272;
	public static final int GLU_NURBS_ERROR23 = 100273;
	public static final int GLU_NURBS_ERROR24 = 100274;
	public static final int GLU_NURBS_ERROR25 = 100275;
	public static final int GLU_NURBS_ERROR26 = 100276;
	public static final int GLU_NURBS_ERROR27 = 100277;
	public static final int GLU_NURBS_ERROR28 = 100278;
	public static final int GLU_NURBS_ERROR29 = 100279;
	public static final int GLU_NURBS_ERROR30 = 100280;
	public static final int GLU_NURBS_ERROR31 = 100281;
	public static final int GLU_NURBS_ERROR32 = 100282;
	public static final int GLU_NURBS_ERROR33 = 100283;
	public static final int GLU_NURBS_ERROR34 = 100284;
	public static final int GLU_NURBS_ERROR35 = 100285;
	public static final int GLU_NURBS_ERROR36 = 100286;
	public static final int GLU_NURBS_ERROR37 = 100287;
	
	/* Contours types -- obsolete! */
	public static final int GLU_CW = 100120;
	public static final int GLU_CCW = 100121;
	public static final int GLU_INTERIOR = 100122;
	public static final int GLU_EXTERIOR = 100123;
	public static final int GLU_UNKNOWN = 100124;
	
	/* Names without "TESS_" prefix */
	public static final int GLU_BEGIN = GLU_TESS_BEGIN;
	public static final int GLU_VERTEX = GLU_TESS_VERTEX;
	public static final int GLU_END = GLU_TESS_END;
	public static final int GLU_ERROR = GLU_TESS_ERROR;
	public static final int GLU_EDGE_FLAG = GLU_TESS_EDGE_FLAG;
	
	
	public static final native void gluBeginCurve (int nobj);
	public static final native void gluEndCurve (int nobj);
	public static final native void gluBeginPolygon (int tess);
	public static final native void gluEndPolygon (int tess);
	public static final native void gluBeginSurface (int nobj);
	public static final native void gluEndSurface (int nobj);
	public static final native void gluBeginTrim (int nobj);
	public static final native void gluEndTrim (int nobj);
	public static final native int gluBuild1DMipmaps (int target, int componenets, int width, int format, int type, int data); /* MULTIPLES TYPES ARRAY */
	public static final native int gluBuild2DMipmaps (int target, int componenets, int width, int height, int format, int type, byte[] data); /* MULTIPLES TYPES ARRAY */
	public static final native void gluCylinder (int qobj, double baseRadius, double topRadius, double height, int slices, int stacks);
	public static final native void gluDeleteNurbsRenderer (int nobj);
	public static final native void gluDeleteQuadric (int qobj);
	public static final native void gluDeleteTess (int tess);
	public static final native void gluDisk (int qobj, double innerRadius, double outerRadius, int slices, int loops);
	public static final native int gluErrorString (int errCode);  /* SHOULD RETURN A STRING */
	public static final native void gluGetNurbsProperty (int nobj, int property, float[] value);
	public static final native int gluGetString (int name); /* SHOULD RETURN A STRING */
	public static final native void gluGetTessProperty (int tess, int which, double[] value);
	public static final native void gluLoadSamplingMatrices (int nobj, float[] modelMatrix, float[] projMatrix, int[] viewport);
	public static final native void gluLookAt (double eyex, double eyey, double eyez, double centerx, double centery, double centerz, double upx, double upy, double upz);
	public static final native int gluNewNurbsRenderer ();
	public static final native int gluNewQuadric ();
	public static final native int gluNewTess ();
	public static final native void gluNextContour (int tess, int type);
	public static final native void gluNurbsCallback (int nobj, int which, int fn);
	public static final native void gluNurbsCurve (int nobj, int nknots, float[] knot, int stride, float[] ctlarray, int order, int type);
	public static final native void gluNurbsProperty (int nobj, int property, float value);
	public static final native void gluNurbsSurface (int nobj, int sknot_count, float[] sknot, int tknot_count, float[] tknot, int s_stride, int t_stride, float[] ctlarray, int sorder, int torder, int type);
	public static final native void gluOrtho2D (double left, double right, double bottom, double top);
	public static final native void gluPartialDisk (int qobj, double innerRadius, double outerRadius, int slices, int loops, double startAngle, double sweepAngle);
	public static final native void gluPerspective (double fovy, double aspect, double zNear, double zFar);
	public static final native void gluPickMatrix (double x, double y, double width, double height, int[] viewport);
	public static final native int gluProject (double objx, double objy, double objz,double[] modelMatrix, double[] projMatrix, int[] viewport, double[] winx, double[] winy, double[] winz);
	public static final native void gluPwlCurve (int nobj, int count, float[] array, int stride, int type);
	public static final native void gluQuadricCallback (int qobj, int which, int fn);
	public static final native void gluQuadricDrawStyle (int qobj, int drawStyle);
	public static final native void gluQuadricNormals (int qobj, int normals);
	public static final native void gluQuadricOrientation (int qobj, int orientation);
	public static final native void gluQuadricTexture (int qobj, boolean textureCoords);
	public static final native int gluScaleImage (int format, int widthin, int heightin, int typein, int datain, int widthout, int heightout, int typeout, int dataout); /*MULTIPLES TYPES ARRAYS*/
	public static final native void gluSphere (int qobj, double radius, int slices, int stacks);
	public static final native void gluTessBeginContour (int tess);
	public static final native void gluTessEndContour (int tess);
	public static final native void gluTessBeginPolygon (int tess, int polygon_data);
	public static final native void gluTessEndPolygon (int tess);
	public static final native void gluTessCallback (int tess, int which, int fn);
	public static final native void gluTessNormal (int tess, double x, double y, double z);
	public static final native void gluTessProperty (int tess, int property, double value); /* CHECK MSDN, VALUE'S TYPE IS DOUBLE */
	public static final native void gluTessVertex (int tess, double[] coords, int data);
	public static final native int gluUnProject (double winx, double winy, double winz, double[] modelMatrix, double[] projMatrix, int[] viewport, double[] objx, double[] objy, double[] objz);
}