TYPE: SOP
TITLE: AttribPromote SOP

AttribPromote is used to promote and demote attributes from one type
to another.   This provides a straightforward way to convert an
attribute from one class to another.  For example, a point attribute
can be converted to a primitive attribute, using any one of a number
of different merge methods.

For index attributes, the merge methods treat the attribute as a
string.  Average will perform median, and the other numeric methods
will just resort to First Match.

For attributes with multiple components (such as vector), each merge
is done on each component independently.

Parameters:
    Original Name     - This is the name of the attribute in the
                        source class.  Eg: "Cd" will pick colour.
    Original Class    - This is the class which the attribute starts
                        in.  It can be one of point, primitive, detail,
                        or vertex.
    New Class         - This is the class to which the attribute
                        should be promoted.  It must be different than
                        Original Class or a warning is raised and
                        nothing is done.
    Promotion Method  - Whenever there is more than one attribute in
			the original class which matches a single
                        entity in the new class, some method must be
                        used to determine the new value.  For example,
                        if converting from point attribute to
                        primitive attribute, there will be many points
                        corresponding to a single polygon.
        Maximum          - Picks the largest match.
        Minimum          - Picks the smallest match.
        Average          - The mean, or the sum of all matches divided
                           by the number of matches.
        Mode             - The most common match.  If there is more
                           than one most common, it will be the minimum of
                           the most common.
        Median           - The middlemost of the matches.  If there is
                           an even number of elements, it is the higher of 
                           the two possible middles.
        Sum              - All of the matches added together.
        Sum of Squares   - All of the matches squared, and then added
                           together.
        Root Mean Square - The square root of the average of the
                           squares of all the matches.
        First Match      - The first valid match.  For promoting
                           points to primitives, this would be the point 
                           of the first vertex in the primitive.
        Last Match       - The last valid match.  For promoting
                           points to primitives, this would be the point 
                           of the last vertex in the primitive.
    Change New Name   - If not set, the new attribute name will match
                        the original name.
    New Name          - The new name for the attribute if Change New
                        Name is not set.
    Delete Original   - If set, the original is deleted after
                        promotion.  Note that in some cases, such as
			promoting a vertex attribute to a point
			attribute of the same name, the original will
			always be deleted.  To avoid this, rename the
			attribute when promoting.

See Also: Attribute, AttribCreate
