#!F-adobe-helvetica-medium-r-normal--18*
#!N 
#!CDarkGreen #!N  #!Rall635 Example 11. Three-dimensional Faces, Loops, and Edges 
#!N #!EC #!N #!N The following data file describes a faces, 
loops, and edges Object that exists in 3-dimensional space. #!CForestGreen #!N 
#!N  #!F-adobe-courier-bold-r-normal--18*   #!N // To view the solid: #!N g = 
Import("solid.dx"); #!N a = AutoCamera(g, [0.2 0.1 1.0]); #!N Display(g, a); 
#!N #!N // To look at just the connections: #!N s 
= ShowConnections(g); #!N Display(s, a); #!EF #!N #!N #!EC #!N #!N 
Use the first part of the script to view the solid, 
and the second part to view only the connections. The data 
file is given below, and the resulting connections are shown in 
 #!Lsolidf113,dxall636 f Figure 113  #!EL  . This data file can be found in  #!F-adobe-times-bold-r-normal--18*   /usr/lpp/samples/data/solid.dx 
#!EF . #!CForestGreen #!N #!N  #!F-adobe-courier-bold-r-normal--18*   #!N # Example of faces, 
loops and edges components. #!N # #!N # Positions array. These 
are a list of all the vertices of the object; #!N 
# no particular order is required here. #!N object "position list" 
class array type float rank 1 shape 3 items 12 #!N 
data follows #!EF #!N #!N #!EC #!CForestGreen #!N #!N  #!F-adobe-courier-bold-r-normal--18*   #!T,16,61,104,172 
#!N TAB 5.0 TAB 0.0 TAB 1.0 TAB # point number 
0 #!N TAB 5.0 TAB 0.0 TAB 5.0 TAB # 1 
#!N TAB 3.0 TAB 5.0 TAB 5.0 TAB # 2 #!N 
TAB 4.5 TAB 0.0 TAB 1.5 TAB # 3 #!N TAB 
4.5 TAB 0.0 TAB 4.5 TAB # 4 #!N TAB 3.0 
TAB 4.0 TAB 5.0 TAB # 5 #!N TAB 4.0 TAB 
0.5 TAB 5.0 TAB # 6 #!N TAB 1.5 TAB 0.0 
TAB 1.5 TAB # 7 #!N TAB 1.5 TAB 0.0 TAB 
4.5 TAB # 8 #!N TAB 2.0 TAB 0.5 TAB 5.0 
TAB # 9 #!N TAB 1.0 TAB 0.0 TAB 5.0 TAB 
# 10 #!N TAB 1.0 TAB 0.0 TAB 1.0 TAB # 
11 #!N #!N # Edges array. This is a list of 
connected points, by point number. All #!N # the edges associated 
with a particular face need to be listed together. #!N # 
If points 10, 3 and 7 make a triangle, the list 
is "10 3 7" and the 10 #!N # is not 
repeated. If there is a hole in the triangle, the edges 
that #!N # describe the hole must be listed right before 
or right after. #!N object "edge list" class array type int 
rank 0 items 23 data follows #!T,16,51,86,172 #!N TAB 1 TAB 
0 TAB 2 TAB # edge point index 0 #!N TAB 
10 TAB 1 TAB 2 TAB # 3 #!N TAB 9 
TAB 6 TAB 5 TAB # 6 #!T,16,51,86,121,172 #!N TAB 10 
TAB 1 TAB 0 TAB 11 TAB # 9 #!N TAB 
8 TAB 4 TAB 3 TAB 7 TAB # 13 #!T,16,51,86,172 
#!N TAB 11 TAB 10 TAB 2 TAB # 17 #!N 
TAB 0 TAB 11 TAB 2 TAB # 20 #!N attribute 
"ref" string "positions" #!EF #!N #!N #!EC #!CForestGreen #!N #!N  #!F-adobe-courier-bold-r-normal--18*   
#!N # Loops array. This is a list of connected edges, 
by edge number. Each #!N # number is the edge index 
of where the next loop starts. #!N object "loop list" class 
array type int rank 0 items 7 data follows #!EF #!N 
#!N #!EC #!Cbrown #!N  #!F-adobe-times-medium-r-normal--18*    #!Rsolidf113 #!N Graphics omitted from Online 
Documentation. Please see the manual. #!N #!N Figure 113. Example of 
a Surface Using Faces, Edges, and Loops #!EF #!N #!EC #!CForestGreen 
#!N #!N  #!F-adobe-courier-bold-r-normal--18*   #!T,26,61 #!N TAB 0 TAB # loop index 
0 #!N TAB 3 TAB # 1 #!N TAB 6 TAB 
# 2 #!N TAB 9 TAB # 3 #!N TAB 13 
TAB # 4 #!N TAB 17 TAB # 5 #!N TAB 
20 TAB # 6 #!N attribute "ref" string "edges" #!EF #!N 
#!N #!EC #!CForestGreen #!N #!N  #!F-adobe-courier-bold-r-normal--18*   #!N # Faces array. This 
is list of which loops make faces. If there are #!N 
# no holes in the faces, this is list of all 
loops. If two or more #!N # loops actually describe the 
outside edges and inside hole edges of #!N # a face, 
then this list contains the starting loop numbers of the #!N 
# list of loops making up a face. #!N object "face 
list" class array type int rank 0 items 5 data follows 
#!N 0 #!N 1 #!N 3 #!N 5 #!N 6 #!N 
attribute "ref" string "loops" #!EF #!N #!N #!EC #!CForestGreen #!N #!N 
 #!F-adobe-courier-bold-r-normal--18*   #!N # Colors array. To get flat shaded surfaces, there 
