ULIS  dev4.0.7
Utility Library for Imaging Systems
Public Member Functions | Public Attributes | List of all members
TVector3< T > Class Template Reference

The TVector3 class provides a simple 3D vector class for vector geometry applications. More...

Public Member Functions

constexpr TVector3 ()
 
constexpr TVector3 (const TVector2< T > &iVec, T iZ=0)
 
template<typename U >
constexpr TVector3 (const TVector3< U > &iOther)
 
constexpr TVector3 (const TVector4< T > &iVec)
 
constexpr TVector3 (T iValue)
 
constexpr TVector3 (T iX, T iY, T iZ=0)
 
template<typename U , typename V , typename W >
constexpr TVector3 (U iX, V iY, W iZ)
 
constexpr TVector3< T > CrossProduct (const TVector3 &iOther) const
 
constexpr T Distance () const
 
constexpr T DistanceSquared () const
 
constexpr T DotProduct (const TVector3 &iOther) const
 
constexpr T ManhattanDistance () const
 
constexpr const TVector3Normalize ()
 
constexpr TVector3 Normalized () const
 
constexpr bool operator!= (const TVector3 &iOther) const
 
constexpr TVector3operator*= (const TVector3 &iOther)
 
constexpr TVector3operator*= (T iValue)
 
constexpr TVector3operator+= (const TVector3 &iOther)
 
constexpr TVector3operator+= (T iValue)
 
constexpr TVector3 operator- () const
 
constexpr TVector3operator-= (const TVector3 &iOther)
 
constexpr TVector3operator-= (T iValue)
 
constexpr TVector3operator/= (const TVector3 &iOther)
 
constexpr TVector3operator/= (T iValue)
 
constexpr bool operator== (const TVector3 &iOther) const
 
constexpr T & operator[] (int iIndex)
 
constexpr const T & operator[] (int iIndex) const
 
constexpr TVector2< T > xx () const
 
constexpr TVector3< T > xxx () const
 
constexpr TVector4< T > xxxx () const
 
constexpr TVector4< T > xxxy () const
 
constexpr TVector4< T > xxxz () const
 
constexpr TVector3< T > xxy () const
 
constexpr TVector4< T > xxyx () const
 
constexpr TVector4< T > xxyy () const
 
constexpr TVector4< T > xxyz () const
 
constexpr TVector3< T > xxz () const
 
constexpr TVector4< T > xxzx () const
 
constexpr TVector4< T > xxzy () const
 
constexpr TVector4< T > xxzz () const
 
constexpr TVector2< T > xy () const
 
constexpr TVector3< T > xyx () const
 
constexpr TVector4< T > xyxx () const
 
constexpr TVector4< T > xyxy () const
 
constexpr TVector4< T > xyxz () const
 
constexpr TVector3< T > xyy () const
 
constexpr TVector4< T > xyyx () const
 
constexpr TVector4< T > xyyy () const
 
constexpr TVector4< T > xyyz () const
 
constexpr TVector3< T > xyz () const
 
constexpr TVector4< T > xyzx () const
 
constexpr TVector4< T > xyzy () const
 
constexpr TVector4< T > xyzz () const
 
constexpr TVector2< T > xz () const
 
constexpr TVector3< T > xzx () const
 
constexpr TVector4< T > xzxx () const
 
constexpr TVector4< T > xzxy () const
 
constexpr TVector4< T > xzxz () const
 
constexpr TVector3< T > xzy () const
 
constexpr TVector4< T > xzyx () const
 
constexpr TVector4< T > xzyy () const
 
constexpr TVector4< T > xzyz () const
 
constexpr TVector3< T > xzz () const
 
constexpr TVector4< T > xzzx () const
 
constexpr TVector4< T > xzzy () const
 
constexpr TVector4< T > xzzz () const
 
constexpr TVector2< T > yx () const
 
constexpr TVector3< T > yxx () const
 
constexpr TVector4< T > yxxx () const
 
constexpr TVector4< T > yxxy () const
 
