An analytical cylinder can be derived from an ellipse by introducing a third axis attribute 'C', the axis of the cylinder.
To get the infinite cylinder surface trimmed to a finite size, the cylinder object also defines two so called 'clipping planes'. These clipping planes define Boolean operations which clip out all points which don't reside between them. A clipping plane is defined by three attributes: one corner point (p) and two vectors specifying the associated edges for the plane (named as 'n' and 'm').
A cylinder performs an efficient volume test, which makes it useful object in Boolean operations.