libalmath  2.5.7.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Public Attributes | List of all members
AL::Math::Velocity3D Struct Reference

Create and play with a Velocity3D. More...

#include <alvelocity3d.h>

Public Member Functions

 Velocity3D ()
 Create a Velocity3D initialize with 0.0f. More...
 
 Velocity3D (float pInit)
 Create a Velocity3D initialize with the same float. More...
 
 Velocity3D (float pXd, float pYd, float pZd)
 Create a Velocity3D initialize with explicit value. More...
 
 Velocity3D (const std::vector< float > &pFloats)
 Create a Velocity3D with an std::vector. More...
 
Velocity3D operator+ (const Velocity3D &pVel2) const
 Overloading of operator + for Velocity3D. More...
 
Velocity3D operator- (const Velocity3D &pVel2) const
 Overloading of operator - for Velocity3D. More...
 
Velocity3D operator+ (void) const
 Overloading of operator + for Velocity3D. More...
 
Velocity3D operator- () const
 Overloading of operator - for Velocity3D. More...
 
Velocity3Doperator+= (const Velocity3D &pVel2)
 Overloading of operator += for Velocity3D. More...
 
Velocity3Doperator-= (const Velocity3D &pVel2)
 Overloading of operator -= for Velocity3D. More...
 
bool operator== (const Velocity3D &pVel2) const
 Overloading of operator == for Velocity3D. More...
 
bool operator!= (const Velocity3D &pVel2) const
 Overloading of operator != for Velocity3D. More...
 
Velocity3D operator* (const float pVal) const
 Overloading of operator * for Velocity3D. More...
 
Velocity3D operator/ (const float pVal) const
 Overloading of operator / for Velocity3D. More...
 
Velocity3Doperator*= (const float pVal)
 Overloading of operator *= for Velocity3D. More...
 
Velocity3Doperator/= (const float pVal)
 Overloading of operator /= for Velocity3D. More...
 
bool isNear (const Velocity3D &pVel2, const float &pEpsilon=0.0001f) const
 Check if the actual Velocity3D is Near the one given in argument. More...
 
float norm () const
 Compute the norm of the actual Velocity3D: More...
 
Velocity3D normalize () const
 Normalize the actual Velocity3D: More...
 
void toVector (std::vector< float > &pReturnValue) const
 Return the Velocity3D as a vector of float [xd, yd, zd]. More...
 
std::vector< float > toVector (void) const
 
void writeToVector (std::vector< float >::iterator &pIt) const
 Write [xd, yd, zd] in the vector and update the iterator. It is assumed the vector has enough space. More...
 

Public Attributes

float xd
 
float yd
 
float zd
 

Detailed Description

Create and play with a Velocity3D.

A Velocity3D is just defined by xd, yd and zd.

Definition at line 23 of file alvelocity3d.h.

Constructor & Destructor Documentation

AL::Math::Velocity3D::Velocity3D ( )

Create a Velocity3D initialize with 0.0f.

$ \left[\begin{array}{c} xd \\ yd \\ zd \end{array}\right] = \left[\begin{array}{c} 0.0 \\ 0.0 \\ 0.0 \end{array}\right]$

AL::Math::Velocity3D::Velocity3D ( float  pInit)
explicit

Create a Velocity3D initialize with the same float.

$ \left[\begin{array}{c} xd \\ yd \\ zd \end{array}\right] = \left[\begin{array}{c} pInit \\ pInit \\ pInit \end{array}\right]$

Parameters
pInitthe float value for each member
AL::Math::Velocity3D::Velocity3D ( float  pXd,
float  pYd,
float  pZd 
)

Create a Velocity3D initialize with explicit value.

$ \left[\begin{array}{c} xd \\ yd \\ zd \end{array}\right] = \left[\begin{array}{c} pXd \\ pYd \\ pZd \end{array}\right]$

Parameters
pXdthe float value for xd
pYdthe float value for yd
pZdthe float value for zd
AL::Math::Velocity3D::Velocity3D ( const std::vector< float > &  pFloats)

Create a Velocity3D with an std::vector.