constexpr TVector4< T > yxxz () const
 
constexpr TVector3< T > yxy () const
 
constexpr TVector4< T > yxyx () const
 
constexpr TVector4< T > yxyy () const
 
constexpr TVector4< T > yxyz () const
 
constexpr TVector3< T > yxz () const
 
constexpr TVector4< T > yxzx () const
 
constexpr TVector4< T > yxzy () const
 
constexpr TVector4< T > yxzz () const
 
constexpr TVector2< T > yy () const
 
constexpr TVector3< T > yyx () const
 
constexpr TVector4< T > yyxx () const
 
constexpr TVector4< T > yyxy () const
 
constexpr TVector4< T > yyxz () const
 
constexpr TVector3< T > yyy () const
 
constexpr TVector4< T > yyyx () const
 
constexpr TVector4< T > yyyy () const
 
constexpr TVector4< T > yyyz () const
 
constexpr TVector3< T > yyz () const
 
constexpr TVector4< T > yyzx () const
 
constexpr TVector4< T > yyzy () const
 
constexpr TVector4< T > yyzz () const
 
constexpr TVector2< T > yz () const
 
constexpr TVector3< T > yzx () const
 
constexpr TVector4< T > yzxx () const
 
constexpr TVector4< T > yzxy () const
 
constexpr TVector4< T > yzxz () const
 
constexpr TVector3< T > yzy () const
 
constexpr TVector4< T > yzyx () const
 
constexpr TVector4< T > yzyy () const
 
constexpr TVector4< T > yzyz () const
 
constexpr TVector3< T > yzz () const
 
constexpr TVector4< T > yzzx () const
 
constexpr TVector4< T > yzzy () const
 
constexpr TVector4< T > yzzz () const
 
constexpr TVector2< T > zx () const
 
constexpr TVector3< T > zxx () const
 
constexpr TVector4< T > zxxx () const
 
constexpr TVector4< T > zxxy () const
 
constexpr TVector4< T > zxxz () const
 
constexpr TVector3< T > zxy () const
 
constexpr TVector4< T > zxyx () const
 
constexpr TVector4< T > zxyy () const
 
constexpr TVector4< T > zxyz () const
 
constexpr TVector3< T > zxz () const
 
constexpr TVector4< T > zxzx () const
 
constexpr TVector4< T > zxzy () const
 
constexpr TVector4< T > zxzz () const
 
constexpr TVector2< T > zy () const
 
constexpr TVector3< T > zyx () const
 
constexpr TVector4< T > zyxx () const
 
constexpr TVector4< T > zyxy () const
 
constexpr TVector4< T > zyxz () const
 
constexpr TVector3< T > zyy () const
 
constexpr TVector4< T > zyyx () const
 
constexpr TVector4< T > zyyy () const
 
constexpr TVector4< T > zyyz () const
 
constexpr TVector3< T > zyz () const
 
constexpr TVector4< T > zyzx () const
 
constexpr TVector4< T > zyzy () const
 
constexpr TVector4< T > zyzz () const
 
constexpr TVector2< T > zz () const
 
constexpr TVector3< T > zzx () const
 
constexpr TVector4< T > zzxx () const
 
constexpr TVector4< T > zzxy () const
 
constexpr TVector4< T > zzxz () const
 
constexpr TVector3< T > zzy () const
 
constexpr TVector4< T > zzyx () const
 
constexpr TVector4< T > zzyy () const
 
constexpr TVector4< T > zzyz () const
 
constexpr TVector3< T > zzz () const
 
constexpr TVector4< T > zzzx () const
 
constexpr TVector4< T > zzzy () const
 
constexpr TVector4< T > zzzz () const
 

Public Attributes

x
 
y
 
z
 

Detailed Description

template<typename T>
class TVector3< T >

The TVector3 class is a template class that provides basic 3D vector functionnalities, it can be used with any numeric types, ranging from integer values to floating point values.

Swizzle operators are also available for all vector types, you can call vec.xxx() or vec.xyyy(), etc.

