Name

glMapGrid — define a one- or two-dimensional mesh

C Specification

void glMapGrid1d(GLint un,
 GLdouble u1,
 GLdouble u2);
 
void glMapGrid1f(GLint un,
 GLfloat u1,
 GLfloat u2);
 
void glMapGrid2d(GLint un,
 GLdouble u1,
 GLdouble u2,
 GLint vn,
 GLdouble v1,
 GLdouble v2);
 
void glMapGrid2f(GLint un,
 GLfloat u1,
 GLfloat u2,
 GLint vn,
 GLfloat v1,
 GLfloat v2);
 

Parameters

un

Specifies the number of partitions in the grid range interval [u1, u2]. Must be positive.

u1, u2

Specify the mappings for integer grid domain values i = 0 and i = un .

vn

Specifies the number of partitions in the grid range interval [v1, v2] (glMapGrid2 only).

v1, v2

Specify the mappings for integer grid domain values j = 0 and j = vn (glMapGrid2 only).

Description

glMapGrid and glEvalMesh are used together to efficiently generate and evaluate a series of evenly-spaced map domain values. glEvalMesh steps through the integer domain of a one- or two-dimensional grid, whose range is the domain of the evaluation maps specified by glMap1 and glMap2.

glMapGrid1 and glMapGrid2 specify the linear grid mappings between the i (or i and j) integer grid coordinates, to the u (or u and v) floating-point evaluation map coordinates. See glMap1 and glMap2 for details of how u and v coordinates are evaluated.

glMapGrid1 specifies a single linear mapping such that integer grid coordinate 0 maps exactly to u1, and integer grid coordinate un maps exactly to u2. All other integer grid coordinates i are mapped so that

u = i u2 - u1 un + u1

glMapGrid2 specifies two such linear mappings. One maps integer grid coordinate i = 0 exactly to u1, and integer grid coordinate i = un exactly to u2. The other maps integer grid coordinate j = 0 exactly to v1, and integer grid coordinate j = vn exactly to v2. Other integer grid coordinates i and j are mapped such that

u = i u2 - u1 un + u1

v = j v2 - v1 vn + v1

The mappings specified by glMapGrid are used identically by glEvalMesh and glEvalPoint.

Errors

GL_INVALID_VALUE is generated if either un or vn is not positive.

GL_INVALID_OPERATION is generated if glMapGrid is executed between the execution of glBegin and the corresponding execution of glEnd.

Associated Gets

glGet with argument GL_MAP1_GRID_DOMAIN

glGet with argument GL_MAP2_GRID_DOMAIN

glGet with argument GL_MAP1_GRID_SEGMENTS

glGet with argument GL_MAP2_GRID_SEGMENTS

See Also

glEvalCoord, glEvalMesh, glEvalPoint, glMap1, glMap2

Copyright

Copyright © 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/.