The qualitatively different types of shape feature which can be combined into an overall shape description fall into five major categories:

- Straight edges (
`edge`). - Vertices (
`vertex`). - Simple curves with no points of inflection (
`curve`). - Complex curves with multiple points of inflection (
`wiggle`). - ``Dimples'' and ``pimples'', which are represented in the same way as a convex
subpart is. When viewed at a higher resolution, they are composed of
smaller features. The axes of an
`imple`, and its relationship to the object, are defined as for a convex subpart.

Each of these categories is then further divided in ways that are either object independent, or relative to axes of the object or of other features. Straight edges are described only according to relative size on an object scale, (this will be discussed in the size representation section), but there are shape subcategories for all the other primitive shape feature types, as follows:

Vertices are described by the `angle` of the vertex, which can have one of
seven qualitative values. These seven include four value ranges, separated by
three distinguished points. The distinguished points are based on the right
angle, two being the `concave-right` and `convex-right` angles, and
the other the `straight` angled vertex, which can be used to describe
points where two features meet at an angle of
(e.g. a curve and a
straight edge). The four ranges of values between these points are described
as `concave-acute`, `convex-acute`, `concave-obtuse` and `convex-obtuse` angles.

Simple curves are described by size in the same way as straight edges, but
they are also described by the angle through which the curve turns, and by the
spread of the curve. The same qualitative angle values are used for curves as
for vertices, with the exception that a straight angled simple curve is not
described as a curve, but as a straight edge. This allows the description of
concave or convex curves, as well as of varying amounts of curvature. Spread
is expressed in terms of the ratio between the length of the chord axis and
the maximum deviation of the arc from that axis. This deviation is the `bulge` of the curve. A simple set of qualitative values uses circle shapes as
distinguished points in the quantity space, because the circle is a curve with
many useful geometric properties. A `semicircle-like` curve has a `bulge` that is half its chord axis, and a `circle-like` curve has a `bulge` that is equal to its chord axis. Three qualitative ranges are separated
by these two distinguished points, so that there are five possible qualitative
values for curve spread.

Complex curves (`wiggle`s) are described according to the number of points
of inflection, and the amplitude of the `wiggle`. The number of points of
inflection need not be exact, with a distinction between `few` or `many` wiggles being sufficient to indicate the qualitative nature of the
shape. Amplitude (or `bulge`) can be defined in a manner that is similar
to that used for simple curve definition. My formalism divides `wiggle`
amplitude into qualitative ranges between a quarter and half the length of the
chord axis. This is more arbitrary than the classification of simple curves
and vertices, however, since it is not based on geometric properties (such as
right angles or circles). A less arbitrary basis for classifying amplitude
might be desirable, but a complex technique is unjustified because wiggles are
not common in the mechanical domain, and I avoid them in my examples.

The major categories of `imple` are convex (`pimple`) and concave
(`dimple`) shapes. There is a lot of variation in shape between `imples`, but this is reflected at a deeper level of detail, where the `imple` is described as if it were a separate subpart. An `imple` has two
pairs of axes: The first pair are the `waist` line separating the imple
from other convex subparts, and the normal to that line. The second pair are
the `major` and `minor` axes with respect to which the imple shape is
defined. The use of two pairs of axes means that the imple can be regarded as
a curve when its exact shape is not important (the waist axes can be regarded
as curve axes), while the complete shape description can be related to that
curve model for operations on the imple itself.