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.
More...
|
| NCollection_Vec4 () |
| Empty constructor. Construct the zero vector. More...
|
|
| NCollection_Vec4 (const Element_t theValue) |
| Initialize ALL components of vector within specified value. More...
|
|
| NCollection_Vec4 (const Element_t theX, const Element_t theY, const Element_t theZ, const Element_t theW) |
| Per-component constructor. More...
|
|
| NCollection_Vec4 (const NCollection_Vec2< Element_t > &theVec2) |
| Constructor from 2-components vector. More...
|
|
| NCollection_Vec4 (const NCollection_Vec3< Element_t > &theVec3, const Element_t theW=Element_t(0)) |
| Constructor from 3-components vector + optional 4th value. More...
|
|
template<typename OtherElement_t > |
| NCollection_Vec4 (const NCollection_Vec4< OtherElement_t > &theOtherVec4) |
| Conversion constructor (explicitly converts some 4-component vector with other element type to a new 4-component vector with the element type Element_t, whose elements are static_cast'ed corresponding elements of theOtherVec4 vector) More...
|
|
void | SetValues (const Element_t theX, const Element_t theY, const Element_t theZ, const Element_t theW) |
| Assign new values to the vector. More...
|
|
void | SetValues (const NCollection_Vec3< Element_t > &theVec3, const Element_t theW) |
| Assign new values as 3-component vector and a 4-th value. More...
|
|
Element_t | x () const |
| Alias to 1st component as X coordinate in XYZW. More...
|
|
Element_t | r () const |
| Alias to 1st component as RED channel in RGBA. More...
|
|
Element_t | y () const |
| Alias to 2nd component as Y coordinate in XYZW. More...
|
|
Element_t | g () const |
| Alias to 2nd component as GREEN channel in RGBA. More...
|
|
Element_t | z () const |
| Alias to 3rd component as Z coordinate in XYZW. More...
|
|
Element_t | b () const |
| Alias to 3rd component as BLUE channel in RGBA. More...
|
|
Element_t | w () const |
| Alias to 4th component as W coordinate in XYZW. More...
|
|
Element_t | a () const |
| Alias to 4th component as ALPHA channel in RGBA. More...
|
|
Element_t & | x () |
| Alias to 1st component as X coordinate in XYZW. More...
|
|
Element_t & | r () |
| Alias to 1st component as RED channel in RGBA. More...
|
|
Element_t & | y () |
| Alias to 2nd component as Y coordinate in XYZW. More...
|
|
Element_t & | g () |
| Alias to 2nd component as GREEN channel in RGBA. More...
|
|
Element_t & | z () |
| Alias to 3rd component as Z coordinate in XYZW. More...
|
|
Element_t & | b () |
| Alias to 3rd component as BLUE channel in RGBA. More...
|
|
Element_t & | w () |
| Alias to 4th component as W coordinate in XYZW. More...
|
|
Element_t & | a () |
| Alias to 4th component as ALPHA channel in RGBA. More...
|
|
bool | IsEqual (const NCollection_Vec4 &theOther) const |
| Check this vector with another vector for equality (without tolerance!). More...
|
|
bool | operator== (const NCollection_Vec4 &theOther) const |
| Check this vector with another vector for equality (without tolerance!). More...
|
|
bool | operator!= (const NCollection_Vec4 &theOther) const |
| Check this vector with another vector for non-equality (without tolerance!). More...
|
|
const Element_t * | GetData () const |
| Raw access to the data (for OpenGL exchange). More...
|
|
Element_t * | ChangeData () |
|
| operator const Element_t * () const |
|
| operator Element_t * () |
|
NCollection_Vec4 & | operator+= (const NCollection_Vec4 &theAdd) |
| Compute per-component summary. More...
|
|
NCollection_Vec4 | operator- () const |
| Unary -. More...
|
|
NCollection_Vec4 & | operator-= (const NCollection_Vec4 &theDec) |
| Compute per-component subtraction. More...
|
|
NCollection_Vec4 & | operator*= (const NCollection_Vec4 &theRight) |
| Compute per-component multiplication. More...
|
|
void | Multiply (const Element_t theFactor) |
| Compute per-component multiplication. More...
|
|
NCollection_Vec4 & | operator*= (const Element_t theFactor) |
| Compute per-component multiplication. More...
|
|
NCollection_Vec4 | operator* (const Element_t theFactor) const |
| Compute per-component multiplication. More...
|
|
NCollection_Vec4 | Multiplied (const Element_t theFactor) const |
| Compute per-component multiplication. More...
|
|
NCollection_Vec4 | cwiseMin (const NCollection_Vec4 &theVec) const |
| Compute component-wise minimum of two vectors. More...
|
|
NCollection_Vec4 | cwiseMax (const NCollection_Vec4 &theVec) const |
| Compute component-wise maximum of two vectors. More...
|
|
NCollection_Vec4 | cwiseAbs () const |
| Compute component-wise modulus of the vector. More...
|
|
Element_t | maxComp () const |
| Compute maximum component of the vector. More...
|
|
Element_t | minComp () const |
| Compute minimum component of the vector. More...
|
|
Element_t | Dot (const NCollection_Vec4 &theOther) const |
| Computes the dot product. More...
|
|
NCollection_Vec4 & | operator/= (const Element_t theInvFactor) |
| Compute per-component division by scale factor. More...
|
|
NCollection_Vec4 & | operator/= (const NCollection_Vec4 &theRight) |
| Compute per-component division. More...
|
|
NCollection_Vec4 | operator/ (const Element_t theInvFactor) |
| Compute per-component division by scale factor. More...
|
|
void | DumpJson (Standard_OStream &theOStream, Standard_Integer theDepth=-1) const |
| Dumps the content of me into the stream. More...
|
|
template<> |
NCollection_Vec4< float > & | operator/= (const float theInvFactor) |
| Optimized concretization for float type. More...
|
|
template<> |
NCollection_Vec4< double > & | operator/= (const double theInvFactor) |
| Optimized concretization for double type. More...
|
|
template<typename Element_t>
class NCollection_Vec4< Element_t >
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.