|
lsst.afw g3a5ebb7d8a+28b83bf6a5
|
Virtual base class for endpoints, which are helper classes for Transform. More...
#include <Endpoint.h>
Public Types | |
| using | Point = PointT |
| using | Array = ArrayT |
Public Member Functions | |
| BaseEndpoint (BaseEndpoint const &)=default | |
| BaseEndpoint (BaseEndpoint &&)=default | |
| BaseEndpoint & | operator= (BaseEndpoint const &)=delete |
| BaseEndpoint & | operator= (BaseEndpoint &&)=delete |
| virtual | ~BaseEndpoint ()=default |
| int | getNAxes () const |
| virtual int | getNPoints (Array const &arr) const =0 |
| Return the number of points in an array. | |
| 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 Point | pointFromData (std::vector< double > const &data) const =0 |
| Get a single point from raw data. | |
| virtual Array | arrayFromData (ndarray::Array< double, 2, 2 > const &data) const =0 |
| Get an array of points from raw data. | |
| virtual std::shared_ptr< ast::Frame > | makeFrame () const |
| Create a Frame that can be used with this end point in a Transform. | |
| virtual void | normalizeFrame (std::shared_ptr< ast::Frame > framePtr) const |
| Adjust and check the frame as needed. | |
Protected Member Functions | |
| BaseEndpoint (int nAxes) | |
| Construct a BaseEndpoint. | |
| 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 |
Virtual base class for endpoints, which are helper classes for Transform.
Endpoints transform points and lists of points from LSST-specific data types, such as lsst::geom::Point2D and lsst::geom::SpherePoint, to a form accepted by ast::Mapping.tran. Each type of endpoint is used for a particular LSST data type, for example:
Endpoints use the following forms of data for raw data:
Endpoints are designed as helper classes for Transform. Each transform has a two endpoints: one for input data and one for output data.
Endpoint also provides two methods to work with ast::Frames:
| PointT | LSST data type for one point |
| ArrayT | LSST data type for an array of points |
Definition at line 67 of file Endpoint.h.
| using lsst::afw::geom::BaseEndpoint< PointT, ArrayT >::Array = ArrayT |
Definition at line 70 of file Endpoint.h.
| using lsst::afw::geom::BaseEndpoint< PointT, ArrayT >::Point = PointT |
Definition at line 69 of file Endpoint.h.
|
default |
|
default |
|
virtualdefault |
|
explicitprotected |
Construct a BaseEndpoint.
| [in] | nAxes | The number of axes in a point; must be > 0 |
| lsst.pex.exceptions.InvalidParameterError | if nAxes <= 0 |
Definition at line 55 of file Endpoint.cc.
|
protected |
Definition at line 73 of file Endpoint.cc.
|
inlineprotected |
Definition at line 179 of file Endpoint.h.
|
inlineprotected |
Definition at line 177 of file Endpoint.h.
|
inlineprotected |
Definition at line 181 of file Endpoint.h.
|
inlineprotected |
Definition at line 183 of file Endpoint.h.
|
pure virtual |
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 |
Implemented in lsst::afw::geom::GenericEndpoint, lsst::afw::geom::Point2Endpoint, and lsst::afw::geom::SpherePointEndpoint.
|
pure virtual |
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 |
Implemented in lsst::afw::geom::GenericEndpoint, and lsst::afw::geom::SpherePointEndpoint.
|
pure virtual |
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 |
Implemented in lsst::afw::geom::GenericEndpoint, and lsst::afw::geom::SpherePointEndpoint.
|
inline |
Definition at line 79 of file Endpoint.h.
|
pure virtual |
Return the number of points in an array.
Implemented in lsst::afw::geom::BaseVectorEndpoint< PointT >, lsst::afw::geom::BaseVectorEndpoint< lsst::geom::Point2D >, lsst::afw::geom::BaseVectorEndpoint< lsst::geom::SpherePoint >, and lsst::afw::geom::GenericEndpoint.
|
virtual |
Create a Frame that can be used with this end point in a Transform.
Reimplemented in lsst::afw::geom::SpherePointEndpoint.
Definition at line 68 of file Endpoint.cc.
|
inlinevirtual |
Adjust and check the frame as needed.
Do not bother to check the number of axes because that is done elsewhere.
The base implementation does nothing.
Reimplemented in lsst::afw::geom::Point2Endpoint, and lsst::afw::geom::SpherePointEndpoint.
Definition at line 163 of file Endpoint.h.
|
inlinenoexcept |
Determine whether two endpoints do not represent the same conversion.
Definition at line 109 of file Endpoint.h.
|
delete |
|
delete |
|
virtualnoexcept |
Determine whether two endpoints represent the same conversion.
| other | the endpoint to compare |
Definition at line 63 of file Endpoint.cc.
|
pure virtual |
Get a single point from raw data.
| [in] | data | Data as a vector of length NAxes |
Implemented in lsst::afw::geom::GenericEndpoint, lsst::afw::geom::Point2Endpoint, and lsst::afw::geom::SpherePointEndpoint.