lsst.astshim gf5dcc679e7+7aca86229d
Loading...
Searching...
No Matches
Frame.h File Reference
#include <memory>
#include <sstream>
#include <stdexcept>
#include <utility>
#include "astshim/Mapping.h"
#include "astshim/Object.h"
#include "astshim/base.h"
#include "astshim/detail/utils.h"

Go to the source code of this file.

Classes

class  ast::DirectionPoint
 Struct returned by Frame.offset2 containing a direction and a point. More...
class  ast::NReadValue
 Struct returned by Frame.unformat containing the number of characters read and corresponding value. More...
class  ast::ResolvedPoint
 Struct returned by Frame.resolve containing a point and the resolved vector components. More...
class  ast::FrameMapping
 Struct returned by Frame.pickAxes containing a frame and a mapping. More...

Namespaces

namespace  ast
 AST wrapper classes and functions.

Functions

 ast::Frame (int naxes, std::string const &options="")
 Frame is used to represent a coordinate system.
virtual ast::~Frame ()
 ast::Frame (Frame &&)=default
Frameast::operator= (Frame const &)=delete
Frameast::operator= (Frame &&)=default
*Return a deep copy of this object std::shared_ptr< Frameast::copy () const
double ast::angle (PointD const &a, PointD const &b, PointD const &c) const
 Find the angle at point B between the line joining points A and B, and the line joining points C and B.
double ast::axAngle (PointD const &a, PointD const &b, int axis) const
 Find the angle, as seen from point A, between the positive direction of a specified axis, and the geodesic curve joining point A to point B.
double ast::axDistance (int axis, double v1, double v2) const
 Return a signed value representing the axis increment from axis value v1 to axis value v2.
double ast::axOffset (int axis, double v1, double dist) const
 Return an axis value formed by adding a signed axis increment onto a supplied axis value.
double ast::distance (PointD const &point1, PointD const &point2) const
 Compute a frameset that describes the conversion between this frame and another frame.
std::shared_ptr< FrameSetast::findFrame (Frame const &tmplt, std::string const &domainlist="")
 Find a coordinate system with specified characteristics.
std::string ast::format (int axis, double value) const
 Return a string containing the formatted (character) version of a coordinate value for a Frame axis.
bool ast::getActiveUnit () const
 Get ActiveUnit: pay attention to units when one Frame is used to match another?
std::string ast::getAlignSystem () const
 Get AlignSystem: the coordinate system used by convert and findFrame to align Frames.
double ast::getBottom (int axis) const
 Get Bottom for one axis: the lowest axis value to display.
int ast::getDigits () const
 Get Digits: the default used if no specific value specified for an axis.
int ast::getDigits (int axis) const
 Get Digits for one axis.
bool ast::getDirection (int axis) const
 Get Direction for one axis: display axis in conventional direction?
std::string ast::getDomain () const
 Get Domain: coordinate system domain.
double ast::getDut1 () const
 Get Dut1: difference between the UT1 and UTC timescale (sec).
double ast::getEpoch () const
 Get Epoch: Epoch of observation.
std::string ast::getFormat (int axis) const
 Get Format for one axis: format specification for axis values.
std::string ast::getInternalUnit (int axis) const
 Get InternalUnit(axis) read-only attribute for one axis: physical units for unformated axis values.
std::string ast::getLabel (int axis) const
 Get Label(axis) for one axis: axis label.
bool ast::getMatchEnd () const
 Get MatchEnd: match trailing axes?
int ast::getMaxAxes () const
 Get MaxAxes: the maximum axes a frame found by findFrame may have.
int ast::getMinAxes () const
 Get MinAxes: the maximum axes a frame found by findFrame may have.
