neoGFX
Cross-platform C++ app/game engine
Loading...
Searching...
No Matches
neogfx::basic_rect< CoordinateType, CoordinateSystem > Class Template Reference

#include <geometrical.hpp>

Inheritance diagram for neogfx::basic_rect< CoordinateType, CoordinateSystem >:
neogfx::basic_point< CoordinateType > neogfx::basic_size< CoordinateType >

Public Types

typedef self_type abstract_type
 
typedef CoordinateType coordinate_type
 
typedef coordinate_type dimension_type
 
- Public Types inherited from neogfx::basic_point< CoordinateType >
typedef self_type abstract_type
 
typedef CoordinateType coordinate_type
 
- Public Types inherited from neogfx::basic_size< CoordinateType >
typedef self_type abstract_type
 
typedef CoordinateType coordinate_type
 
typedef CoordinateType dimension_type
 
typedef basic_delta< dimension_typedelta_type
 

Public Member Functions

 basic_rect ()
 
 basic_rect (const point_type &coordinates, const size_type &dimensions)
 
 basic_rect (const point_type &leftCorner, const point_type &rightCorner)
 
 basic_rect (const point_type &coordinates)
 
 basic_rect (const size_type &dimensions)
 
 basic_rect (coordinate_type x0, coordinate_type y0, coordinate_type x1, coordinate_type y1)
 
 basic_rect (const aabb_2d &aBoundingBox)
 
 basic_rect (const basic_box_areas< coordinate_type > &aBoxAreas)
 
template<typename CoordinateType2 , logical_coordinate_system CoordinateSystem2>
 basic_rect (const basic_rect< CoordinateType2, CoordinateSystem2 > &other)
 
template<typename CoordinateType2 , logical_coordinate_system CoordinateSystem2>
self_typeoperator= (const basic_rect< CoordinateType2, CoordinateSystem2 > &other)
 
self_typeoperator= (const point_type &coordinates)
 
self_typeoperator= (const size_type &dimensions)
 
basic_vector< basic_vector< coordinate_type, 2 >, 4 > to_vector () const
 
const point_typeposition () const
 
point_typeposition ()
 
const size_typeextents () const
 
size_typeextents ()
 
coordinate_type left () const
 
coordinate_type top () const
 
coordinate_type right () const
 
coordinate_type bottom () const
 
point_type top_left () const
 
point_type top_right () const
 
point_type bottom_left () const
 
point_type bottom_right () const
 
dimension_type width () const
 
dimension_type height () const
 
bool operator== (const basic_rect &other) const
 
bool operator!= (const basic_rect &other) const
 
self_typeoperator*= (const self_type &other)
 
self_typeoperator*= (const size_type &size)
 
self_typeoperator*= (dimension_type value)
 
self_typeoperator/= (const basic_rect &other)
 
self_typeoperator/= (const size_type &size)
 
self_typeoperator/= (dimension_type value)
 
bool contains_x (const point_type &point) const
 
bool contains_y (const point_type &point) const
 
bool contains (const point_type &point) const
 
bool contains (const self_type &other) const
 
point_type center () const
 
self_typetranslate (const point_type &aOffset)
 
self_type translated (const point_type &aOffset) const
 
self_typeindent (const point_type &aOffset)
 
self_typeinflate (const delta_type &delta)
 
self_typeinflate (const size_type &size)
 
self_typeinflate (const padding_type &padding)
 
self_typeinflate (coordinate_type dx, coordinate_type dy)
 
self_typeinflate (coordinate_type left, coordinate_type top, coordinate_type right, coordinate_type bottom)
 
template<typename... Args>
self_type inflated (Args &&... aArgs) const
 
self_typedeflate (const delta_type &delta)
 
self_typedeflate (const size_type &size)
 
self_typedeflate (const padding_type &padding)
 
self_typedeflate (coordinate_type dx, coordinate_type dy)
 
