#include <src/vector/vector3.hpp>
          template<typename T>
          Vec3 struct
        
        Contents
Generic 3-d vector (x,y,z) with Scalar x, y, z.
Constructors, destructors, conversion operators
- Vec3() defaulted
 - Vec3(Vec3 const&) defaulted
 - Vec3(Vec3&&) defaulted
 - 
              Vec3(value_
type s) explicit  - 
              Vec3(value_
type vx, value_ type vy, value_ type vz)  
Public functions
- auto operator=(Vec3 const&) -> Vec3& defaulted
 - auto operator=(Vec3&&) -> Vec3& defaulted
 - 
              template<typename U>auto operator+(const Vec3<U>& v) const -> Vec3
 - 
              template<typename U>auto operator-(const Vec3<U>& v) const -> Vec3
 - 
              template<typename U>auto operator*(const Vec3<U>& v) const -> Vec3
 - 
              template<typename U>auto operator/(const Vec3<U>& v) const -> Vec3
 - 
              auto operator+(const value_
type c) const -> Vec3  - 
              auto operator-(const value_
type c) const -> Vec3  - 
              auto operator*(const value_
type c) const -> Vec3  - 
              auto operator/(const value_
type c) const -> Vec3  - auto operator-() const -> Vec3
 - auto abs() const -> Vec3
 - 
              template<typename U>auto operator+=(const Vec3<U>& v) -> const Vec3&
 - 
              template<typename U>auto operator-=(const Vec3<U>& v) -> const Vec3&
 - 
              template<typename U>auto operator*=(const Vec3<U>& v) -> const Vec3&
 - 
              template<typename U>auto operator/=(const Vec3<U>& v) -> const Vec3&
 - 
              auto operator+=(const value_
type c) -> const Vec3&  - 
              auto operator-=(const value_
type c) -> const Vec3&  - 
              auto operator*=(const value_
type c) -> const Vec3&  - 
              auto operator/=(const value_
type c) -> const Vec3&  - 
              auto operator=(const value_
type s) -> Vec3&  - 
              auto norm() const -> value_
type deprecated  - 
              auto norm2() const -> value_
type deprecated  - 
              auto max_component() const -> value_
type deprecated  - 
              auto re_norm() const -> value_
type deprecated  
Public variables
Friends
- 
              auto operator+(const value_
type c, const Vec3& v) -> Vec3  - 
              auto operator-(const value_
type c, const Vec3& v) -> Vec3  - 
              auto operator*(const value_
type c, const Vec3& v) -> Vec3  - 
              auto operator/(const value_
type c, const Vec3& v) -> Vec3  - auto operator<<(std::ostream& output, const Vec3& v) -> std::ostream&
 - auto operator>>(std::istream& input, Vec3& v) -> std::istream&
 
Function documentation
              
                template<typename T>
              
               hub:: Vec3<T>:: Vec3() defaulted
            
Default constructor.
              
                template<typename T>
              
               hub:: Vec3<T>:: Vec3(value_ type s) explicit 
            
            | Parameters | |
|---|---|
| s in | single scalar. | 
Create a vector (s,s,s)
              
                template<typename T>
              
               hub:: Vec3<T>:: Vec3(value_ type vx,
              value_ type vy,
              value_ type vz)
            
            | Parameters | |
|---|---|
| vx in | x component. | 
| vy in | y component. | 
| vz in | z component. | 
Create a vector from 3 scalar.
              
                template<typename T>
              
              Vec3 hub:: Vec3<T>:: operator+(const value_ type c) const
            
Add scalar by wise
              
                template<typename T>
              
              Vec3 hub:: Vec3<T>:: operator-(const value_ type c) const
            
Subtract scalar by wise
              
                template<typename T>
              
              Vec3 hub:: Vec3<T>:: operator*(const value_ type c) const
            
Multiply scalar by wise
              
                template<typename T>
              
              Vec3 hub:: Vec3<T>:: operator/(const value_ type c) const
            
Divide scalar by wise
              
                template<typename T>
                template<typename U>
              
              const Vec3& hub:: Vec3<T>:: operator+=(const Vec3<U>& v)
            
Addition assignment for vector
              
                template<typename T>
                template<typename U>
              
              const Vec3& hub:: Vec3<T>:: operator-=(const Vec3<U>& v)
            
Subtraction assignment for vector
              
                template<typename T>
                template<typename U>
              
              const Vec3& hub:: Vec3<T>:: operator*=(const Vec3<U>& v)
            
Multiple assignment for vector
              
                template<typename T>
                template<typename U>
              
              const Vec3& hub:: Vec3<T>:: operator/=(const Vec3<U>& v)
            
Division assignment for vector
              
                template<typename T>
              
              const Vec3& hub:: Vec3<T>:: operator+=(const value_ type c)
            
Addition assignment for scalar
              
                template<typename T>
              
              const Vec3& hub:: Vec3<T>:: operator-=(const value_ type c)
            
Subtraction assignment for scalar
              
                template<typename T>
              
              const Vec3& hub:: Vec3<T>:: operator*=(const value_ type c)
            
Multiple assignment for scalar
              
                template<typename T>
              
              const Vec3& hub:: Vec3<T>:: operator/=(const value_ type c)
            
Division assignment for scalar
              
                template<typename T>
              
              Vec3& hub:: Vec3<T>:: operator=(const value_ type s)
            
Assignment operator for scalar
              
                template<typename T>
              
              value_ type hub:: Vec3<T>:: norm() const
            
          
              
                template<typename T>
              
              value_ type hub:: Vec3<T>:: norm2() const
            
          
              
                template<typename T>
              
              value_ type hub:: Vec3<T>:: max_component() const
            
          
              
                template<typename T>
              
              value_ type hub:: Vec3<T>:: re_norm() const
            
          
              
                template<typename T>
              
              Vec3 operator+(const value_ type c,
              const Vec3& v)
            
operator+ for left scalar operation
              
                template<typename T>
              
              Vec3 operator-(const value_ type c,
              const Vec3& v)
            
operator- for left scalar operation
              
                template<typename T>
              
              Vec3 operator*(const value_ type c,
              const Vec3& v)
            
operator* for left scalar operation
              
                template<typename T>
              
              Vec3 operator/(const value_ type c,
              const Vec3& v)
            
operator/ for left scalar operation
              
                template<typename T>
              
              std::ostream& operator<<(std::ostream& output,
              const Vec3& v)
            
output stream
              
                template<typename T>
              
              std::istream& operator>>(std::istream& input,
              Vec3& v)
            
input stream
Variable documentation
              
                template<typename T>
              
              value_ type hub:: Vec3<T>:: x
            
x component.
              
                template<typename T>
              
              value_ type hub:: Vec3<T>:: y
            
y component.
              
                template<typename T>
              
              value_ type hub:: Vec3<T>:: z
            
z component.