Open CASCADE Technology
6.5.4
|
Generic 4-components vector. To be used as RGBA color vector or XYZW 3D-point with special W-component for operations with projection / model view matrices. Use this class for 3D-points carefully because declared W-component may results in incorrect results if used without matrices.
#include <NCollection_Vec4.hxx>
Public Member Functions | |
NCollection_Vec4 () | |
Empty constructor. Construct the zero vector. | |
NCollection_Vec4 (const Element_t theValue) | |
Initialize ALL components of vector within specified value. | |
NCollection_Vec4 (const Element_t theX, const Element_t theY, const Element_t theZ, const Element_t theW) | |
Per-component constructor. | |
NCollection_Vec4 (const NCollection_Vec2< Element_t > &theVec2) | |
Constructor from 2-components vector. | |
NCollection_Vec4 (const NCollection_Vec3< Element_t > &theVec3) | |
Constructor from 3-components vector. | |
NCollection_Vec4 (const NCollection_Vec3< Element_t > &theVec3, const Element_t theAlpha) | |
Constructor from 3-components vector + alpha value. | |
NCollection_Vec4 (const NCollection_Vec4 &theVec4) | |
Copy constructor. | |
const NCollection_Vec4 & | operator= (const NCollection_Vec4 &theVec4) |
Assignment operator. | |
Element_t | x () const |
Alias to 1st component as X coordinate in XYZW. | |
Element_t | r () const |
Alias to 1st component as RED channel in RGBA. | |
Element_t | y () const |
Alias to 2nd component as Y coordinate in XYZW. | |
Element_t | g () const |
Alias to 2nd component as GREEN channel in RGBA. | |
Element_t | z () const |
Alias to 3rd component as Z coordinate in XYZW. | |
Element_t | b () const |
Alias to 3rd component as BLUE channel in RGBA. | |
Element_t | w () const |
Alias to 4th component as W coordinate in XYZW. | |
Element_t | a () const |
Alias to 4th component as ALPHA channel in RGBA. | |
NCOLLECTION_VEC_COMPONENTS_2D (x, y) | |
NCOLLECTION_VEC_COMPONENTS_2D (x, z) | |
NCOLLECTION_VEC_COMPONENTS_2D (x, w) | |
NCOLLECTION_VEC_COMPONENTS_2D (y, z) | |
NCOLLECTION_VEC_COMPONENTS_2D (y, w) | |
NCOLLECTION_VEC_COMPONENTS_2D (z, w) | |
NCOLLECTION_VEC_COMPONENTS_3D (x, y, z) | |
NCOLLECTION_VEC_COMPONENTS_3D (x, y, w) | |
NCOLLECTION_VEC_COMPONENTS_3D (x, z, w) | |
NCOLLECTION_VEC_COMPONENTS_3D (y, z, w) | |
NCOLLECTION_VEC_COMPONENTS_3D (r, g, b) | |
Element_t & | x () |
Alias to 1st component as X coordinate in XYZW. | |
Element_t & | r () |
Alias to 1st component as RED channel in RGBA. | |
Element_t & | y () |
Alias to 2nd component as Y coordinate in XYZW. | |
Element_t & | g () |
Alias to 2nd component as GREEN channel in RGBA. | |
Element_t & | z () |
Alias to 3rd component as Z coordinate in XYZW. | |
Element_t & | b () |
Alias to 3rd component as BLUE channel in RGBA. | |
Element_t & | w () |
Alias to 4th component as W coordinate in XYZW. | |
Element_t & | a () |
Alias to 4th component as ALPHA channel in RGBA. | |
NCollection_Vec2< Element_t > & | xy () |
NCollection_Vec2< Element_t > & | yz () |
NCollection_Vec2< Element_t > & | zw () |
NCollection_Vec3< Element_t > & | xyz () |
NCollection_Vec3< Element_t > & | yzw () |
const Element_t * | GetData () const |
Raw access to the data (for OpenGL exchange). | |
operator const Element_t * () const | |
operator Element_t * () | |
NCollection_Vec4 & | operator+= (const NCollection_Vec4 &theAdd) |
Compute per-component summary. | |
NCollection_Vec4 & | operator-= (const NCollection_Vec4 &theDec) |
Compute per-component subtraction. | |
NCollection_Vec4 & | operator*= (const NCollection_Vec4 &theRight) |
Compute per-component multiplication. | |
void | Multiply (const Element_t theFactor) |
Compute per-component multiplication. | |
NCollection_Vec4 & | operator*= (const Element_t theFactor) |
Compute per-component multiplication. | |
NCollection_Vec4 | operator* (const Element_t theFactor) const |
Compute per-component multiplication. | |
NCollection_Vec4 | Multiplied (const Element_t theFactor) const |
Compute per-component multiplication. | |
NCollection_Vec4 & | operator/= (const Element_t theInvFactor) |
Compute per-component division by scale factor. | |
NCollection_Vec4 | operator/ (const Element_t theInvFactor) |
Compute per-component division by scale factor. | |
template<> | |
NCollection_Vec4< float > & | operator/= (const float theInvFactor) |
template<> | |
NCollection_Vec4< double > & | operator/= (const double theInvFactor) |
Static Public Member Functions | |
static size_t | Length () |
Returns the number of components. | |
Friends | |
NCollection_Vec4 | operator+ (const NCollection_Vec4 &theLeft, const NCollection_Vec4 &theRight) |
Compute per-component summary. | |
NCollection_Vec4 | operator- (const NCollection_Vec4 &theLeft, const NCollection_Vec4 &theRight) |
Compute per-component subtraction. | |
NCollection_Vec4 | operator* (const NCollection_Vec4 &theLeft, const NCollection_Vec4 &theRight) |
Compute per-component multiplication. |
NCollection_Vec4< Element_t >::NCollection_Vec4 | ( | ) | [inline] |
NCollection_Vec4< Element_t >::NCollection_Vec4 | ( | const Element_t | theValue | ) | [inline, explicit] |
NCollection_Vec4< Element_t >::NCollection_Vec4 | ( | const Element_t | theX, |
const Element_t | theY, | ||
const Element_t | theZ, | ||
const Element_t | theW | ||
) | [inline, explicit] |
NCollection_Vec4< Element_t >::NCollection_Vec4 | ( | const NCollection_Vec2< Element_t > & | theVec2 | ) | [inline, explicit] |
NCollection_Vec4< Element_t >::NCollection_Vec4 | ( | const NCollection_Vec3< Element_t > & | theVec3 | ) | [inline, explicit] |
NCollection_Vec4< Element_t >::NCollection_Vec4 | ( | const NCollection_Vec3< Element_t > & | theVec3, |
const Element_t | theAlpha | ||
) | [inline, explicit] |
NCollection_Vec4< Element_t >::NCollection_Vec4 | ( | const NCollection_Vec4< Element_t > & | theVec4 | ) | [inline] |
Element_t NCollection_Vec4< Element_t >::a | ( | ) | const [inline] |
Element_t& NCollection_Vec4< Element_t >::a | ( | ) | [inline] |
Element_t NCollection_Vec4< Element_t >::b | ( | ) | const [inline] |
Element_t& NCollection_Vec4< Element_t >::b | ( | ) | [inline] |
Element_t NCollection_Vec4< Element_t >::g | ( | ) | const [inline] |
Element_t& NCollection_Vec4< Element_t >::g | ( | ) | [inline] |
const Element_t* NCollection_Vec4< Element_t >::GetData | ( | ) | const [inline] |
static size_t NCollection_Vec4< Element_t >::Length | ( | void | ) | [inline, static] |
NCollection_Vec4 NCollection_Vec4< Element_t >::Multiplied | ( | const Element_t | theFactor | ) | const [inline] |
void NCollection_Vec4< Element_t >::Multiply | ( | const Element_t | theFactor | ) | [inline] |
NCollection_Vec4< Element_t >::NCOLLECTION_VEC_COMPONENTS_2D | ( | x | , |
y | |||
) |
NCollection_Vec4< Element_t >::NCOLLECTION_VEC_COMPONENTS_2D | ( | x | , |
z | |||
) |
NCollection_Vec4< Element_t >::NCOLLECTION_VEC_COMPONENTS_2D | ( | x | , |
w | |||
) |
NCollection_Vec4< Element_t >::NCOLLECTION_VEC_COMPONENTS_2D | ( | y | , |
z | |||
) |
NCollection_Vec4< Element_t >::NCOLLECTION_VEC_COMPONENTS_2D | ( | y | , |
w | |||
) |
NCollection_Vec4< Element_t >::NCOLLECTION_VEC_COMPONENTS_2D | ( | z | , |
w | |||
) |
NCollection_Vec4< Element_t >::NCOLLECTION_VEC_COMPONENTS_3D | ( | x | , |
y | , | ||
z | |||
) |
NCollection_Vec4< Element_t >::NCOLLECTION_VEC_COMPONENTS_3D | ( | x | , |
y | , | ||
w | |||
) |
NCollection_Vec4< Element_t >::NCOLLECTION_VEC_COMPONENTS_3D | ( | x | , |
z | , | ||
w | |||
) |
NCollection_Vec4< Element_t >::NCOLLECTION_VEC_COMPONENTS_3D | ( | y | , |
z | , | ||
w | |||
) |
NCollection_Vec4< Element_t >::NCOLLECTION_VEC_COMPONENTS_3D | ( | r | , |
g | , | ||
b | |||
) |
NCollection_Vec4< Element_t >::operator const Element_t * | ( | ) | const [inline] |
NCollection_Vec4< Element_t >::operator Element_t * | ( | ) | [inline] |
NCollection_Vec4 NCollection_Vec4< Element_t >::operator* | ( | const Element_t | theFactor | ) | const [inline] |
NCollection_Vec4& NCollection_Vec4< Element_t >::operator*= | ( | const NCollection_Vec4< Element_t > & | theRight | ) | [inline] |
NCollection_Vec4& NCollection_Vec4< Element_t >::operator*= | ( | const Element_t | theFactor | ) | [inline] |
NCollection_Vec4& NCollection_Vec4< Element_t >::operator+= | ( | const NCollection_Vec4< Element_t > & | theAdd | ) | [inline] |
NCollection_Vec4& NCollection_Vec4< Element_t >::operator-= | ( | const NCollection_Vec4< Element_t > & | theDec | ) | [inline] |
NCollection_Vec4 NCollection_Vec4< Element_t >::operator/ | ( | const Element_t | theInvFactor | ) | [inline] |
NCollection_Vec4& NCollection_Vec4< Element_t >::operator/= | ( | const Element_t | theInvFactor | ) | [inline] |
NCollection_Vec4< float > & NCollection_Vec4< float >::operator/= | ( | const float | theInvFactor | ) | [inline] |
NCollection_Vec4< double > & NCollection_Vec4< double >::operator/= | ( | const double | theInvFactor | ) | [inline] |
const NCollection_Vec4& NCollection_Vec4< Element_t >::operator= | ( | const NCollection_Vec4< Element_t > & | theVec4 | ) | [inline] |
Element_t NCollection_Vec4< Element_t >::r | ( | ) | const [inline] |
Element_t& NCollection_Vec4< Element_t >::r | ( | ) | [inline] |
Element_t NCollection_Vec4< Element_t >::w | ( | ) | const [inline] |
Element_t& NCollection_Vec4< Element_t >::w | ( | ) | [inline] |
Element_t NCollection_Vec4< Element_t >::x | ( | ) | const [inline] |
Element_t& NCollection_Vec4< Element_t >::x | ( | ) | [inline] |
NCollection_Vec2<Element_t>& NCollection_Vec4< Element_t >::xy | ( | ) | [inline] |
NCollection_Vec3<Element_t>& NCollection_Vec4< Element_t >::xyz | ( | ) | [inline] |
Element_t NCollection_Vec4< Element_t >::y | ( | ) | const [inline] |
Element_t& NCollection_Vec4< Element_t >::y | ( | ) | [inline] |
NCollection_Vec2<Element_t>& NCollection_Vec4< Element_t >::yz | ( | ) | [inline] |
NCollection_Vec3<Element_t>& NCollection_Vec4< Element_t >::yzw | ( | ) | [inline] |
Element_t NCollection_Vec4< Element_t >::z | ( | ) | const [inline] |
Element_t& NCollection_Vec4< Element_t >::z | ( | ) | [inline] |
NCollection_Vec2<Element_t>& NCollection_Vec4< Element_t >::zw | ( | ) | [inline] |
NCollection_Vec4 operator* | ( | const NCollection_Vec4< Element_t > & | theLeft, |
const NCollection_Vec4< Element_t > & | theRight | ||
) | [friend] |
NCollection_Vec4 operator+ | ( | const NCollection_Vec4< Element_t > & | theLeft, |
const NCollection_Vec4< Element_t > & | theRight | ||
) | [friend] |
NCollection_Vec4 operator- | ( | const NCollection_Vec4< Element_t > & | theLeft, |
const NCollection_Vec4< Element_t > & | theRight | ||
) | [friend] |