![]()  | 
  
    Gamedev Framework (gf)
    0.9.0
    
   A C++14 framework for 2D games 
   | 
 
A 3D vector. More...
#include <gf/Vector.h>
Public Member Functions | |
| 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) noexcept | 
| Constructor that takes 3 components.  More... | |
| constexpr | Vector (Vector< T, 2 > xy, T third) | 
| Constructor that takes a 2D vector and a z component.  More... | |
| Vector (const Vector &other)=default | |
| Default copy constructor.  More... | |
| template<typename U > | |
| Vector (const Vector< U, 3 > &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... | |
Public Attributes | |
| union gf::Vector< T, 3 >:: { ... } | |
| union gf::Vector< T, 3 >:: { ... } | |
| union gf::Vector< T, 3 >:: { ... } | |
| T | x | 
First coordinate in the (x,y,z) representation.  More... | |
| T | r | 
First coordinate in the (r,g,b) representation.  More... | |
| T | y | 
Second coordinate in the (x,y,z) representation.  More... | |
| T | g | 
Second coordinate in the (r,g,b) representation.  More... | |
| T | z | 
Third coordinate in the (x,y,z) representation.  More... | |
| T | b | 
Third coordinate in the (r,g,b) representation.  More... | |
A 3D vector.
This specialization of gf::Vector handles the 3-dimension spaces. It can be accessed with various representations:
(x,y,z) representation, used for generic coordinates in the 3D space(r,g,b) representation, used for RGB colorsSeveral common typedef are defined:
int as Tunsigned as Tstd::size_t as Tfloat as Tdouble as Tbool as TFor colors, some additional typedef are defined:
float as Tuint8_t as TUsage example:
      
  | 
  default | 
Default constructor.
This constructor is defaulted so that this type is trivial.
      
  | 
  inlinenoexcept | 
Constructor that zero the vector out.
      
  | 
  inlineexplicitnoexcept | 
Constructor that fills the vector with a value.
This constructor takes a value and fills the entire vector with this value. Care must be taken when calling this constructor:
| val | The value to fill the vector with | 
      
  | 
  inlineexplicit | 
Constructor that takes an array.
This constructor can ease conversion from other math libraries. The array must contain enough data for 3 dimensions.
| array | An array with the values of the vector | 
      
  | 
  inlinenoexcept | 
Constructor that takes 3 components.
| first | The first component | 
| second | The second component | 
| third | The third component | 
Constructor that takes a 2D vector and a z component.
| xy | The first 2 component, x and y | 
| third | The z component | 
      
  | 
  default | 
Default copy constructor.
This constructor is defaulted so that this type is trivial.
| other | The vector to copy from | 
      
  | 
  inlinenoexcept | 
Converting copy constructor.
| other | The vector to copy from | 
      
  | 
  inline | 
Iterator.to the first element.
      
  | 
  inline | 
Iterator.to the first element (const version).
      
  | 
  inline | 
Iterator.on the first element (const version).
      
  | 
  inline | 
Iterator on the element after the last one (const version).
      
  | 
  inline | 
Iterator to the element after the last one.
      
  | 
  inline | 
Iterator on the element after the last one (const version).
      
  | 
  inline | 
Access to the \( i \)-th coordinate.
| i | the coordinate number | 
      
  | 
  inline | 
Access to the \( i \)-th coordinate.
| i | the coordinate number | 
      
  | 
  inline | 
Swizzle to get the first two coordinates as a 2D vector.
      
  | 
  inlinenoexcept | 
Zero out the vector.
| union { ... } | 
An anonymous union to handle the first coordinate
| union { ... } | 
An anonymous union to handle the second coordinate
| union { ... } | 
An anonymous union to handle the third coordinate
| T gf::Vector< T, 3 >::b | 
| T gf::Vector< T, 3 >::g | 
| T gf::Vector< T, 3 >::r | 
| T gf::Vector< T, 3 >::x | 
| T gf::Vector< T, 3 >::y | 
| T gf::Vector< T, 3 >::z | 
 1.8.13