.\"## .\" $XConsortium: p053,v 5.2 94/04/17 20:54:52 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 "EVALUATE VIEW ORIENTATION MATRIX" 3P "29 February 1991" .SH NAME EVALUATE VIEW ORIENTATION MATRIX \- calculate a transformation matrix that orients the View Reference Coordinate system in the World Coordinate system .IX "Viewing" "EVALUATE VIEW ORIENTATION MATRIX" .SH SYNOPSIS .SS C Syntax .ft B .ta 1.25i 3i .nf void peval_view_ori_matrix ( vrp, vup, error_ind, m ) Ppoint *vrp; \fIview reference point\fP Pvec *vup; \fIview up vector\fP Pint *error_ind; \fI\s-2OUT\s+2 error indicator\fP Pmatrix m; \fI\s-2OUT\s+2 view orientation matrix\fP .fi .ft R .SS Required PHIGS Operating States (PHOP, *, *, *) .SH DESCRIPTION .SS Purpose Use \s-2EVALUATE VIEW ORIENTATION MATRIX\s+2 to calculate a \fIview orientation matrix\fP, used to transform World Coordinates (\s-2WC\s+2) to View Reference Coordinates (\s-2VRC\s+2). This matrix establishes the \fIu\fP and \fIv\fP \s-2VRC\s+2 axes in relation to \s-2WC\s+2 space. The view orientation matrix calculated by this function can be passed as an argument to \s-2SET VIEW REPRESENTATION\s+2. .LP See the descriptions of the functions \s-2SET VIEW REPRESENTATION\s+2 and \s-2EVALUATE VIEW MAPPING MATRIX\s+2 in this function reference for more information. .SS C Input Parameters .IP \fIvrp\fP A pointer to a Ppoint structure containing \fIx\fP and \fIy\fP \s-2WC\s+2s that specify the view reference point. Ppoint is defined in phigs.h as follows: .sp .4 .ta .5i +1.0i +1.25i .nf typedef struct { .sp .2 Pfloat x; /* x coordinate */ Pfloat y; /* y coordinate */ .sp .2 } Ppoint; .fi .IP \fIvup\fP A pointer to a Pvec structure containing \fIx\fP and \fIy\fP \s-2WC\s+2 values that specify the view up vector. Pvec is defined in phigs.h as follows: .sp .4 .ta .5i +1.0i +1.25i .nf typedef struct { .sp .2 Pfloat delta_x; /* x magnitude */ Pfloat delta_y; /* y magnitude */ .sp .2 } Pvec; .fi .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 \s-2\&2D\s+2 homogeneous (3\ \(mu\ 3) view orientation matrix. Pmatrix is defined in phigs.h as follows: .IP typedef Pfloat Pmatrix[3][3]; .SS Execution If the input parameters are consistent and well defined, \s-2EVALUATE VIEW ORIENTATION MATRIX\s+2 returns a \s-2\&2D\s+2 homogeneous (3\ \(mu\ 3) transformation matrix in the output parameter view orientation matrix. This matrix transforms \s-2WC\s+2 to \s-2VRC\s+2 according to the values of the input parameters. .LP The \fIview reference point\fP defines the point in \s-2WC\s+2 space that is to be used as the origin of the \s-2VRC\s+2 system. It is specified as a \s-2\&2D\s+2 point in the \fIz\fP \(eq 0 plane of the \s-2WC\s+2 system and is usually a point on or near the object to be viewed. .LP The \fIview up vector\fP defines the \s-2UP\s+2 direction of the \s-2VRC\s+2 system. It is specified as a \s-2\&2D\s+2 vector relative to the view reference point. This vector defines a direction in the \s-2WC\s+2 \fIz\fP \(eq 0 plane. This direction becomes the \fIv\fP axis of the \s-2VRC\s+2 system. The \fIn\fP axis of \s-2VRC\s+2 is parallel to the \fIz\fP axis of the \s-2WC\s+2 system, and the \fIu\fP axis is determined so that \fIu\fP, \fIv\fP, and \fIn\fP axes form a right-handed coordinate system. .SH ERRORS .IP 002 Ignoring function, function requires state (\s-2PHOP, *, *, *\s+2) .IP 160 Ignoring function, the view up vector has length zero