SPH
Public Member Functions | Friends | List of all members
BasicVector< float > Class Reference

3-dimensional vector, float precision More...

#include <Vector.h>

Public Member Functions

INLINE BasicVector ()=default
 
INLINE BasicVector (const __m128 data)
 Constructs from SSE vector. More...
 
INLINE BasicVector (const float f)
 Constructs by copying a value to all vector components. More...
 
INLINE BasicVector (const float x, const float y, const float z, const float h=0.f)
 Constructs the vector from given components. More...
 
INLINE BasicVector (const BasicVector &v)
 Copy constructor. More...
 
INLINE const float & operator[] (const int i) const
 Get component by given index. More...
 
INLINE float & operator[] (const int i)
 Get component by given index. More...
 
template<int i>
INLINE const float & get () const
 Get component by given compile-time constant index. More...
 
template<int i>
INLINE float & get ()
 Get component by given compile-time constant index. More...
 
INLINE const __m128 & sse () const
 Returns the data as SSE vector. More...
 
INLINE BasicVectoroperator= (const BasicVector &v)
 Copy operator. More...
 
INLINE BasicVectoroperator+= (const BasicVector &v)
 
INLINE BasicVectoroperator-= (const BasicVector &v)
 
INLINE BasicVectoroperator*= (const float f)
 
INLINE BasicVectoroperator/= (const float f)
 
INLINE BasicVectoroperator*= (const BasicVector &v)
 
INLINE BasicVectoroperator/= (const BasicVector &v)
 

Friends

INLINE friend BasicVector operator- (const BasicVector &v)
 
INLINE friend BasicVector operator+ (const BasicVector &v1, const BasicVector &v2)
 
INLINE friend BasicVector operator- (const BasicVector &v1, const BasicVector &v2)
 
INLINE friend auto operator* (const BasicVector &v, const float f)
 Multiplication of vector by a value or unit. More...
 
INLINE friend auto operator* (const float f, const BasicVector &v)
 
INLINE friend auto operator* (const BasicVector &v1, const BasicVector &v2)
 
INLINE friend auto operator/ (const BasicVector &v, const float f)
 
INLINE friend auto operator/ (const BasicVector &v1, const BasicVector &v2)
 
INLINE friend bool operator== (const BasicVector &v1, const BasicVector &v2)
 Comparison operator, only compares first three components of vectors. More...
 
INLINE friend bool operator!= (const BasicVector &v1, const BasicVector &v2)
 
std::ostream & operator<< (std::ostream &stream, const BasicVector &v)
 

Detailed Description

3-dimensional vector, float precision

Definition at line 57 of file Vector.h.

Constructor & Destructor Documentation

◆ BasicVector() [1/5]

INLINE BasicVector< float >::BasicVector ( )
default

◆ BasicVector() [2/5]

INLINE BasicVector< float >::BasicVector ( const __m128  data)
inline

Constructs from SSE vector.

Definition at line 65 of file Vector.h.

◆ BasicVector() [3/5]

INLINE BasicVector< float >::BasicVector ( const float  f)
inlineexplicit

Constructs by copying a value to all vector components.

Definition at line 69 of file Vector.h.

◆ BasicVector() [4/5]

INLINE BasicVector< float >::BasicVector ( const float  x,
const float  y,
const float  z,
const float  h = 0.f 
)
inline

Constructs the vector from given components.

Definition at line 73 of file Vector.h.

◆ BasicVector() [5/5]

INLINE BasicVector< float >::BasicVector ( const BasicVector< float > &  v)
inline

Copy constructor.

Definition at line 77 of file Vector.h.

Member Function Documentation

◆ get() [1/2]

template<int i>
INLINE float& BasicVector< float >::get ( )
inline

Get component by given compile-time constant index.

Definition at line 101 of file Vector.h.

◆ get() [2/2]

template<int i>
INLINE const float& BasicVector< float >::get ( ) const
inline

