This class implements an advanced 2D lookup object with values at the bins' center positions defining the individual lookup values.
More...
|
| AdvancedLookupCenter2 ()=default |
| Creates a new empty lookup object. More...
|
|
| AdvancedLookupCenter2 (const AdvancedLookupCenter2< T, TScalar > &lookup) |
| Copy constructor. More...
|
|
| AdvancedLookupCenter2 (AdvancedLookupCenter2< T, TScalar > &&lookup) noexcept |
| Move constructor. More...
|
|
| AdvancedLookupCenter2 (const size_t sizeX, const size_t sizeY, const size_t binsX, const size_t binsY) |
| Creates a new lookup object by definition of the dimensions and bin numbers. More...
|
|
| AdvancedLookupCenter2 (const size_t sizeX, const size_t sizeY, const size_t binsX, const size_t binsY, const bool binsValid) |
| Creates a new lookup object by definition of the dimensions and bin numbers. More...
|
|
| AdvancedLookupCenter2 (const size_t sizeX, const size_t sizeY, const size_t binsX, const size_t binsY, const T *binValues, const unsigned char *validBins) |
| Creates a new lookup object by definition of the dimensions and bin numbers. More...
|
|
| AdvancedLookupCenter2 (const size_t sizeX, const size_t sizeY, const AdvancedLookupCenter2< T, TScalar > &lookup) |
| Creates a new lookup object by definition of the dimensions and a given lookup object. More...
|
|
bool | binCenterValid (const size_t binX, const size_t binY) const |
| Returns whether a specific bin of this lookup object is valid. More...
|
|
bool | nearestValue (const TScalar x, const TScalar y, T &value) const |
| Applies a lookup for a specific position in this lookup object. More...
|
|
bool | bilinearValue (const TScalar x, const TScalar y, T &value) const |
| Applies a lookup for a specific position in this lookup object. More...
|
|
bool | bilinearValue (const TScalar x, const TScalar y, const unsigned int minimalValidBins, T &value) const |
| Applies a lookup for a specific position in this lookup object. More...
|
|
bool | clampedNearestValue (const TScalar x, const TScalar y, T &value) const |
| Applies a lookup for a specific position in this lookup object while the position is clamped to match into the domain of the lookup table. More...
|
|
bool | clampedBilinearValue (const TScalar x, const TScalar y, T &value) const |
| Applies a lookup for a specific position in this lookup object while the position is clamped to match into the domain of the lookup table. More...
|
|
void | setBinCenterValue (const size_t binX, const size_t binY, const T &value, const bool isValid) |
| Sets the value of one specific lookup bin's center and defines whether this bin is valid. More...
|
|
void | setBinCenterValid (const size_t binX, const size_t binY, const bool isValid) |
| Sets whether a specific lookup bin is valid. More...
|
|
AdvancedLookupCenter2< T, TScalar > & | operator= (AdvancedLookupCenter2< T, TScalar > &&lookup) noexcept |
| Move operator. More...
|
|
bool | operator== (const AdvancedLookupCenter2< T, TScalar > &lookup) const |
| Returns whether two lookup objects are identical. More...
|
|
bool | operator!= (const AdvancedLookupCenter2< T, TScalar > &lookup) const |
| Returns whether two lookup objects are not identical. More...
|
|
| LookupCenter2 ()=default |
| Creates a new empty lookup object. More...
|
|
| LookupCenter2 (const LookupCenter2< T, Scalar > &lookup) |
| Copy constructor. More...
|
|
| LookupCenter2 (LookupCenter2< T, Scalar > &&lookup) noexcept |
| Move constructor. More...
|
|
| LookupCenter2 (const size_t sizeX, const size_t sizeY, const size_t binsX, const size_t binsY) |
| Creates a new lookup object by definition of the dimensions and bin numbers. More...
|
|
| LookupCenter2 (const size_t sizeX, const size_t sizeY, const size_t binsX, const size_t binsY, const T *binValues) |
| Creates a new lookup object by definition of the dimensions and bin numbers. More...
|
|
| LookupCenter2 (const size_t sizeX, const size_t sizeY, const LookupCenter2< T, Scalar > &lookup) |
| Creates a new lookup object by definition of the dimensions and a given lookup object. More...
|
|
bool | isInside (const Scalar x, const Scalar y) const |
| Returns whether a given position lies inside this lookup object and therefore whether this position can be applied for the interpolation functions. More...
|
|
size_t | binX (const Scalar x) const |
| Returns the horizontal bin that corresponds to a precise horizontal lookup position. More...
|
|
size_t | binY (const Scalar y) const |
| Returns the vertical bin that corresponds to a precise vertical lookup position. More...
|
|
size_t | binTopLeftX (const size_t binX) const |
| Returns the horizontal top left position of a specified bin with pixel accuracy. More...
|
|
size_t | binTopLeftY (const size_t binY) const |
| Returns the vertical top left position of a specified bin with pixel accuracy. More...
|
|
size_t | binBottomRightX (const size_t binX) const |
| Returns the horizontal bottom right position (including) of a specified bin with pixel accuracy. More...
|
|
size_t | binBottomRightY (const size_t binY) const |
| Returns the vertical bottom right position of a specified bin with pixel accuracy. More...
|
|
Scalar | binCenterPositionX (const size_t binX) const |
| Returns the horizontal center position of a specific bin in relation to the dimension of this lookup object. More...
|
|
Scalar | binCenterPositionY (const size_t binY) const |
| Returns the vertical center position of a specific bin in relation to the dimension of this lookup object. More...
|
|
Vector2 | binCenterPosition (const size_t binX, const size_t binY) const |
| Returns the center position of a specific bin in relation to the dimension of this lookup object. More...
|
|
const T & | binCenterValue (const size_t binX, const size_t binY) const |
| Returns the lookup value of a specific bin's center of this lookup object. More...
|
|
T & | binCenterValue (const size_t binX, const size_t binY) |
| Returns the lookup value of a specific bin's center of this lookup object. More...
|
|
T | nearestValue (const Scalar x, const Scalar y) const |
| Applies a lookup for a specific position in this lookup object. More...
|
|
T | bilinearValue (const Scalar x, const Scalar y) const |
| Applies a lookup for a specific position in this lookup object. More...
|
|
T | bicubicValue (const Scalar x, const Scalar y) const |
| Applies a lookup for a specific position in this lookup object. More...
|
|
T | clampedNearestValue (const Scalar x, const Scalar y) const |
| Applies a lookup for a specific position in this lookup object while the position is clamped to match into the domain of the lookup table. More...
|
|
T | clampedBilinearValue (const Scalar x, const Scalar y) const |
| Applies a lookup for a specific position in this lookup object while the position is clamped to match into the domain of the lookup table. More...
|
|
T | clampedBicubicValue (const Scalar x, const Scalar y) const |
| Applies a lookup for a specific position in this lookup object while the position is clamped to match into the domain of the lookup table. More...
|
|
void | setBinCenterValue (const size_t binX, const size_t binY, const T &value) |
| Sets the value of one specific lookup bin's center. More...
|
|
LookupCenter2< T, Scalar > & | operator= (LookupCenter2< T, Scalar > &&lookup) noexcept |
| Move operator. More...
|
|
const T * | data () const |
| Returns a pointer to the constant bin data (row aligned). More...
|
|
T * | data () |
| Returns a pointer to the bin data (row aligned). More...
|
|
size_t | sizeX () const |
| Returns the horizontal dimension of this lookup object. More...
|
|
size_t | sizeY () const |
| Returns the vertical dimension of this lookup object. More...
|
|
size_t | binsX () const |
| Returns the number of horizontal bins of this lookup object. More...
|
|
size_t | binsY () const |
| Returns the number of vertical bins of this lookup object. More...
|
|
bool | isEmpty () const |
| Returns whether this lookup object does not hold any lookup bin. More...
|
|
| operator bool () const |
| Returns whether this lookup object holds at least one lookup bin. More...
|
|
bool | operator== (const Lookup2< T, Scalar > &lookup) const |
| Returns whether two lookup objects are identical. More...
|
|
bool | operator!= (const Lookup2< T, Scalar > &lookup) const |
| Returns whether two lookup objects are not identical. More...
|
|
template<typename T, typename TScalar = Scalar>
class Ocean::AdvancedLookupCenter2< T, TScalar >
This class implements an advanced 2D lookup object with values at the bins' center positions defining the individual lookup values.
Further, this lookup object allows to define valid and invalid bins.
Invalid bins are not used for value interpolation.
The lookup table with e.g., 4x2 bins may have the following layout:
--- --- --- ---
| x | ? | x | x |
--- --- --- ---
| ? | x | ? | x |
--- --- --- ---
With 'x' showing valid center values and '?' showing invalid/undefined center values.
Thus, the lookup table has 4 horizontal bins and 4 horizontal lookup values.
All lookup values are located inside the specified size of the lookup object.
The vertical positions are accordingly.
- Template Parameters
-
T | The data type of the stored lookup values |
TScalar | The data type of the scalar values, either 'float' or 'double' |
- See also
- LookupCorner2