For example:

FVec2F vec2( 5.0f, 0.75f );
FVec3F swizzledVec3xxx = vec2.xxx(); // ( 5.0f, 5.0f, 5.0f )
FVec4F swizzledVec4yxxy = vec2.yxxy(); // ( 0.75f, 5.0f, 5.0f, 0.75f )
FVec4I vec4( 0, 1, 2, 3 );
FVec4I swizzledVec4zzzw = vec4.zzzw(); // ( 2, 2, 2, 3 )

Following these guidelines for operator overloading.

Constructor & Destructor Documentation

◆ TVector3() [1/7]

template<typename T >
constexpr TVector3< T >::TVector3 ( )
constexpr

Default constructor for the vector, with default zero values.

◆ TVector3() [2/7]

template<typename T >
constexpr TVector3< T >::TVector3 ( iValue)
constexpr

Construct the vector from input value ( both x and y will have value iValue )

◆ TVector3() [3/7]

template<typename T >
constexpr TVector3< T >::TVector3 ( iX,
iY,
iZ = 0 
)
constexpr

Construct the vector from input values.

◆ TVector3() [4/7]

template<typename T >
constexpr TVector3< T >::TVector3 ( const TVector2< T > &  iVec,
iZ = 0 
)
constexpr

Construct the vector from TVector2.

◆ TVector3() [5/7]

template<typename T >
constexpr TVector3< T >::TVector3 ( const TVector4< T > &  iVec)
constexpr

Construct the vector from TVector4.

◆ TVector3() [6/7]

template<typename T >
template<typename U >
constexpr TVector3< T >::TVector3 ( const TVector3< U > &  iOther)
constexpr

Construct the vector from input vector of any convertible type.

◆ TVector3() [7/7]

template<typename T >
template<typename U , typename V , typename W >
constexpr TVector3< T >::TVector3 ( iX,
iY,
iZ 
)
constexpr

Construct the vector from foreign type input values.

Member Function Documentation

◆ CrossProduct()

template<typename T >
constexpr TVector3< T > TVector3< T >::CrossProduct ( const TVector3< T > &  iOther) const
constexpr

Return the cross product of the vector

◆ Distance()

template<typename T >
constexpr T TVector3< T >::Distance ( ) const
constexpr

Return the euclidean distance of the vector.

◆ DistanceSquared()

template<typename T >
constexpr T TVector3< T >::DistanceSquared ( ) const
constexpr

Return the squared euclidean distance of the vector. This can be useful for testing against another squared distance, thus saving a square root calculation.

◆ DotProduct()

template<typename T >
constexpr T TVector3< T >::DotProduct ( const TVector3< T > &  iOther) const
constexpr

Return the dot product of the vector

◆ ManhattanDistance()

template<typename T >
constexpr T TVector3< T >::ManhattanDistance ( ) const
constexpr

Return the manhattan distance of the vector. ( abs( x ) + abs( y ) )

◆ Normalize()

template<typename T >
constexpr const TVector3< T > & TVector3< T >::Normalize ( )
constexpr

Normalize this vector.

◆ Normalized()

template<typename T >
constexpr TVector3< T > TVector3< T >::Normalized ( ) const
constexpr

Return the normalized version of this vector.

◆ operator!=()

template<typename T >
constexpr bool TVector3< T >::operator!= ( const TVector3< T > &  iOther) const
constexpr

Compare this vector to the other vector for strict inequality.

◆ operator*=() [1/2]

template<typename T >
constexpr TVector3< T > & TVector3< T >::operator*= ( const TVector3< T > &  iOther)
constexpr

Multiply this vector by the input vector and return a reference to this vector.

◆ operator*=() [2/2]

template<typename T >
constexpr TVector3< T > & TVector3< T >::operator*= ( iValue)
constexpr

Multiply this vector by the input value and return a reference to this vector.

◆ operator+=() [1/2]

template<typename T >
constexpr TVector3< T > & TVector3< T >::operator+= ( const TVector3< T > &  iOther)
constexpr