int ast::getNAxes () const
 Get NAxes: the number of axes in the frame (i.e.
std::string ast::getNormUnit (int axis) const
 Get NormUnit(axis) read-only attribute for one frame: normalised physical units for formatted axis values.
double ast::getObsAlt () const
 Get ObsAlt: Geodetic altitude of observer (m).
std::string ast::getObsLat () const
 Get ObsLat: Geodetic latitude of observer.
std::string ast::getObsLon () const
 Get ObsLon: Geodetic longitude of observer.
bool ast::getPermute () const
 Get Permute: allow axis permutation when used as a template?
bool ast::getPreserveAxes () const
 Get PreserveAxes: preserve axes?
std::string ast::getSymbol (int axis) const
 Get Symbol(axis) for one axis: axis symbol.
std::string ast::getSystem () const
 Get System: coordinate system used to describe positions within the domain.
std::string ast::getTitle () const
 Get Title: frame title.
double ast::getTop (int axis) const
 Get Top: the highest axis value to display.
std::string ast::getUnit (int axis) const
 Get Unit(axis) for one axis: physical units for formatted axis values.
std::vector< double > ast::intersect (std::vector< double > const &a1, std::vector< double > const &a2, std::vector< double > const &b1, std::vector< double > const &b2) const
 Find the point of intersection between two geodesic curves.
std::vector< int > ast::matchAxes (Frame const &other) const
 Look for corresponding axes between this frame and another.
CmpFrame ast::under (Frame const &next) const
 Combine this frame with another to form a compound frame (CmpFrame), with the axes of this frame followed by the axes of the next frame.
PointD ast::norm (PointD value) const
 Normalise a set of Frame coordinate values which might be unsuitable for display (e.g.
PointD ast::offset (PointD point1, PointD point2, double offset) const
 Find the point which is offset a specified distance along the geodesic curve between two other points.
DirectionPoint ast::offset2 (PointD const &point1, double angle, double offset) const
 Find the point which is offset a specified distance along the geodesic curve at a given angle from a specified starting point.
void ast::permAxes (std::vector< int > perm)
 Permute the order in which a Frame's axes occur.
FrameMapping ast::pickAxes (std::vector< int > const &axes) const
 Create a new Frame whose axes are copied from an existing Frame along with other Frame attributes, such as its Title.
ResolvedPoint ast::resolve (std::vector< double > const &point1, std::vector< double > const &point2, std::vector< double > const &point3) const
 Resolve a vector into two orthogonal components.
void ast::setAlignSystem (std::string const &system)
 Set AlignSystem: the coordinate system used by convert and findFrame to align Frames.
void ast::setBottom (int axis, double bottom)
 Set Bottom: the lowest axis value to display.
void ast::setDigits (int digits)
 Set Digits for all axes: number of digits of precision.
void ast::setDigits (int axis, int digits)
 Set Digits for one axis: number of digits of precision.
void ast::setDirection (bool direction, int axis)
 Set Direction for one axis: display axis in conventional direction?
virtual void ast::setDomain (std::string const &domain)
 Set Domain: coordinate system domain.
void ast::setDut1 (double dut1)
 Set Dut1: difference between the UT1 and UTC timescale (sec).
void ast::setEpoch (double epoch)
 Set Epoch: Epoch of observation as a double (years).
void ast::setEpoch (std::string const &epoch)
 Set Epoch: Epoch of observation as a string.
void ast::setFormat (int axis, std::string const &format)
 Set Format for one axis: format specification for axis values.
void ast::setLabel (int axis, std::string const &label)
 Set Label(axis) for one axis: axis label.
void ast::setMatchEnd (bool match)
 Set MatchEnd: match trailing axes?
void ast::setMaxAxes (int maxAxes)
 Get MaxAxes: the maximum number of axes a frame found by findFrame may have.
void ast::setMinAxes (int minAxes)
 Get MinAxes: the minimum number of axes a frame found by findFrame may have.
void ast::setObsAlt (double alt)
 Set ObsAlt: Geodetic altitude of observer (m).
void ast::setObsLat (std::string const &lat)
 Set ObsLat: frame title.
void ast::setObsLon (std::string const &lon)
 Set ObsLon: Geodetic longitude of observer.
void ast::setActiveUnit (bool enable)
 Set ActiveUnit: pay attention to units when one Frame is used to match another?
void ast::setPermute (bool permute)
 Set Permute: allow axis permutation when used as a template?
void ast::setPreserveAxes (bool preserve)
 Set PreserveAxes: preserve axes?
void ast::setSymbol (int axis, std::string const &symbol)
 Set Symbol(axis) for one axis: axis symbol.
void ast::setSystem (std::string const &system)
 Set System: coordinate system used to describe positions within the domain.
void ast::setTitle (std::string const &title)
 Set Title: frame title.
void ast::setTop (int axis, double top)
 Set Top for one axis: the highest axis value to display.
void ast::setUnit (int axis, std::string const &unit)
 Set Unit(axis) for one axis: physical units for formatted axis values.
NReadValue ast::unformat (int axis, std::string const &str) const
 Read a formatted coordinate value (given as a character string) for a Frame axis and return the number of characters read and the value.
 ast::Frame (AstFrame *rawPtr)
 Construct a Frame from a pointer to a raw AstFrame.
virtual std::shared_ptr< Objectast::copyPolymorphic () const override

Variables

*Copy ast::constructor