Next: AST_DELETE - Delete an Object
Up: AST Routine Descriptions
Previous: AST_CURVE - Draw a geodesic curve
AST_DECOMPOSE
-
Decompose a Mapping into two component Mappings
- Description:
This routine returns pointers to two Mappings which, when applied
either in series or parallel, are equivalent to the supplied Mapping.
Since the Frame class inherits from the Mapping class, Frames can
be considered as special types of Mappings and so this method can
be used to decompose either CmpMaps or CmpFrames.
- Invocation:
CALL AST_DECOMPOSE( THIS, MAP1, MAP2, SERIES, INVERT1, INVERT2, STATUS )
- Arguments:
-
THIS = INTEGER (Given)
-
Pointer to the Mapping.
-
MAP1 = INTEGER (Returned)
-
A pointer to first component
Mapping.
-
MAP2 = INTEGER (Returned)
-
A pointer to second component
Mapping.
-
SERIES = LOGICAL (Returned)
-
Indicates if the
component Mappings are applied in series or parallel. A .TRUE.
value means that the supplied Mapping is equivalent to applying MAP1
followed by MAP2 in series. A zero value means that the supplied
Mapping is equivalent to applying MAP1 to the lower numbered axes
and MAP2 to the higher numbered axes, in parallel.
-
INVERT1 = INTEGER (Returned)
-
The value of the Invert attribute to be used with MAP1.
-
INVERT2 = INTEGER (Returned)
-
The value of the Invert attribute to be used with MAP2.
- Class Applicability:
-
CmpMap
-
If the supplied Mapping is a CmpMap, then MAP1 and MAP2 will be
returned holding pointers to the component Mappings used to
create the CmpMap, either in series or parallel. Note, changing
the Invert attribute of either of the component Mappings using
the returned pointers will have no effect on the supplied CmpMap.
This is because the CmpMap remembers and uses the original settings
of the Invert attributes (that is, the values of the Invert
attributes when the CmpMap was first created). These are the
Invert values which are returned in INVERT1 and INVERT2.
-
Mapping
-
For any class of Mapping other than a CmpMap, MAP1 will be
returned holding a clone of the supplied Mapping pointer, and MAP2
will be returned holding AST__NULL. INVERT1 will be returned
holding the current value of the Invert attribute for the supplied
Mapping, and INVERT2 will be returned holding zero.
-
CmpFrame
-
If the supplied Mapping is a CmpFrame, then MAP1 and MAP2 will be
returned holding pointers to the component Frames used to
create the CmpFrame. The component Frames are considered to be in
applied in parallel.
-
Frame
-
For any class of Frame other than a CmpFrame, MAP1 will be
returned holding a clone of the supplied Frame pointer, and MAP2
will be returned holding AST__NULL.
- Notes:
-
The returned Invert values should be used in preference to the
current values of the Invert attribute in map1 and map2. This is
because the attributes may have changed value since the Mappings
were combined.
-
Any changes made to the component Mappings using the returned
pointers will be reflected in the supplied Mapping.
Next: AST_DELETE - Delete an Object
Up: AST Routine Descriptions
Previous: AST_CURVE - Draw a geodesic curve
AST A Library for Handling World Coordinate Systems in Astronomy
Starlink User Note 210
R.F. Warren-Smith & D.S. Berry
30th April 2003
E-mail:ussc@star.rl.ac.uk
Copyright (C) 2003 Central Laboratory of the Research Councils