.\"##
.\" $XConsortium: p267,v 5.2 94/04/17 20:57:32 rws Exp $
.\"##
.\"## 
$XMCOPY
.\"## Copyright (c) 1990, 1991 by Sun Microsystems, Inc. 
.\"## 
.\"##                         All Rights Reserved
.\"## 
.\"## Permission to use, copy, modify, and distribute this software and its 
.\"## documentation for any purpose and without fee is hereby granted, 
.\"## provided that the above copyright notice appear in all copies and that
.\"## both that copyright notice and this permission notice appear in 
.\"## supporting documentation, and that the name of Sun Microsystems,
.\"## not be used in advertising or publicity 
.\"## pertaining to distribution of the software without specific, written 
.\"## prior permission.  
.\"## 
.\"## SUN MICROSYSTEMS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, 
.\"## INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
.\"## EVENT SHALL SUN MICROSYSTEMS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
.\"## CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
.\"## USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
.\"## OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
.\"## PERFORMANCE OF THIS SOFTWARE.
.TH "ROTATE" 3P "29 February 1991"
.SH NAME
ROTATE \- calculate a \s-2\&2D\s+2 transformation matrix to perform a specified
\s-2\&2D\s+2 rotation
.IX "Transformation Matrix" "ROTATE"
.SH SYNOPSIS
.SS C Syntax
.ft B
.ta 1.25i 3i
.nf
void
protate ( angle, error_ind, m)
Pfloat	angle;	\fIrotation angle\fP
Pint	*error_ind;	\fIOUT error indicator\fP
Pmatrix	m;	\fIOUT transformation matrix\fP
.fi
.ft R
.SS Required PHIGS Operating States
(PHOP, *, *, *)
.SH DESCRIPTION
.SS Purpose
Use \s-2ROTATE\s+2 to generate a \s-2\&2D\s+2 homogeneous
(3\ \(mu\ 3) transformation
matrix that performs a \s-2\&2D\s+2 rotation.
.LP
The returned matrix may be passed as an argument to
\s-2SET LOCAL TRANSFORMATION\s+2 or \s-2SET GLOBAL TRANSFORMATION\s+2
to modify the modelling transformation that is
applied to output primitives during traversal.
.SS C Input Parameter
.IP \fIangle\fP
The angle of the rotation in radians.
Positive angles indicate counterclockwise rotation,
and negative angles indicate clockwise rotation.
.SS C Output Parameters
.IP \fIerror_ind\fP
A pointer to the location to store the error number of any error detected
by this function.
.IP \fIm\fP
The 3\ \(mu\ 3 transformation matrix that performs the specified rotation.
Pmatrix is defined in phigs.h as follows:
.IP
typedef  Pfloat  Pmatrix[3][3];
.SS Execution
\s-2ROTATE\s+2 returns a \s-2\&2D\s+2 homogeneous (3\ \(mu\ 3)
transformation matrix that performs the rotation specified by \fIangle\fP.
The rotation is specified in radians.
The rotation is relative to the origin of the current modelling
coordinate system.
.SH ERRORS
.IP 002
Ignoring function, function requires state (\s-2PHOP, *, *, *\s+2)
.SH SEE ALSO
.nf
.IP
.ta 0.5i
.SM "ROTATE X (3P)"
.SM "ROTATE Y (3P)"
.SM "ROTATE Z (3P)"
.SM "SET LOCAL TRANSFORMATION 3 (3P)"
.SM "BUILD TRANSFORMATION MATRIX 3 (3P)"
.SM "COMPOSE MATRIX (3P)"
.SM "TRANSFORM POINT (3P)"
.fi