self_typedeflate (coordinate_type left, coordinate_type top, coordinate_type right, coordinate_type bottom)
 
template<typename... Args>
self_type deflated (Args &&... aArgs) const
 
self_type intersection (const self_type &other) const
 
bool intersects (const self_type &aOther) const
 
self_typecenter_on (const self_type &other)
 
self_type centered_on (const self_type other) const
 
self_typecombine (const self_type &other)
 
self_type combined (const self_type &other) const
 
self_type with_position (const point_type &p) const
 
self_type with_x (coordinate_type c) const
 
self_type with_y (coordinate_type c) const
 
self_type with_extents (const size_type &e) const
 
self_type with_cx (dimension_type d) const
 
self_type with_cy (dimension_type d) const
 
self_type with_centered_origin () const
 
self_type ceil () const
 
self_type floor () const
 
self_type round () const
 
self_type with_epsilon (const size_type &aEpsilon=default_epsilon) const
 
aabb_2d to_aabb_2d () const
 
basic_vector< coordinate_type, 4 > to_vec4 () const
 
quad to_quad () const
 
template<typename T >
std::enable_if_t<!std::is_same_v< T, coordinate_type >, basic_rect< T, CoordinateSystem > > as () const
 
template<typename T >
std::enable_if_t< std::is_same_v< T, coordinate_type >, self_type const & > as () const
 
- Public Member Functions inherited from neogfx::basic_point< CoordinateType >
constexpr basic_point ()
 
template<typename Scalar >
constexpr basic_point (const basic_vector< Scalar, 2 > &other)
 
template<typename Scalar >
constexpr basic_point (const basic_vector< Scalar, 3 > &other)
 
constexpr basic_point (CoordinateType x, CoordinateType y, CoordinateType z={})
 
template<typename CoordinateType2 >
constexpr basic_point (const basic_point< CoordinateType2 > &other)
 
constexpr basic_point (const basic_delta< CoordinateType > &other)
 
constexpr basic_point (const basic_size< CoordinateType > &other)
 
basic_delta< coordinate_typeto_delta () const
 
basic_size< coordinate_typeto_size () const
 
basic_vector< coordinate_type, 2 > to_vec2 () const
 
basic_vector< coordinate_type, 3 > to_vec3 () const
 
 operator basic_delta< coordinate_type > () const
 
 operator basic_size< coordinate_type > () const
 
auto operator<=> (const basic_point &) const =default
 
basic_pointoperator+= (const basic_point &other)
 
basic_pointoperator-= (const basic_point &other)
 
basic_pointoperator*= (const basic_point &other)
 
basic_pointoperator/= (const basic_point &other)
 
basic_pointoperator+= (coordinate_type amount)
 
basic_pointoperator-= (coordinate_type amount)
 
basic_pointoperator*= (coordinate_type amount)
 
basic_pointoperator/= (coordinate_type amount)
 
basic_pointoperator+= (const basic_delta< coordinate_type > &other)
 
basic_pointoperator-= (const basic_delta< coordinate_type > &other)
 
basic_pointoperator+= (const basic_size< coordinate_type > &other)
 
basic_pointoperator-= (const basic_size< coordinate_type > &other)
 
basic_point operator- () const
 
basic_point abs () const
 
basic_point ceil () const
 
basic_point floor () const
 
basic_point round () const
 
basic_point min (const basic_point &other) const
 
basic_point max (const basic_point &other) const
 
basic_point min_max (const basic_point &other) const
 
basic_point max_min (const basic_point &other) const
 
basic_point mid (const basic_point &other) const
 
basic_point with_x (coordinate_type x0) const
 
basic_point with_y (coordinate_type y0) const
 
basic_point with_z (coordinate_type z0) const
 
coordinate_type magnitude () const
 
template<typename T >
basic_point< T > as () const
 
- Public Member Functions inherited from neogfx::basic_size< CoordinateType >
constexpr basic_size ()
 
