d9e5e7d074ffaf6fb3434716125f75633ee1cdc5
[clinton/guile-figl.git] / upstream-man-pages / man2 / glEvalPoint.xml
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="glEvalPoint">
5 <refmeta>
6 <refmetainfo>
7 <copyright>
8 <year>1991-2006</year>
9 <holder>Silicon Graphics, Inc.</holder>
10 </copyright>
11 </refmetainfo>
12 <refentrytitle>glEvalPoint</refentrytitle>
13 <manvolnum>3G</manvolnum>
14 </refmeta>
15 <refnamediv>
16 <refname>glEvalPoint</refname>
17 <refpurpose>generate and evaluate a single point in a mesh</refpurpose>
18 </refnamediv>
19 <refsynopsisdiv><title>C Specification</title>
20 <funcsynopsis>
21 <funcprototype>
22 <funcdef>void <function>glEvalPoint1</function></funcdef>
23 <paramdef>GLint <parameter>i</parameter></paramdef>
24 </funcprototype>
25 </funcsynopsis>
26 <funcsynopsis>
27 <funcprototype>
28 <funcdef>void <function>glEvalPoint2</function></funcdef>
29 <paramdef>GLint <parameter>i</parameter></paramdef>
30 <paramdef>GLint <parameter>j</parameter></paramdef>
31 </funcprototype>
32 </funcsynopsis>
33 </refsynopsisdiv>
34 <!-- eqn: ignoring delim $$ -->
35 <refsect1 id="parameters"><title>Parameters</title>
36 <variablelist>
37 <varlistentry>
38 <term><parameter>i</parameter></term>
39 <listitem>
40 <para>
41 Specifies the integer value for grid domain variable
42 <inlineequation><mml:math><mml:mi mathvariant="italic">i</mml:mi></mml:math></inlineequation>.
43 </para>
44 </listitem>
45 </varlistentry>
46 <varlistentry>
47 <term><parameter>j</parameter></term>
48 <listitem>
49 <para>
50 Specifies the integer value for grid domain variable
51 <inlineequation><mml:math><mml:mi mathvariant="italic">j</mml:mi></mml:math></inlineequation>
52 (<function>glEvalPoint2</function> only).
53 </para>
54 </listitem>
55 </varlistentry>
56 </variablelist>
57 </refsect1>
58 <refsect1 id="description"><title>Description</title>
59 <para>
60 <citerefentry><refentrytitle>glMapGrid</refentrytitle></citerefentry> and <citerefentry><refentrytitle>glEvalMesh</refentrytitle></citerefentry> are used in tandem to efficiently
61 generate and evaluate a series of evenly spaced map domain values.
62 <function>glEvalPoint</function> can be used to evaluate a single grid point in the same gridspace
63 that is traversed by <citerefentry><refentrytitle>glEvalMesh</refentrytitle></citerefentry>.
64 Calling <function>glEvalPoint1</function> is equivalent to calling
65 <programlisting>
66 glEvalCoord1( <mml:math>
67 <!-- eqn: i \cdot DELTA u + u sub 1 :-->
68 <mml:mrow>
69 <mml:mrow>
70 <mml:mn>i</mml:mn>
71 <mml:mo>&CenterDot;</mml:mo>
72 <mml:mo>&Delta;</mml:mo>
73 <mml:mi mathvariant="italic">u</mml:mi>
74 </mml:mrow>
75 <mml:mo>+</mml:mo>
76 <mml:msub>
77 <mml:mi mathvariant="italic">u</mml:mi>
78 <mml:mn>1</mml:mn>
79 </mml:msub>
80 </mml:mrow>
81 </mml:math> );
82 </programlisting>
83 where
84 <informalequation><mml:math>
85 <!-- eqn: DELTA u = ( u sub 2 - u sub 1 ) / n:-->
86 <mml:mrow>
87 <mml:mrow>
88 <mml:mo>&Delta;</mml:mo>
89 <mml:mi mathvariant="italic">u</mml:mi>
90 </mml:mrow>
91 <mml:mo>=</mml:mo>
92 <mml:mfrac>
93 <mml:mfenced open="(" close=")">
94 <mml:mrow>
95 <mml:msub><mml:mi mathvariant="italic">u</mml:mi>
96 <mml:mn>2</mml:mn>
97 </mml:msub>
98 <mml:mo>-</mml:mo>
99 <mml:msub><mml:mi mathvariant="italic">u</mml:mi>
100 <mml:mn>1</mml:mn>
101 </mml:msub>
102 </mml:mrow>
103 </mml:mfenced>
104 <mml:mi mathvariant="italic">n</mml:mi>
105 </mml:mfrac>
106 </mml:mrow>
107 </mml:math></informalequation>
108 </para>
109 <para>
110 and
111 <inlineequation><mml:math><mml:mi mathvariant="italic">n</mml:mi></mml:math></inlineequation>,
112 <inlineequation><mml:math>
113 <!-- eqn: u sub 1:-->
114 <mml:msub><mml:mi mathvariant="italic">u</mml:mi>
115 <mml:mn>1</mml:mn>
116 </mml:msub>
117 </mml:math></inlineequation>,
118 and
119 <inlineequation><mml:math>
120 <!-- eqn: u sub 2:-->
121 <mml:msub><mml:mi mathvariant="italic">u</mml:mi>
122 <mml:mn>2</mml:mn>
123 </mml:msub>
124 </mml:math></inlineequation>
125 are the arguments to the most recent <citerefentry><refentrytitle>glMapGrid1</refentrytitle></citerefentry> command.
126 The one absolute numeric requirement is that if
127 <inlineequation><mml:math>
128 <!-- eqn: i = n:-->
129 <mml:mrow>
130 <mml:mi mathvariant="italic">i</mml:mi>
131 <mml:mo>=</mml:mo>
132 <mml:mi mathvariant="italic">n</mml:mi>
133 </mml:mrow>
134 </mml:math></inlineequation>,
135 then the value computed from
136 <inlineequation><mml:math>
137 <!-- eqn: i cdot DELTA u + u sub 1:-->
138 <mml:mrow>
139 <mml:mrow>
140 <mml:mi mathvariant="italic">i</mml:mi>
141 <mml:mo>&CenterDot;</mml:mo>
142 <mml:mrow>
143 <mml:mo>&Delta;</mml:mo>
144 <mml:mi mathvariant="italic">u</mml:mi>
145 </mml:mrow>
146 </mml:mrow>
147 <mml:mo>+</mml:mo>
148 <mml:msub><mml:mi mathvariant="italic">u</mml:mi>
149 <mml:mn>1</mml:mn>
150 </mml:msub>
151 </mml:mrow>
152 </mml:math></inlineequation>
153 is exactly
154 <inlineequation><mml:math>
155 <!-- eqn: u sub 2:-->
156 <mml:msub><mml:mi mathvariant="italic">u</mml:mi>
157 <mml:mn>2</mml:mn>
158 </mml:msub>
159 </mml:math></inlineequation>.
160 </para>
161 <para>
162 In the two-dimensional case, <function>glEvalPoint2</function>, let
163 </para>
164 <para>
165 <informalequation><mml:math>
166 <!-- eqn: DELTA u = ( u sub 2 - u sub 1 ) / n:-->
167 <mml:mrow>
168 <mml:mrow>
169 <mml:mo>&Delta;</mml:mo>
170 <mml:mi mathvariant="italic">u</mml:mi>
171 </mml:mrow>
172 <mml:mo>=</mml:mo>
173 <mml:mfrac>
174 <mml:mfenced open="(" close=")">
175 <mml:mrow>
176 <mml:msub><mml:mi mathvariant="italic">u</mml:mi>
177 <mml:mn>2</mml:mn>
178 </mml:msub>
179 <mml:mo>-</mml:mo>
180 <mml:msub><mml:mi mathvariant="italic">u</mml:mi>
181 <mml:mn>1</mml:mn>
182 </mml:msub>
183 </mml:mrow>
184 </mml:mfenced>
185 <mml:mi mathvariant="italic">n</mml:mi>
186 </mml:mfrac>
187 </mml:mrow>
188 </mml:math></informalequation>
189 <para>
190 <informalequation><mml:math>
191 <!-- eqn: DELTA v = ( v sub 2 - v sub 1 ) / m:-->
192 <mml:mrow>
193 <mml:mrow>
194 <mml:mo>&Delta;</mml:mo>
195 <mml:mi mathvariant="italic">v</mml:mi>
196 </mml:mrow>
197 <mml:mo>=</mml:mo>
198 <mml:mfrac>
199 <mml:mfenced open="(" close=")">
200 <mml:mrow>
201 <mml:msub><mml:mi mathvariant="italic">v</mml:mi>
202 <mml:mn>2</mml:mn>
203 </mml:msub>
204 <mml:mo>-</mml:mo>
205 <mml:msub><mml:mi mathvariant="italic">v</mml:mi>
206 <mml:mn>1</mml:mn>
207 </mml:msub>
208 </mml:mrow>
209 </mml:mfenced>
210 <mml:mi mathvariant="italic">m</mml:mi>
211 </mml:mfrac>
212 </mml:mrow>
213 </mml:math></informalequation>
214 </para>
215 </para>
216 <para>
217 where
218 <inlineequation><mml:math><mml:mi mathvariant="italic">n</mml:mi></mml:math></inlineequation>,
219 <inlineequation><mml:math>
220 <!-- eqn: u sub 1:-->
221 <mml:msub><mml:mi mathvariant="italic">u</mml:mi>
222 <mml:mn>1</mml:mn>
223 </mml:msub>
224 </mml:math></inlineequation>,
225 <inlineequation><mml:math>
226 <!-- eqn: u sub 2:-->
227 <mml:msub><mml:mi mathvariant="italic">u</mml:mi>
228 <mml:mn>2</mml:mn>
229 </mml:msub>
230 </mml:math></inlineequation>,
231 <inlineequation><mml:math><mml:mi mathvariant="italic">m</mml:mi></mml:math></inlineequation>,
232 <inlineequation><mml:math>
233 <!-- eqn: v sub 1:-->
234 <mml:msub><mml:mi mathvariant="italic">v</mml:mi>
235 <mml:mn>1</mml:mn>
236 </mml:msub>
237 </mml:math></inlineequation>,
238 and
239 <inlineequation><mml:math>
240 <!-- eqn: v sub 2:-->
241 <mml:msub><mml:mi mathvariant="italic">v</mml:mi>
242 <mml:mn>2</mml:mn>
243 </mml:msub>
244 </mml:math></inlineequation>
245 are the arguments to the most recent <citerefentry><refentrytitle>glMapGrid2</refentrytitle></citerefentry> command.
246 Then the <function>glEvalPoint2</function> command is equivalent to calling
247 <programlisting>
248 glEvalCoord2( <mml:math>
249 <!-- i \cdot DELTA u + u sub 1 :-->
250 <mml:mrow>
251 <mml:mrow>
252 <mml:mn>i</mml:mn>
253 <mml:mo>&CenterDot;</mml:mo>
254 <mml:mo>&Delta;</mml:mo>
255 <mml:mi mathvariant="italic">u</mml:mi>
256 </mml:mrow>
257 <mml:mo>+</mml:mo>
258 <mml:msub>
259 <mml:mi mathvariant="italic">u</mml:mi>
260 <mml:mn>1</mml:mn>
261 </mml:msub>
262 <mml:mo>,</mml:mo>
263 <!-- j \cdot DELTA v + v sub 1 :-->
264 <mml:mrow>
265 <mml:mn>j</mml:mn>
266 <mml:mo>&CenterDot;</mml:mo>
267 <mml:mo>&Delta;</mml:mo>
268 <mml:mi mathvariant="italic">v</mml:mi>
269
270 </mml:mrow>
271 <mml:mo>+</mml:mo>
272 <mml:msub>
273 <mml:mi mathvariant="italic">v</mml:mi>
274 <mml:mn>1</mml:mn>
275 </mml:msub>
276 </mml:mrow>
277 </mml:math> );
278 </programlisting>
279 The only absolute numeric requirements are that if
280 <inlineequation><mml:math>
281 <!-- eqn: i = n:-->
282 <mml:mrow>
283 <mml:mi mathvariant="italic">i</mml:mi>
284 <mml:mo>=</mml:mo>
285 <mml:mi mathvariant="italic">n</mml:mi>
286 </mml:mrow>
287 </mml:math></inlineequation>,
288 then the value computed from
289 <inlineequation><mml:math>
290 <!-- eqn: i cdot DELTA u + u sub 1:-->
291 <mml:mrow>
292 <mml:mrow>
293 <mml:mi mathvariant="italic">i</mml:mi>
294 <mml:mo>&CenterDot;</mml:mo>
295 <mml:mrow>
296 <mml:mo>&Delta;</mml:mo>
297 <mml:mi mathvariant="italic">u</mml:mi>
298 </mml:mrow>
299 </mml:mrow>
300 <mml:mo>+</mml:mo>
301 <mml:msub><mml:mi mathvariant="italic">u</mml:mi>
302 <mml:mn>1</mml:mn>
303 </mml:msub>
304 </mml:mrow>
305 </mml:math></inlineequation>
306 is exactly
307 <inlineequation><mml:math>
308 <!-- eqn: u sub 2:-->
309 <mml:msub><mml:mi mathvariant="italic">u</mml:mi>
310 <mml:mn>2</mml:mn>
311 </mml:msub>
312 </mml:math></inlineequation>,
313 and if
314 <inlineequation><mml:math>
315 <!-- eqn: j = m:-->
316 <mml:mrow>
317 <mml:mi mathvariant="italic">j</mml:mi>
318 <mml:mo>=</mml:mo>
319 <mml:mi mathvariant="italic">m</mml:mi>
320 </mml:mrow>
321 </mml:math></inlineequation>,
322 then the value computed from
323 <inlineequation><mml:math>
324 <!-- eqn: j cdot DELTA v + v sub 1:-->
325 <mml:mrow>
326 <mml:mrow>
327 <mml:mi mathvariant="italic">j</mml:mi>
328 <mml:mo>&CenterDot;</mml:mo>
329 <mml:mrow>
330 <mml:mo>&Delta;</mml:mo>
331 <mml:mi mathvariant="italic">v</mml:mi>
332 </mml:mrow>
333 </mml:mrow>
334 <mml:mo>+</mml:mo>
335 <mml:msub><mml:mi mathvariant="italic">v</mml:mi>
336 <mml:mn>1</mml:mn>
337 </mml:msub>
338 </mml:mrow>
339 </mml:math></inlineequation>
340 is exactly
341 <inlineequation><mml:math>
342 <!-- eqn: v sub 2:-->
343 <mml:msub><mml:mi mathvariant="italic">v</mml:mi>
344 <mml:mn>2</mml:mn>
345 </mml:msub>
346 </mml:math></inlineequation>.
347 </para>
348 </refsect1>
349 <refsect1 id="associatedgets"><title>Associated Gets</title>
350 <para>
351 <citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_MAP1_GRID_DOMAIN</constant>
352 </para>
353 <para>
354 <citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_MAP2_GRID_DOMAIN</constant>
355 </para>
356 <para>
357 <citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_MAP1_GRID_SEGMENTS</constant>
358 </para>
359 <para>
360 <citerefentry><refentrytitle>glGet</refentrytitle></citerefentry> with argument <constant>GL_MAP2_GRID_SEGMENTS</constant>
361 </para>
362 </refsect1>
363 <refsect1 id="seealso"><title>See Also</title>
364 <para>
365 <citerefentry><refentrytitle>glEvalCoord</refentrytitle></citerefentry>,
366 <citerefentry><refentrytitle>glEvalMesh</refentrytitle></citerefentry>,
367 <citerefentry><refentrytitle>glMap1</refentrytitle></citerefentry>,
368 <citerefentry><refentrytitle>glMap2</refentrytitle></citerefentry>,
369 <citerefentry><refentrytitle>glMapGrid</refentrytitle></citerefentry>
370 </para>
371 </refsect1>
372 <refsect1 id="Copyright"><title>Copyright</title>
373 <para>
374 Copyright <trademark class="copyright"></trademark> 1991-2006
375 Silicon Graphics, Inc. This document is licensed under the SGI
376 Free Software B License. For details, see
377 <ulink url="http://oss.sgi.com/projects/FreeB/">http://oss.sgi.com/projects/FreeB/</ulink>.
378 </para>
379 </refsect1>
380 </refentry>