Bsoft 2.1.4
Bernard's software package
Vector3< Type > Class Template Reference

Vector class for 3-value vectors used in 3D space. The internal variables are an array of 3 numbers. More...

#include <Vector3.h>

Public Member Functions

 Vector3 ()
 
 Vector3 (const Vector3 &v)
 
 Vector3 (const Type x, const Type y, const Type z)
 
template<typename T2 >
 Vector3 (const vector< T2 > &v)
 
Vector3 operator= (const Type d)
 
Vector3 operator= (const Vector3 &v)
 
template<typename T2 >
Vector3 operator= (const vector< T2 > &v)
 
Vector3 operator- ()
 
Vector3 operator+= (const double d)
 
Vector3 operator+ (const double d)
 
Vector3 operator+= (const Vector3 &v)
 
Vector3 operator+ (const Vector3 &v)
 
Vector3 operator-= (const double d)
 
Vector3 operator- (const double d)
 
Vector3 operator-= (const Vector3 &v)
 
Vector3 operator- (const Vector3 &v)
 
Vector3 operator*= (const double d)
 
Vector3 operator* (const double d)
 
Vector3 operator*= (const Vector3 &v)
 
Vector3 operator* (const Vector3 &v)
 
Vector3 operator/= (const double d)
 
Vector3 operator/ (const double d)
 
Vector3 operator/= (const Vector3 &v)
 
Vector3 operator/ (const Vector3 &v)
 
bool operator== (const Vector3 &v)
 
bool operator== (const double d)
 
bool operator!= (const Vector3 &v)
 
bool operator> (const double d)
 
bool operator< (const double d)
 
bool operator> (const Vector3 &v)
 
bool operator< (const Vector3 &v)
 
bool operator>= (const Vector3 &v)
 
bool operator<= (const Vector3 &v)
 
Type operator[] (size_t i) const
 
Type & operator[] (size_t i)
 
template<typename T2 >
 operator Vector3< T2 > () const
 
vector< double > array ()
 
Type min ()
 
Type max ()
 
Vector3 min (const double d)
 
Vector3 max (const double d)
 
Vector3 min (const Vector3 &v)
 
Vector3 max (const Vector3 &v)
 
Vector3 abs ()
 
Vector3 floor (int places)
 
Vector3 round (int places)
 
Vector3 remainder (int divisor)
 
double length2 ()
 
double length ()
 
void length (double d)
 
double distance (const Vector3 &v)
 
double distance2 (const Vector3 &v)
 
double distance_along_vector (Vector3 v)
 
double distance_from_line2 (Vector3 v1, Vector3 v2)
 
double distance_from_line (Vector3 v1, Vector3 v2)
 
Vector3 closest_point_on_line (Vector3 v1, Vector3 v2)
 
double position_relative_to_line (Vector3 v1, Vector3 v2)
 
Vector3 square_root ()
 
double sum ()
 
double volume ()
 
double normalize ()
 
double scalar (const Vector3 &v) const
 
Vector3 cross (const Vector3 &v)
 
template<typename T2 >
double angle (Vector3< T2 > &v)
 
Vector3 normal (Vector3 &v1, Vector3 &v2)
 
bool finite ()
 
bool notfinite ()
 
template<typename T1 , typename T2 >
bool within (Vector3< T1 > &v1, Vector3< T2 > &v2)
 

Detailed Description

template<typename Type>
class Vector3< Type >

Vector class for 3-value vectors used in 3D space. The internal variables are an array of 3 numbers.

Constructor & Destructor Documentation

◆ Vector3() [1/4]

template<typename Type >
Vector3< Type >::Vector3 ( )
inline

◆ Vector3() [2/4]

template<typename Type >
Vector3< Type >::Vector3 ( const Vector3< Type > &  v)
inline

◆ Vector3() [3/4]

template<typename Type >
Vector3< Type >::Vector3 ( const Type  x,
const Type  y,
const Type  z 
)
inline

◆ Vector3() [4/4]

template<typename Type >
template<typename T2 >
Vector3< Type >::Vector3 ( const vector< T2 > &  v)
inline

