lsst.astshim
14.0-10-ga7aaa25+3
|
#include <SkyFrame.h>
Public Member Functions | |
SkyFrame (std::string const &options="") | |
SkyFrame (SkyFrame const &)=delete | |
SkyFrame (SkyFrame &&)=default | |
SkyFrame & | operator= (SkyFrame const &)=delete |
SkyFrame & | operator= (SkyFrame &&)=default |
std::shared_ptr< SkyFrame > | copy () const |
Return a deep copy of this object. | |
bool | getAlignOffset () const |
Get AlignOffset: align SkyFrames using the offset coordinate system? | |
bool | getAsTime (int axis) const |
Get AsTime(axis) for one axis: format celestial coordinates as times? | |
double | getEquinox () const |
Get Equinox: epoch of the mean equinox. | |
bool | getIsLatAxis (int axis) const |
Get IsLatAxis(axis) for one axis: is the specified axis the latitude axis? | |
bool | getIsLonAxis (int axis) const |
Get IsLonAxis(axis) for one axis: is the specified axis the longitude axis? | |
int | getLatAxis () const |
Get LatAxis: index of the latitude axis. | |
int | getLonAxis () const |
Get LonAxis: index of the longitude axis. | |
bool | getNegLon () const |
Get NegLon: display longitude values in the range [-pi,pi]? | |
std::string | getProjection () const |
Get Projection: sky projection description. | |
std::vector< double > | getSkyRef () const |
std::string | getSkyRefIs () const |
Get SkyRefIs: selects the nature of the offset coordinate system. | |
std::vector< double > | getSkyRefP () const |
double | getSkyTol () const |
Get SkyTol: smallest significant shift in sky coordinates. | |
void | setAlignOffset (bool alignOffset) |
Set AlignOffset: align SkyFrames using the offset coordinate system? | |
void | setAsTime (int axis, bool asTime) |
Set AsTime(axis) for one axis: format celestial coordinates as times? | |
void | setEquinox (double equinox) |
Set Equinox: epoch of the mean equinox. | |
void | setNegLon (bool negLon) |
Set NegLon: display longitude values in the range [-pi,pi]? | |
void | setProjection (std::string const &projection) |
Set Projection: sky projection description. | |
void | setSkyRef (std::vector< double > const &skyRef) |
Set SkyRef: position defining location of the offset coordinate system. | |
void | setSkyRefIs (std::string const &skyRefIs) |
Set SkyRefIs: selects the nature of the offset coordinate system. | |
void | setSkyRefP (std::vector< double > const &skyRefP) |
Set SkyRefP: position defining orientation of the offset coordinate system. | |
void | setSkyTol (double skyTol) |
Set SkyTol: smallest significant shift in sky coordinates. | |
std::shared_ptr< Mapping > | skyOffsetMap () |
![]() | |
Frame (int naxes, std::string const &options="") | |
Frame (Frame const &)=delete | |
Frame (Frame &&)=default | |
Frame & | operator= (Frame const &)=delete |
Frame & | operator= (Frame &&)=default |
std::shared_ptr< Frame > | copy () const |
Return a deep copy of this object. | |
double | angle (PointD const &a, PointD const &b, PointD const &c) const |
double | axAngle (PointD const &a, PointD const &b, int axis) const |
double | axDistance (int axis, double v1, double v2) const |
double | axOffset (int axis, double v1, double dist) const |
std::shared_ptr< FrameSet > | convert (Frame const &to, std::string const &domainlist="") |
double | distance (PointD const &point1, PointD const &point2) const |
std::shared_ptr< FrameSet > | findFrame (Frame const &tmplt, std::string const &domainlist="") |
std::string | format (int axis, double value) const |
bool | getActiveUnit () const |
std::string | getAlignSystem () const |
double | getBottom (int axis) const |
int | getDigits () const |
int | getDigits (int axis) const |
bool | getDirection (int axis) const |
std::string | getDomain () const |
double | getDut1 () const |
double | getEpoch () const |
std::string | getFormat (int axis) const |
std::string | getInternalUnit (int axis) const |
std::string | getLabel (int axis) const |
bool | getMatchEnd () const |
int | getMaxAxes () const |
int | getMinAxes () const |
int | getNAxes () const |
std::string | getNormUnit (int axis) const |
double | getObsAlt () const |
std::string | getObsLat () const |
std::string | getObsLon () const |
bool | getPermute () const |
bool | getPreserveAxes () const |
std::string | getSymbol (int axis) const |
std::string | getSystem () const |
std::string | getTitle () const |
double | getTop (int axis) const |
std::string | getUnit (int axis) const |
std::vector< double > | intersect (std::vector< double > const &a1, std::vector< double > const &a2, std::vector< double > const &b1, std::vector< double > const &b2) const |
std::vector< int > | matchAxes (Frame const &other) const |
CmpFrame | under (Frame const &next) const |
PointD | norm (PointD value) const |
PointD | offset (PointD point1, PointD point2, double offset) const |
DirectionPoint | offset2 (PointD const &point1, double angle, double offset) const |
void | permAxes (std::vector< int > perm) |
FrameMapping | pickAxes (std::vector< int > const &axes) const |
ResolvedPoint | resolve (std::vector< double > const &point1, std::vector< double > const &point2, std::vector< double > const &point3) const |
void | setAlignSystem (std::string const &system) |
void | setBottom (int axis, double bottom) |
void | setDigits (int digits) |
void | setDigits (int axis, int digits) |
void | setDirection (bool direction, int axis) |
virtual void | setDomain (std::string const &domain) |
void | setDut1 (double dut1) |
void | setEpoch (double epoch) |
void | setEpoch (std::string const &epoch) |
void | setFormat (int axis, std::string const &format) |
void | setLabel (int axis, std::string const &label) |
void | setMatchEnd (bool match) |
void | setMaxAxes (int maxAxes) |
void | setMinAxes (int minAxes) |
void | setObsAlt (double alt) |
void | setObsLat (std::string const &lat) |
void | setObsLon (std::string const &lon) |
void | setActiveUnit (bool enable) |
void | setPermute (bool permute) |
void | setPreserveAxes (bool preserve) |
void | setSymbol (int axis, std::string const &symbol) |
void | setSystem (std::string const &system) |
void | setTitle (std::string const &title) |
void | setTop (int axis, double top) |
void | setUnit (int axis, std::string const &unit) |
NReadValue | unformat (int axis, std::string const &str) const |
![]() | |
Mapping (Mapping const &)=delete | |
Mapping (Mapping &&)=default | |
Mapping & | operator= (Mapping const &)=delete |
Mapping & | operator= (Mapping &&)=default |
std::shared_ptr< Mapping > | copy () const |
Return a deep copy of this object. | |
int | getNIn () const |
int | getNOut () const |
bool | getIsSimple () const |
bool | isInverted () const |
bool | getIsLinear () const |
bool | getReport () const |
bool | hasForward () const |
bool | hasInverse () const |
std::shared_ptr< Mapping > | getInverse () const |
Array2D | linearApprox (PointD const &lbnd, PointD const &ubnd, double tol) const |
SeriesMap | then (Mapping const &next) const |
ParallelMap | under (Mapping const &next) const |
double | rate (PointD const &at, int ax1, int ax2) const |
void | setReport (bool report) |
std::shared_ptr< Mapping > | simplify () const |
void | applyForward (ConstArray2D const &from, Array2D const &to) const |
Array2D | applyForward (ConstArray2D const &from) const |
std::vector< double > | applyForward (std::vector< double > const &from) const |
void | applyInverse (ConstArray2D const &from, Array2D const &to) const |
Array2D | applyInverse (ConstArray2D const &from) const |
std::vector< double > | applyInverse (std::vector< double > const &from) const |
void | tranGridForward (PointI const &lbnd, PointI const &ubnd, double tol, int maxpix, Array2D const &to) const |
Array2D | tranGridForward (PointI const &lbnd, PointI const &ubnd, double tol, int maxpix, int nPts) const |
void | tranGridInverse (PointI const &lbnd, PointI const &ubnd, double tol, int maxpix, Array2D const &to) const |
Array2D | tranGridInverse (PointI const &lbnd, PointI const &ubnd, double tol, int maxpix, int nPts) const |
![]() | |
Object (Object const &)=delete | |
Object (Object &&)=default | |
Object & | operator= (Object const &)=delete |
Object & | operator= (Object &&)=default |
bool | operator== (Object const &rhs) const |
bool | operator!= (Object const &rhs) const |
std::shared_ptr< Object > | copy () const |
Return a deep copy of this object. | |
void | clear (std::string const &attrib) |
bool | hasAttribute (std::string const &attrib) const |
std::string | getClassName () const |
std::string | getID () const |
Get ID: object identification string that is not copied. | |
std::string | getIdent () const |
Get Ident: object identification string that is copied. | |
int | getNObject () const |
int | getObjSize () const |
Get ObjSize: the in-memory size of the AST object in bytes. | |
int | getRefCount () const |
bool | getUseDefs () const |
Get UseDefs: allow use of default values for Object attributes? | |
void | lock (bool wait) |
bool | same (Object const &other) const |
void | setID (std::string const &id) |
Set ID: object identification string that is not copied. | |
void | setIdent (std::string const &ident) |
Set Ident: object identification string that is copied. | |
void | setUseDefs (bool usedefs) |
Set UseDefs: allow use of default values for Object attributes? | |
void | show (std::ostream &os, bool showComments=true) const |
std::string | show (bool showComments=true) const |
bool | test (std::string const &attrib) const |
void | unlock (bool report=false) |
AstObject const * | getRawPtr () const |
AstObject * | getRawPtr () |
Protected Member Functions | |
virtual std::shared_ptr< Object > | copyPolymorphic () const override |
SkyFrame (AstSkyFrame *rawptr) | |
Construct a SkyFrame from a raw AST pointer. | |
![]() | |
Frame (AstFrame *rawPtr) | |
![]() | |
Mapping (AstMapping *rawMap) | |
template<typename Class > | |
std::shared_ptr< Class > | decompose (int i, bool copy) const |
![]() | |
Object (AstObject *object) | |
template<typename T , typename AstT > | |
std::shared_ptr< T > | copyImpl () const |
bool | getB (std::string const &attrib) const |
std::string const | getC (std::string const &attrib) const |
double | getD (std::string const &attrib) const |
float | getF (std::string const &attrib) const |
int | getI (std::string const &attrib) const |
long int | getL (std::string const &attrib) const |
void | set (std::string const &setting) |
void | setB (std::string const &attrib, bool value) |
void | setC (std::string const &attrib, std::string const &value) |
void | setD (std::string const &attrib, double value) |
void | setF (std::string const &attrib, float value) |
void | setI (std::string const &attrib, int value) |
void | setL (std::string const &attrib, long int value) |
Friends | |
class | Object |
Additional Inherited Members | |
![]() | |
using | ObjectPtr = std::unique_ptr< AstObject, Deleter > |
unique pointer holding an AST raw pointer | |
![]() | |
static std::shared_ptr< Object > | fromString (std::string const &str) |
template<typename Class > | |
static std::shared_ptr< Class > | fromAstObject (AstObject *rawObj, bool copy) |
![]() | |
template<typename ShimT , typename AstT > | |
static std::shared_ptr< ShimT > | makeShim (AstObject *p) |
SkyFrame is a specialised form of Frame which describes celestial longitude/latitude coordinate systems.
The particular celestial coordinate system to be represented is specified by setting the SkyFrame's System
attribute (currently, the default is ICRS
) qualified, as necessary, by a mean Equinox
value and/or an Epoch
.
For each of the supported celestial coordinate systems, a SkyFrame can apply an optional shift of origin to create a coordinate system representing offsets within the celestial coordinate system from some specified point. This offset coordinate system can also be rotated to define new longitude and latitude axes. See attributes SkyRef
, SkyRefIs
and SkyRefP
.
All the coordinate values used by a SkyFrame are in radians. These may be formatted in more conventional ways for display by using format.
SkyFrame provides the following attributes, in addition to those provided by Frame, Mapping and Object
|
inlineexplicit |
Construct a SkyFrame
[in] | options | String containing an optional comma-separated list of attribute assignments to be used for initialising the new SkyFrame. The syntax used is identical to that for set. |
auto auto = astSkyFrame("")
Creates a SkyFrame to describe the default ICRS celestial coordinate system.
auto auto = astSkyFrame("System = FK5, Equinox = J2005, Digits = 10")
Creates a SkyFrame to describe the FK5 celestial coordinate system, with a mean Equinox oc Because especially accurate coordinates will be used, additional precision (10 digits) has been requested. This will be used when coordinate values are formatted for display.
auto auto = astSkyFrame("System = FK4, Equinox = 1955-sep-2")
Creates a SkyFrame to describe the old FK4 celestial coordinate system. A default Epoch value (B1950.0) is used, but the mean Equinox value is given explicitly as "1955-sep-2".
auto auto = astSkyFrame("System = GAPPT, Epoch = J2000")
Creates a SkyFrame to describe the Geocentric Apparent celestial coordinate system.
ICRS
. However, this default may change in future as new astrometric standards evolve. The intention is to track the most modern appropriate standard. For this reason, you should use the default only if this is what you intend (and can tolerate any associated slight change in behaviour with future versions of this function). If you intend to use the ICRS
system indefinitely then you should specify it explicitly using an options
value of System=ICRS
.
|
inlineoverrideprotectedvirtual |
Return a deep copy of this object. This is called by copy.
Each subclass must override this method. The standard implementation is:
for example Frame implements this as:
Reimplemented from ast::Frame.
|
inline |
Get SkyRef for both axes: position defining location of the offset coordinate system.
|
inline |
Get SkyRefP for both axes: position defining orientation of the offset coordinate system.
|
inline |
Get a sky offset map
Get a Mapping in which the forward transformation transforms a position in the coordinate system given by the System attribute of the supplied SkyFrame, into the offset coordinate system specified by the SkyRef
, SkyRefP
and SkyRefIs
attributes of the sky frame. A UnitMap is returned if the sky frame does not define an offset coordinate system.