3D Forest
Software for analysis of Lidar data from forest environment.
Vector3< T > Class Template Reference

#include <Vector3.hpp>

Inherits std::array< T, 3 >.

Public Member Functions

 Vector3 ()
 
 Vector3 (T v0, T v1, T v2)
 
template<class B >
 Vector3 (B v0, B v1, B v2)
 
 Vector3 (uint32_t v24)
 
template<class B >
 Vector3 (const Vector3< B > &v)
 
template<class B >
Vector3< T > & operator= (const Vector3< B > &v)
 
template<class B >
void set (B v0, B v1, B v2)
 
template<class B >
void updateLess (B v0, B v1, B v2)
 
template<class B >
void updateGreater (B v0, B v1, B v2)
 
void clear ()
 
length () const
 
min () const
 
max () const
 
void normalize ()
 
Vector3< T > normalized () const
 
void read (const Json &in)
 
Jsonwrite (Json &out) const
 
Vector3< T > crossProduct (const Vector3< T > &v) const
 
Vector3< T > perpendicular () const
 
Vector3< T > rotated (const Vector3< T > &axis, double angle) const
 

Static Public Member Functions

static Vector3< T > crossProduct (const Vector3< T > &a, const Vector3< T > &b)
 
static T dotProduct (const Vector3< T > &a, const Vector3< T > &b)
 
static Vector3< T > min (const Vector3< T > &a, const Vector3< T > &b)
 
static Vector3< T > max (const Vector3< T > &a, const Vector3< T > &b)
 

Friends

Vector3< T > operator+ (const Vector3< T > &a, const Vector3< T > &b)
 
Vector3< T > operator- (const Vector3< T > &a, const Vector3< T > &b)
 
Vector3< T > operator* (const Vector3< T > &a, T b)
 
Vector3< T > operator* (T a, const Vector3< T > &b)
 
Vector3< T > operator* (const Vector3< T > &a, const Vector3< T > &b)
 
Vector3< T > operator/ (const Vector3< T > &a, T b)
 
Vector3< T > operator/ (T a, const Vector3< T > &b)
 
Vector3< T > operator/ (const Vector3< T > &a, const Vector3< T > &b)
 

Constructor & Destructor Documentation

◆ Vector3() [1/5]

template<class T >
Vector3< T >::Vector3
inline

◆ Vector3() [2/5]

template<class T >
Vector3< T >::Vector3 ( v0,
v1,
v2 
)
inline

◆ Vector3() [3/5]

template<class T >
template<class B >
Vector3< T >::Vector3 ( v0,
v1,
v2 
)
inline

◆ Vector3() [4/5]

template<class T >
Vector3< T >::Vector3 ( uint32_t  v24)
inline

◆ Vector3() [5/5]

template<class T >
template<class B >
Vector3< T >::Vector3 ( const Vector3< B > &  v)
inline

Member Function Documentation

◆ clear()

template<class T >
void Vector3< T >::clear
inline

◆ crossProduct() [1/2]

template<class T >
static Vector3< T > Vector3< T >::crossProduct ( const Vector3< T > &  a,
const Vector3< T > &  b 
)
inlinestatic

◆ crossProduct() [2/2]

template<class T >
Vector3< T > Vector3< T >::crossProduct ( const Vector3< T > &  v) const
inline

◆ dotProduct()

template<class T >
static T Vector3< T >::dotProduct ( const Vector3< T > &  a,
const Vector3< T > &  b 
)
inlinestatic

◆ length()

template<class T >
T Vector3< T >::length
inline

◆ max() [1/2]

template<class T >
T Vector3< T >::max
inline

◆ max() [2/2]

template<class T >
static Vector3< T > Vector3< T >::max ( const Vector3< T > &  a,
const Vector3< T > &  b 
)
inlinestatic

◆ min() [1/2]

template<class T >
T Vector3< T >::min
inline

◆ min() [2/2]

template<class T >
static Vector3< T > Vector3< T >::min ( const Vector3< T > &  a,
const Vector3< T > &  b 
)
inlinestatic

◆ normalize()

template<class T >
void Vector3< T >::normalize
inline

◆ normalized()

template<class T >
Vector3< T > Vector3< T >::normalized
inline

◆ operator=()

template<class T >
template<class B >
Vector3< T > & Vector3< T >::operator= ( const Vector3< B > &  v)
inline

◆ perpendicular()

template<class T >
Vector3< T > Vector3< T >::perpendicular
inline

◆ read()

template<class T >
void Vector3< T >::read ( const Json in)
inline

◆ rotated()

template<class T >
Vector3< T > Vector3< T >::rotated ( const Vector3< T > &  axis,
double  angle 
) const
inline

◆ set()

template<class T >
template<class B >
void Vector3< T >::set ( v0,
v1,
v2 
)
inline

◆ updateGreater()

template<class T >
template<class B >
void Vector3< T >::updateGreater ( v0,
v1,
v2 
)
inline

◆ updateLess()

template<class T >
template<class B >
void Vector3< T >::updateLess ( v0,
v1,
v2 
)
inline

◆ write()

template<class T >
Json & Vector3< T >::write ( Json out) const
inline

Friends And Related Function Documentation

◆ operator* [1/3]

template<class T >
Vector3< T > operator* ( const Vector3< T > &  a,
const Vector3< T > &  b 
)
friend

◆ operator* [2/3]

template<class T >
Vector3< T > operator* ( const Vector3< T > &  a,
b 
)
friend

◆ operator* [3/3]

template<class T >
Vector3< T > operator* ( a,
const Vector3< T > &  b 
)
friend

◆ operator+

template<class T >
Vector3< T > operator+ ( const Vector3< T > &  a,
const Vector3< T > &  b 
)
friend

◆ operator-

template<class T >
Vector3< T > operator- ( const Vector3< T > &  a,
const Vector3< T > &  b 
)
friend

◆ operator/ [1/3]

template<class T >
Vector3< T > operator/ ( const Vector3< T > &  a,
const Vector3< T > &  b 
)
friend

◆ operator/ [2/3]

template<class T >
Vector3< T > operator/ ( const Vector3< T > &  a,
b 
)
friend

◆ operator/ [3/3]

template<class T >
Vector3< T > operator/ ( a,
const Vector3< T > &  b 
)
friend

The documentation for this class was generated from the following file: