AST_INTRAREG

Register a transformation routine for use by an IntraMap

Description:

This function registers a privately-defined coordinate transformation routine written in Fortran so that it may be used to create an IntraMap. An IntraMap is a specialised form of Mapping which encapsulates the Fortran routine so that it may be used like any other AST Mapping. This allows you to create Mappings that perform any conceivable coordinate transformation.

Registration of relevant transformation routines is required before using the AST_INTRAMAP constructor function to create an IntraMap or reading an external representation of an IntraMap from a Channel.

Invocation

CALL AST_INTRAREG( NAME, NIN, NOUT, TRAN, FLAGS, PURPOSE, AUTHOR, CONTACT, STATUS )

Arguments

NAME = CHARACTER ( ) (Given)
A character string containing a unique name to be associated with the transformation routine in order to identify it. This name is case sensitive. All white space will be removed before use.
NIN = INTEGER (Given)
The number of input coordinates accepted by the transformation routine (i.e. the number of dimensions of the space in which the input points reside). A value of AST__ANY may be given if the routine is able to accommodate a variable number of input coordinates.
NOUT = INTEGER (Given)
The number of output coordinates produced by the transformation routine (i.e. the number of dimensions of the space in which the output points reside). A value of AST__ANY may be given if the routine is able to produce a variable number of output coordinates.
TRAN = SUBROUTINE (Given)
The transformation routine to be registered. This routine should perform whatever coordinate transformations are required and should have an interface like AST_TRANN (q.v.).

This transformation routine must also appear in an EXTERNAL statement in the routine which calls AST_INTRAREG.

FLAGS = INTEGER (Given)
This value may be used to supply a set of flags which describe the transformation routine and which may affect the behaviour of any IntraMap which uses it. Often, a value of zero will be given here, but you may also supply the sum of a set of flags as described in the " Transformation Flags" section (below).
PURPOSE = CHARACTER ( ) (Given)
A character string containing a short (one line) textual comment to describe the purpose of the transformation routine.
AUTHOR = CHARACTER ( ) (Given)
A character string containing the name of the author of the transformation routine.
CONTACT = CHARACTER ( ) (Given)
A character string containing contact details for the author of the transformation routine (e.g. an e-mail or WWW address). If any IntraMap which uses this transformation routine is exported as part of a dataset to an external user who does not have access to the routine, then these contact details should allow them to obtain the necessary code.
STATUS = INTEGER (Given and Returned)
The global status.

Notes:

Transformation Flags

The following flags are defined in the AST_PAR include file and allow you to provide further information about the nature of the transformation routine. Having selected the set of flags which apply, you should supply the sum of their values as the FLAGS argument to AST_INTRAREG.