Add the input to this vector and return a reference to this vector.

◆ operator+=() [2/2]

template<typename T >
constexpr TVector3< T > & TVector3< T >::operator+= ( iValue)
constexpr

Add the input value to this vector and return a reference to this vector.

◆ operator-()

template<typename T >
constexpr TVector3< T > TVector3< T >::operator- ( ) const
constexpr

◆ operator-=() [1/2]

template<typename T >
constexpr TVector3< T > & TVector3< T >::operator-= ( const TVector3< T > &  iOther)
constexpr

Substract the input to this vector and return a reference to this vector.

◆ operator-=() [2/2]

template<typename T >
constexpr TVector3< T > & TVector3< T >::operator-= ( iValue)
constexpr

Substract the input value to this vector and return a reference to this vector.

◆ operator/=() [1/2]

template<typename T >
constexpr TVector3< T > & TVector3< T >::operator/= ( const TVector3< T > &  iOther)
constexpr

Divide this vector by the input vector and return a reference to this vector.

◆ operator/=() [2/2]

template<typename T >
constexpr TVector3< T > & TVector3< T >::operator/= ( iValue)
constexpr

Divide this vector by the input value and return a reference to this vector.

◆ operator==()

template<typename T >
constexpr bool TVector3< T >::operator== ( const TVector3< T > &  iOther) const
constexpr

Compare this vector to the other vector for strict equality.

◆ operator[]() [1/2]

template<typename T >
constexpr T & TVector3< T >::operator[] ( int  iIndex)
constexpr

Access component x or y by index, return a reference to the component.

◆ operator[]() [2/2]

template<typename T >
constexpr const T & TVector3< T >::operator[] ( int  iIndex) const
constexpr

Access component x or y by index, return a const reference to the component.

◆ xx()

template<typename T >
constexpr TVector2< T > TVector3< T >::xx ( ) const
constexpr

Swizzle xx

◆ xxx()

template<typename T >
constexpr TVector3< T > TVector3< T >::xxx ( ) const
constexpr

Swizzle xxx

◆ xxxx()

template<typename T >
constexpr TVector4< T > TVector3< T >::xxxx ( ) const
constexpr

Swizzle xxxx

◆ xxxy()

template<typename T >
constexpr TVector4< T > TVector3< T >::xxxy ( ) const
constexpr

Swizzle xxxy

◆ xxxz()

template<typename T >
constexpr TVector4< T > TVector3< T >::xxxz ( ) const
constexpr

Swizzle xxxz

◆ xxy()

template<typename T >
constexpr TVector3< T > TVector3< T >::xxy ( ) const
constexpr

Swizzle xxy

◆ xxyx()

template<typename T >
constexpr TVector4< T > TVector3< T >::xxyx ( ) const
constexpr

Swizzle xxyx

◆ xxyy()

template<typename T >
constexpr TVector4< T > TVector3< T >::xxyy ( ) const
constexpr

Swizzle xxyy

◆ xxyz()

template<typename T >
constexpr TVector4< T > TVector3< T >::xxyz ( ) const
constexpr

Swizzle xxyz

◆ xxz()

template<typename T >
constexpr TVector3< T > TVector3< T >::xxz ( ) const
constexpr

Swizzle xxz

◆ xxzx()

template<typename T >
constexpr TVector4< T > TVector3< T >::xxzx ( ) const
constexpr

Swizzle xxzx

◆ xxzy()

template<typename T >
constexpr TVector4< T > TVector3< T >::xxzy ( ) const
constexpr

Swizzle xxzy

◆ xxzz()

template<typename T >
constexpr TVector4< T > TVector3< T >::xxzz ( ) const
constexpr

Swizzle xxzz

◆ xy()

template<typename T >
constexpr TVector2< T > TVector3< T >::xy ( ) const
constexpr

Swizzle xy

◆ xyx()

template<typename T >
constexpr TVector3< T > TVector3< T >::xyx ( ) const
constexpr

Swizzle xyx

◆ xyxx()

