|
HikoGUI
A low latency retained GUI
|
#include <ttauri/interval_vec2.hpp>
Public Member Functions | |
| interval_vec2 (interval_vec2 const &other) noexcept=default | |
| interval_vec2 (interval_vec2 &&other) noexcept=default | |
| interval_vec2 & | operator= (interval_vec2 const &other) noexcept=default |
| interval_vec2 & | operator= (interval_vec2 &&other) noexcept=default |
| interval_vec2 (f32x4 min, f32x4 max) noexcept | |
| interval_vec2 (finterval x, finterval y) noexcept | |
| interval_vec2 (f32x4 other) noexcept | |
| interval_vec2 (float x, float y) noexcept | |
| f32x4 | minimum () const noexcept |
| f32x4 | maximum () const noexcept |
| finterval | x () const noexcept |
| finterval | y () const noexcept |
| finterval | width () const noexcept |
| finterval | height () const noexcept |
| interval_vec2 | x0 () const noexcept |
| interval_vec2 | _0y () const noexcept |
| interval_vec2 & | operator+= (interval_vec2 const &rhs) noexcept |
| interval_vec2 & | operator-= (interval_vec2 const &rhs) noexcept |
Static Public Member Functions | |
| static interval_vec2 | make_minimum (f32x4 other) noexcept |
| static interval_vec2 | make_minimum (float x, float y) noexcept |
| static interval_vec2 | make_maximum (f32x4 other) noexcept |
| static interval_vec2 | make_maximum (float x, float y) noexcept |
| static interval_vec2 | make_zero_to_maximum (f32x4 other) noexcept |
| static interval_vec2 | make_zero_to_maximum (float x, float y) noexcept |
Friends | |
| interval_vec2 | operator+ (interval_vec2 const &lhs, interval_vec2 const &rhs) noexcept |
| interval_vec2 | operator- (interval_vec2 const &lhs, interval_vec2 const &rhs) noexcept |
| bool | operator== (interval_vec2 const &lhs, interval_vec2 const &rhs) noexcept |
| bool | operator<< (f32x4 const &lhs, interval_vec2 const &rhs) noexcept |
| Check if lhs.x or lhs.y is smaller then rhs.minimum. | |
| bool | operator>> (f32x4 const &lhs, interval_vec2 const &rhs) noexcept |
| Check if lhs.x or lhs.y is larger then rhs.maximum. | |
| std::string | to_string (interval_vec2 const &rhs) noexcept |
| std::ostream & | operator<< (std::ostream &lhs, interval_vec2 const &rhs) |
| interval_vec2 | intersect (interval_vec2 const &lhs, interval_vec2 const &rhs) noexcept |
| Intersect two intervals. | |
| interval_vec2 | merge (interval_vec2 const &lhs, interval_vec2 const &rhs) noexcept |
| Merge two intervals. | |
| interval_vec2 | min (interval_vec2 const &lhs, interval_vec2 const &rhs) noexcept |
| Get the maximum interval of both operants. | |
| interval_vec2 | max (interval_vec2 const &lhs, interval_vec2 const &rhs) noexcept |
| Get the minimum interval of both operants. | |
A 2D vector using interval arithmetic.
This class can be used to work calculate 2D minimum/maximum size.
For proper interval arithmetic the floating point rounding direction should be set to +infinity.
|
friend |
Intersect two intervals.
The returned interval only includes the part that overlap.
It is undefined behavior if the given intervals do not overlap.
|
friend |
Get the minimum interval of both operants.
|
friend |
Merge two intervals.
The returned interval includes both intervals fully.
|
friend |
Get the maximum interval of both operants.
|
friend |
Check if lhs.x or lhs.y is smaller then rhs.minimum.
|
friend |
Check if lhs.x or lhs.y is larger then rhs.maximum.