Get component by given compile-time constant index.

Definition at line 94 of file Vector.h.

◆ operator*=() [1/2]

INLINE BasicVector& BasicVector< float >::operator*= ( const BasicVector< float > &  v)
inline

Definition at line 137 of file Vector.h.

◆ operator*=() [2/2]

INLINE BasicVector& BasicVector< float >::operator*= ( const float  f)
inline

Definition at line 127 of file Vector.h.

◆ operator+=()

INLINE BasicVector& BasicVector< float >::operator+= ( const BasicVector< float > &  v)
inline

Definition at line 117 of file Vector.h.

◆ operator-=()

INLINE BasicVector& BasicVector< float >::operator-= ( const BasicVector< float > &  v)
inline

Definition at line 122 of file Vector.h.

◆ operator/=() [1/2]

INLINE BasicVector& BasicVector< float >::operator/= ( const BasicVector< float > &  v)
inline

Definition at line 142 of file Vector.h.

◆ operator/=() [2/2]

INLINE BasicVector& BasicVector< float >::operator/= ( const float  f)
inline

Definition at line 132 of file Vector.h.

◆ operator=()

INLINE BasicVector& BasicVector< float >::operator= ( const BasicVector< float > &  v)
inline

Copy operator.

Definition at line 112 of file Vector.h.

◆ operator[]() [1/2]

INLINE float& BasicVector< float >::operator[] ( const int  i)
inline

Get component by given index.

Definition at line 87 of file Vector.h.

◆ operator[]() [2/2]

INLINE const float& BasicVector< float >::operator[] ( const int  i) const
inline

Get component by given index.

Definition at line 81 of file Vector.h.

◆ sse()

INLINE const __m128& BasicVector< float >::sse ( ) const
inline

Returns the data as SSE vector.

Definition at line 107 of file Vector.h.

Friends And Related Function Documentation

◆ operator!=

INLINE friend bool operator!= ( const BasicVector< float > &  v1,
const BasicVector< float > &  v2 
)
friend

Definition at line 188 of file Vector.h.

◆ operator* [1/3]

INLINE friend auto operator* ( const BasicVector< float > &  v,
const float  f 
)
friend

Multiplication of vector by a value or unit.

Definition at line 160 of file Vector.h.

◆ operator* [2/3]

INLINE friend auto operator* ( const BasicVector< float > &  v1,
const BasicVector< float > &  v2 
)
friend

Definition at line 168 of file Vector.h.

◆ operator* [3/3]

INLINE friend auto operator* ( const float  f,
const BasicVector< float > &  v 
)
friend

Definition at line 164 of file Vector.h.

◆ operator+

INLINE friend BasicVector operator+ ( const BasicVector< float > &  v1,
const BasicVector< float > &  v2 
)
friend

Definition at line 151 of file Vector.h.

◆ operator- [1/2]

INLINE friend BasicVector operator- ( const BasicVector< float > &  v)
friend

Definition at line 147 of file Vector.h.

◆ operator- [2/2]

INLINE friend BasicVector operator- ( const BasicVector< float > &  v1,
const BasicVector< float > &  v2 
)
friend

Definition at line 155 of file Vector.h.

◆ operator/ [1/2]

INLINE friend auto operator/ ( const BasicVector< float > &  v,
const float  f 
)
friend

Definition at line 172 of file Vector.h.

◆ operator/ [2/2]

INLINE friend auto operator/ ( const BasicVector< float > &  v1,
const BasicVector< float > &  v2 
)
friend

Definition at line 177 of file Vector.h.

◆ operator<<

std::ostream& operator<< ( std::ostream &  stream,
const BasicVector< float > &  v 
)
friend

Definition at line 192 of file Vector.h.

◆ operator==

INLINE friend bool operator== ( const BasicVector< float > &  v1,
const BasicVector< float > &  v2 
)
friend

Comparison operator, only compares first three components of vectors.

Definition at line 182 of file Vector.h.


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