NAME¶
AnyToPL - convert an arbitrary geom to a polylist (OFF file format)
SYNOPSIS¶
#include "geomutil.h"
Geom *AnyToPL(Geom *, Transform);
DESCRIPTION¶
AnyToPL() takes any geom as an arguement. It then returns a polylist object
which is geometrically identical to the original geom. The transform argument
is the transform applied to the entire object; it should generally be set to
TM_IDENTITY when AnyToPL() is first called. Geometric objects are handled in
the following ways:
Polylists: A transformed copy of the original is returned.
Bezier: The object is rediced if necessary, then handled as a mesh object.
Quad: The object is directly transformed into a new polylist.
Mesh: The object is directly transformed into a new polylist, with extra
polygons added to do the wrapping if necessary.
Vect: The object is converted into a polylist containing a 2-gon for every
segment in the original vector object. The colors of the faces are the same as
the colors of the original object, but this generally is irrelevant since the
faces are not visible. Note that edge visibility must be enabled for an object
which has been converted from a vect to a polylist to be visible in geomview.
List: AnyToPL() is called recursively and the resultant polylists are combined
using PLCombine(3). Inst: AnyToPL() is called recursively with a new
transformation matrix. The resultant polylists are combined using
PLCombine(3).
No effort is made to eliminate identical vertices. However, no extraneous
repeated vertexes should be created. The resultant polylist should have the
same number of vertexes as the original object.
LINKING¶
AnyToPL() is part of the geomutil library; see
geomutil(3) for information on
how to link your program with this library.
SEE ALSO¶
plcombine(3),
anytooff(1),
geomview(1),
geomutil(3)
AUTHOR¶
Celeste Fowler
The Geometry Center