template<typename T >
constexpr TVector4< T > TVector3< T >::xyxx ( ) const
constexpr

Swizzle xyxx

◆ xyxy()

template<typename T >
constexpr TVector4< T > TVector3< T >::xyxy ( ) const
constexpr

Swizzle xyxy

◆ xyxz()

template<typename T >
constexpr TVector4< T > TVector3< T >::xyxz ( ) const
constexpr

Swizzle xyxz

◆ xyy()

template<typename T >
constexpr TVector3< T > TVector3< T >::xyy ( ) const
constexpr

Swizzle xyy

◆ xyyx()

template<typename T >
constexpr TVector4< T > TVector3< T >::xyyx ( ) const
constexpr

Swizzle xyyx

◆ xyyy()

template<typename T >
constexpr TVector4< T > TVector3< T >::xyyy ( ) const
constexpr

Swizzle xyyy

◆ xyyz()

template<typename T >
constexpr TVector4< T > TVector3< T >::xyyz ( ) const
constexpr

Swizzle xyyz

◆ xyz()

template<typename T >
constexpr TVector3< T > TVector3< T >::xyz ( ) const
constexpr

Swizzle xyz

◆ xyzx()

template<typename T >
constexpr TVector4< T > TVector3< T >::xyzx ( ) const
constexpr

Swizzle xyzx

◆ xyzy()

template<typename T >
constexpr TVector4< T > TVector3< T >::xyzy ( ) const
constexpr

Swizzle xyzy

◆ xyzz()

template<typename T >
constexpr TVector4< T > TVector3< T >::xyzz ( ) const
constexpr

Swizzle xyzz

◆ xz()

template<typename T >
constexpr TVector2< T > TVector3< T >::xz ( ) const
constexpr

Swizzle xz

◆ xzx()

template<typename T >
constexpr TVector3< T > TVector3< T >::xzx ( ) const
constexpr

Swizzle xzx

◆ xzxx()

template<typename T >
constexpr TVector4< T > TVector3< T >::xzxx ( ) const
constexpr

Swizzle xzxx

◆ xzxy()

template<typename T >
constexpr TVector4< T > TVector3< T >::xzxy ( ) const
constexpr

Swizzle xzxy

◆ xzxz()

template<typename T >
constexpr TVector4< T > TVector3< T >::xzxz ( ) const
constexpr

Swizzle xzxz

◆ xzy()

template<typename T >
constexpr TVector3< T > TVector3< T >::xzy ( ) const
constexpr

Swizzle xzy

◆ xzyx()

template<typename T >
constexpr TVector4< T > TVector3< T >::xzyx ( ) const
constexpr

Swizzle xzyx

◆ xzyy()

template<typename T >
constexpr TVector4< T > TVector3< T >::xzyy ( ) const
constexpr

Swizzle xzyy

◆ xzyz()

template<typename T >
constexpr TVector4< T > TVector3< T >::xzyz ( ) const
constexpr

Swizzle xzyz

◆ xzz()

template<typename T >
constexpr TVector3< T > TVector3< T >::xzz ( ) const
constexpr

Swizzle xzz

◆ xzzx()

template<typename T >
constexpr TVector4< T > TVector3< T >::xzzx ( ) const
constexpr

Swizzle xzzx

◆ xzzy()

template<typename T >
constexpr TVector4< T > TVector3< T >::xzzy ( ) const
constexpr

Swizzle xzzy

◆ xzzz()

template<typename T >
constexpr TVector4< T > TVector3< T >::xzzz ( ) const
constexpr

Swizzle xzzz

◆ yx()

template<typename T >
constexpr TVector2< T > TVector3< T >::yx ( ) const
constexpr

Swizzle yx

◆ yxx()

template<typename T >
constexpr TVector3< T > TVector3< T >::yxx ( ) const
constexpr

Swizzle yxx

◆ yxxx()

template<typename T >
constexpr TVector4< T > TVector3< T >::yxxx ( ) const
constexpr

Swizzle yxxx

