_C_ License Applicability. Except to the extent portions of this file are
_C_ made subject to an alternative license as permitted in the SGI Free
_C_ Software License B, Version 1.1 (the "License"), the contents of this
_C_ file are subject only to the provisions of the License. You may not use
_C_ this file except in compliance with the License. You may obtain a copy
_C_ of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
_C_ Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
_C_ 
_C_ http://oss.sgi.com/projects/FreeB
_C_ 
_C_ Note that, as provided in the License, the Software is distributed on an
_C_ "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
_C_ DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
_C_ CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
_C_ PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
_C_ 
_C_ Original Code. The Original Code is: OpenGL Sample Implementation,
_C_ Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
_C_ Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
_C_ Copyright in any portions created by third parties is as indicated
_C_ elsewhere herein. All Rights Reserved.
_C_ 
_C_ Additional Notice Provisions: The application programming interfaces
_C_ established by SGI in conjunction with the Original Code are The
_C_ OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
_C_ April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
_C_ 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
_C_ Window System(R) (Version 1.3), released October 19, 1998. This software
_C_ was created using the OpenGL(R) version 1.2.1 Sample Implementation
_C_ published by SGI, but has not been independently verified as being
_C_ compliant with the OpenGL(R) version 1.2.1 Specification.
_C_
_C_ The first character in this file must be an '_'!
_C_ Anything on a line after _C_ is ignored
_define(_filters,eqn)_C_
_C_      eqn is automatically replaced with neqn for nroff
_header(EvalPoint,generate and evaluate a single point in a mesh)
_names(EvalPoint,[12])
.EQ
delim $$
.EN
.SH PARAMETERS
_phead(_param1)
Specifies the integer value for grid domain variable $i$.
_phead(_param2)
Specifies the integer value for grid domain variable $j$
(_cmnd(EvalPoint2) only).
.SH DESCRIPTION
_cmnd(MapGrid) and _cmnd(EvalMesh) are used in tandem to efficiently
generate and evaluate a series of evenly spaced map domain values.
_cmnd can be used to evaluate a single grid point in the same gridspace
that is traversed by _cmnd(EvalMesh).
Calling _cmnd(EvalPoint1) is equivalent to calling
.nf
.IP
\f7
glEvalCoord1( i$^cdot^DELTA u ~+~ u sub 1$ );
\fP
.RE
.fi
where
.sp
.in
$DELTA u ~=~ ( u sub 2 - u sub 1 ) ^/^ n$
.in 0
.sp
.P
and $n$, $u sub 1$, and $u sub 2$
are the arguments to the most recent _cmnd(MapGrid1) command.
The one absolute numeric requirement is that if $i~=~n$,
then the value computed from 
$i ^cdot^ DELTA u ~+~ u sub 1$ is exactly $u sub 2$.
.P
In the two-dimensional case, _cmnd(EvalPoint2), let 
.nf
.IP
$DELTA u ~=~ mark ( u sub 2 - u sub 1 ) ^/^ n$
.sp
$DELTA v ~=~ mark ( v sub 2 - v sub 1 ) ^/^ m,$
.RE
.fi
.P
where $n$, $u sub 1$, $u sub 2$, $m$, $v sub 1$, and $v sub 2$
are the arguments to the most recent _cmnd(MapGrid2) command.
Then the _cmnd(EvalPoint2) command is equivalent to calling
.nf
.IP
\f7
glEvalCoord2( i$^cdot^DELTA u ~+~ u sub 1$, j$^cdot^DELTA v ~+~ v sub 1$ );
\fP
.RE
.fi
The only absolute numeric requirements are that if $i~=~n$,
then the value computed from
$i ^cdot^DELTA u ~+~ u sub 1$ is exactly $u sub 2$,
and if $j~=~m$, then the value computed from 
$i ^cdot^DELTA v ~+~ v sub 1$ is exactly $v sub 2$.
.SH ASSOCIATED GETS
_cmnd(Get) with argument _const(MAP1_GRID_DOMAIN)
.br
_cmnd(Get) with argument _const(MAP2_GRID_DOMAIN)
.br
_cmnd(Get) with argument _const(MAP1_GRID_SEGMENTS)
.br
_cmnd(Get) with argument _const(MAP2_GRID_SEGMENTS)
.SH SEE ALSO
_cmnd(EvalCoord),
_cmnd(EvalMesh),
_cmnd(Map1),
_cmnd(Map2),
_cmnd(MapGrid)
