LSSTApplications
20.0.0
LSSTDataManagementBasePackage
|
Go to the documentation of this file.
22 #ifndef ASTSHIM_FRAMESET_H
23 #define ASTSHIM_FRAMESET_H
104 static int constexpr
BASE = AST__BASE;
135 _basicAddFrame(1, mapping, currentFrame);
211 _basicAddFrame(iframe, map, frame);
271 auto *rawFrame =
reinterpret_cast<AstObject *
>(astGetFrame(
getRawPtr(), iframe));
276 return Object::fromAstObject<Frame>(rawFrame,
copy);
305 AstObject *rawMap =
reinterpret_cast<AstObject *
>(astGetMapping(
getRawPtr(),
from,
to));
310 return Object::fromAstObject<Mapping>(rawMap,
true);
480 return copyImpl<FrameSet, AstFrameSet>();
490 explicit FrameSet(AstFrameSet *rawPtr) :
Frame(reinterpret_cast<AstFrame *>(rawPtr)) {
493 os <<
"this is a " <<
getClassName() <<
", which is not a FrameSet";
500 void _basicAddFrame(
int iframe,
Mapping const &map,
Frame const &frame) {
501 if (iframe == AST__ALLFRAMES) {
virtual void removeFrame(int iframe)
Remove a Frame from a FrameSet.
int getNFrame() const
Get FrameSet_NFrame "NFrame": number of Frames in the FrameSet, starting from 1.
A FrameSet consists of a set of one or more Frames (which describe coordinate systems),...
void assertOK(AstObject *rawPtr1=nullptr, AstObject *rawPtr2=nullptr)
Throw std::runtime_error if AST's state is bad.
std::string getVariant() const
Variant: name of variant mapping in use by current Frame
std::shared_ptr< Frame > getFrame(int iframe, bool copy=true) const
Obtain a deep copy of the specified Frame.
An abstract base class for objects which transform one set of coordinates to another.
static constexpr int NOFRAME
an invalid frame index
void setBase(int ind)
Set Base: index of base Frame.
FrameSet & operator=(FrameSet &&)=default
void mirrorVariants(int iframe)
Indicates that all access to the Variant attribute of the current Frame should should be forwarded to...
Abstract base class for all AST objects.
virtual std::shared_ptr< Object > copyPolymorphic() const override
Return a deep copy of this object.
int getCurrent() const
Get Current: index of current Frame, starting from 1.
std::string getClassName() const
Get Class: the name of the class (e.g.
Frame is used to represent a coordinate system.
int getI(std::string const &attrib) const
Get the value of an attribute as an int.
static constexpr int CURRENT
index of current frame
void addVariant(Mapping const &map, std::string const &name)
Store a new variant Mapping with the current Frame.
void renameVariant(std::string const &name)
Rename the current Variant of the current Mapping.
void setCurrent(int ind)
Set Current: index of current Frame, starting from 1.
std::shared_ptr< FrameSet > copy() const
Return a deep copy of this object.
void remapFrame(int iframe, Mapping &map)
Modify the relationship (i.e.
std::shared_ptr< Mapping > copy() const
Return a deep copy of this object.
AST wrapper classes and functions.
FrameSet(Frame const &baseFrame, Mapping const &mapping, Frame const ¤tFrame, std::string const &options="")
Construct a FrameSet from two frames and a mapping that connects them.
FrameSet(Frame const &frame, std::string const &options="")
Construct a FrameSet from a Frame.
void addAxes(Frame const &frame)
Append the axes from a specified Frame to every existing Frame in this FrameSet.
virtual void addFrame(int iframe, Mapping const &map, Frame const &frame)
Add a new Frame and an associated Mapping to this FrameSet so as to define a new coordinate system,...
static constexpr int BASE
index of base frame
void setI(std::string const &attrib, int value)
Set the value of an attribute as an int.
std::string const getC(std::string const &attrib) const
Get the value of an attribute as a string.
FrameSet & operator=(FrameSet const &)=delete
FrameSet(FrameSet const &)=default
Copy constructor: make a deep copy.
AstObject const * getRawPtr() const
Get the raw AST pointer.
std::string getAllVariants() const
Get AllVariants: a list of all variant mappings stored with the current Frame.
FrameSet(AstFrameSet *rawPtr)
Construct a FrameSet from a raw AST pointer.
FrameSet(FrameSet &&)=default
std::shared_ptr< Mapping > getMapping(int from=BASE, int to=CURRENT) const
Obtain a Mapping that converts between two Frames in a FrameSet.
int getBase() const
Get Base: index of base Frame.