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