template<typename Scalar >
constexpr basic_size (const basic_vector< Scalar, 2 > &other)
 
template<typename Scalar >
constexpr basic_size (const basic_vector< Scalar, 3 > &other)
 
constexpr basic_size (dimension_type cx, dimension_type cy, dimension_type cz={})
 
constexpr basic_size (dimension_type aSquareDimension)
 
template<typename CoordinateType2 >
constexpr basic_size (const basic_size< CoordinateType2 > &other)
 
constexpr basic_size (const basic_delta< CoordinateType > &other)
 
basic_vector< dimension_type, 2 > to_vec2 () const
 
basic_vector< dimension_type, 3 > to_vec3 () const
 
basic_vector< dimension_type, 2 > to_vec2_inf () const
 
basic_vector< dimension_type, 3 > to_vec3_inf () const
 
delta_type to_delta () const
 
bool empty () const
 
auto operator<=> (const basic_size &) const =default
 
basic_size operator- () const
 
basic_sizeoperator+= (const basic_size &other)
 
basic_sizeoperator+= (const basic_delta< CoordinateType > &other)
 
basic_sizeoperator+= (dimension_type amount)
 
basic_sizeoperator-= (const basic_size &other)
 
basic_sizeoperator-= (const basic_delta< CoordinateType > &other)
 
basic_sizeoperator-= (dimension_type amount)
 
basic_sizeoperator*= (const basic_size &other)
 
basic_sizeoperator*= (dimension_type amount)
 
basic_sizeoperator/= (const basic_size &other)
 
basic_sizeoperator/= (dimension_type amount)
 
basic_size ceil () const
 
basic_size floor () const
 
basic_size round () const
 
basic_size min (const basic_size &other) const
 
basic_size max (const basic_size &other) const
 
bool less_than (const basic_size &other) const
 
bool less_than_or_equal (const basic_size &other) const
 
bool greater_than (const basic_size &other) const
 
bool greater_than_or_equal (const basic_size &other) const
 
dimension_type magnitude () const
 
basic_size with_cx (dimension_type d) const
 
basic_size with_cy (dimension_type d) const
 
basic_size with_cz (dimension_type d) const
 
basic_size aspect_ratio () const
 
basic_size with_aspect_ratio_min (const basic_size &aspectRatio) const
 
basic_size with_aspect_ratio_max (const basic_size &aspectRatio) const
 
template<typename T >
basic_size< T > as () const
 
bool cx_inf () const
 
bool cy_inf () const
 
bool cz_inf () const
 

Public Attributes

size_type epsilon = size_type{ zero }
 
- Public Attributes inherited from neogfx::basic_point< CoordinateType >
coordinate_type x
 
coordinate_type y
 
coordinate_type z
 
- Public Attributes inherited from neogfx::basic_size< CoordinateType >
dimension_type cx
 
dimension_type cy
 
dimension_type cz
 

Static Public Attributes

static constexpr bool gui = is_gui<CoordinateSystem>::value
 
static constexpr bool game = is_game<CoordinateSystem>::value
 
static constexpr coordinate_type zero = constants::zero<coordinate_type>
 
static constexpr coordinate_type one = constants::one<coordinate_type>
 
static constexpr coordinate_type two = constants::two<coordinate_type>
 
static constexpr coordinate_type default_epsilon = static_cast<coordinate_type>(0.00001)
 

Friends

template<typename... T>
self_type inflate_rect (const self_type &aRect, T &&... aAmount)
 
template<typename... T>
self_type deflate_rect (const self_type &aRect, T &&... aAmount)
 

Additional Inherited Members

- Static Public Member Functions inherited from neogfx::basic_size< CoordinateType >
static constexpr dimension_type max_dimension ()
 
static constexpr basic_size max_size ()
 

Detailed Description

template<typename CoordinateType, logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
class neogfx::basic_rect< CoordinateType, CoordinateSystem >

Definition at line 758 of file geometrical.hpp.

