casa
$Rev:20696$
|
Info about mapping array axes to another order. More...
#include <AxesMapping.h>
Public Member Functions | |
AxesMapping () | |
The default constructor creates empty maps. | |
AxesMapping (const IPosition &oldToNew) | |
Construct it with the mapping from old to new axes order. | |
AxesMapping (const AxesMapping &other) | |
Copy constructor (copy semantics). | |
~AxesMapping () | |
AxesMapping & | operator= (const AxesMapping &other) |
Assignment (copy semantics). | |
Bool | isRemoved () const |
Are axes removed? | |
Bool | isReordered () const |
Is the axes order reordered? | |
const IPosition & | getToNew () const |
Get the mapping of old->new. | |
const IPosition & | getToOld () const |
Get the mapping of new->old. | |
IPosition | posToNew (const IPosition &pos) const |
Map an old position to the new one. | |
IPosition | posToOld (const IPosition &pos) const |
Map a new position or shape to the old one. | |
IPosition | shapeToNew (const IPosition &shape) const |
Map an old shape to the new one. | |
IPosition | shapeToOld (const IPosition &shape) const |
Map a new position or shape to the old one. | |
Slicer | slicerToNew (const Slicer &slicer) const |
Map an old shape to the new one. | |
Slicer | slicerToOld (const Slicer &slicer) const |
Map a new position or shape to the old one. | |
Private Attributes | |
IPosition | itsToNew |
IPosition | itsToOld |
Bool | itsRemoved |
Bool | itsReordered |
Info about mapping array axes to another order.
Internal
AxesMapping holds the information about mapping axes to another order. It can be constructed by AxesSpecifier by applying a shape to the axes specification.
AxesMapping is thereafter used to map positions, shapes, and slices to the new axes or backwards.
Caution: Shapes and positions are both represented by class IPosition; However, they have to be treated differently in this class, because removed axes for a position have value 0, while for a shape they have value 1; Hence there are different functions for them and the user has to take care that the correct function is called;
The class encapsulates the mapping functionality. It is meant as a helper class for SubLattice .
Definition at line 87 of file AxesMapping.h.
The default constructor creates empty maps.
casa::AxesMapping::AxesMapping | ( | const IPosition & | oldToNew | ) | [explicit] |
Construct it with the mapping from old to new axes order.
A value of -1 means that the old axes is ignored in the new one. Another value gives the new axis number.
It determines if axes are removed and/or reordered.
casa::AxesMapping::AxesMapping | ( | const AxesMapping & | other | ) |
Copy constructor (copy semantics).
const IPosition& casa::AxesMapping::getToNew | ( | ) | const [inline] |
Get the mapping of old->new.
The length of the resulting IPosition is the dimensionality of the original lattice. A value of -1 indicates that the corresponding axis in the original lattice is removed. Another value is the axis number in the new lattice,
Definition at line 121 of file AxesMapping.h.
References itsToNew.
const IPosition& casa::AxesMapping::getToOld | ( | ) | const [inline] |
Get the mapping of new->old.
The length of the resulting IPosition is the dimensionality of the new lattice. Its values give the axes in the original lattice.
Definition at line 127 of file AxesMapping.h.
References itsToOld.
Bool casa::AxesMapping::isRemoved | ( | ) | const [inline] |
Bool casa::AxesMapping::isReordered | ( | ) | const [inline] |
AxesMapping& casa::AxesMapping::operator= | ( | const AxesMapping & | other | ) |
Assignment (copy semantics).
This and that do not have to have the same length.
IPosition casa::AxesMapping::posToNew | ( | const IPosition & | pos | ) | const |
Map an old position to the new one.
In debug-mode it checks if the removed axes have position 0 in the input position.
IPosition casa::AxesMapping::posToOld | ( | const IPosition & | pos | ) | const |
Map a new position or shape to the old one.
IPosition casa::AxesMapping::shapeToNew | ( | const IPosition & | shape | ) | const |
Map an old shape to the new one.
In debug-mode it checks if the removed axes have length 1 in the input shape.
IPosition casa::AxesMapping::shapeToOld | ( | const IPosition & | shape | ) | const |
Map a new position or shape to the old one.
Slicer casa::AxesMapping::slicerToNew | ( | const Slicer & | slicer | ) | const |
Map an old shape to the new one.
In debug-mode it checks if the removed axes have length 1 in the input slicer.
Slicer casa::AxesMapping::slicerToOld | ( | const Slicer & | slicer | ) | const |
Map a new position or shape to the old one.
Bool casa::AxesMapping::itsRemoved [private] |
Definition at line 157 of file AxesMapping.h.
Referenced by isRemoved().
Bool casa::AxesMapping::itsReordered [private] |
Definition at line 158 of file AxesMapping.h.
Referenced by isReordered().
IPosition casa::AxesMapping::itsToNew [private] |
Definition at line 155 of file AxesMapping.h.
Referenced by getToNew().
IPosition casa::AxesMapping::itsToOld [private] |
Definition at line 156 of file AxesMapping.h.
Referenced by getToOld().