In the affine setting, the basic objects are polyhedra,
which are intersections of finitely many (affine) halfspaces.
Polyhedra can also be described as the convex hull of finitely many
points and rays.
A bounded polyhedron is also called a polytope.
In the Convex package, polyhedra are represented by the type `POLYHEDRON`
and polytopes by the subtype `POLYTOPE`.
A `POLYHEDRON` may contain lines and may not be full-dimensional.
The most important functions to define a `POLYHEDRON` are
`convhull`
and
`intersection`.

The linear setting is based on cones, which are intersections of
finitely many linear halfspaces (i.e., whose boundary contains the origin).
Cones are generated by finitely many rays.
In the Convex package, cones are represented by the type `CONE`.
They may contain lines and may not be full-dimensional.
A `CONE` can be created from either description with the functions
`poshull`
and
`intersection`,
respectively.

The Convex package can deal with polyhedral complexes
(simplicial complexes, for example) and fans. See the types `PCOMPLEX` and `FAN`.
It also provides functions to do calculations in the face lattice
of a cone or polyhedron, see the types `CFACE` and `PFACE`.
The functions
`traverse`
and
`traverse2`
are some kind of
`map`
for faces:
One can apply a given function to all faces of a cone
or polyhedron, or to all pairs
`(f1, f2)`,
where
`f1`
is a facet of
`f2`.
See
`CONE[traverse]`,
`CONE[traverse2]`
and
`POLYHEDRON[traverse]`,
`POLYHEDRON[traverse2]`.
More generally, these functions can be used with fans
and polyhedral complexes.

The author thanks Annette A'Campo-Neuen, Gottfried Barthel, Florian Berchtold, Frédéric Béringer, René Birkner, Marion Dieudonné, Jürgen Hausen, Simon Keicher, Michael Nüsken, Bruno Salvy, David Swinarski, Thorsten Theobald, Ferenc Wettl and Marcel Widmann for helpful suggestions and bug reports.