◆ yxxy()

template<typename T >
constexpr TVector4< T > TVector3< T >::yxxy ( ) const
constexpr

Swizzle yxxy

◆ yxxz()

template<typename T >
constexpr TVector4< T > TVector3< T >::yxxz ( ) const
constexpr

Swizzle yxxz

◆ yxy()

template<typename T >
constexpr TVector3< T > TVector3< T >::yxy ( ) const
constexpr

Swizzle yxy

◆ yxyx()

template<typename T >
constexpr TVector4< T > TVector3< T >::yxyx ( ) const
constexpr

Swizzle yxyx

◆ yxyy()

template<typename T >
constexpr TVector4< T > TVector3< T >::yxyy ( ) const
constexpr

Swizzle yxyy

◆ yxyz()

template<typename T >
constexpr TVector4< T > TVector3< T >::yxyz ( ) const
constexpr

Swizzle yxyz

◆ yxz()

template<typename T >
constexpr TVector3< T > TVector3< T >::yxz ( ) const
constexpr

Swizzle yxz

◆ yxzx()

template<typename T >
constexpr TVector4< T > TVector3< T >::yxzx ( ) const
constexpr

Swizzle yxzx

◆ yxzy()

template<typename T >
constexpr TVector4< T > TVector3< T >::yxzy ( ) const
constexpr

Swizzle yxzy

◆ yxzz()

template<typename T >
constexpr TVector4< T > TVector3< T >::yxzz ( ) const
constexpr

Swizzle yxzz

◆ yy()

template<typename T >
constexpr TVector2< T > TVector3< T >::yy ( ) const
constexpr

Swizzle yy

◆ yyx()

template<typename T >
constexpr TVector3< T > TVector3< T >::yyx ( ) const
constexpr

Swizzle yyx

◆ yyxx()

template<typename T >
constexpr TVector4< T > TVector3< T >::yyxx ( ) const
constexpr

Swizzle yyxx

◆ yyxy()

template<typename T >
constexpr TVector4< T > TVector3< T >::yyxy ( ) const
constexpr

Swizzle yyxy

◆ yyxz()

template<typename T >
constexpr TVector4< T > TVector3< T >::yyxz ( ) const
constexpr

Swizzle yyxz

◆ yyy()

template<typename T >
constexpr TVector3< T > TVector3< T >::yyy ( ) const
constexpr

Swizzle yyy

◆ yyyx()

template<typename T >
constexpr TVector4< T > TVector3< T >::yyyx ( ) const
constexpr

Swizzle yyyx

◆ yyyy()

template<typename T >
constexpr TVector4< T > TVector3< T >::yyyy ( ) const
constexpr

Swizzle yyyy

◆ yyyz()

template<typename T >
constexpr TVector4< T > TVector3< T >::yyyz ( ) const
constexpr

Swizzle yyyz

◆ yyz()

template<typename T >
constexpr TVector3< T > TVector3< T >::yyz ( ) const
constexpr

Swizzle yyz

◆ yyzx()

template<typename T >
constexpr TVector4< T > TVector3< T >::yyzx ( ) const
constexpr

Swizzle yyzx

◆ yyzy()

template<typename T >
constexpr TVector4< T > TVector3< T >::yyzy ( ) const
constexpr

Swizzle yyzy

◆ yyzz()

template<typename T >
constexpr TVector4< T > TVector3< T >::yyzz ( ) const
constexpr

Swizzle yyzz

◆ yz()

template<typename T >
constexpr TVector2< T > TVector3< T >::yz ( ) const
constexpr

Swizzle yz

◆ yzx()

template<typename T >
constexpr TVector3< T > TVector3< T >::yzx ( ) const
constexpr

Swizzle yzx

◆ yzxx()

template<typename T >
constexpr TVector4< T > TVector3< T >::yzxx ( ) const
constexpr

Swizzle yzxx

◆ yzxy()

template<typename T >
constexpr TVector4< T > TVector3< T >::yzxy ( ) const
constexpr