$ \left[\begin{array}{c} xd \\ yd \\ zd \end{array}\right] = \left[\begin{array}{c} pFloats[0] \\ pFloats[1] \\ pFloats[2] \end{array}\right]$

Parameters
pFloatsAn std::vector<float> of size 3 for respectively: xd, yd, zd

Member Function Documentation

bool AL::Math::Velocity3D::isNear ( const Velocity3D pVel2,
const float &  pEpsilon = 0.0001f 
) const

Check if the actual Velocity3D is Near the one given in argument.

Parameters
pVel2the second Velocity3D
pEpsilonan optional epsilon distance
Returns
true if the difference of each float of the two Velocity3D is less than pEpsilon
float AL::Math::Velocity3D::norm ( ) const

Compute the norm of the actual Velocity3D:

$\sqrt{pVel.xd^2 + pVel.yd^2 + pVel.zd^2}$

Returns
the float norm of the Velocity3D
Velocity3D AL::Math::Velocity3D::normalize ( ) const

Normalize the actual Velocity3D:

$ result = \frac{pVel}{norm(pVel)} $

Returns
the Velocity3D normalized
bool AL::Math::Velocity3D::operator!= ( const Velocity3D pVel2) const

Overloading of operator != for Velocity3D.

Parameters
pVel2the second Velocity3D
Velocity3D AL::Math::Velocity3D::operator* ( const float  pVal) const
inline

Overloading of operator * for Velocity3D.

Parameters
pValthe float factor

Definition at line 180 of file alvelocity3d.h.

Velocity3D& AL::Math::Velocity3D::operator*= ( const float  pVal)

Overloading of operator *= for Velocity3D.

Parameters
pValthe float factor
Velocity3D AL::Math::Velocity3D::operator+ ( const Velocity3D pVel2) const
inline

Overloading of operator + for Velocity3D.

Parameters
pVel2the second Velocity3D

Definition at line 119 of file alvelocity3d.h.

Velocity3D AL::Math::Velocity3D::operator+ ( void  ) const
inline

Overloading of operator + for Velocity3D.

Definition at line 139 of file alvelocity3d.h.

Velocity3D& AL::Math::Velocity3D::operator+= ( const Velocity3D pVel2)

Overloading of operator += for Velocity3D.

Parameters
pVel2the second Velocity3D
Velocity3D AL::Math::Velocity3D::operator- ( const Velocity3D pVel2) const
inline

Overloading of operator - for Velocity3D.

Parameters
pVel2the second Velocity3D

Definition at line 128 of file alvelocity3d.h.

Velocity3D AL::Math::Velocity3D::operator- ( ) const
inline

Overloading of operator - for Velocity3D.

Definition at line 147 of file alvelocity3d.h.

Velocity3D& AL::Math::Velocity3D::operator-= ( const Velocity3D pVel2)

Overloading of operator -= for Velocity3D.

Parameters
pVel2the second Velocity3D
Velocity3D AL::Math::Velocity3D::operator/ ( const float  pVal) const

Overloading of operator / for Velocity3D.

Parameters
pValthe float factor
Velocity3D& AL::Math::Velocity3D::operator/= ( const float  pVal)

Overloading of operator /= for Velocity3D.

Parameters
pValthe float factor
bool AL::Math::Velocity3D::operator== ( const Velocity3D pVel2) const

Overloading of operator == for Velocity3D.

Parameters
pVel2the second Velocity3D
void AL::Math::Velocity3D::toVector ( std::vector< float > &  pReturnValue) const

Return the Velocity3D as a vector of float [xd, yd, zd].

std::vector<float> AL::Math::Velocity3D::toVector ( void  ) const
void AL::Math::Velocity3D::writeToVector ( std::vector< float >::iterator &  pIt) const

Write [xd, yd, zd] in the vector and update the iterator. It is assumed the vector has enough space.

Member Data Documentation

float AL::Math::Velocity3D::xd

Definition at line 25 of file alvelocity3d.h.

float AL::Math::Velocity3D::yd

Definition at line 27 of file alvelocity3d.h.

float AL::Math::Velocity3D::zd

Definition at line 29 of file alvelocity3d.h.


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