SGI SI GLU library
[mesa.git] / src / glu / sgi / libutil / glue.c
1 /*
2 ** License Applicability. Except to the extent portions of this file are
3 ** made subject to an alternative license as permitted in the SGI Free
4 ** Software License B, Version 1.1 (the "License"), the contents of this
5 ** file are subject only to the provisions of the License. You may not use
6 ** this file except in compliance with the License. You may obtain a copy
7 ** of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
8 ** Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
9 **
10 ** http://oss.sgi.com/projects/FreeB
11 **
12 ** Note that, as provided in the License, the Software is distributed on an
13 ** "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
14 ** DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
15 ** CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
16 ** PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
17 **
18 ** Original Code. The Original Code is: OpenGL Sample Implementation,
19 ** Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
20 ** Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
21 ** Copyright in any portions created by third parties is as indicated
22 ** elsewhere herein. All Rights Reserved.
23 **
24 ** Additional Notice Provisions: The application programming interfaces
25 ** established by SGI in conjunction with the Original Code are The
26 ** OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
27 ** April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
28 ** 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
29 ** Window System(R) (Version 1.3), released October 19, 1998. This software
30 ** was created using the OpenGL(R) version 1.2.1 Sample Implementation
31 ** published by SGI, but has not been independently verified as being
32 ** compliant with the OpenGL(R) version 1.2.1 Specification.
33 **
34 ** $Date: 2001/03/17 00:25:41 $ $Revision: 1.1 $
35 ** $Header: /home/krh/git/sync/mesa-cvs-repo/Mesa/src/glu/sgi/libutil/glue.c,v 1.1 2001/03/17 00:25:41 brianp Exp $
36 */
37
38 #include <stdlib.h>
39 #include "gluint.h"
40
41 static char *__gluNurbsErrors[] = {
42 " ",
43 "spline order un-supported",
44 "too few knots",
45 "valid knot range is empty",
46 "decreasing knot sequence knot",
47 "knot multiplicity greater than order of spline",
48 "gluEndCurve() must follow gluBeginCurve()",
49 "gluBeginCurve() must precede gluEndCurve()",
50 "missing or extra geometric data",
51 "can't draw piecewise linear trimming curves",
52 "missing or extra domain data",
53 "missing or extra domain data",
54 "gluEndTrim() must precede gluEndSurface()",
55 "gluBeginSurface() must precede gluEndSurface()",
56 "curve of improper type passed as trim curve",
57 "gluBeginSurface() must precede gluBeginTrim()",
58 "gluEndTrim() must follow gluBeginTrim()",
59 "gluBeginTrim() must precede gluEndTrim()",
60 "invalid or missing trim curve",
61 "gluBeginTrim() must precede gluPwlCurve()",
62 "piecewise linear trimming curve referenced twice",
63 "piecewise linear trimming curve and nurbs curve mixed",
64 "improper usage of trim data type",
65 "nurbs curve referenced twice",
66 "nurbs curve and piecewise linear trimming curve mixed",
67 "nurbs surface referenced twice",
68 "invalid property",
69 "gluEndSurface() must follow gluBeginSurface()",
70 "intersecting or misoriented trim curves",
71 "intersecting trim curves",
72 "UNUSED",
73 "unconnected trim curves",
74 "unknown knot error",
75 "negative vertex count encountered",
76 "negative byte-stride encounteed",
77 "unknown type descriptor",
78 "null control point reference",
79 "duplicate point on piecewise linear trimming curve",
80 };
81
82 const char *__gluNURBSErrorString( int errno )
83 {
84 return __gluNurbsErrors[errno];
85 }
86
87 static char *__gluTessErrors[] = {
88 " ",
89 "gluTessBeginPolygon() must precede a gluTessEndPolygon()",
90 "gluTessBeginContour() must precede a gluTessEndContour()",
91 "gluTessEndPolygon() must follow a gluTessBeginPolygon()",
92 "gluTessEndContour() must follow a gluTessBeginContour()",
93 "a coordinate is too large",
94 "need combine callback",
95 };
96
97 const char *__gluTessErrorString( int errno )
98 {
99 return __gluTessErrors[errno];
100 } /* __glTessErrorString() */