Description:
This function searches the current Frame of the supplied FrameSet for axes that have a specified
Domain. If any are found, and if they correspond to a distinct subset of axes in the base Frame of the
supplied FrameSet (i.e. they are independent of the other axes), a new FrameSet is created and
returned in which the current Frame contains the requested axes from the current Frame of the
supplied FrameSet, and the base Frame contains the corresponding axes from the base Frame of the
supplied FrameSet. If possible, any other Frames in the supplied FrameSet are also split and added to
the returned FrameSet.
If the search is unsuccessful, or if the required current Frame axes are not independent of the other axes,
then each of the other Frames in the FrameSet is searched in the same way (excluding the base Frame). If no
suitable Frame can be found, a NULL pointer is returned but no error is reported.
Invocation
AstFrameSet
atlFrameSetSplit(
AstFrameSet fset,
const char domain, int
bax,
int cax,
int status
)
Arguments
fset
The FrameSet to be split.
domain
The Domain value for the required current
Frame axes. This can be a space-separated list of Domains, in which case each Domain will be used in
turn until one is found which allows the supplied FrameSet to be split succesfully (any remaining
Domain values will be ignored).
bax
If not NULL, this should be the address of a pointer in which
to return a pointer to an array holding the one-based indices of the base frame axes that were included
in the returned FrameSet. The array should be freed using astFree when no longer needed. The length
of the array will equal the number of base Frame axes in the returned FrameSet. A NULL pointer
will be returned if the FrameSet could not be split.
cax
If not NULL, this should be the
address of a pointer in which to return a pointer to an array holding the one-based indices of
the current frame axes that were included in the returned FrameSet. The array should be
freed using astFree when no longer needed. The length of the array will equal the number
of current Frame axes in the returned FrameSet. A NULL pointer will be returned if the
FrameSet could not be split.
status
The global status.
Returned Value
A pointer to a new
FrameSet, or NULL if no axes with the required
Domain could be found, or if the required
axes do not correspond
to a distinct set of base Frame axes, or if an error occurs.