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 random (T min, T max)
 
void normalize ()
 
Vector3< T > normalized () 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 ( T v0,
T v1,
T v2 )
inline

◆ Vector3() [3/5]

template<class T >
template<class B >
Vector3< T >::Vector3 ( B v0,
B v1,
B 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()

◆ 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 ( ) const
inline

◆ max() [1/2]

template<class T >
T Vector3< T >::max ( ) const
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 ( ) const
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 ( ) const
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 ( ) const
inline

◆ random()

template<class T >
void Vector3< T >::random ( T min,
T max )
inline

◆ rotated()

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

◆ set()

◆ updateGreater()

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

◆ updateLess()

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

Friends And Related Symbol 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,
T b )
friend

◆ operator* [3/3]

template<class T >
Vector3< T > operator* ( T 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,
T b )
friend

◆ operator/ [3/3]

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

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