should be one color #!N # per face, and one normal 
per face. These are Red,Green,Blue values #!N # between 0 (no 
color) and 1 (fully saturated). #!N object "color list" class array 
type float rank 1 shape 3 items 5 data follows #!T,16,69,121 
#!N TAB 0.6 TAB 0.3 TAB 0.6 #!N TAB 0.8 TAB 
0.8 TAB 0.1 #!N TAB 0.9 TAB 0.4 TAB 0.9 #!N 
TAB 0.4 TAB 0.8 TAB 0.7 #!N TAB 0.8 TAB 0.8 
TAB 0.8 #!N attribute "dep" string "faces" #!EF #!N #!N #!EC 
#!CForestGreen #!N #!N  #!F-adobe-courier-bold-r-normal--18*   #!N # Normals array. #!N object "normal 
list" class array type float rank 1 shape 3 items 5 
#!N data follows #!T,16,78,138 #!N TAB 0.93 TAB 0.37 TAB 0.0 
#!N TAB 0.0 TAB 0.0 TAB 1.0 #!N TAB 0.0 TAB 
-1.0 TAB 0.0 #!N TAB -0.93 TAB 0.37 TAB 0.0 #!N 
TAB 0.0 TAB -0.63 TAB -0.78 #!N attribute "dep" string "faces" 
#!EF #!N #!N #!EC #!CForestGreen #!N #!N  #!F-adobe-courier-bold-r-normal--18*   #!N # Field 
definition to put the arrays together. #!N object "solid" class field 
#!T,34,190 #!N TAB component "positions" TAB "position list" #!N TAB component 
"edges" TAB "edge list" #!N TAB component "loops" TAB "loop list" 
#!N TAB component "faces" TAB "face list" #!N TAB component "colors" 
TAB "color list" #!N TAB component "normals" TAB "normal list" #!N 
#!N end #!EF #!N #!N #!EC #!N #!N #!N  #!F-adobe-times-medium-i-normal--18*   Next 
Topic #!EF #!N #!N  #!Lex10,dxall637 h Example 12. Image Files  #!EL  #!N  #!F-adobe-times-medium-i-normal--18*   #!N 
