summaryrefslogtreecommitdiff
path: root/xc/unsupported/doc/PHIGS/man3/p012
blob: 0a65d2a7b68b220f18f0c31a7eeb4cc176c5b87f (plain)
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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
.\"##
.\" $XConsortium: p012,v 5.2 94/04/17 20:54:19 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 "CELL ARRAY 3" 3P "29 February 1991"
.SH NAME
CELL ARRAY 3 \- create structure element specifying \s-2\&3D\s+2 cell array
.IX "Primitives, Special Primitives" "CELL ARRAY 3"
.IX "Special Primitives" "CELL ARRAY 3"
.SH SYNOPSIS
.SS C Syntax
.ft B
.ta 1.25i 3.25i
.nf
void
pcell_array3 ( parallelogram, colr_array )
Pparal	parallelogram;	\fIcell parallelogram: [0]=P; [1]=Q; [2]=R\fP
Ppat_rep	colr_array;	\fIcolour array\fP
.fi
.ft R
.SS Required PHIGS Operating States
(PHOP, *, STOP, *)
.SH DESCRIPTION
.SS Purpose
The \s-2CELL ARRAY 3\s+2 function places a structure element containing
the full specification of a \s-2\&3D\s+2 cell array into
the currently open structure,
according to the current edit mode.
A \s-2\&3D\s+2 cell array primitive is an array of cells with individual colours.
Its area is defined by three points \s-2P, Q,\s+2 and \s-2R\s+2
in Modelling Coordinates giving the corners of a parallelogram
as \s-2P, Q, R,\s+2 and (\s-2Q + R \- P\s+2).
.LP
If the current edit mode is \s-2INSERT\s+2, the \s-2CELL ARRAY 3\s+2 element
is inserted into the open structure after the element pointed to by the
element pointer. If the edit mode is \s-2REPLACE\s+2, the \s-2CELL ARRAY 3\s+2
element replaces the element pointed to by the element pointer. In either
case, the element pointer is updated to point to the new \s-2CELL ARRAY 3\s+2
element.
.SS C Input Parameters
.IP \fIparallelogram\fP
A pointer to a Pparal structure giving the three corners
of the parallelogram that defines the area of the \s-2CELL ARRAY 3\s+2 element.
The Pparal structure is defined in phigs.h as follows:
.sp .4
.ta .5i +1i +.5i
.nf
typedef struct  {
.sp .2
	Ppoint3	p;	/* point p */
	Ppoint3	q;	/* point q */
	Ppoint3	r;	/* point r */
.sp .2
} Pparal;
.fi
.IP
Ppoint3 is defined in phigs.h as follows:
.sp .4
.ta .5i +1i +.5i
.nf
typedef struct {
.sp .2
	Pfloat	x;	/* x coordinate */
	Pfloat	y;	/* y coordinate */
	Pfloat	z;	/* z coordinate */
.sp .2
} Ppoint3;
.fi
.IP \fIcolr_array\fP
The colour array.
The Ppat_rep structure is defined in phigs.h as follows:
.sp .4
.ta .5i +\w'Pint_size     'u +\w'*colr_array;     'u
.nf
typedef struct  {
.sp .2
	Pint_size	dims;	/* pattern's dimensions */
	Pint	*colr_array;	/* colour index array */
.sp .2
} Ppat_rep;
.fi
.IP
Pint_size is defined in phigs.h as follows:
.sp .4
.ta .5i +1i +1i
.nf
typedef struct {
.sp .2
	Pint	size_x;	/* x size */
	Pint	size_y;	/* x size */
.sp .2
} Pint_size;
.fi
.SS Execution
When the structure is traversed, the \s-2CELL ARRAY 3\s+2 element draws the transformed
boundaries of the cell parallelogram, using the polyline attributes currently in effect.
The aspect source flags (\s-2ASF\s+2s) for line type, line width scale factor,
and polyline colour index control whether the values used for these attributes
are taken from the polyline representation specified by 
\s-2POLYLINE INDEX (ASF - BUNDLED)\s+2, or from the individual specifications
set for these attributes \s-2(ASF - INDIVIDUAL)\s+2.
This is the minimal simulation for cell arrays.
Applications should not depend on this behavior to remain the same in future releases.
.LP
The coordinates used to specify the position of the \s-2CELL ARRAY 3\s+2
primitive are Modelling Coordinates.  These can be any coordinate units that
are convenient to the application.
At traversal, these coordinate values will be transformed by the current
Local and Global Modelling Tranformations, the view representation selected 
by the current view index, and the workstation transformation current
on the workstation to which the structure is posted.
.SS Attributes Applied
The current values of the following attributes will be used to display
the \s-2CELL ARRAY 3\s+2 primitive when the structure is traversed.  
The value of an attribute is modified with the appropriate \s-2SET\s+2 routine.
The aspect source flags (\s-2ASF\s+2s) tell where to access the output
display attributes.  These attributes can come directly from the
traversal state list, or they can be accessed indirectly, using the
appropriate index in the traversal state list and the corresponding bundled
representation in the workstation state list.
.RS
.nf
.ta .5i +2i  +2i
.sp
	polyline colour	polyline colour index \s-2ASF\s+2
	linewidth scale factor	linewidth scale factor \s-2ASF\s+2
	linetype	linetype \s-2ASF\s+2
	polyline shading method	polyline shading method \s-2ASF\s+2
	polyline index	
	depth cue index	
	name set	
.fi
.RE
.sp .2
.SH ERRORS
.IP 005
Ignoring function, function requires state (\s-2PHOP, *, STOP, *\s+2)
.IP 113
Ignoring function, the colour index value is less than zero
.IP 117
Ignoring function, one of the dimensions of the colour index array
is less than zero
.SH SEE ALSO
.nf
.IP
.ta 0.5i
.SM "CELL ARRAY (3P)"
.fi