LSST Applications  21.0.0-172-gfb10e10a+18fedfabac,22.0.0+297cba6710,22.0.0+80564b0ff1,22.0.0+8d77f4f51a,22.0.0+a28f4c53b1,22.0.0+dcf3732eb2,22.0.1-1-g7d6de66+2a20fdde0d,22.0.1-1-g8e32f31+297cba6710,22.0.1-1-geca5380+7fa3b7d9b6,22.0.1-12-g44dc1dc+2a20fdde0d,22.0.1-15-g6a90155+515f58c32b,22.0.1-16-g9282f48+790f5f2caa,22.0.1-2-g92698f7+dcf3732eb2,22.0.1-2-ga9b0f51+7fa3b7d9b6,22.0.1-2-gd1925c9+bf4f0e694f,22.0.1-24-g1ad7a390+a9625a72a8,22.0.1-25-g5bf6245+3ad8ecd50b,22.0.1-25-gb120d7b+8b5510f75f,22.0.1-27-g97737f7+2a20fdde0d,22.0.1-32-gf62ce7b1+aa4237961e,22.0.1-4-g0b3f228+2a20fdde0d,22.0.1-4-g243d05b+871c1b8305,22.0.1-4-g3a563be+32dcf1063f,22.0.1-4-g44f2e3d+9e4ab0f4fa,22.0.1-42-gca6935d93+ba5e5ca3eb,22.0.1-5-g15c806e+85460ae5f3,22.0.1-5-g58711c4+611d128589,22.0.1-5-g75bb458+99c117b92f,22.0.1-6-g1c63a23+7fa3b7d9b6,22.0.1-6-g50866e6+84ff5a128b,22.0.1-6-g8d3140d+720564cf76,22.0.1-6-gd805d02+cc5644f571,22.0.1-8-ge5750ce+85460ae5f3,master-g6e05de7fdc+babf819c66,master-g99da0e417a+8d77f4f51a,w.2021.48
LSST Data Management Base Package
Mapping Attributes

Mapping Attributes

Invert

Has this mapping been inverted?

If the attribute value is false (the default), the Mapping's behaviour is in the usual direction. However, if it is true then, its two transformations have been inter-changed, so that the Mapping displays the inverse of its native behaviour.

Mapping::inverted returns the inverse of the mapping (e.g. a copy of the mapping with its Invert Invert property set)

Applicability

  • Mapping

    All Mappings have this attribute.

  • UnitMap

    The value of the Invert attribute has no effect on the behaviour of a UnitMap.

  • FrameSet

    Inverting a FrameSet will cause its base and current Frames (and its Base Base and FrameSet_Current Current attributes) to be interchanged. This, in turn, may affect other properties and attributes of the FrameSet (such as NIn, NOut, NAxes, TranForward, TranInverse, etc.). The Invert attribute of a FrameSet is not itself affected by selecting a new base or current Frame.

IsLinear

Is the is an instance of a class that always represents a linear transformation?

Note, some Mapping classes can represent linear or non-linear transformations (the MathMap class for instance). Such classes have a false value for the IsLinear attribute. Specific instances of such classes can be tested for linearity using the astLinearApprox function.

Applicability

Frame

The @ref Mapping_IsLinear "IsLinear" value for a @ref Frame is `true`
(since a @ref Frame is equivalent to a UnitMap).

FrameSet

The @ref Mapping_IsLinear "IsLinear" value for a @ref FrameSet is obtained from
the @ref Mapping from the base @ref Frame to the current @ref Frame.

IsSimple

Has the mapping been simplified by the Mapping::simplified method?

If the IsSimple value is true, then the Mapping has been simplified and so there is nothing to be gained by simplifying it again. Indeed, Mapping::simplified will immediately return the Mapping unchanged if IsSimple is true.

Applicability

  • Mapping

    All Mappings have this attribute.

  • Frame

    All classes of Frame return false for the IsSimple attribute. This is because changes can be made to a Frame which affect the Mapping represented by the Frame, and so there can be no guarantee that the Mapping may not need re-simplifying. Most non-Frame Mappings, on the other hand, are immutable and so when they are simplified it is certain that they will remain in a simple state.

