NAME
fglMapGrid1d, fglMapGrid1f, fglMapGrid2d, fglMapGrid2f -
define a one- or two-dimensional mesh
FORTRAN SPECIFICATION
SUBROUTINE fglMapGrid1d( INTEGER*4 un,
REAL*8 u1,
REAL*8 u2 )
SUBROUTINE fglMapGrid1f( INTEGER*4 un,
REAL*4 u1,
REAL*4 u2 )
SUBROUTINE fglMapGrid2d( INTEGER*4 un,
REAL*8 u1,
REAL*8 u2,
INTEGER*4 vn,
REAL*8 v1,
REAL*8 v2 )
SUBROUTINE fglMapGrid2f( INTEGER*4 un,
REAL*4 u1,
REAL*4 u2,
INTEGER*4 vn,
REAL*4 v1,
REAL*4 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]
(fglMapGrid2 only).
v1, v2
Specify the mappings for integer grid domain values j=0
and j=vn
(fglMapGrid2 only).
DESCRIPTION
fglMapGrid and fglEvalMesh are used together to efficiently
generate and evaluate a series of evenly-spaced map domain
values. fglEvalMesh steps through the integer domain of a
one- or two-dimensional grid, whose range is the domain of
the evaluation maps specified by fglMap1 and fglMap2.
fglMapGrid1 and fglMapGrid2 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 fglMap1 and fglMap2 for details of how u and v
coordinates are evaluated.
fglMapGrid1 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
fglMapGrid2 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 fglMapGrid are used identically by
fglEvalMesh and fglEvalPoint.
ERRORS
GL_INVALID_VALUE is generated if either un or vn is not
positive.
GL_INVALID_OPERATION is generated if fglMapGrid is executed
between the execution of fglBegin and the corresponding
execution of fglEnd.
ASSOCIATED GETS
fglGet with argument GL_MAP1_GRID_DOMAIN
fglGet with argument GL_MAP2_GRID_DOMAIN
fglGet with argument GL_MAP1_GRID_SEGMENTS
fglGet with argument GL_MAP2_GRID_SEGMENTS
SEE ALSO
fglEvalCoord, fglEvalMesh, fglEvalPoint, fglMap1, fglMap2