|
|
constexpr | extent3 (extent3 const &) noexcept=default |
| |
|
constexpr | extent3 (extent3 &&) noexcept=default |
| |
|
constexpr extent3 & | operator= (extent3 const &) noexcept=default |
| |
|
constexpr extent3 & | operator= (extent3 &&) noexcept=default |
| |
| constexpr | extent3 (extent2 const &other) noexcept |
| | Construct a extent from a lower dimension extent.
|
| |
|
constexpr | operator extent2 () const noexcept |
| |
| constexpr | operator array_type () const noexcept |
| | Convert a extent to its array_type-nummeric_array.
|
| |
|
constexpr | extent3 (array_type const &other) noexcept |
| |
|
constexpr | operator bool () const noexcept |
| |
|
constexpr | operator vector3 () const noexcept |
| |
| constexpr | extent3 () noexcept |
| | Construct a empty extent / zero length.
|
| |
| constexpr | extent3 (float width, float height, float depth=0.0f) noexcept |
| | Construct a 3D extent from width, height and depth.
|
| |
| constexpr float & | width () noexcept |
| | Access the x-as-width element from the extent.
|
| |
| constexpr float & | height () noexcept |
| | Access the y-as-height element from the extent.
|
| |
| constexpr float & | depth () noexcept |
| | Access the z-as-depth element from the extent.
|
| |
| constexpr float | width () const noexcept |
| | Access the x-as-width element from the extent.
|
| |
| constexpr float | height () const noexcept |
| | Access the y-as-height element from the extent.
|
| |
| constexpr float | depth () const noexcept |
| | Access the z-as-depth element from the extent.
|
| |
|
constexpr vector3 | right () const noexcept |
| |
|
constexpr vector3 | up () const noexcept |
| |
|
constexpr extent3 & | operator+= (extent3 const &rhs) noexcept |
| |
| constexpr bool | holds_invariant () const noexcept |
| | Check if the extent is valid.
|
| |
|
| constexpr friend extent3 | operator+ (extent3 const &lhs, extent3 const &rhs) noexcept |
| | Add two extents from each other.
|
| |
| constexpr friend extent3 | operator- (extent3 const &lhs, extent3 const &rhs) noexcept |
| | Subtract two extents from each other.
|
| |
| constexpr friend extent3 | operator* (extent3 const &lhs, float const &rhs) noexcept |
| | Scale the extent by a scaler.
|
| |
|
constexpr friend extent3 | operator+ (extent3 const &lhs, vector2 const &rhs) noexcept |
| |
|
constexpr friend extent3 | operator+ (extent3 const &lhs, vector3 const &rhs) noexcept |
| |
|
constexpr friend vector3 | operator+ (vector3 const &lhs, extent3 const &rhs) noexcept |
| |
| constexpr friend extent3 | operator+ (extent3 const &lhs, float const &rhs) noexcept |
| | Add a scaler to the extent.
|
| |
| constexpr friend extent3 | operator* (float const &lhs, extent3 const &rhs) noexcept |
| | Scale the extent by a scaler.
|
| |
| constexpr friend bool | operator== (extent3 const &lhs, extent3 const &rhs) noexcept |
| | Compare if two extents are equal.
|
| |
|
constexpr friend std::partial_ordering | operator<=> (extent3 const &lhs, extent3 const &rhs) noexcept |
| |
| hi_force_inline constexpr friend float | squared_hypot (extent3 const &rhs) noexcept |
| | Get the squared length of the extent.
|
| |
| float | hypot (extent3 const &rhs) noexcept |
| | Get the length of the extent.
|
| |
| constexpr friend float | rcp_hypot (extent3 const &rhs) noexcept |
| | Get the length of the extent.
|
| |
| constexpr friend extent3 | normalize (extent3 const &rhs) noexcept |
| | Normalize a extent to a unit extent.
|
| |
|
constexpr friend extent3 | ceil (extent3 const &rhs) noexcept |
| |
|
constexpr friend extent3 | floor (extent3 const &rhs) noexcept |
| |
|
constexpr friend extent3 | round (extent3 const &rhs) noexcept |
| |
|
constexpr friend extent3 | min (extent3 const &lhs, extent3 const &rhs) noexcept |
| |
|
constexpr friend extent3 | max (extent3 const &lhs, extent3 const &rhs) noexcept |
| |
|
constexpr friend extent3 | clamp (extent3 const &value, extent3 const &min, extent3 const &max) noexcept |
| |
|
std::string | to_string (extent3 const &rhs) noexcept |
| |
|
std::ostream & | operator<< (std::ostream &lhs, extent3 const &rhs) noexcept |
| |
A high-level geometric extent.
A extent, for both 2D or 3D is internally represented as a 4D homogeneous extent. Which can be efficiently implemented as a __m128 SSE register.