Member Function Documentation

◆ abs()

template<typename Type >
Vector3 Vector3< Type >::abs ( )
inline

◆ angle()

template<typename Type >
template<typename T2 >
double Vector3< Type >::angle ( Vector3< T2 > &  v)
inline

◆ array()

template<typename Type >
vector< double > Vector3< Type >::array ( )
inline

◆ closest_point_on_line()

template<typename Type >
Vector3 Vector3< Type >::closest_point_on_line ( Vector3< Type >  v1,
Vector3< Type >  v2 
)
inline

◆ cross()

template<typename Type >
Vector3 Vector3< Type >::cross ( const Vector3< Type > &  v)
inline

◆ distance()

template<typename Type >
double Vector3< Type >::distance ( const Vector3< Type > &  v)
inline

◆ distance2()

template<typename Type >
double Vector3< Type >::distance2 ( const Vector3< Type > &  v)
inline

◆ distance_along_vector()

template<typename Type >
double Vector3< Type >::distance_along_vector ( Vector3< Type >  v)
inline

◆ distance_from_line()

template<typename Type >
double Vector3< Type >::distance_from_line ( Vector3< Type >  v1,
Vector3< Type >  v2 
)
inline

◆ distance_from_line2()

template<typename Type >
double Vector3< Type >::distance_from_line2 ( Vector3< Type >  v1,
Vector3< Type >  v2 
)
inline

◆ finite()

template<typename Type >
bool Vector3< Type >::finite ( )
inline

◆ floor()

template<typename Type >
Vector3 Vector3< Type >::floor ( int  places)
inline

◆ length() [1/2]

template<typename Type >
double Vector3< Type >::length ( )
inline

◆ length() [2/2]

template<typename Type >
void Vector3< Type >::length ( double  d)
inline

◆ length2()

template<typename Type >
double Vector3< Type >::length2 ( )
inline

◆ max() [1/3]

template<typename Type >
Type Vector3< Type >::max ( )
inline

◆ max() [2/3]

template<typename Type >
Vector3 Vector3< Type >::max ( const double  d)
inline

◆ max() [3/3]

template<typename Type >
Vector3 Vector3< Type >::max ( const Vector3< Type > &  v)
inline

◆ min() [1/3]

template<typename Type >
Type Vector3< Type >::min ( )
inline

◆ min() [2/3]

template<typename Type >
Vector3 Vector3< Type >::min ( const double  d)
inline

◆ min() [3/3]

template<typename Type >
Vector3 Vector3< Type >::min ( const Vector3< Type > &  v)
inline

◆ normal()

template<typename Type >
Vector3 Vector3< Type >::normal ( Vector3< Type > &  v1,
Vector3< Type > &  v2 
)
inline

◆ normalize()

template<typename Type >
double Vector3< Type >::normalize ( )
inline

◆ notfinite()

template<typename Type >
bool Vector3< Type >::notfinite ( )
inline

◆ operator Vector3< T2 >()

template<typename Type >
template<typename T2 >
Vector3< Type >::operator Vector3< T2 > ( ) const
inline

◆ operator!=()

template<typename Type >
bool Vector3< Type >::operator!= ( const Vector3< Type > &  v)
inline

◆ operator*() [1/2]

template<typename Type >
Vector3 Vector3< Type >::operator* ( const double  d)
inline

◆ operator*() [2/2]

template<typename Type >
Vector3 Vector3< Type >::operator* ( const Vector3< Type > &  v)
inline

◆ operator*=() [1/2]

template<typename Type >
Vector3 Vector3< Type >::operator*= ( const double  d)
inline

◆ operator*=() [2/2]

template<typename Type >
Vector3 Vector3< Type >::operator*= ( const Vector3< Type > &  v)
inline

◆ operator+() [1/2]

template<typename Type >
Vector3 Vector3< Type >::operator+ ( const double  d)
inline

◆ operator+() [2/2]

template<typename Type >
Vector3 Vector3< Type >::operator+ ( const Vector3< Type > &  v)
inline

◆ operator+=() [1/2]

