1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
|
.\"##
.\" $XConsortium: p279,v 5.1 91/02/16 09:42:15 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 "SCALE" 3P "29 February 1991"
.SH NAME
SCALE \- calculate a \s-2\&2D\s+2 transformation matrix to perform a specified
scaling
.SH SYNOPSIS
.SS C Syntax
.ft B
.ta 1.25i 3i
.nf
void
pscale ( scale_vector, error_ind, m )
Pvec *scale_vector; \fIscale factor vector\fP
Pint *error_ind; \fI\s-2OUT\s+2 error indicator\fP
Pmatrix m; \fI\s-2OUT\s+2 transformation matrix\fP
.fi
.ft R
.SS Required PHIGS Operating States
(PHOP, *, *, *)
.SH DESCRIPTION
.SS Purpose
Use \s-2SCALE\s+2 to generate a \s-2\&2D\s+2 homogeneous
(3\ \(mu\ 3) transformation
matrix that performs a \s-2\&2D\s+2 scaling.
.LP
The returned matrix can 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 \fIscale_vector\fP
A pointer to a Pvec data structure containing the scale factors to be
applied to the \fIx\fP and \fIy\fP dimensions.
Pvec is defined in phigs.h as follows:
.sp .4
.ta .5i +\w'Pfloat 'u +\w'delta_x; 'u
.nf
typedef struct {
.sp .2
Pfloat delta_x; /* x coordinate */
Pfloat delta_y; /* y coordinate */
.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 3\ \(mu\ 3 homogeneous transformation matrix that performs the specified
scaling.
Pmatrix is defined in phigs.h as follows:
.IP
typedef Pfloat Pmatrix[3][3];
.SS Execution
\s-2SCALE\s+2 returns a \s-2\&2D\s+2 homogeneous (3\ \(mu\ 3) transformation matrix
that performs the scaling specified by \fIscale factor vector\fP.
The scaling is relative to the origin of the current modelling
coordinate system.
.LP
The \fIscale factor vector\fP specifies
\fIsx\fP and \fIsy\fP scaling factors
that control scaling in the \fIx\fP and \fIy\fP directions.
.SH ERRORS
.IP 002
Ignoring function, function requires state (\s-2PHOP, *, *, *\s+2)
.SH SEE ALSO
.nf
.IP
.ta 0.5i
.SM "SET LOCAL TRANSFORMATION (3P)"
.SM "BUILD TRANSFORMATION MATRIX (3P)"
.SM "COMPOSE MATRIX (3P)"
.SM "SCALE 3 (3P)"
.SM "TRANSFORM POINT (3P)"
.fi
|