1 <?xml version=
"1.0" encoding=
"UTF-8"?>
2 <!DOCTYPE book PUBLIC
"-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
3 "http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
4 <refentry id=
"glMapGrid">
9 <holder>Silicon Graphics, Inc.
</holder>
12 <refentrytitle>glMapGrid
</refentrytitle>
13 <manvolnum>3G
</manvolnum>
16 <refname>glMapGrid
</refname>
17 <refpurpose>define a one- or two-dimensional mesh
</refpurpose>
19 <refsynopsisdiv><title>C Specification
</title>
22 <funcdef>void
<function>glMapGrid1d
</function></funcdef>
23 <paramdef>GLint
<parameter>un
</parameter></paramdef>
24 <paramdef>GLdouble
<parameter>u1
</parameter></paramdef>
25 <paramdef>GLdouble
<parameter>u2
</parameter></paramdef>
30 <funcdef>void
<function>glMapGrid1f
</function></funcdef>
31 <paramdef>GLint
<parameter>un
</parameter></paramdef>
32 <paramdef>GLfloat
<parameter>u1
</parameter></paramdef>
33 <paramdef>GLfloat
<parameter>u2
</parameter></paramdef>
38 <funcdef>void
<function>glMapGrid2d
</function></funcdef>
39 <paramdef>GLint
<parameter>un
</parameter></paramdef>
40 <paramdef>GLdouble
<parameter>u1
</parameter></paramdef>
41 <paramdef>GLdouble
<parameter>u2
</parameter></paramdef>
42 <paramdef>GLint
<parameter>vn
</parameter></paramdef>
43 <paramdef>GLdouble
<parameter>v1
</parameter></paramdef>
44 <paramdef>GLdouble
<parameter>v2
</parameter></paramdef>
49 <funcdef>void
<function>glMapGrid2f
</function></funcdef>
50 <paramdef>GLint
<parameter>un
</parameter></paramdef>
51 <paramdef>GLfloat
<parameter>u1
</parameter></paramdef>
52 <paramdef>GLfloat
<parameter>u2
</parameter></paramdef>
53 <paramdef>GLint
<parameter>vn
</parameter></paramdef>
54 <paramdef>GLfloat
<parameter>v1
</parameter></paramdef>
55 <paramdef>GLfloat
<parameter>v2
</parameter></paramdef>
59 <!-- eqn: ignoring delim $$ -->
60 <refsect1 id=
"parameters"><title>Parameters
</title>
63 <term><parameter>un
</parameter></term>
66 Specifies the number of partitions in the grid range interval
67 [
<parameter>u1
</parameter>,
<parameter>u2
</parameter>].
73 <term><parameter>u1
</parameter></term>
74 <term><parameter>u2
</parameter></term>
77 Specify the mappings for integer grid domain values
78 <inlineequation><mml:math>
81 <mml:mi mathvariant=
"italic">i
</mml:mi>
85 </mml:math></inlineequation>
87 <inlineequation><mml:math>
90 <mml:mi mathvariant=
"italic">i
</mml:mi>
92 <mml:mi mathvariant=
"italic">un
</mml:mi>
94 </mml:math></inlineequation>.
99 <term><parameter>vn
</parameter></term>
102 Specifies the number of partitions in the grid range interval
103 [
<parameter>v1
</parameter>,
<parameter>v2
</parameter>]
104 (
<function>glMapGrid2
</function> only).
109 <term><parameter>v1
</parameter></term>
110 <term><parameter>v2
</parameter></term>
113 Specify the mappings for integer grid domain values
114 <inlineequation><mml:math>
117 <mml:mi mathvariant=
"italic">j
</mml:mi>
121 </mml:math></inlineequation>
123 <inlineequation><mml:math>
126 <mml:mi mathvariant=
"italic">j
</mml:mi>
128 <mml:mi mathvariant=
"italic">vn
</mml:mi>
130 </mml:math></inlineequation>
131 (
<function>glMapGrid2
</function> only).
137 <refsect1 id=
"description"><title>Description
</title>
139 <function>glMapGrid
</function> and
<citerefentry><refentrytitle>glEvalMesh
</refentrytitle></citerefentry> are used together to efficiently
140 generate and evaluate a series of evenly-spaced map domain values.
141 <citerefentry><refentrytitle>glEvalMesh
</refentrytitle></citerefentry> steps through the integer domain
142 of a one- or two-dimensional grid,
143 whose range is the domain of the evaluation maps specified by
144 <citerefentry><refentrytitle>glMap1
</refentrytitle></citerefentry> and
<citerefentry><refentrytitle>glMap2
</refentrytitle></citerefentry>.
147 <function>glMapGrid1
</function> and
<function>glMapGrid2
</function> specify the linear grid mappings
149 <inlineequation><mml:math><mml:mi mathvariant=
"italic">i
</mml:mi></mml:math></inlineequation>
151 <inlineequation><mml:math><mml:mi mathvariant=
"italic">i
</mml:mi></mml:math></inlineequation>
153 <inlineequation><mml:math><mml:mi mathvariant=
"italic">j
</mml:mi></mml:math></inlineequation>)
154 integer grid coordinates,
156 <inlineequation><mml:math><mml:mi mathvariant=
"italic">u
</mml:mi></mml:math></inlineequation>
158 <inlineequation><mml:math><mml:mi mathvariant=
"italic">u
</mml:mi></mml:math></inlineequation>
160 <inlineequation><mml:math><mml:mi mathvariant=
"italic">v
</mml:mi></mml:math></inlineequation>)
161 floating-point evaluation map coordinates.
162 See
<citerefentry><refentrytitle>glMap1
</refentrytitle></citerefentry> and
<citerefentry><refentrytitle>glMap2
</refentrytitle></citerefentry> for details of how
163 <inlineequation><mml:math><mml:mi mathvariant=
"italic">u
</mml:mi></mml:math></inlineequation>
165 <inlineequation><mml:math><mml:mi mathvariant=
"italic">v
</mml:mi></mml:math></inlineequation>
170 <function>glMapGrid1
</function> specifies a single linear mapping
171 such that integer grid coordinate
0 maps exactly to
<parameter>u1
</parameter>,
172 and integer grid coordinate
<parameter>un
</parameter> maps exactly to
<parameter>u2
</parameter>.
173 All other integer grid coordinates
174 <inlineequation><mml:math><mml:mi mathvariant=
"italic">i
</mml:mi></mml:math></inlineequation>
178 <informalequation><mml:math>
179 <!-- eqn: u = i (u2 - u1) / un + u1:-->
181 <mml:mi mathvariant=
"italic">u
</mml:mi>
186 <mml:mi mathvariant=
"italic">i
</mml:mi>
187 <mml:mo>⁡</mml:mo>
188 <mml:mfenced open=
"(" close=
")">
190 <mml:mi mathvariant=
"italic">u2
</mml:mi>
192 <mml:mi mathvariant=
"italic">u1
</mml:mi>
196 <mml:mi mathvariant=
"italic">un
</mml:mi>
199 <mml:mi mathvariant=
"italic">u1
</mml:mi>
202 </mml:math></informalequation>
205 <function>glMapGrid2
</function> specifies two such linear mappings.
206 One maps integer grid coordinate
207 <inlineequation><mml:math>
210 <mml:mi mathvariant=
"italic">i
</mml:mi>
214 </mml:math></inlineequation>
215 exactly to
<parameter>u1
</parameter>,
216 and integer grid coordinate
217 <inlineequation><mml:math>
220 <mml:mi mathvariant=
"italic">i
</mml:mi>
222 <mml:mi mathvariant=
"italic">un
</mml:mi>
224 </mml:math></inlineequation>
225 exactly to
<parameter>u2
</parameter>.
226 The other maps integer grid coordinate
227 <inlineequation><mml:math>
230 <mml:mi mathvariant=
"italic">j
</mml:mi>
234 </mml:math></inlineequation>
235 exactly to
<parameter>v1
</parameter>,
236 and integer grid coordinate
237 <inlineequation><mml:math>
240 <mml:mi mathvariant=
"italic">j
</mml:mi>
242 <mml:mi mathvariant=
"italic">vn
</mml:mi>
244 </mml:math></inlineequation>
245 exactly to
<parameter>v2
</parameter>.
246 Other integer grid coordinates
247 <inlineequation><mml:math><mml:mi mathvariant=
"italic">i
</mml:mi></mml:math></inlineequation>
249 <inlineequation><mml:math><mml:mi mathvariant=
"italic">j
</mml:mi></mml:math></inlineequation>
253 <informalequation><mml:math>
254 <!-- eqn: u = i (u2 - u1) / un + u1:-->
256 <mml:mi mathvariant=
"italic">u
</mml:mi>
261 <mml:mi mathvariant=
"italic">i
</mml:mi>
262 <mml:mo>⁡</mml:mo>
263 <mml:mfenced open=
"(" close=
")">
265 <mml:mi mathvariant=
"italic">u2
</mml:mi>
267 <mml:mi mathvariant=
"italic">u1
</mml:mi>
271 <mml:mi mathvariant=
"italic">un
</mml:mi>
274 <mml:mi mathvariant=
"italic">u1
</mml:mi>
277 </mml:math></informalequation>
280 <informalequation><mml:math>
281 <!-- eqn: v = j (v2 - v1) / vn + v1:-->
283 <mml:mi mathvariant=
"italic">v
</mml:mi>
288 <mml:mi mathvariant=
"italic">j
</mml:mi>
289 <mml:mo>⁡</mml:mo>
290 <mml:mfenced open=
"(" close=
")">
292 <mml:mi mathvariant=
"italic">v2
</mml:mi>
294 <mml:mi mathvariant=
"italic">v1
</mml:mi>
298 <mml:mi mathvariant=
"italic">vn
</mml:mi>
301 <mml:mi mathvariant=
"italic">v1
</mml:mi>
304 </mml:math></informalequation>
307 The mappings specified by
<function>glMapGrid
</function> are used identically by
308 <citerefentry><refentrytitle>glEvalMesh
</refentrytitle></citerefentry> and
<citerefentry><refentrytitle>glEvalPoint
</refentrytitle></citerefentry>.
311 <refsect1 id=
"errors"><title>Errors
</title>
313 <constant>GL_INVALID_VALUE
</constant> is generated if either
<parameter>un
</parameter> or
<parameter>vn
</parameter> is not
317 <constant>GL_INVALID_OPERATION
</constant> is generated if
<function>glMapGrid
</function>
318 is executed between the execution of
<citerefentry><refentrytitle>glBegin
</refentrytitle></citerefentry>
319 and the corresponding execution of
<citerefentry><refentrytitle>glEnd
</refentrytitle></citerefentry>.
322 <refsect1 id=
"associatedgets"><title>Associated Gets
</title>
324 <citerefentry><refentrytitle>glGet
</refentrytitle></citerefentry> with argument
<constant>GL_MAP1_GRID_DOMAIN
</constant>
327 <citerefentry><refentrytitle>glGet
</refentrytitle></citerefentry> with argument
<constant>GL_MAP2_GRID_DOMAIN
</constant>
330 <citerefentry><refentrytitle>glGet
</refentrytitle></citerefentry> with argument
<constant>GL_MAP1_GRID_SEGMENTS
</constant>
333 <citerefentry><refentrytitle>glGet
</refentrytitle></citerefentry> with argument
<constant>GL_MAP2_GRID_SEGMENTS
</constant>
336 <refsect1 id=
"seealso"><title>See Also
</title>
338 <citerefentry><refentrytitle>glEvalCoord
</refentrytitle></citerefentry>,
339 <citerefentry><refentrytitle>glEvalMesh
</refentrytitle></citerefentry>,
340 <citerefentry><refentrytitle>glEvalPoint
</refentrytitle></citerefentry>,
341 <citerefentry><refentrytitle>glMap1
</refentrytitle></citerefentry>,
342 <citerefentry><refentrytitle>glMap2
</refentrytitle></citerefentry>
345 <refsect1 id=
"Copyright"><title>Copyright
</title>
347 Copyright
<trademark class=
"copyright"></trademark> 1991-
2006
348 Silicon Graphics, Inc. This document is licensed under the SGI
349 Free Software B License. For details, see
350 <ulink url=
"http://oss.sgi.com/projects/FreeB/">http://oss.sgi.com/projects/FreeB/
</ulink>.