template<typename Type >
Vector3 Vector3< Type >::operator+= ( const double  d)
inline

◆ operator+=() [2/2]

template<typename Type >
Vector3 Vector3< Type >::operator+= ( const Vector3< Type > &  v)
inline

◆ operator-() [1/3]

template<typename Type >
Vector3 Vector3< Type >::operator- ( )
inline

◆ operator-() [2/3]

template<typename Type >
Vector3 Vector3< Type >::operator- ( const double  d)
inline

◆ operator-() [3/3]

template<typename Type >
Vector3 Vector3< Type >::operator- ( const Vector3< Type > &  v)
inline

◆ operator-=() [1/2]

template<typename Type >
Vector3 Vector3< Type >::operator-= ( const double  d)
inline

◆ operator-=() [2/2]

template<typename Type >
Vector3 Vector3< Type >::operator-= ( const Vector3< Type > &  v)
inline

◆ operator/() [1/2]

template<typename Type >
Vector3 Vector3< Type >::operator/ ( const double  d)
inline

◆ operator/() [2/2]

template<typename Type >
Vector3 Vector3< Type >::operator/ ( const Vector3< Type > &  v)
inline

◆ operator/=() [1/2]

template<typename Type >
Vector3 Vector3< Type >::operator/= ( const double  d)
inline

◆ operator/=() [2/2]

template<typename Type >
Vector3 Vector3< Type >::operator/= ( const Vector3< Type > &  v)
inline

◆ operator<() [1/2]

template<typename Type >
bool Vector3< Type >::operator< ( const double  d)
inline

◆ operator<() [2/2]

template<typename Type >
bool Vector3< Type >::operator< ( const Vector3< Type > &  v)
inline

◆ operator<=()

template<typename Type >
bool Vector3< Type >::operator<= ( const Vector3< Type > &  v)
inline

◆ operator=() [1/3]

template<typename Type >
Vector3 Vector3< Type >::operator= ( const Type  d)
inline

◆ operator=() [2/3]

template<typename Type >
Vector3 Vector3< Type >::operator= ( const Vector3< Type > &  v)
inline

◆ operator=() [3/3]

template<typename Type >
template<typename T2 >
Vector3 Vector3< Type >::operator= ( const vector< T2 > &  v)
inline

◆ operator==() [1/2]

template<typename Type >
bool Vector3< Type >::operator== ( const double  d)
inline

◆ operator==() [2/2]

template<typename Type >
bool Vector3< Type >::operator== ( const Vector3< Type > &  v)
inline

◆ operator>() [1/2]

template<typename Type >
bool Vector3< Type >::operator> ( const double  d)
inline

◆ operator>() [2/2]

template<typename Type >
bool Vector3< Type >::operator> ( const Vector3< Type > &  v)
inline

◆ operator>=()

template<typename Type >
bool Vector3< Type >::operator>= ( const Vector3< Type > &  v)
inline

◆ operator[]() [1/2]

template<typename Type >
Type & Vector3< Type >::operator[] ( size_t  i)
inline

◆ operator[]() [2/2]

template<typename Type >
Type Vector3< Type >::operator[] ( size_t  i) const
inline

◆ position_relative_to_line()

template<typename Type >
double Vector3< Type >::position_relative_to_line ( Vector3< Type >  v1,
Vector3< Type >  v2 
)
inline

◆ remainder()

template<typename Type >
Vector3 Vector3< Type >::remainder ( int  divisor)
inline

◆ round()

template<typename Type >
Vector3 Vector3< Type >::round ( int  places)
inline

◆ scalar()

template<typename Type >
double Vector3< Type >::scalar ( const Vector3< Type > &  v) const
inline

◆ square_root()

template<typename Type >
Vector3 Vector3< Type >::square_root ( )
inline

◆ sum()

template<typename Type >
double Vector3< Type >::sum ( )
inline

◆ volume()

template<typename Type >
double Vector3< Type >::volume ( )
inline

◆ within()

template<typename Type >
template<typename T1 , typename T2 >
bool Vector3< Type >::within ( Vector3< T1 > &  v1,
Vector3< T2 > &  v2 
)
inline

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