Member Typedef Documentation

◆ abstract_type

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
typedef self_type neogfx::basic_rect< CoordinateType, CoordinateSystem >::abstract_type

Definition at line 765 of file geometrical.hpp.

◆ coordinate_type

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
typedef CoordinateType neogfx::basic_rect< CoordinateType, CoordinateSystem >::coordinate_type

Definition at line 766 of file geometrical.hpp.

◆ dimension_type

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
typedef coordinate_type neogfx::basic_rect< CoordinateType, CoordinateSystem >::dimension_type

Definition at line 767 of file geometrical.hpp.

Constructor & Destructor Documentation

◆ basic_rect() [1/9]

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
neogfx::basic_rect< CoordinateType, CoordinateSystem >::basic_rect ( )
inline

Definition at line 790 of file geometrical.hpp.

◆ basic_rect() [2/9]

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
neogfx::basic_rect< CoordinateType, CoordinateSystem >::basic_rect ( const point_type coordinates,
const size_type dimensions 
)
inline

Definition at line 791 of file geometrical.hpp.

◆ basic_rect() [3/9]

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
neogfx::basic_rect< CoordinateType, CoordinateSystem >::basic_rect ( const point_type leftCorner,
const point_type rightCorner 
)
inline

Definition at line 792 of file geometrical.hpp.

◆ basic_rect() [4/9]

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
neogfx::basic_rect< CoordinateType, CoordinateSystem >::basic_rect ( const point_type coordinates)
inlineexplicit

Definition at line 793 of file geometrical.hpp.

◆ basic_rect() [5/9]

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
neogfx::basic_rect< CoordinateType, CoordinateSystem >::basic_rect ( const size_type dimensions)
inlineexplicit

Definition at line 794 of file geometrical.hpp.

◆ basic_rect() [6/9]

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
neogfx::basic_rect< CoordinateType, CoordinateSystem >::basic_rect ( coordinate_type  x0,
coordinate_type  y0,
coordinate_type  x1,
coordinate_type  y1 
)
inline

Definition at line 795 of file geometrical.hpp.

◆ basic_rect() [7/9]

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
neogfx::basic_rect< CoordinateType, CoordinateSystem >::basic_rect ( const aabb_2d aBoundingBox)
inline

Definition at line 796 of file geometrical.hpp.

◆ basic_rect() [8/9]

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
neogfx::basic_rect< CoordinateType, CoordinateSystem >::basic_rect ( const basic_box_areas< coordinate_type > &  aBoxAreas)
inline

Definition at line 797 of file geometrical.hpp.

◆ basic_rect() [9/9]

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
template<typename CoordinateType2 , logical_coordinate_system CoordinateSystem2>
neogfx::basic_rect< CoordinateType, CoordinateSystem >::basic_rect ( const basic_rect< CoordinateType2, CoordinateSystem2 > &  other)
inline

Definition at line 800 of file geometrical.hpp.

Member Function Documentation

◆ as() [1/2]

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
template<typename T >
std::enable_if_t<!std::is_same_v< T, coordinate_type >, basic_rect< T, CoordinateSystem > > neogfx::basic_rect< CoordinateType, CoordinateSystem >::as ( ) const
inline

Definition at line 1011 of file geometrical.hpp.

◆ as() [2/2]

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
template<typename T >
std::enable_if_t< std::is_same_v< T, coordinate_type >, self_type const & > neogfx::basic_rect< CoordinateType, CoordinateSystem >::as ( ) const
inline

Definition at line 1016 of file geometrical.hpp.

◆ bottom()

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
coordinate_type neogfx::basic_rect< CoordinateType, CoordinateSystem >::bottom ( ) const
inline

Definition at line 823 of file geometrical.hpp.

◆ bottom_left()

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
point_type neogfx::basic_rect< CoordinateType, CoordinateSystem >::bottom_left ( ) const
inline

Definition at line 826 of file geometrical.hpp.

