4.6.0
Freundlich's C++ toolkit
|
Contains fcppt::math::box::object box::object and helper functions, classes and types for it. More...
Classes | |
struct | has_dim |
Metafunction to check the dimension of a box. More... | |
struct | has_dim< fcppt::math::box::object< T, N >, Dim > |
struct | is_box |
Metafunction to test if a type is a box type. More... | |
struct | is_box< fcppt::math::box::object< T, N > > |
class | object |
A class representing axis aligned boxes, cubes, hypercubes, ... More... | |
Typedefs | |
template<typename T > | |
using | rect = fcppt::math::box::object<T, 2> |
Typedefs a two dimensional box (a rect) | |
Functions | |
template<typename T , fcppt::math::size_type N> | |
fcppt::math::box::object< T, N >::vector | center (fcppt::math::box::object< T, N > const &_box) |
Returns the center of the box. | |
template<typename T , fcppt::math::size_type N> | |
bool | operator== (fcppt::math::box::object< T, N > const &_a, fcppt::math::box::object< T, N > const &_b) |
Compare two boxes componentwise using value_type 's operator== | |
template<typename T , fcppt::math::size_type N> | |
bool | operator!= (fcppt::math::box::object< T, N > const &_a, fcppt::math::box::object< T, N > const &_b) |
Compare two boxes componentwise using value_type 's operator!= | |
template<typename T , fcppt::math::size_type N> | |
bool | componentwise_equal (fcppt::math::box::object< T, N > const &_v1, fcppt::math::box::object< T, N > const &_v2, T const _epsilon) |
Compare two boxes component-wise using an epsilon. | |
template<typename T , fcppt::math::size_type N> | |
bool | contains (fcppt::math::box::object< T, N > const &_outer, fcppt::math::box::object< T, N > const &_inner) |
Test if one box is completely inside another box. | |
template<typename T , typename S , fcppt::math::size_type N> | |
bool | contains_point (fcppt::math::box::object< T, N > const &_box, fcppt::math::vector::object< T, N, S > const &_point) |
Test if a box contains a point. | |
template<typename T , fcppt::math::size_type N> | |
fcppt::array::object< fcppt::math::vector::static_< T, N >, fcppt::math::power_of_2< std::size_t >(N)> | corner_points (fcppt::math::box::object< T, N > const &_box) |
Returns the 2^N corner points (vertices) of the given box. | |
template<typename T , fcppt::math::size_type N> | |
fcppt::math::vector::static_< T, N > | distance (fcppt::math::box::object< T, N > const &_box1, fcppt::math::box::object< T, N > const &_box2) |
Calculates the interval distance between all box dimensions. | |
template<typename T , fcppt::math::size_type N> | |
fcppt::math::box::object< T, N > | extend_bounding_box (fcppt::math::box::object< T, N > const _box, typename fcppt::math::box::object< T, N >::vector const _pos) |
Extend a box to fit a point in it. | |
template<typename T , fcppt::math::size_type N> | |
fcppt::math::box::object< T, N > | extend_bounding_box (fcppt::math::box::object< T, N > const &_box1, fcppt::math::box::object< T, N > const &_box2) |
Take the bounding box of two boxes. | |
template<typename Box , typename Function > | |
Box | init_dim (Function const &_function) |
Initializes a box from pairs of positions and sizes. | |
template<typename Box , typename Function > | |
Box | init_max (Function const &_function) |
Initializes a box from pairs of min and max positions. | |
template<typename T , fcppt::math::size_type N> | |
fcppt::math::box::object< T, N > | intersection (fcppt::math::box::object< T, N > const &_a, fcppt::math::box::object< T, N > const &_b) |
Calculates the intersection of two boxes (which is, again, a box) | |
template<typename T , fcppt::math::size_type N> | |
bool | intersects (fcppt::math::box::object< T, N > const &_a, fcppt::math::box::object< T, N > const &_b) |
Tests if two boxes intersect. | |
template<fcppt::math::size_type Index, typename T , fcppt::math::size_type N> | |
fcppt::tuple::object< T, T > | interval (fcppt::math::box::object< T, N > const &_box) |
Creates an interval from a box. | |
template<typename Box > | |
Box | null () |
Returns the null box. | |
template<typename T , fcppt::math::size_type N, typename Ch , typename Traits > | |
std::basic_ostream< Ch, Traits > & | operator<< (std::basic_ostream< Ch, Traits > &_stream, fcppt::math::box::object< T, N > const &_box) |
Outputs a box to a basic_ostream. | |
template<typename T , fcppt::math::size_type N> | |
fcppt::math::box::object< T, N > | shrink (fcppt::math::box::object< T, N > const &_box, typename fcppt::math::box::object< T, N >::vector const &_absolute_values) |
Shrink a box towards its center using an absolute value. | |
template<typename T , fcppt::math::size_type N> | |
fcppt::math::box::object< T, N > | stretch_absolute (fcppt::math::box::object< T, N > const &_box, typename fcppt::math::box::object< T, N >::vector const &_absolute_values) |
Stretch a box around its center using an absolute value. | |
template<typename T , fcppt::math::size_type N> | |
fcppt::math::box::object< T, N > | stretch_relative (fcppt::math::box::object< T, N > const &_box, typename fcppt::math::box::object< T, N >::vector const &_factors) |
Stretch a box around its center by a given factor. | |
template<typename Dest , typename Conv , typename T , fcppt::math::size_type N> | |
Dest | structure_cast (fcppt::math::box::object< T, N > const &_src) |
Converts a box into a different box of the same dimension using Conv. | |
Contains fcppt::math::box::object box::object and helper functions, classes and types for it.