NIn

The number of coordinate values for an input point for a Mapping (i.e. the number of dimensions of the space in which the Mapping's input points reside).

Applicability

  • Mapping

    All Mappings have this attribute.

  • CmpMap

    If a CmpMap's component Mappings are joined in series then its NIn attribute is equal to the NIn attribute of the first component (or to the NOut attribute of the second component if the the CmpMap is inverted).

    If a CmpMap's component Mappings are joined in parallel, then its NIn attribute is given by the sum of the NIn attributes of each component (or the sum of their NOut attributes if the CmpMap is inverted).

  • Frame

    The NIn attribute for a Frame is always equal to the number of Frame axes (NAxes attribute).

  • FrameSet

    The NIn attribute of a FrameSet is equal to the number of axes (NAxes attribute) of its base Frame (or the current frame if the FrameSet is inverted). The NIn attribute value may therefore change if a new base Frame or current frame is selected.

NOut

The number of coordinate values for an output point for a Mapping (i.e. the number of dimensions of the space in which the Mapping's output points reside).

Applicability

  • Mapping

    All Mappings have this attribute.

  • CmpMap

    If a CmpMap's component Mappings are joined in series then its NOut attribute is equal to the NOut attribute of the last component (or to the NIn attribute of the first component if the the CmpMap is inverted).

    If a CmpMap's component Mappings are joined in parallel, then its NOut attribute is given by the sum of the NOut attributes of each component (or the sum of their NIn attributes if the CmpMap is inverted).

  • Frame

    The NOut attribute for a Frame is always equal to the number of Frame axes (NAxes attribute).

  • FrameSet

    The NOut attribute of a FrameSet is equal to the number of axes (NAxes attribute) of its current Frame (or the base frame if the FrameSet is inverted). The NOut attribute value may therefore change if a new current frame or base frame is selected.

Report

Report transformed coordinates to stdout?

If Report is false (the default), no report is made. However, if it is true, the coordinates of each point are reported (both before and after transformation) by writing them to standard output.

This attribute is provided as an aid to debugging, and to avoid having to report values explicitly in simple programs.

Applicability

  • Mapping

    All Mappings have this attribute.

  • CmpMap

    When applied to a compound Mapping (CmpMap), only the Report attribute of the CmpMap, and not those of its component Mappings, is used. Coordinate information is never reported for the component Mappings individually, only for the complete CmpMap.

  • Frame

    When applied to any Frame, the formatting capabilities of the Frame (as provided by the Frame::format) will be used to format the reported coordinates.

  • FrameSet

    When applied to any FrameSet, the formatting capabilities of the base and current Frames will be used (as above) to individually format the input and output coordinates, as appropriate. The Report attribute of a FrameSet is not itself affected by selecting a new base or current Frame, but the resulting formatting capabilities may be.

Notes

  • Unlike most other attributes, the value of the Report attribute is not transferred when a Mapping is copied. Instead, its value is undefined (and therefore defaults to zero) in any copy. Similarly, it becomes undefined in any external representation of a Mapping produced by Channel::write.

TranForward

Is the forward transformation defined?

This attribute indicates whether a Mapping is able to transform coordinates in the "forward" direction (i.e. converting input coordinates into output coordinates).

If this attribute is non-zero, the forward transformation is available. Otherwise, it is not.

Applicability

Notes

  • An error will result if a Mapping with a TranForward value of zero is used to transform coordinates in the forward direction.

TranInverse

Is the inverse transformation defined?

This attribute indicates whether a Mapping is able to transform coordinates in the "inverse" direction (i.e. converting input coordinates into output coordinates).

If this attribute is non-zero, the inverse transformation is available. Otherwise, it is not.

Applicability

Notes

  • An error will result if a Mapping with a TranInverse value of zero is used to transform coordinates in the inverse direction.