◆ bottom_right()

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
point_type neogfx::basic_rect< CoordinateType, CoordinateSystem >::bottom_right ( ) const
inline

Definition at line 827 of file geometrical.hpp.

◆ ceil()

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
self_type neogfx::basic_rect< CoordinateType, CoordinateSystem >::ceil ( ) const
inline

Definition at line 985 of file geometrical.hpp.

◆ center()

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
point_type neogfx::basic_rect< CoordinateType, CoordinateSystem >::center ( ) const
inline

Definition at line 848 of file geometrical.hpp.

◆ center_on()

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
self_type & neogfx::basic_rect< CoordinateType, CoordinateSystem >::center_on ( const self_type other)
inline

Definition at line 920 of file geometrical.hpp.

◆ centered_on()

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
self_type neogfx::basic_rect< CoordinateType, CoordinateSystem >::centered_on ( const self_type  other) const
inline

Definition at line 925 of file geometrical.hpp.

◆ combine()

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
self_type & neogfx::basic_rect< CoordinateType, CoordinateSystem >::combine ( const self_type other)
inline

Definition at line 931 of file geometrical.hpp.

◆ combined()

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
self_type neogfx::basic_rect< CoordinateType, CoordinateSystem >::combined ( const self_type other) const
inline

Definition at line 936 of file geometrical.hpp.

◆ contains() [1/2]

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
bool neogfx::basic_rect< CoordinateType, CoordinateSystem >::contains ( const point_type point) const
inline

Definition at line 840 of file geometrical.hpp.

◆ contains() [2/2]

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
bool neogfx::basic_rect< CoordinateType, CoordinateSystem >::contains ( const self_type other) const
inline

Definition at line 841 of file geometrical.hpp.

◆ contains_x()

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
bool neogfx::basic_rect< CoordinateType, CoordinateSystem >::contains_x ( const point_type point) const
inline

Definition at line 838 of file geometrical.hpp.

◆ contains_y()

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
bool neogfx::basic_rect< CoordinateType, CoordinateSystem >::contains_y ( const point_type point) const
inline

Definition at line 839 of file geometrical.hpp.

◆ deflate() [1/5]

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
self_type & neogfx::basic_rect< CoordinateType, CoordinateSystem >::deflate ( const delta_type delta)
inline

Definition at line 870 of file geometrical.hpp.

◆ deflate() [2/5]

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
self_type & neogfx::basic_rect< CoordinateType, CoordinateSystem >::deflate ( const padding_type &  padding)
inline

Definition at line 872 of file geometrical.hpp.

◆ deflate() [3/5]

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
self_type & neogfx::basic_rect< CoordinateType, CoordinateSystem >::deflate ( const size_type size)
inline

Definition at line 871 of file geometrical.hpp.

◆ deflate() [4/5]

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
self_type & neogfx::basic_rect< CoordinateType, CoordinateSystem >::deflate ( coordinate_type  dx,
coordinate_type  dy 
)
inline

Definition at line 873 of file geometrical.hpp.

◆ deflate() [5/5]

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
self_type & neogfx::basic_rect< CoordinateType, CoordinateSystem >::deflate ( coordinate_type  left,
coordinate_type  top,
coordinate_type  right,
coordinate_type  bottom 
)
inline

Definition at line 874 of file geometrical.hpp.

◆ deflated()

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
template<typename... Args>
self_type neogfx::basic_rect< CoordinateType, CoordinateSystem >::deflated ( Args &&...  aArgs) const
inline

Definition at line 876 of file geometrical.hpp.

◆ extents() [1/2]

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
size_type & neogfx::basic_rect< CoordinateType, CoordinateSystem >::extents ( )
inline

Definition at line 819 of file geometrical.hpp.

◆ extents() [2/2]

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
const size_type & neogfx::basic_rect< CoordinateType, CoordinateSystem >::extents ( ) const
inline