Swizzle yzxy

◆ yzxz()

template<typename T >
constexpr TVector4< T > TVector3< T >::yzxz ( ) const
constexpr

Swizzle yzxz

◆ yzy()

template<typename T >
constexpr TVector3< T > TVector3< T >::yzy ( ) const
constexpr

Swizzle yzy

◆ yzyx()

template<typename T >
constexpr TVector4< T > TVector3< T >::yzyx ( ) const
constexpr

Swizzle yzyx

◆ yzyy()

template<typename T >
constexpr TVector4< T > TVector3< T >::yzyy ( ) const
constexpr

Swizzle yzyy

◆ yzyz()

template<typename T >
constexpr TVector4< T > TVector3< T >::yzyz ( ) const
constexpr

Swizzle yzyz

◆ yzz()

template<typename T >
constexpr TVector3< T > TVector3< T >::yzz ( ) const
constexpr

Swizzle yzz

◆ yzzx()

template<typename T >
constexpr TVector4< T > TVector3< T >::yzzx ( ) const
constexpr

Swizzle yzzx

◆ yzzy()

template<typename T >
constexpr TVector4< T > TVector3< T >::yzzy ( ) const
constexpr

Swizzle yzzy

◆ yzzz()

template<typename T >
constexpr TVector4< T > TVector3< T >::yzzz ( ) const
constexpr

Swizzle yzzz

◆ zx()

template<typename T >
constexpr TVector2< T > TVector3< T >::zx ( ) const
constexpr

Swizzle zx

◆ zxx()

template<typename T >
constexpr TVector3< T > TVector3< T >::zxx ( ) const
constexpr

Swizzle zxx

◆ zxxx()

template<typename T >
constexpr TVector4< T > TVector3< T >::zxxx ( ) const
constexpr

Swizzle zxxx

◆ zxxy()

template<typename T >
constexpr TVector4< T > TVector3< T >::zxxy ( ) const
constexpr

Swizzle zxxy

◆ zxxz()

template<typename T >
constexpr TVector4< T > TVector3< T >::zxxz ( ) const
constexpr

Swizzle zxxz

◆ zxy()

template<typename T >
constexpr TVector3< T > TVector3< T >::zxy ( ) const
constexpr

Swizzle zxy

◆ zxyx()

template<typename T >
constexpr TVector4< T > TVector3< T >::zxyx ( ) const
constexpr

Swizzle zxyx

◆ zxyy()

template<typename T >
constexpr TVector4< T > TVector3< T >::zxyy ( ) const
constexpr

Swizzle zxyy

◆ zxyz()

template<typename T >
constexpr TVector4< T > TVector3< T >::zxyz ( ) const
constexpr

Swizzle zxyz

◆ zxz()

template<typename T >
constexpr TVector3< T > TVector3< T >::zxz ( ) const
constexpr

Swizzle zxz

◆ zxzx()

template<typename T >
constexpr TVector4< T > TVector3< T >::zxzx ( ) const
constexpr

Swizzle zxzx

◆ zxzy()

template<typename T >
constexpr TVector4< T > TVector3< T >::zxzy ( ) const
constexpr

Swizzle zxzy

◆ zxzz()

template<typename T >
constexpr TVector4< T > TVector3< T >::zxzz ( ) const
constexpr

Swizzle zxzz

◆ zy()

template<typename T >
constexpr TVector2< T > TVector3< T >::zy ( ) const
constexpr

Swizzle zy

◆ zyx()

template<typename T >
constexpr TVector3< T > TVector3< T >::zyx ( ) const
constexpr

Swizzle zyx

◆ zyxx()

template<typename T >
constexpr TVector4< T > TVector3< T >::zyxx ( ) const
constexpr

Swizzle zyxx

◆ zyxy()

template<typename T >
constexpr TVector4< T > TVector3< T >::zyxy ( ) const
constexpr

Swizzle zyxy

◆ zyxz()

template<typename T >
constexpr TVector4< T > TVector3< T >::zyxz ( ) const
constexpr

