|  | 
|  | 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: