GLMAPGRID(3G) GLMAPGRID(3G)
NAME
glMapGrid1d, glMapGrid1f, glMapGrid2d, glMapGrid2f - 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 )
delim $$
PARAMETERS
w'un  'u 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(3G), glEvalMesh(3G), glEvalPoint(3G), glMap1(3G), glMap2(3G)