LSST Applications g070148d5b3+33e5256705,g0d53e28543+25c8b88941,g0da5cf3356+2dd1178308,g1081da9e2a+62d12e78cb,g17e5ecfddb+7e422d6136,g1c76d35bf8+ede3a706f7,g295839609d+225697d880,g2e2c1a68ba+cc1f6f037e,g2ffcdf413f+853cd4dcde,g38293774b4+62d12e78cb,g3b44f30a73+d953f1ac34,g48ccf36440+885b902d19,g4b2f1765b6+7dedbde6d2,g5320a0a9f6+0c5d6105b6,g56b687f8c9+ede3a706f7,g5c4744a4d9+ef6ac23297,g5ffd174ac0+0c5d6105b6,g6075d09f38+66af417445,g667d525e37+2ced63db88,g670421136f+2ced63db88,g71f27ac40c+2ced63db88,g774830318a+463cbe8d1f,g7876bc68e5+1d137996f1,g7985c39107+62d12e78cb,g7fdac2220c+0fd8241c05,g96f01af41f+368e6903a7,g9ca82378b8+2ced63db88,g9d27549199+ef6ac23297,gabe93b2c52+e3573e3735,gb065e2a02a+3dfbe639da,gbc3249ced9+0c5d6105b6,gbec6a3398f+0c5d6105b6,gc9534b9d65+35b9f25267,gd01420fc67+0c5d6105b6,geee7ff78d7+a14128c129,gf63283c776+ede3a706f7,gfed783d017+0c5d6105b6,w.2022.47
LSST Data Management Base Package
|
Object to compute the bounding box which just encloses another box after it has been transformed by a mapping. More...
#include <MapBox.h>
Public Member Functions | |
MapBox (Mapping const &map, std::vector< double > const &lbnd, std::vector< double > const &ubnd, int minOutCoord=1, int maxOutCoord=0) | |
Find a bounding box for a Mapping. More... | |
MapBox (MapBox const &)=default | |
MapBox (MapBox &&)=default | |
MapBox & | operator= (MapBox const &)=default |
MapBox & | operator= (MapBox &&)=default |
Public Attributes | |
std::vector< double > | lbndIn |
Lower bound of the input box. More... | |
std::vector< double > | ubndIn |
Upper bound of the input box. More... | |
int | minOutCoord |
Minimum output coordinate axis for which to compute an output bounding box, starting from 1. More... | |
int | maxOutCoord |
Maximum output coordinate axis for which to compute an output bounding box, starting from 1. More... | |
std::vector< double > | lbndOut |
Lower bound of the output box. More... | |
std::vector< double > | ubndOut |
Upper bound of the output box. More... | |
Array2D | xl |
2-d array of [out coord, an input point at which the lower bound occurred] More... | |
Array2D | xu |
2-d array of [out coord, an input point at which the upper bound occurred] More... | |
Object to compute the bounding box which just encloses another box after it has been transformed by a mapping.
xl
and xu
are not predictable if more than one input value gives the same output boundary value.
|
explicit |
Find a bounding box for a Mapping.
Find the "bounding box" which just encloses another box after it has been transformed by a mapping. A typical use might be to calculate the size which an image would have after being transformed by this mapping.
[in] | map | Mapping for which to find the output bounding box. |
[in] | lbnd | Lower bound of the input box. |
[in] | ubnd | Upper bound of the input box. Note that it is permissible for the lower bound to exceed the corresponding upper bound, as the values will simply be swapped before use. |
[in] | minOutCoord | Minimum output coordinate axis for which to compute an output bounding box, starting from 1 |
[in] | maxOutCoord | Maximum output coordinate axis for which to compute an output bounding box, starting from 1, or 0 for all remaining output coordinate axes (in which case the field of the same name will be set to the number of outputs) |
std::invalid_argument | if minOutCoord is not in the range [1, getNOut()] or maxOutCoord is neither 0 nor in the range [minOutCoord, getNOut()]. |
std::runtime_error | if the required output bounds cannot be found. Typically, this might occur if all the input points which the function considers turn out to be invalid (see above). The number of points considered before generating such an error is quite large, however, so this is unlikely to occur by accident unless valid points are restricted to a very small subset of the input coordinate space. |
AST__BAD
are regarded as invalid and are ignored, They will make no contribution to determining the output bounds, even although the nominated output coordinate might still have a valid value at such points. Definition at line 34 of file MapBox.cc.
|
default |
|
default |
std::vector<double> ast::MapBox::lbndIn |
std::vector<double> ast::MapBox::lbndOut |
int ast::MapBox::maxOutCoord |
int ast::MapBox::minOutCoord |
std::vector<double> ast::MapBox::ubndIn |
std::vector<double> ast::MapBox::ubndOut |
Array2D ast::MapBox::xl |
Array2D ast::MapBox::xu |