TYPE: SOP
TITLE: AttribMirror SOP

AttribMirror mirrors attributes from one side of a mirror plane to another.

A correspondence is established between the geometry on the source
side of the model (the side in which the arrow is on) and the closest
mirrored geometry on the destination side.

The closeness of geometry is defined by position.  A primitive's
position is computed as the center of its bounding box.  Vertex
attributes are mirrored by first finding a mirror primitive, then
finding a mirror point within that primitive.  The result is that
vertex attributes can be mirrored perfectly in a symmetric model.

The mirror plane itself is considered to be on the destination
side of the mirror.  To correspond two geometry elements, one must
be on the source side and the other must be on the destination side.

e.g.)
    Use the texturing tools to texture one side of a symmetric model
    (such as a human-like character) and then use AttribMirror to
    automatically mirror the UV texture coordinates to the opposite
    side of the model.

Parameters:
    Group          - A subset of the geometry to use as a source or
                     destination for the mirror.
    Group Type     - The type of elements referenced in the Group field.
    Use Group As   - As a source, the elements of the group are mirrored
                     onto the rest of the geometry across the mirror plane.
                     As a destination, the elements of the rest of the
                     geometry are mirrored onto the elements of the group
                     across the mirror plane.

    Attribute      - Attribute to mirror.  "Color" and "Texture UV"
                     are provided for convenience.  Other attributes
                     can be specified by name by selecting "Other Attribute".
    Attribute Names - When "Other Attribute" is selected, these are the
                     names of the attributes to mirror.  The names are separated
		     with a space character.  Each of the attributes must
                     exist on the geometry elements specified by the
                     Group Type parameter.
    Tolerance      - Create a correspondence between mirrored geometry
                     only if the mirrored distance lies within this tolerance.

    Origin         - The origin of the reflection plane.        /origin{x,y,z}
    Distance       - Distance to move reflection plane.                  /dist
    Direction      - Direction of the reflection plane's normal    /dir{x,y,z}
    Attribute Mirror - Often one wishes to transform the attribute
		    itself instead of just copying it over.  This will
		    only take effect for floating point attributes.
	No Mirroring - The attribute is copied with no change.
	UV Mirroring - The attribute is mirrored using the specified
		     UV mirror line.  This is useful for texture
		     attributes.
	Vector Mirroring - The attribute is mirrored using the
		     mirror plane.  The translational component is
		     ignored.  This is useful for mirroring Normal
		     attributes.
	Point Mirroring - The attribute is mirrored using the 
		     mirror plane.  This will include the
		     translational components, and is most useful for
		     attributes such as rest position.

See also: Attribute, AttribCopy, AttribCreate, Point, Primitive, Vertex
