~ubuntu-branches/ubuntu/gutsy/vnc4/gutsy

« back to all changes in this revision

Viewing changes to unix/xc/extras/ogl-sample/main/doc/man/mangl/standard/rotate.gl

  • Committer: Bazaar Package Importer
  • Author(s): Ola Lundqvist
  • Date: 2006-05-15 20:35:17 UTC
  • mfrom: (1.1.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20060515203517-l4lre1ku942mn26k
Tags: 4.1.1+X4.3.0-10
* Correction of critical security issue. Thanks to Martin Kogler
  <e9925248@student.tuwien.ac.at> that informed me about the issue,
  and provided the patch.
  This flaw was originally found by Steve Wiseman of intelliadmin.com.
* Applied patch from Javier Kohen <jkohen@users.sourceforge.net> that
  inform the user that only 8 first characters of the password will
  actually be used when typing more than 8 characters, closes:
  #355619.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
_C_ License Applicability. Except to the extent portions of this file are
 
2
_C_ made subject to an alternative license as permitted in the SGI Free
 
3
_C_ Software License B, Version 1.1 (the "License"), the contents of this
 
4
_C_ file are subject only to the provisions of the License. You may not use
 
5
_C_ this file except in compliance with the License. You may obtain a copy
 
6
_C_ of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
 
7
_C_ Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
 
8
_C_ 
 
9
_C_ http://oss.sgi.com/projects/FreeB
 
10
_C_ 
 
11
_C_ Note that, as provided in the License, the Software is distributed on an
 
12
_C_ "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
 
13
_C_ DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
 
14
_C_ CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
 
15
_C_ PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
 
16
_C_ 
 
17
_C_ Original Code. The Original Code is: OpenGL Sample Implementation,
 
18
_C_ Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
 
19
_C_ Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
 
20
_C_ Copyright in any portions created by third parties is as indicated
 
21
_C_ elsewhere herein. All Rights Reserved.
 
22
_C_ 
 
23
_C_ Additional Notice Provisions: The application programming interfaces
 
24
_C_ established by SGI in conjunction with the Original Code are The
 
25
_C_ OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
 
26
_C_ April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
 
27
_C_ 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
 
28
_C_ Window System(R) (Version 1.3), released October 19, 1998. This software
 
29
_C_ was created using the OpenGL(R) version 1.2.1 Sample Implementation
 
30
_C_ published by SGI, but has not been independently verified as being
 
31
_C_ compliant with the OpenGL(R) version 1.2.1 Specification.
 
32
_C_
 
33
_C_ The first character in this file must be an '_'!
 
34
_C_ Anything on a line after _C_ is ignored
 
35
_define(_filters,eqn)_C_
 
36
_C_      eqn is automatically replaced with neqn for nroff
 
37
_header(Rotate,multiply the current matrix by a rotation matrix)
 
38
_names(Rotate,[df])
 
39
.EQ
 
40
delim $$
 
41
.EN
 
42
.SH PARAMETERS
 
43
_phead(_param1)
 
44
Specifies the angle of rotation, in degrees.
 
45
_phead(_param2 _param3 _param4)
 
46
Specify the \f2x\fP, \f2y\fP, and \f2z\fP coordinates of a vector, respectively. 
 
47
.SH DESCRIPTION
 
48
_cmnd produces a rotation of _param1 degrees around 
 
49
the vector $(_eqnparam2, _eqnparam3, _eqnparam4)$.
 
50
The current matrix (see _cmnd(MatrixMode)) is multiplied by a rotation 
 
51
matrix with the product
 
52
replacing the current matrix, as if _cmnd(MultMatrix) were called
 
53
with the following matrix as its argument:
 
54
.P
 
55
.ce
 
56
.EQ 
 
57
left ( ~ down 20 matrix {
 
58
 ccol { 
 
59
   _eqnparam2 sup 2 (1 ^-^ c)~+~ c above
 
60
   _eqnparam3 _eqnparam2 (1 ^-^ c)~+~ _eqnparam4 s above
 
61
   _eqnparam2 _eqnparam4 (1 ^-^ c)~-~_eqnparam3 s above
 
62
   ~0 
 
63
 } 
 
64
 ccol {
 
65
   ~~ _eqnparam2 _eqnparam3 (1 ^-^ c)~-~_eqnparam4 s above
 
66
   ~~ _eqnparam3 sup 2 (1 ^-^ c)~+~ c above
 
67
   ~~ _eqnparam3 _eqnparam4 (1 ^-^ c)~+~ _eqnparam2 s above
 
68
   ~~ ~0
 
69
 } 
 
70
 ccol {
 
71
   ~~ _eqnparam2 _eqnparam4 (1 ^-^ c)~+~ _eqnparam3 s above
 
72
   ~~ _eqnparam3 _eqnparam4 (1 ^-^ c)~-~ _eqnparam2 s above
 
73
   ~~ _eqnparam4 sup 2 (1 ^-^ c) ~+~  c above
 
74
   ~~ ~0
 
75
 } 
 
76
 ccol { ~0 above ~0 above ~0 above ~1}
 
77
} ~~ right )
 
78
.EN
 
79
.P
 
80
.sp
 
81
Where $c ~=~ cos (_eqnparam1)$, $s ~=~ sin (_eqnparam1)$, and 
 
82
$||(~_eqnparam2, _eqnparam3, _eqnparam4~)|| ~=~ 1$ (if not, the GL 
 
83
will normalize this vector).
 
84
.sp
 
85
.sp
 
86
.P
 
87
If the matrix mode is either _const(MODELVIEW) or _const(PROJECTION),
 
88
all objects drawn after _cmnd is called are rotated.
 
89
Use _cmnd(PushMatrix) and _cmnd(PopMatrix) to save and restore
 
90
the unrotated coordinate system.
 
91
.SH NOTES
 
92
This rotation follows the right-hand rule, so
 
93
if the vector $(_eqnparam2, _eqnparam3, _eqnparam4)$ points toward the
 
94
user, the rotation will be counterclockwise.
 
95
.SH ERRORS
 
96
_const(INVALID_OPERATION) is generated if _cmnd
 
97
is executed between the execution of _cmnd(Begin)
 
98
and the corresponding execution of _cmnd(End).
 
99
.SH ASSOCIATED GETS
 
100
_cmnd(Get) with argument _const(MATRIX_MODE)
 
101
.br
 
102
_cmnd(Get) with argument _const(COLOR_MATRIX)
 
103
.br
 
104
_cmnd(Get) with argument _const(MODELVIEW_MATRIX)
 
105
.br
 
106
_cmnd(Get) with argument _const(PROJECTION_MATRIX)
 
107
.br
 
108
_cmnd(Get) with argument _const(TEXTURE_MATRIX)
 
109
.SH SEE ALSO
 
110
_cmnd(MatrixMode),
 
111
_cmnd(MultMatrix),
 
112
_cmnd(PushMatrix),
 
113
_cmnd(Scale),
 
114
_cmnd(Translate)