142 lines
3.5 KiB
Plaintext
142 lines
3.5 KiB
Plaintext
|
'\" 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
|