NAME

glMapGrid1d, glMapGrid1f, glMapGrid2d, glMapGrid2f - define a one- or two-dimensional mesh

C SPECIFICATION

void ggllMMaappGGrriidd11dd( GLint _u_n,
                  GLdouble _u_1,
                  GLdouble _u_2 )
void ggllMMaappGGrriidd11ff( GLint _u_n,
                  GLfloat _u_1,
                  GLfloat _u_2 )
void ggllMMaappGGrriidd22dd( GLint _u_n,
                  GLdouble _u_1,
                  GLdouble _u_2,
                  GLint _v_n,
                  GLdouble _v_1,
                  GLdouble _v_2 )
void ggllMMaappGGrriidd22ff( GLint _u_n,
                  GLfloat _u_1,
                  GLfloat _u_2,
                  GLint _v_n,
                  GLfloat _v_1,
                  GLfloat _v_2 )

delim $$

PARAMETERS

_u_n
Specifies the number of partitions in the grid range interval [_u_1, _u_2]. Must be positive.
_u_1, _u_2
Specify the mappings for integer grid domain values $i~=~0$ and $i~=~"un"$.
_v_n
Specifies the number of partitions in the grid range interval [_v_1, _v_2]
(ggllMMaappGGrriidd22 only).
_v_1, _v_2
Specify the mappings for integer grid domain values $j~=~0$ and $j~=~"vn"$
(ggllMMaappGGrriidd22 only).

DESCRIPTION

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

ggllMMaappGGrriidd11 and ggllMMaappGGrriidd22 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 ggllMMaapp11 and ggllMMaapp22 for details of how $u$ and $v$ coordinates are evaluated.

ggllMMaappGGrriidd11 specifies a single linear mapping such that integer grid coordinate 0 maps exactly to _u_1, and integer grid coordinate _u_n maps exactly to _u_2. All other integer grid coordinates $i$ are mapped so that

u ~=~ i ("u2" - "u1") / "un" ~+~ "u1"

ggllMMaappGGrriidd22 specifies two such linear mappings. One maps integer grid coordinate $i~=~0$ exactly to _u_1, and integer grid coordinate $i~=~"un"$ exactly to _u_2. The other maps integer grid coordinate $j~=~0$ exactly to _v_1, and integer grid coordinate $j~=~"vn"$ exactly to _v_2. 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 ggllMMaappGGrriidd are used identically by ggllEEvvaallMMeesshh and ggllEEvvaallPPooiinntt.

ERRORS

GGLL__IINNVVAALLIIDD__VVAALLUUEE is generated if either _u_n or _v_n is not positive.

GGLL__IINNVVAALLIIDD__OOPPEERRAATTIIOONN is generated if ggllMMaappGGrriidd is executed between the execution of ggllBBeeggiinn and the corresponding execution of ggllEEnndd.

ASSOCIATED GETS

ggllGGeett with argument GGLL__MMAAPP11__GGRRIIDD__DDOOMMAAIINN
ggllGGeett with argument GGLL__MMAAPP22__GGRRIIDD__DDOOMMAAIINN
ggllGGeett with argument GGLL__MMAAPP11__GGRRIIDD__SSEEGGMMEENNTTSS
ggllGGeett with argument GGLL__MMAAPP22__GGRRIIDD__SSEEGGMMEENNTTSS

SEE ALSO

ggllEEvvaallCCoooorrdd((33GG)), ggllEEvvaallMMeesshh((33GG)), ggllEEvvaallPPooiinntt((33GG)), ggllMMaapp11((33GG)), ggllMMaapp22((33GG))