LSST Applications g04dff08e69+fafbcb10e2,g0d33ba9806+3d21495239,g0fba68d861+2ea2a6c4b0,g1e78f5e6d3+b3e27b8ebc,g1ec0fe41b4+f536777771,g1fd858c14a+ae46bc2a71,g35bb328faa+fcb1d3bbc8,g4af146b050+9c38a215af,g4d2262a081+154bb484c1,g53246c7159+fcb1d3bbc8,g5a012ec0e7+b20b785ecb,g60b5630c4e+3d21495239,g6273192d42+8013d063df,g67b6fd64d1+4086c0989b,g78460c75b0+2f9a1b4bcd,g786e29fd12+cf7ec2a62a,g7b71ed6315+fcb1d3bbc8,g87b7deb4dc+04106995ce,g8852436030+54b48a5987,g89139ef638+4086c0989b,g9125e01d80+fcb1d3bbc8,g94187f82dc+3d21495239,g989de1cb63+4086c0989b,g9d31334357+3d21495239,g9f33ca652e+83205baa3c,gabe3b4be73+1e0a283bba,gabf8522325+fa80ff7197,gb1101e3267+85d1f90f4c,gb58c049af0+f03b321e39,gb89ab40317+4086c0989b,gc0bb628dac+d11454dffd,gcf25f946ba+54b48a5987,gd6cbbdb0b4+af3c3595f5,gd9a9a58781+fcb1d3bbc8,gde0f65d7ad+1b29a75088,ge278dab8ac+d65b3c2b70,ge410e46f29+4086c0989b,gf67bdafdda+4086c0989b,v29.0.0.rc6
LSST Data Management Base Package
|
An endpoint for lsst::geom::Point2D. More...
#include <Endpoint.h>
Public Types | |
using | Array |
using | Point |
Public Member Functions | |
Point2Endpoint (Point2Endpoint const &)=default | |
Point2Endpoint (Point2Endpoint &&)=default | |
Point2Endpoint & | operator= (Point2Endpoint const &)=delete |
Point2Endpoint & | operator= (Point2Endpoint &&)=delete |
Point2Endpoint () | |
Construct a Point2Endpoint. | |
Point2Endpoint (int nAxes) | |
Construct a Point2Endpoint with nAxes specified; nAxes must equal template parameter N. | |
~Point2Endpoint () override=default | |
std::vector< double > | dataFromPoint (Point const &point) const override |
ndarray::Array< double, 2, 2 > | dataFromArray (Array const &arr) const override |
Point | pointFromData (std::vector< double > const &data) const override |
Get a single point from raw data. | |
Array | arrayFromData (ndarray::Array< double, 2, 2 > const &data) const override |
Get an array of points from raw data. | |
void | normalizeFrame (std::shared_ptr< ast::Frame > framePtr) const override |
Check that framePtr points to a Frame, not a subclass. | |
int | getNPoints (Array const &arr) const override |
Return the number of points in an array. | |
int | getNAxes () const |
virtual bool | operator== (BaseEndpoint const &other) const noexcept |
Determine whether two endpoints represent the same conversion. | |
bool | operator!= (BaseEndpoint const &other) const noexcept |
Determine whether two endpoints do not represent the same conversion. | |
virtual std::vector< double > | dataFromPoint (Point const &point) const =0 |
Get raw data from a single point. | |
virtual ndarray::Array< double, 2, 2 > | dataFromArray (Array const &arr) const =0 |
Get raw data from an array of points. | |
virtual std::shared_ptr< ast::Frame > | makeFrame () const |
Create a Frame that can be used with this end point in a Transform. | |
Static Public Member Functions | |
static std::string | getClassPrefix () |
Get the class name prefix, e.g. "Point2" for "Point2Endpoint". | |
Protected Member Functions | |
void | _assertNAxes (int nAxes) const |
int | _getNAxes (ndarray::Array< double, 2, 2 > const &data) const |
int | _getNAxes (ndarray::Array< double, 1, 1 > const &data) const |
int | _getNAxes (std::vector< double > const &data) const |
int | _getNPoints (ndarray::Array< double, 2, 2 > const &data) const |
An endpoint for lsst::geom::Point2D.
Definition at line 261 of file Endpoint.h.
|
inherited |
Definition at line 197 of file Endpoint.h.
|
inherited |
Definition at line 198 of file Endpoint.h.
|
default |
|
default |
|
inlineexplicit |
Construct a Point2Endpoint.
Definition at line 271 of file Endpoint.h.
|
explicit |
Construct a Point2Endpoint with nAxes specified; nAxes must equal template parameter N.
This constructor is primarily used by Transform; other users are encouraged to use the default constructor.
[in] | nAxes | The number of axes in a point; must equal template parameter N |
lsst.pex.exceptions.InvalidParameterError | if nAxes != N |
Definition at line 106 of file Endpoint.cc.
|
overridedefault |
|
protectedinherited |
Definition at line 175 of file Endpoint.cc.
|
inlineprotectedinherited |
Definition at line 179 of file Endpoint.h.
|
inlineprotectedinherited |
Definition at line 177 of file Endpoint.h.
|
inlineprotectedinherited |
Definition at line 181 of file Endpoint.h.
|
inlineprotectedinherited |
Definition at line 183 of file Endpoint.h.
|
overridevirtual |
Get an array of points from raw data.
[in] | data | Raw data for an array of points, as a 2-D ndarray array [nPoints, nAxes] in C order, so the in-memory view is, for example, x0, y0, x1, y1, x2, y2, ... |
lsst::pex::exceptions::InvalidParameterError | if the array has the wrong nAxes dimension |
Implements lsst::afw::geom::BaseEndpoint< lsst::geom::Point2D, std::vector< lsst::geom::Point2D > >.
Definition at line 147 of file Endpoint.cc.
|
pure virtualinherited |
Get raw data from an array of points.
[in] | arr | Array of points |
lsst::pex::exceptions::InvalidParameterError | if the array has the wrong nAxes dimension |
|
override |
Definition at line 123 of file Endpoint.cc.
|
pure virtualinherited |
Get raw data from a single point.
[in] | point | data for a single point |
lsst::pex::exceptions::InvalidParameterError | if the point has the wrong number of axes |
|
override |
Definition at line 114 of file Endpoint.cc.
|
inlinestatic |
Get the class name prefix, e.g. "Point2" for "Point2Endpoint".
Definition at line 307 of file Endpoint.h.
|
inlineinherited |
Definition at line 79 of file Endpoint.h.
|
overridevirtualinherited |
Return the number of points in an array.
Implements lsst::afw::geom::BaseEndpoint< lsst::geom::Point2D, std::vector< lsst::geom::Point2D > >.
Definition at line 207 of file Endpoint.cc.
|
virtualinherited |
Create a Frame that can be used with this end point in a Transform.
Definition at line 154 of file Endpoint.cc.
|
overridevirtual |
Check that framePtr points to a Frame, not a subclass.
Subclasses are forbidden because lsst::geom::Point2D is assumed to be cartesian and subclasses of Frame are not (e.g. SkyFrame, SpecFrame and TimeFrame). Note that SpecFrame and TimeFrame are 1-dimensional so they cannot be used in any case. A CmpFrame could be cartesian, but we play it safe and reject these (however, a cartesian CmpFrame ought to simplify to a Frame).
Reimplemented from lsst::afw::geom::BaseEndpoint< lsst::geom::Point2D, std::vector< lsst::geom::Point2D > >.
Definition at line 159 of file Endpoint.cc.
|
inlinenoexceptinherited |
Determine whether two endpoints do not represent the same conversion.
Definition at line 109 of file Endpoint.h.
|
delete |
|
delete |
|
virtualnoexceptinherited |
Determine whether two endpoints represent the same conversion.
other | the endpoint to compare |
true
iff this object and other
are of exactly the same class and all visible properties are identical. This implementation requires that the objects have the same number of axes.Definition at line 101 of file Endpoint.cc.
|
overridevirtual |
Get a single point from raw data.
[in] | data | Data as a vector of length NAxes |
Implements lsst::afw::geom::BaseEndpoint< lsst::geom::Point2D, std::vector< lsst::geom::Point2D > >.
Definition at line 137 of file Endpoint.cc.