|
| Vector ()=default |
| Default constructor. More...
|
|
constexpr | Vector (ZeroType) noexcept |
| Constructor that zero the vector out. More...
|
|
constexpr | Vector (T val) noexcept |
| Constructor that fills the vector with a value. More...
|
|
constexpr | Vector (const T *array) |
| Constructor that takes an array. More...
|
|
constexpr | Vector (T first, T second, T third, T fourth) noexcept |
| Constructor that takes 4 components. More...
|
|
| Vector (const Vector &other)=default |
| Default copy constructor. More...
|
|
template<typename U > |
| Vector (const Vector< U, 4 > &other) noexcept |
| Converting copy constructor. More...
|
|
constexpr T | operator[] (std::size_t i) const |
| Access to the \( i \)-th coordinate. More...
|
|
constexpr T & | operator[] (std::size_t i) |
| Access to the \( i \)-th coordinate. More...
|
|
T * | begin () |
| Iterator.to the first element. More...
|
|
T * | end () |
| Iterator to the element after the last one. More...
|
|
const T * | begin () const |
| Iterator.to the first element (const version). More...
|
|
const T * | end () const |
| Iterator on the element after the last one (const version). More...
|
|
const T * | cbegin () const |
| Iterator.on the first element (const version). More...
|
|
const T * | cend () const |
| Iterator on the element after the last one (const version). More...
|
|
constexpr void | zero () noexcept |
| Zero out the vector. More...
|
|
constexpr Vector< T, 2 > | xy () const |
| Swizzle to get the first two coordinates as a 2D vector. More...
|
|
constexpr Vector< T, 3 > | xyz () const |
| Swizzle to get the first three coordinates as a 3D vector. More...
|
|
constexpr Vector< T, 3 > | rgb () const |
| Swizzle to get the first three coordinates as a RGB color. More...
|
|
|
union gf::Vector< T, 4 >:: { ... } | |
|
union gf::Vector< T, 4 >:: { ... } | |
|
union gf::Vector< T, 4 >:: { ... } | |
|
union gf::Vector< T, 4 >:: { ... } | |
|
T | x |
| First coordinate in the (x,y,z,w) representation. More...
|
|
T | r |
| First coordinate in the (r,g,b,a) representation. More...
|
|
T | y |
| Second coordinate in the (x,y,z,w) representation. More...
|
|
T | g |
| Second coordinate in the (r,g,b,a) representation. More...
|
|
T | z |
| Third coordinate in the (x,y,z,w) representation. More...
|
|
T | b |
| Third coordinate in the (r,g,b,a) representation. More...
|
|
T | w |
| Fourth coordinate in the (x,y,z,w) representation. More...
|
|
T | a |
| Fourth coordinate in the (r,g,b,a) representation. More...
|
|
template<typename T>
struct gf::Vector< T, 4 >
A 4D vector.
This specialization of gf::Vector handles the 4-dimension spaces. It can be accessed with various representations:
- the
(x,y,z,w)
representation, used for generic coordinates in the 4D space
- the
(r,g,b,a)
representation, used for RGBA colors
Several common typedef are defined:
For colors, some additional typedef are defined:
Usage example: