1 /* $Id: eval.h,v 1.2 1997/05/14 03:27:04 brianp Exp $ */ 2 3 /* 4 * Mesa 3-D graphics library 5 * Version: 2.3 6 * Copyright (C) 1995-1997 Brian Paul 7 * 8 * This library is free software; you can redistribute it and/or 9 * modify it under the terms of the GNU Library General Public 10 * License as published by the Free Software Foundation; either 11 * version 2 of the License, or (at your option) any later version. 12 * 13 * This library is distributed in the hope that it will be useful, 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 * Library General Public License for more details. 17 * 18 * You should have received a copy of the GNU Library General Public 19 * License along with this library; if not, write to the Free 20 * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 21 */ 22 23 24 /* 25 * $Log: eval.h,v $ 26 * Revision 1.2 1997/05/14 03:27:04 brianp 27 * removed context argument from gl_init_eval() 28 * 29 * Revision 1.1 1996/09/13 01:38:16 brianp 30 * Initial revision 31 * 32 */ 33 34 35 #ifndef EVAL_H 36 #define EVAL_H 37 38 39 #include "types.h" 40 41 42 extern void gl_init_eval( void ); 43 44 45 extern void gl_free_control_points( GLcontext *ctx, 46 GLenum target, GLfloat *data ); 47 48 49 extern GLfloat *gl_copy_map_points1f( GLenum target, 50 GLint ustride, GLint uorder, 51 const GLfloat *points ); 52 53 extern GLfloat *gl_copy_map_points1d( GLenum target, 54 GLint ustride, GLint uorder, 55 const GLdouble *points ); 56 57 extern GLfloat *gl_copy_map_points2f( GLenum target, 58 GLint ustride, GLint uorder, 59 GLint vstride, GLint vorder, 60 const GLfloat *points ); 61 62 extern GLfloat *gl_copy_map_points2d(GLenum target, 63 GLint ustride, GLint uorder, 64 GLint vstride, GLint vorder, 65 const GLdouble *points ); 66 67 68 extern void gl_Map1f( GLcontext* ctx, 69 GLenum target, GLfloat u1, GLfloat u2, GLint stride, 70 GLint order, const GLfloat *points, GLboolean retain ); 71 72 extern void gl_Map2f( GLcontext* ctx, GLenum target, 73 GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, 74 GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, 75 const GLfloat *points, GLboolean retain ); 76 77 78 extern void gl_EvalCoord1f( GLcontext* ctx, GLfloat u ); 79 80 extern void gl_EvalCoord2f( GLcontext* ctx, GLfloat u, GLfloat v ); 81 82 83 extern void gl_MapGrid1f( GLcontext* ctx, GLint un, GLfloat u1, GLfloat u2 ); 84 85 extern void gl_MapGrid2f( GLcontext* ctx, 86 GLint un, GLfloat u1, GLfloat u2, 87 GLint vn, GLfloat v1, GLfloat v2 ); 88 89 90 extern void gl_GetMapdv( GLcontext* ctx, 91 GLenum target, GLenum query, GLdouble *v ); 92 93 extern void gl_GetMapfv( GLcontext* ctx, 94 GLenum target, GLenum query, GLfloat *v ); 95 96 extern void gl_GetMapiv( GLcontext* ctx, 97 GLenum target, GLenum query, GLint *v ); 98 99 extern void gl_EvalPoint1( GLcontext* ctx, GLint i ); 100 101 extern void gl_EvalPoint2( GLcontext* ctx, GLint i, GLint j ); 102 103 extern void gl_EvalMesh1( GLcontext* ctx, GLenum mode, GLint i1, GLint i2 ); 104 105 extern void gl_EvalMesh2( GLcontext* ctx, GLenum mode, 106 GLint i1, GLint i2, GLint j1, GLint j2 ); 107 108 #endif 109