22#ifndef ASTSHIM_NORMMAP_H
23#define ASTSHIM_NORMMAP_H
62 :
Mapping(reinterpret_cast<AstMapping *>(
63 astNormMap(const_cast<AstObject *>(frame.
getRawPtr()),
"%s", options.c_str()))) {
80 return copyImpl<NormMap, AstNormMap>();
84 explicit NormMap(AstNormMap *rawptr) :
Mapping(reinterpret_cast<AstMapping *>(rawptr)) {
87 os <<
"this is a " <<
getClassName() <<
", which is not a NormMap";
Frame is used to represent a coordinate system.
An abstract base class for objects which transform one set of coordinates to another.
A Mapping which normalises coordinate values using the norm method of the supplied Frame.
NormMap(AstNormMap *rawptr)
Construct a NormMap from a raw AST pointer.
virtual std::shared_ptr< Object > copyPolymorphic() const override
Return a deep copy of this object.
NormMap(Frame const &frame, std::string const &options="")
Construct a NormMap.
NormMap(NormMap const &)=default
Copy constructor: make a deep copy.
NormMap & operator=(NormMap const &)=delete
std::shared_ptr< NormMap > copy() const
Return a deep copy of this object.
NormMap(NormMap &&)=default
NormMap & operator=(NormMap &&)=default
Abstract base class for all AST objects.
std::string getClassName() const
Get Class: the name of the class (e.g.
AstObject const * getRawPtr() const
Get the raw AST pointer.
AST wrapper classes and functions.
void assertOK(AstObject *rawPtr1=nullptr, AstObject *rawPtr2=nullptr)
Throw std::runtime_error if AST's state is bad.