'\" te '\"! tbl|eqn | mmdoc '\"macro stdmacro .ds Vn Version 1.2 .ds Dt 24 September 1999 .ds Re Release 1.2.1 .ds Dp Jan 14 18:30 .ds Dm 01 mapgrid.g .ds Xs 53033 5 mapgrid.gl .TH GLMAPGRID 3G .SH NAME .B "glMapGrid1d, glMapGrid1f, glMapGrid2d, glMapGrid2f \- define a one- or two-dimensional mesh .SH C SPECIFICATION void \f3glMapGrid1d\fP( GLint \fIun\fP, .nf .ta \w'\f3void \fPglMapGrid1d( 'u GLdouble \fIu1\fP, GLdouble \fIu2\fP ) .fi void \f3glMapGrid1f\fP( GLint \fIun\fP, .nf .ta \w'\f3void \fPglMapGrid1f( 'u GLfloat \fIu1\fP, GLfloat \fIu2\fP ) .fi void \f3glMapGrid2d\fP( GLint \fIun\fP, .nf .ta \w'\f3void \fPglMapGrid2d( 'u GLdouble \fIu1\fP, GLdouble \fIu2\fP, GLint \fIvn\fP, GLdouble \fIv1\fP, GLdouble \fIv2\fP ) .fi void \f3glMapGrid2f\fP( GLint \fIun\fP, .nf .ta \w'\f3void \fPglMapGrid2f( 'u GLfloat \fIu1\fP, GLfloat \fIu2\fP, GLint \fIvn\fP, GLfloat \fIv1\fP, GLfloat \fIv2\fP ) .fi .EQ delim $$ .EN .SH PARAMETERS .TP \w'\f2un\fP\ \ 'u \f2un\fP Specifies the number of partitions in the grid range interval [\f2u1\fP, \f2u2\fP]. Must be positive. .TP \f2u1\fP, \f2u2\fP Specify the mappings for integer grid domain values $i~=~0$ and $i~=~"un"$. .TP \f2vn\fP Specifies the number of partitions in the grid range interval [\f2v1\fP, \f2v2\fP] .br (\%\f3glMapGrid2\fP only). .TP \f2v1\fP, \f2v2\fP Specify the mappings for integer grid domain values $j~=~0$ and $j~=~"vn"$ .br (\%\f3glMapGrid2\fP only). .SH DESCRIPTION \%\f3glMapGrid\fP and \%\f3glEvalMesh\fP are used together to efficiently generate and evaluate a series of evenly-spaced map domain values. \%\f3glEvalMesh\fP steps through the integer domain of a one- or two-dimensional grid, whose range is the domain of the evaluation maps specified by \%\f3glMap1\fP and \%\f3glMap2\fP. .P \%\f3glMapGrid1\fP and \%\f3glMapGrid2\fP 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 \%\f3glMap1\fP and \%\f3glMap2\fP for details of how $u$ and $v$ coordinates are evaluated. .P \%\f3glMapGrid1\fP specifies a single linear mapping such that integer grid coordinate 0 maps exactly to \f2u1\fP, and integer grid coordinate \f2un\fP maps exactly to \f2u2\fP. All other integer grid coordinates $i$ are mapped so that .sp .ce .EQ u ~=~ i ("u2" - "u1") / "un" ~+~ "u1" .EN .sp \%\f3glMapGrid2\fP specifies two such linear mappings. One maps integer grid coordinate $i~=~0$ exactly to \f2u1\fP, and integer grid coordinate $i~=~"un"$ exactly to \f2u2\fP. The other maps integer grid coordinate $j~=~0$ exactly to \f2v1\fP, and integer grid coordinate $j~=~"vn"$ exactly to \f2v2\fP. Other integer grid coordinates $i$ and $j$ are mapped such that .P .ce .EQ u ~=~ i ("u2" - "u1") / "un" ~+~ "u1" .EN .P .ce .EQ v ~=~ j ("v2" - "v1") / "vn" ~+~ "v1" .EN .P The mappings specified by \%\f3glMapGrid\fP are used identically by \%\f3glEvalMesh\fP and \%\f3glEvalPoint\fP. .SH ERRORS \%\f3GL_INVALID_VALUE\fP is generated if either \f2un\fP or \f2vn\fP is not positive. .P \%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glMapGrid\fP is executed between the execution of \%\f3glBegin\fP and the corresponding execution of \%\f3glEnd\fP. .SH ASSOCIATED GETS \%\f3glGet\fP with argument \%\f3GL_MAP1_GRID_DOMAIN\fP .br \%\f3glGet\fP with argument \%\f3GL_MAP2_GRID_DOMAIN\fP .br \%\f3glGet\fP with argument \%\f3GL_MAP1_GRID_SEGMENTS\fP .br \%\f3glGet\fP with argument \%\f3GL_MAP2_GRID_SEGMENTS\fP .SH SEE ALSO \%\f3glEvalCoord(3G)\fP, \%\f3glEvalMesh(3G)\fP, \%\f3glEvalPoint(3G)\fP, \%\f3glMap1(3G)\fP, \%\f3glMap2(3G)\fP