Store a new variant Mapping for the current Frame in a FrameSet

#### Description:

This routine allows a new variant Mapping to be stored with the current Frame in a FrameSet. See the " Variant" attribute for more details. It can also be used to rename the currently selected variant Mapping.

#### Invocation

CALL AST_ADDVARIANT( THIS, MAP, NAME, STATUS )

#### Arguments

##### THIS = INTEGER (Given)
Pointer to the FrameSet.
##### MAP = INTEGER (Given)
Pointer to a Mapping which describes how to convert coordinates from the current Frame to the new variant of the current Frame. If AST__NULL is supplied, then the name associated with the currently selected variant of the current Frame is set to the value supplied for NAME, but no new variant is added.
##### NAME = CHARACTER $\ast$ ( $\ast$ ) (Given)
The name to associate with the new variant Mapping (or the currently selected variant Mapping if MAP is AST__NULL).
##### STATUS = INTEGER (Given and Returned)
The global status.

#### Notes:

• The newly added Variant becomes the current variant on exit (this is equivalent to setting the Variant attribute to the value supplied for NAME).

• An error is reported if a variant with the supplied name already exists in the current Frame.

• An error is reported if the current Frame is a mirror for the variant Mappings in another Frame. This is only the case if the AST_MIRRORVARIANTS routine has been called to make the current Frame act as a mirror.