POLY_C_CONV Function
Returns a list of colors for each polygon, given a polygon list and a list of colors for each vertex.
Usage
result = POLY_C_CONV(polygon_list, colors)
Input Parameters
polygon_list — An array containing a list of polygons. For more information, see the PV‑WAVE User Guide.
colors — A vertex-based color list.
Returned Value
result — An integer vector containing the list of colors, one color for each input polygon. (In other words, the result contains the same number of colors as the number of polygons in polygon_list.)
Keywords
None.
Discussion
POLY_C_CONV is useful for converting a vertex-based color list to a polygon-based list. For example, the SHADE_VOLUME procedure returns a list of polygon colors when the Shades keyword is used. This list has one color per vertex. The POLY_PLOT procedure, however, requires a color list with one color per polygon.
Example
This example program displays data warped onto an irregular sphere.
PRO sphere_demo2
radii = RANDOMU(s, 60, 60)
radii = SMOOTH((radii + 1.0), 2)
; Define the sphere as a list of polygons.
POLY_SPHERE, radii, 60, 60, vertex_list, polygon_list
; Define the shading colors for the sphere.
p_colors = BYTSCL(DIST(60), Top=127)
; Set up the viewing window and load the color table.
WINDOW, 0, Colors=128, XPos=16, YPos=384
LOADCT, 1
CENTER_VIEW, Xr=[-2.0, 2.0], Yr=[-2.0, 2.0], $
Zr=[-2.0, 2.0], Ax=(-75.0), Az=(-90.0), Zoom=0.99
; Construct a shaded surface representation of the data
; and display it using POLYSHADE.
TVSCL, POLYSHADE(vertex_list, polygon_list, $
/T3d, Shade=WoColorConvert(p_colors))
; Create a new window for a new plot.
WINDOW, 1, Colors=128, XPos=256, YPos=64
; Count the number of polygons in the sphere.
pg_num = POLY_COUNT(polygon_list)
; Transform polygon vertices from data coordinates to
; device coordinates.
vertex_list = POLY_NORM(vertex_list)
vertex_list = POLY_TRANS(vertex_list, !P.T)
vertex_list = POLY_DEV(vertex_list, 640, 512)
; Convert colors from a vertex-based list to a
; polygon-based list.
p_colors = POLY_C_CONV(polygon_list, p_colors(*))
; Plot the sphere using POLY_PLOT.
POLY_PLOT, vertex_list, polygon_list, $
pg_num, 640, 512, WoColorConvert(p_colors), 0, -1
END
For another POLY_C_CONV example, see the poly_demo1 demonstration program. This programs and others are found in:
<wavedir>/demo/arl
<wavedir>\demo\arl
Where <wavedir> is the main PV-WAVE directory.