Swizzle zyxz

◆ zyy()

template<typename T >
constexpr TVector3< T > TVector3< T >::zyy ( ) const
constexpr

Swizzle zyy

◆ zyyx()

template<typename T >
constexpr TVector4< T > TVector3< T >::zyyx ( ) const
constexpr

Swizzle zyyx

◆ zyyy()

template<typename T >
constexpr TVector4< T > TVector3< T >::zyyy ( ) const
constexpr

Swizzle zyyy

◆ zyyz()

template<typename T >
constexpr TVector4< T > TVector3< T >::zyyz ( ) const
constexpr

Swizzle zyyz

◆ zyz()

template<typename T >
constexpr TVector3< T > TVector3< T >::zyz ( ) const
constexpr

Swizzle zyz

◆ zyzx()

template<typename T >
constexpr TVector4< T > TVector3< T >::zyzx ( ) const
constexpr

Swizzle zyzx

◆ zyzy()

template<typename T >
constexpr TVector4< T > TVector3< T >::zyzy ( ) const
constexpr

Swizzle zyzy

◆ zyzz()

template<typename T >
constexpr TVector4< T > TVector3< T >::zyzz ( ) const
constexpr

Swizzle zyzz

◆ zz()

template<typename T >
constexpr TVector2< T > TVector3< T >::zz ( ) const
constexpr

Swizzle zz

◆ zzx()

template<typename T >
constexpr TVector3< T > TVector3< T >::zzx ( ) const
constexpr

Swizzle zzx

◆ zzxx()

template<typename T >
constexpr TVector4< T > TVector3< T >::zzxx ( ) const
constexpr

Swizzle zzxx

◆ zzxy()

template<typename T >
constexpr TVector4< T > TVector3< T >::zzxy ( ) const
constexpr

Swizzle zzxy

◆ zzxz()

template<typename T >
constexpr TVector4< T > TVector3< T >::zzxz ( ) const
constexpr

Swizzle zzxz

◆ zzy()

template<typename T >
constexpr TVector3< T > TVector3< T >::zzy ( ) const
constexpr

Swizzle zzy

◆ zzyx()

template<typename T >
constexpr TVector4< T > TVector3< T >::zzyx ( ) const
constexpr

Swizzle zzyx

◆ zzyy()

template<typename T >
constexpr TVector4< T > TVector3< T >::zzyy ( ) const
constexpr

Swizzle zzyy

◆ zzyz()

template<typename T >
constexpr TVector4< T > TVector3< T >::zzyz ( ) const
constexpr

Swizzle zzyz

◆ zzz()

template<typename T >
constexpr TVector3< T > TVector3< T >::zzz ( ) const
constexpr

Swizzle zzz

◆ zzzx()

template<typename T >
constexpr TVector4< T > TVector3< T >::zzzx ( ) const
constexpr

Swizzle zzzx

◆ zzzy()

template<typename T >
constexpr TVector4< T > TVector3< T >::zzzy ( ) const
constexpr

Swizzle zzzy

◆ zzzz()

template<typename T >
constexpr TVector4< T > TVector3< T >::zzzz ( ) const
constexpr

Swizzle zzzz

Member Data Documentation

◆ x

template<typename T >
T TVector3< T >::x

The x component of the 3D vector.

◆ y

template<typename T >
T TVector3< T >::y

The y component of the 3D vector.

◆ z

template<typename T >
T TVector3< T >::z

The z component of the 3D vector.

TVector4::zzzw
constexpr TVector4< T > zzzw() const
Definition: Vector.h:73
TVector3::xxx
constexpr TVector3< T > xxx() const
Definition: Vector.h:73
TVector3
The TVector3 class provides a simple 3D vector class for vector geometry applications.
Definition: FDecl.h:55
TVector4::yxxy
constexpr TVector4< T > yxxy() const
Definition: Vector.h:73
TVector4
The TVector4 class provides a simple 4D vector class for vector geometry applications.
Definition: FDecl.h:58
TVector2< float >