lsst.astshim
21.0.0-2-g45278ab+4fcf437b75
|
Go to the documentation of this file.
22 #ifndef ASTSHIM_FRAMESET_H
23 #define ASTSHIM_FRAMESET_H
104 static int constexpr
BASE = AST__BASE;
133 std::string
const &options =
"")
135 _basicAddFrame(1, mapping, currentFrame);
211 _basicAddFrame(iframe, map, frame);
271 auto *rawFrame =
reinterpret_cast<AstObject *
>(astGetFrame(
getRawPtr(), iframe));
274 throw std::runtime_error(
"getFrame failed (returned a null frame)");
276 return Object::fromAstObject<Frame>(rawFrame,
copy);
305 AstObject *rawMap =
reinterpret_cast<AstObject *
>(astGetMapping(
getRawPtr(), from, to));
308 throw std::runtime_error(
"getMapping failed (returned a null mapping)");
310 return Object::fromAstObject<Mapping>(rawMap,
true);
464 astAddVariant(
getRawPtr(),
nullptr, name.c_str());
480 return copyImpl<FrameSet, AstFrameSet>();
490 explicit FrameSet(AstFrameSet *rawPtr) :
Frame(reinterpret_cast<AstFrame *>(rawPtr)) {
492 std::ostringstream os;
493 os <<
"this is a " <<
getClassName() <<
", which is not a FrameSet";
494 throw std::invalid_argument(os.str());
500 void _basicAddFrame(
int iframe,
Mapping const &map,
Frame const &frame) {
501 if (iframe == AST__ALLFRAMES) {
502 throw std::runtime_error(
"iframe = AST__ALLFRAMES; call addAxes instead");
virtual void removeFrame(int iframe)
Definition: FrameSet.h:442
virtual ~FrameSet()
Definition: FrameSet.h:138
int getNFrame() const
Definition: FrameSet.h:316
Definition: FrameSet.h:99
void assertOK(AstObject *rawPtr1=nullptr, AstObject *rawPtr2=nullptr)
Definition: base.cc:49
std::string getVariant() const
Definition: FrameSet.h:323
std::shared_ptr< Frame > getFrame(int iframe, bool copy=true) const
Definition: FrameSet.h:270
static constexpr int NOFRAME
an invalid frame index
Definition: FrameSet.h:106
void setBase(int ind)
Definition: FrameSet.h:471
FrameSet & operator=(FrameSet &&)=default
void mirrorVariants(int iframe)
Definition: FrameSet.h:367
virtual std::shared_ptr< Object > copyPolymorphic() const override
Definition: FrameSet.h:479
int getCurrent() const
Definition: FrameSet.h:253
std::string getClassName() const
Definition: Object.h:139
int getI(std::string const &attrib) const
Definition: Object.h:400
static constexpr int CURRENT
index of current frame
Definition: FrameSet.h:105
void addVariant(Mapping const &map, std::string const &name)
Definition: FrameSet.h:234
void renameVariant(std::string const &name)
Definition: FrameSet.h:463
void setCurrent(int ind)
Definition: FrameSet.h:476
std::shared_ptr< FrameSet > copy() const
Return a deep copy of this object.
Definition: FrameSet.h:147
void remapFrame(int iframe, Mapping &map)
Definition: FrameSet.h:410
std::shared_ptr< Mapping > copy() const
Return a deep copy of this object.
Definition: Mapping.h:72
AST wrapper classes and functions.
Definition: attributes_channel.dox:1
FrameSet(Frame const &baseFrame, Mapping const &mapping, Frame const ¤tFrame, std::string const &options="")
Definition: FrameSet.h:132
FrameSet(Frame const &frame, std::string const &options="")
Definition: FrameSet.h:117
void addAxes(Frame const &frame)
Definition: FrameSet.h:160
virtual void addFrame(int iframe, Mapping const &map, Frame const &frame)
Definition: FrameSet.h:210
static constexpr int BASE
index of base frame
Definition: FrameSet.h:104
void setI(std::string const &attrib, int value)
Definition: Object.h:500
std::string const getC(std::string const &attrib) const
Definition: Object.h:361
FrameSet & operator=(FrameSet const &)=delete
FrameSet(FrameSet const &)=default
Copy constructor: make a deep copy.
AstObject const * getRawPtr() const
Definition: Object.h:292
std::string getAllVariants() const
Definition: FrameSet.h:243
FrameSet(AstFrameSet *rawPtr)
Definition: FrameSet.h:490
FrameSet(FrameSet &&)=default
std::shared_ptr< Mapping > getMapping(int from=BASE, int to=CURRENT) const
Definition: FrameSet.h:304
int getBase() const
Definition: FrameSet.h:248