Definition at line 818 of file geometrical.hpp.

◆ floor()

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
self_type neogfx::basic_rect< CoordinateType, CoordinateSystem >::floor ( ) const
inline

Definition at line 986 of file geometrical.hpp.

◆ height()

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
dimension_type neogfx::basic_rect< CoordinateType, CoordinateSystem >::height ( ) const
inline

Definition at line 829 of file geometrical.hpp.

◆ indent()

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
self_type & neogfx::basic_rect< CoordinateType, CoordinateSystem >::indent ( const point_type aOffset)
inline

Definition at line 857 of file geometrical.hpp.

◆ inflate() [1/5]

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
self_type & neogfx::basic_rect< CoordinateType, CoordinateSystem >::inflate ( const delta_type delta)
inline

Definition at line 858 of file geometrical.hpp.

◆ inflate() [2/5]

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
self_type & neogfx::basic_rect< CoordinateType, CoordinateSystem >::inflate ( const padding_type &  padding)
inline

Definition at line 860 of file geometrical.hpp.

◆ inflate() [3/5]

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
self_type & neogfx::basic_rect< CoordinateType, CoordinateSystem >::inflate ( const size_type size)
inline

Definition at line 859 of file geometrical.hpp.

◆ inflate() [4/5]

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
self_type & neogfx::basic_rect< CoordinateType, CoordinateSystem >::inflate ( coordinate_type  dx,
coordinate_type  dy 
)
inline

Definition at line 861 of file geometrical.hpp.

◆ inflate() [5/5]

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
self_type & neogfx::basic_rect< CoordinateType, CoordinateSystem >::inflate ( coordinate_type  left,
coordinate_type  top,
coordinate_type  right,
coordinate_type  bottom 
)
inline

Definition at line 862 of file geometrical.hpp.

◆ inflated()

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
template<typename... Args>
self_type neogfx::basic_rect< CoordinateType, CoordinateSystem >::inflated ( Args &&...  aArgs) const
inline

Definition at line 864 of file geometrical.hpp.

◆ intersection()

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
self_type neogfx::basic_rect< CoordinateType, CoordinateSystem >::intersection ( const self_type other) const
inline

Definition at line 896 of file geometrical.hpp.

◆ intersects()

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
bool neogfx::basic_rect< CoordinateType, CoordinateSystem >::intersects ( const self_type aOther) const
inline

Definition at line 915 of file geometrical.hpp.

◆ left()

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
coordinate_type neogfx::basic_rect< CoordinateType, CoordinateSystem >::left ( ) const
inline

Definition at line 820 of file geometrical.hpp.

◆ operator!=()

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
bool neogfx::basic_rect< CoordinateType, CoordinateSystem >::operator!= ( const basic_rect< CoordinateType, CoordinateSystem > &  other) const
inline

Definition at line 831 of file geometrical.hpp.

◆ operator*=() [1/3]

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
self_type & neogfx::basic_rect< CoordinateType, CoordinateSystem >::operator*= ( const self_type other)
inline

Definition at line 832 of file geometrical.hpp.

◆ operator*=() [2/3]

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
self_type & neogfx::basic_rect< CoordinateType, CoordinateSystem >::operator*= ( const size_type size)
inline

Definition at line 833 of file geometrical.hpp.

◆ operator*=() [3/3]

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
self_type & neogfx::basic_rect< CoordinateType, CoordinateSystem >::operator*= ( dimension_type  value)
inline

Definition at line 834 of file geometrical.hpp.

◆ operator/=() [1/3]

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
self_type & neogfx::basic_rect< CoordinateType, CoordinateSystem >::operator/= ( const basic_rect< CoordinateType, CoordinateSystem > &  other)
inline

Definition at line 835 of file geometrical.hpp.

◆ operator/=() [2/3]

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
self_type & neogfx::basic_rect< CoordinateType, CoordinateSystem >::operator/= ( const size_type size)
inline

