ICO(1) MachTen Programmer’s Manual ICO(1)

ico - animate an icosahedron or other polyhedron

ico [-display display] [-geometry geometry] [-r] [-d pat-
tern] [-i] [-dbl] [-faces] [-noedges] [-sleep n] [-obj
object] [-objhelp] [-colors color-list]

Ico displays a wire-frame rotating polyhedron, with hidden
lines removed, or a solid-fill polyhedron with hidden
faces removed. There are a number of different polyhedra
available; adding a new polyhedron to the program is quite

-r Display on the root window instead of creating a
new window.

-d pattern
Specify a bit pattern for drawing dashed lines for
wire frames.

-i Use inverted colors for wire frames.

-dbl Use double buffering on the display. This works
for either wire frame or solid fill drawings. For
solid fill drawings, using this switch results in
substantially smoother movement. Note that this
requires twice as many bit planes as without double
buffering. Since some colors are typically allo-
cated by other programs, most eight-bit-plane dis-
plays will probably be limited to eight colors when
using double buffering.

-faces Draw filled faces instead of wire frames.

Don’t draw the wire frames. Typically used only
when -faces is used.

-sleep n
Sleep n seconds between each move of the object.

-obj object
Specify what object to draw. If no object is spec-
ified, an icosahedron is drawn.

Print out a list of the available objects, along
with information about each object.

-colors color color ...
Specify what colors should be used to draw the
filled faces of the object. If less colors than
faces are given, the colors are reused.

If you have the source to ico, it is very easy to add more
polyhedra. Each polyhedron is defined in an include file
by the name of objXXX.h, where XXX is something related to
the name of the polyhedron. The format of the include
file is defined in the file polyinfo.h. Look at the file
objcube.h to see what the exact format of an objXXX.h file
should be, then create your objXXX.h file in that format.

After making the new objXXX.h file (or copying in a new
one from elsewhere), simply do a ’make depend’. This will
recreate the file allobjs.h, which lists all of the
objXXX.h files. Doing a ’make’ after this will rebuild
ico with the new object information.


Pyramids and tetrahedrons with filled faces do not display

A separate color cell is allocated for each name in the
-colors list, even when the same name may be specified

Copyright ([, X Consortium
See X(1) for a full statement of rights and permissions.

X Version 11 Release 6 2