#### Description:

This function removes a Frame from a FrameSet. All other Frames in the FrameSet have their indices re-numbered from one (if necessary), but are otherwise unchanged.

#### Synopsis

void astRemoveFrame( AstFrameSet ∗this, int iframe )

#### Parameters:

##### this

Pointer to the FrameSet.

##### iframe

The index within the FrameSet of the Frame to be removed. This value should lie in the range from 1 to the number of Frames in the FrameSet (as given by its Nframe attribute).

#### Notes:

- Removing a Frame from a FrameSet does not affect the relationship between other Frames in the FrameSet, even if they originally depended on the Frame being removed.

- The number of Frames in a FrameSet cannot be reduced to zero. An error will result if an attempt is made to remove the only remaining Frame.

- A value of AST__BASE or AST__CURRENT may be given for the `"` iframe`"` parameter to specify the base Frame or the current Frame respectively.

- If a FrameSet`’` s base or current Frame is removed, the Base or Current attribute (respectively) of the FrameSet will have its value cleared, so that another Frame will then assume its role by default.

- If any other Frame is removed, the base and current Frames will remain the same. To ensure this, the Base and/or Current attributes of the FrameSet will be changed, if necessary, to reflect any change in the indices of these Frames.

Copyright (C) 2021 East Asian Observatory