Object to compute the bounding box which just encloses another box after it has been transformed by a mapping.
More...
#include <MapBox.h>
|
std::vector< double > | lbndIn |
| Lower bound of the input box.
|
|
std::vector< double > | ubndIn |
| Upper bound of the input box.
|
|
int | minOutCoord |
| Minimum output coordinate axis for which to compute an output bounding box, starting from 1.
|
|
int | maxOutCoord |
| Maximum output coordinate axis for which to compute an output bounding box, starting from 1.
|
|
std::vector< double > | lbndOut |
| Lower bound of the output box.
|
|
std::vector< double > | ubndOut |
| Upper bound of the output box.
|
|
Array2D | xl |
| 2-d array of [out coord, an input point at which the lower bound occurred]
|
|
Array2D | xu |
| 2-d array of [out coord, an input point at which the upper bound occurred]
|
|
Object to compute the bounding box which just encloses another box after it has been transformed by a mapping.
- Warning
- The points in
xl
and xu
are not predictable if more than one input value gives the same output boundary value.
Definition at line 42 of file MapBox.h.
◆ MapBox() [1/3]
ast::MapBox::MapBox |
( |
Mapping const & | map, |
|
|
std::vector< double > const & | lbnd, |
|
|
std::vector< double > const & | ubnd, |
|
|
int | minOutCoord = 1, |
|
|
int | maxOutCoord = 0 ) |
|
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.
- Parameters
-
[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) |
- Returns
- A MapBox containing the computed outputs and a copy of the inputs.
- Exceptions
-
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. |
Notes
- Any input points which are transformed by the Mapping to give output coordinates containing the value
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.
◆ MapBox() [2/3]
ast::MapBox::MapBox |
( |
MapBox const & | | ) |
|
|
default |
◆ MapBox() [3/3]
ast::MapBox::MapBox |
( |
MapBox && | | ) |
|
|
default |
◆ operator=() [1/2]
◆ operator=() [2/2]
◆ lbndIn
Lower bound of the input box.
Definition at line 92 of file MapBox.h.
◆ lbndOut
Lower bound of the output box.
Definition at line 98 of file MapBox.h.
◆ maxOutCoord
int ast::MapBox::maxOutCoord |
Maximum output coordinate axis for which to compute an output bounding box, starting from 1.
Definition at line 97 of file MapBox.h.
◆ minOutCoord
int ast::MapBox::minOutCoord |
Minimum output coordinate axis for which to compute an output bounding box, starting from 1.
Definition at line 95 of file MapBox.h.
◆ ubndIn
Upper bound of the input box.
Definition at line 93 of file MapBox.h.
◆ ubndOut
Upper bound of the output box.
Definition at line 99 of file MapBox.h.
◆ xl
2-d array of [out coord, an input point at which the lower bound occurred]
Definition at line 100 of file MapBox.h.
◆ xu
2-d array of [out coord, an input point at which the upper bound occurred]
Definition at line 101 of file MapBox.h.
The documentation for this class was generated from the following files: