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.