HikoGUI
A low latency retained GUI
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Friends
tt::interval_extent2 Class Reference

#include <ttauri/interval_extent2.hpp>

Public Member Functions

 interval_extent2 (interval_extent2 const &other) noexcept=default
 
 interval_extent2 (interval_extent2 &&other) noexcept=default
 
interval_extent2operator= (interval_extent2 const &other) noexcept=default
 
interval_extent2operator= (interval_extent2 &&other) noexcept=default
 
 interval_extent2 (extent2 min, extent2 max) noexcept
 
 interval_extent2 (finterval x, finterval y) noexcept
 
 interval_extent2 (extent2 other) noexcept
 
 interval_extent2 (float x, float y) noexcept
 
extent2 minimum () const noexcept
 
extent2 maximum () const noexcept
 
finterval width () const noexcept
 
finterval height () const noexcept
 
interval_extent2operator+= (interval_extent2 const &rhs) noexcept
 
interval_extent2operator-= (interval_extent2 const &rhs) noexcept
 

Static Public Member Functions

static interval_extent2 make_minimum (extent2 other) noexcept
 
static interval_extent2 make_minimum (float x, float y) noexcept
 
static interval_extent2 make_maximum (extent2 other) noexcept
 
static interval_extent2 make_maximum (float x, float y) noexcept
 
static interval_extent2 make_zero_to_maximum (extent2 other) noexcept
 
static interval_extent2 make_zero_to_maximum (float x, float y) noexcept
 

Friends

interval_extent2 operator+ (interval_extent2 const &lhs, interval_extent2 const &rhs) noexcept
 
interval_extent2 operator- (interval_extent2 const &lhs, interval_extent2 const &rhs) noexcept
 
bool operator== (interval_extent2 const &lhs, interval_extent2 const &rhs) noexcept
 
bool operator<< (extent2 const &lhs, interval_extent2 const &rhs) noexcept
 Check if lhs.x or lhs.y is smaller then rhs.minimum.
 
bool operator>> (extent2 const &lhs, interval_extent2 const &rhs) noexcept
 Check if lhs.x or lhs.y is larger then rhs.maximum.
 
std::string to_string (interval_extent2 const &rhs) noexcept
 
std::ostreamoperator<< (std::ostream &lhs, interval_extent2 const &rhs)
 
interval_extent2 intersect (interval_extent2 const &lhs, interval_extent2 const &rhs) noexcept
 Intersect two intervals.
 
interval_extent2 merge (interval_extent2 const &lhs, interval_extent2 const &rhs) noexcept
 Merge two intervals.
 
interval_extent2 min (interval_extent2 const &lhs, interval_extent2 const &rhs) noexcept
 Get the maximum interval of both operants.
 
interval_extent2 max (interval_extent2 const &lhs, interval_extent2 const &rhs) noexcept
 Get the minimum interval of both operants.
 

Detailed Description

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.

Friends And Related Symbol Documentation

◆ intersect

interval_extent2 intersect ( interval_extent2 const & lhs,
interval_extent2 const & rhs )
friend

Intersect two intervals.

The returned interval only includes the part that overlap.

It is undefined behavior if the given intervals do not overlap.

◆ max

interval_extent2 max ( interval_extent2 const & lhs,
interval_extent2 const & rhs )
friend

Get the minimum interval of both operants.

◆ merge

interval_extent2 merge ( interval_extent2 const & lhs,
interval_extent2 const & rhs )
friend

Merge two intervals.

The returned interval includes both intervals fully.

◆ min

interval_extent2 min ( interval_extent2 const & lhs,
interval_extent2 const & rhs )
friend

Get the maximum interval of both operants.

◆ operator<<

bool operator<< ( extent2 const & lhs,
interval_extent2 const & rhs )
friend

Check if lhs.x or lhs.y is smaller then rhs.minimum.

◆ operator>>

bool operator>> ( extent2 const & lhs,
interval_extent2 const & rhs )
friend

Check if lhs.x or lhs.y is larger then rhs.maximum.


The documentation for this class was generated from the following file: