43 merged->setCurrent(mergedCurrent);
49 auto naxes = center.
size();
50 if (mapping1d.
getNIn() != 1) {
52 " inputs, instead of 1");
56 " outputs, instead of 1");
59 return std::make_shared<Mapping>(
60 unitNormMap.then(
UnitMap(naxes).under(mapping1d)).then(*unitNormMap.inverted()));
A FrameSet consists of a set of one or more Frames (which describe coordinate systems),...
std::shared_ptr< FrameSet > copy() const
Return a deep copy of this object.
std::shared_ptr< Frame > getFrame(int iframe, bool copy=true) const
Obtain a deep copy of the specified Frame.
int getCurrent() const
Get Current: index of current Frame, starting from 1.
static int constexpr CURRENT
index of current frame
int getNFrame() const
Get FrameSet_NFrame "NFrame": number of Frames in the FrameSet, starting from 1.
static int constexpr BASE
index of base frame
An abstract base class for objects which transform one set of coordinates to another.
int getNOut() const
Get NOut: the number of output axes.
int getNIn() const
Get NIn: the number of input axes.
A UnitMap is a unit (null) Mapping that has no effect on the coordinates supplied to it.
The forward transformation of a UnitNormMap subtracts the specified centre and then transforms the re...
AST wrapper classes and functions.
std::shared_ptr< FrameSet > append(FrameSet const &first, FrameSet const &second)
Construct a FrameSet that performs two transformations in series.
std::shared_ptr< Mapping > makeRadialMapping(std::vector< double > const ¢er, Mapping const &mapping1d)
Construct a radially symmetric mapping from a 1-dimensional mapping.