Definition at line 836 of file geometrical.hpp.

◆ operator/=() [3/3]

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
self_type & neogfx::basic_rect< CoordinateType, CoordinateSystem >::operator/= ( dimension_type  value)
inline

Definition at line 837 of file geometrical.hpp.

◆ operator=() [1/3]

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
template<typename CoordinateType2 , logical_coordinate_system CoordinateSystem2>
self_type & neogfx::basic_rect< CoordinateType, CoordinateSystem >::operator= ( const basic_rect< CoordinateType2, CoordinateSystem2 > &  other)
inline

Definition at line 804 of file geometrical.hpp.

◆ operator=() [2/3]

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
self_type & neogfx::basic_rect< CoordinateType, CoordinateSystem >::operator= ( const point_type coordinates)
inline

Definition at line 805 of file geometrical.hpp.

◆ operator=() [3/3]

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
self_type & neogfx::basic_rect< CoordinateType, CoordinateSystem >::operator= ( const size_type dimensions)
inline

Definition at line 806 of file geometrical.hpp.

◆ operator==()

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
bool neogfx::basic_rect< CoordinateType, CoordinateSystem >::operator== ( const basic_rect< CoordinateType, CoordinateSystem > &  other) const
inline

Definition at line 830 of file geometrical.hpp.

◆ position() [1/2]

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
point_type & neogfx::basic_rect< CoordinateType, CoordinateSystem >::position ( )
inline

Definition at line 817 of file geometrical.hpp.

◆ position() [2/2]

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
const point_type & neogfx::basic_rect< CoordinateType, CoordinateSystem >::position ( ) const
inline

Definition at line 816 of file geometrical.hpp.

◆ right()

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
coordinate_type neogfx::basic_rect< CoordinateType, CoordinateSystem >::right ( ) const
inline

Definition at line 822 of file geometrical.hpp.

◆ round()

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
self_type neogfx::basic_rect< CoordinateType, CoordinateSystem >::round ( ) const
inline

Definition at line 987 of file geometrical.hpp.

◆ to_aabb_2d()

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
aabb_2d neogfx::basic_rect< CoordinateType, CoordinateSystem >::to_aabb_2d ( ) const
inline

Definition at line 994 of file geometrical.hpp.

◆ to_quad()

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
quad neogfx::basic_rect< CoordinateType, CoordinateSystem >::to_quad ( ) const
inline

Definition at line 1005 of file geometrical.hpp.

◆ to_vec4()

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
basic_vector< coordinate_type, 4 > neogfx::basic_rect< CoordinateType, CoordinateSystem >::to_vec4 ( ) const
inline

Definition at line 1001 of file geometrical.hpp.

◆ to_vector()

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
basic_vector< basic_vector< coordinate_type, 2 >, 4 > neogfx::basic_rect< CoordinateType, CoordinateSystem >::to_vector ( ) const
inline

Definition at line 809 of file geometrical.hpp.

◆ top()

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
coordinate_type neogfx::basic_rect< CoordinateType, CoordinateSystem >::top ( ) const
inline

Definition at line 821 of file geometrical.hpp.

◆ top_left()

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
point_type neogfx::basic_rect< CoordinateType, CoordinateSystem >::top_left ( ) const
inline

Definition at line 824 of file geometrical.hpp.

◆ top_right()

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
point_type neogfx::basic_rect< CoordinateType, CoordinateSystem >::top_right ( ) const
inline

Definition at line 825 of file geometrical.hpp.

◆ translate()

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
self_type & neogfx::basic_rect< CoordinateType, CoordinateSystem >::translate ( const point_type aOffset)
inline

Definition at line 855 of file geometrical.hpp.

◆ translated()

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
self_type neogfx::basic_rect< CoordinateType, CoordinateSystem >::translated ( const point_type aOffset) const
inline

Definition at line 856 of file geometrical.hpp.

