LSSTApplications
20.0.0
LSSTDataManagementBasePackage
|
Go to the documentation of this file.
22 #ifndef ASTSHIM_FRAMEDICT_H
23 #define ASTSHIM_FRAMEDICT_H
30 #include <unordered_map>
82 _domainIndexDict = _makeNewDict(*
this);
99 :
FrameSet(baseFrame, mapping, currentFrame) {
100 _domainIndexDict = _makeNewDict(*
this);
111 _domainIndexDict = _makeNewDict(*
this);
191 auto it = _domainIndexDict.
find(domainUpper);
192 if (it == _domainIndexDict.
end()) {
258 return copyImpl<FrameDict, AstFrameSet>();
274 return std::static_pointer_cast<FrameSet>(copyImpl<FrameSet, AstFrameSet>());
295 _domainIndexDict = _makeNewDict(
frameSet);
std::shared_ptr< Mapping > getMapping(int from, std::string const &to) const
Variant of FrameSet::getMapping with the second frame specified by domain.
FrameDict(Frame const &frame, std::string const &options="")
Construct a FrameDict from a single Frame.
void remapFrame(std::string const &domain, Mapping &map)
Variant of remapFrame(int, Mapping&) with the frame specified by domain.
A FrameSet consists of a set of one or more Frames (which describe coordinate systems),...
int getIndex(std::string const &domain) const
Get the index of a frame specified by domain.
std::shared_ptr< FrameDict > 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.
An abstract base class for objects which transform one set of coordinates to another.
std::shared_ptr< Mapping > getMapping(std::string const &from, std::string const &to) const
Variant of FrameSet::getMapping with the both frames specified by domain.
FrameDict & operator=(FrameDict &&)=default
FrameDict(FrameSet const &frameSet)
Construct a FrameDict from a FrameSet.
void setBase(int ind)
Set Base: index of base Frame.
A FrameSet whose frames can be referenced by domain name.
void addFrame(int iframe, Mapping const &map, Frame const &frame) override
Add a new Frame and an associated Mapping to this FrameSet so as to define a new coordinate system,...
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.
std::string stringToUpper(std::string const &str)
Return a copy of a string in which all characters are uppercase.
void setDomain(std::string const &domain) override
Set the domain of the current frame (and update the internal dict).
FrameDict(FrameDict const &)=default
Copy constructor: make a deep copy.
void removeFrame(int iframe) override
Remove a Frame from a FrameSet.
std::shared_ptr< Frame > getFrame(std::string const &domain, bool copy=true) const
Variant of getFrame(int, bool) where the frame is specified by domain name.
void mirrorVariants(std::string const &domain)
Variant of mirrorVariants(int) with the frame specified by domain.
FrameDict & operator=(FrameDict const &)=delete
Frame is used to represent a coordinate system.
std::shared_ptr< FrameSet > getFrameSet() const
Return a deep copy as a FrameSet.
FrameDict(Frame const &baseFrame, Mapping const &mapping, Frame const ¤tFrame, std::string const &options="")
Construct a FrameDict from two frames and a mapping that connects them.
void setCurrent(int ind)
Set Current: index of current Frame, starting from 1.
void setBase(std::string const &domain)
Variant of setBase(int) with the frame specified by domain.
void remapFrame(int iframe, Mapping &map)
Modify the relationship (i.e.
virtual std::shared_ptr< Object > copyPolymorphic() const override
Return a deep copy of this object.
AST wrapper classes and functions.
std::shared_ptr< Mapping > getMapping(std::string const &from, int to) const
Variant of FrameSet::getMapping with the first frame specified by domain.
FrameDict(FrameDict &&)=default
void setCurrent(std::string const &domain)
Variant of setCurrent(int) with the frame specified by domain.
std::shared_ptr< Mapping > getMapping(int from=BASE, int to=CURRENT) const
Obtain a Mapping that converts between two Frames in a FrameSet.
std::set< std::string > getAllDomains() const
Get the domain names for all contained Frames (excluding frames with empty or defaulted domain names)...
bool hasDomain(std::string const &domain) const
Return True if a frame in this FrameDict has the specified domain.