◆ width()

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
dimension_type neogfx::basic_rect< CoordinateType, CoordinateSystem >::width ( ) const
inline

Definition at line 828 of file geometrical.hpp.

◆ with_centered_origin()

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
self_type neogfx::basic_rect< CoordinateType, CoordinateSystem >::with_centered_origin ( ) const
inline

Definition at line 981 of file geometrical.hpp.

◆ with_cx()

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
self_type neogfx::basic_rect< CoordinateType, CoordinateSystem >::with_cx ( dimension_type  d) const
inline

Definition at line 969 of file geometrical.hpp.

◆ with_cy()

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
self_type neogfx::basic_rect< CoordinateType, CoordinateSystem >::with_cy ( dimension_type  d) const
inline

Definition at line 975 of file geometrical.hpp.

◆ with_epsilon()

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
self_type neogfx::basic_rect< CoordinateType, CoordinateSystem >::with_epsilon ( const size_type aEpsilon = default_epsilon) const
inline

Definition at line 988 of file geometrical.hpp.

◆ with_extents()

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
self_type neogfx::basic_rect< CoordinateType, CoordinateSystem >::with_extents ( const size_type e) const
inline

Definition at line 962 of file geometrical.hpp.

◆ with_position()

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
self_type neogfx::basic_rect< CoordinateType, CoordinateSystem >::with_position ( const point_type p) const
inline

Definition at line 943 of file geometrical.hpp.

◆ with_x()

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
self_type neogfx::basic_rect< CoordinateType, CoordinateSystem >::with_x ( coordinate_type  c) const
inline

Definition at line 950 of file geometrical.hpp.

◆ with_y()

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
self_type neogfx::basic_rect< CoordinateType, CoordinateSystem >::with_y ( coordinate_type  c) const
inline

Definition at line 956 of file geometrical.hpp.

Friends And Related Symbol Documentation

◆ deflate_rect

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
template<typename... T>
self_type deflate_rect ( const self_type aRect,
T &&...  aAmount 
)
friend

Definition at line 890 of file geometrical.hpp.

◆ inflate_rect

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
template<typename... T>
self_type inflate_rect ( const self_type aRect,
T &&...  aAmount 
)
friend

Definition at line 883 of file geometrical.hpp.

Member Data Documentation

◆ default_epsilon

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
constexpr coordinate_type neogfx::basic_rect< CoordinateType, CoordinateSystem >::default_epsilon = static_cast<coordinate_type>(0.00001)
staticconstexpr

Definition at line 787 of file geometrical.hpp.

◆ epsilon

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
size_type neogfx::basic_rect< CoordinateType, CoordinateSystem >::epsilon = size_type{ zero }

Definition at line 1021 of file geometrical.hpp.

◆ game

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
constexpr bool neogfx::basic_rect< CoordinateType, CoordinateSystem >::game = is_game<CoordinateSystem>::value
staticconstexpr

Definition at line 783 of file geometrical.hpp.

◆ gui

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
constexpr bool neogfx::basic_rect< CoordinateType, CoordinateSystem >::gui = is_gui<CoordinateSystem>::value
staticconstexpr

Definition at line 782 of file geometrical.hpp.

◆ one

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
constexpr coordinate_type neogfx::basic_rect< CoordinateType, CoordinateSystem >::one = constants::one<coordinate_type>
staticconstexpr

Definition at line 785 of file geometrical.hpp.

◆ two

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
constexpr coordinate_type neogfx::basic_rect< CoordinateType, CoordinateSystem >::two = constants::two<coordinate_type>
staticconstexpr

Definition at line 786 of file geometrical.hpp.

◆ zero

template<typename CoordinateType , logical_coordinate_system CoordinateSystem = logical_coordinate_system::AutomaticGui>
constexpr coordinate_type neogfx::basic_rect< CoordinateType, CoordinateSystem >::zero = constants::zero<coordinate_type>
staticconstexpr

Definition at line 784 of file geometrical.hpp.


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