Open CASCADE Technology
7.4.0
|
Generic 3-components vector. To be used as RGB color pixel or XYZ 3D-point. The main target for this class - to handle raw low-level arrays (from/to graphic driver etc.). More...
#include <NCollection_Vec3.hxx>
Public Member Functions | |
NCollection_Vec3 () | |
Empty constructor. Construct the zero vector. More... | |
NCollection_Vec3 (Element_t theValue) | |
Initialize ALL components of vector within specified value. More... | |
NCollection_Vec3 (const Element_t theX, const Element_t theY, const Element_t theZ) | |
Per-component constructor. More... | |
NCollection_Vec3 (const NCollection_Vec2< Element_t > &theVec2, Element_t theZ=Element_t(0)) | |
Constructor from 2-components vector + optional 3rd value. More... | |
template<typename OtherElement_t > | |
NCollection_Vec3 (const NCollection_Vec3< OtherElement_t > &theOtherVec3) | |
Conversion constructor (explicitly converts some 3-component vector with other element type to a new 3-component vector with the element type Element_t, whose elements are static_cast'ed corresponding elements of theOtherVec3 vector) More... | |
void | SetValues (const Element_t theX, const Element_t theY, const Element_t theZ) |
Assign new values to the vector. More... | |
void | SetValues (const NCollection_Vec2< Element_t > &theVec2, Element_t theZ) |
Assign new values to the vector. More... | |
Element_t | x () const |
Alias to 1st component as X coordinate in XYZ. More... | |
Element_t | r () const |
Alias to 1st component as RED channel in RGB. More... | |
Element_t | y () const |
Alias to 2nd component as Y coordinate in XYZ. More... | |
Element_t | g () const |
Alias to 2nd component as GREEN channel in RGB. More... | |
Element_t | z () const |
Alias to 3rd component as Z coordinate in XYZ. More... | |
Element_t | b () const |
Alias to 3rd component as BLUE channel in RGB. More... | |
Element_t & | x () |
Alias to 1st component as X coordinate in XYZ. More... | |
Element_t & | r () |
Alias to 1st component as RED channel in RGB. More... | |
Element_t & | y () |
Alias to 2nd component as Y coordinate in XYZ. More... | |
Element_t & | g () |
Alias to 2nd component as GREEN channel in RGB. More... | |
Element_t & | z () |
Alias to 3rd component as Z coordinate in XYZ. More... | |
Element_t & | b () |
Alias to 3rd component as BLUE channel in RGB. More... | |
bool | IsEqual (const NCollection_Vec3 &theOther) const |
Check this vector with another vector for equality (without tolerance!). More... | |
bool | operator== (const NCollection_Vec3 &theOther) |
Check this vector with another vector for equality (without tolerance!). More... | |
bool | operator== (const NCollection_Vec3 &theOther) const |
bool | operator!= (const NCollection_Vec3 &theOther) |
Check this vector with another vector for non-equality (without tolerance!). More... | |
bool | operator!= (const NCollection_Vec3 &theOther) const |
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_Vec3 & | operator+= (const NCollection_Vec3 &theAdd) |
Compute per-component summary. More... | |
NCollection_Vec3 | operator- () const |
Unary -. More... | |
NCollection_Vec3 & | operator-= (const NCollection_Vec3 &theDec) |
Compute per-component subtraction. More... | |
void | Multiply (const Element_t theFactor) |
Compute per-component multiplication by scale factor. More... | |
NCollection_Vec3 & | operator*= (const NCollection_Vec3 &theRight) |
Compute per-component multiplication. More... | |
NCollection_Vec3 & | operator*= (const Element_t theFactor) |
Compute per-component multiplication by scale factor. More... | |
NCollection_Vec3 | operator* (const Element_t theFactor) const |
Compute per-component multiplication by scale factor. More... | |
NCollection_Vec3 | Multiplied (const Element_t theFactor) const |
Compute per-component multiplication by scale factor. More... | |
NCollection_Vec3 | cwiseMin (const NCollection_Vec3 &theVec) const |
Compute component-wise minimum of two vectors. More... | |
NCollection_Vec3 | cwiseMax (const NCollection_Vec3 &theVec) const |
Compute component-wise maximum of two vectors. More... | |
NCollection_Vec3 | 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... | |
NCollection_Vec3 & | operator/= (const Element_t theInvFactor) |
Compute per-component division by scale factor. More... | |
NCollection_Vec3 & | operator/= (const NCollection_Vec3 &theRight) |
Compute per-component division. More... | |
NCollection_Vec3 | operator/ (const Element_t theInvFactor) const |
Compute per-component division by scale factor. More... | |
Element_t | Dot (const NCollection_Vec3 &theOther) const |
Computes the dot product. More... | |
Element_t | Modulus () const |
Computes the vector modulus (magnitude, length). More... | |
Element_t | SquareModulus () const |
Computes the square of vector modulus (magnitude, length). This method may be used for performance tricks. More... | |
void | Normalize () |
Normalize the vector. More... | |
NCollection_Vec3 | Normalized () const |
Normalize the vector. More... | |
template<> | |
NCollection_Vec3< float > & | operator/= (const float theInvFactor) |
Optimized concretization for float type. More... | |
template<> | |
NCollection_Vec3< double > & | operator/= (const double theInvFactor) |
Optimized concretization for double type. More... | |
Static Public Member Functions | |
static int | Length () |
Returns the number of components. More... | |
static NCollection_Vec3 | Cross (const NCollection_Vec3 &theVec1, const NCollection_Vec3 &theVec2) |
Computes the cross product. More... | |
static NCollection_Vec3 | GetLERP (const NCollection_Vec3 &theFrom, const NCollection_Vec3 &theTo, const Element_t theT) |
Compute linear interpolation between to vectors. More... | |
static NCollection_Vec3 | DX () |
Constuct DX unit vector. More... | |
static NCollection_Vec3 | DY () |
Constuct DY unit vector. More... | |
static NCollection_Vec3 | DZ () |
Constuct DZ unit vector. More... | |
Friends | |
NCollection_Vec3 | operator+ (const NCollection_Vec3 &theLeft, const NCollection_Vec3 &theRight) |
Compute per-component summary. More... | |
NCollection_Vec3 | operator- (const NCollection_Vec3 &theLeft, const NCollection_Vec3 &theRight) |
Compute per-component subtraction. More... | |
NCollection_Vec3 | operator* (const NCollection_Vec3 &theLeft, const NCollection_Vec3 &theRight) |
Compute per-component multiplication. More... | |
NCollection_Vec3 | operator/ (const NCollection_Vec3 &theLeft, const NCollection_Vec3 &theRight) |
Compute per-component division. More... | |
Generic 3-components vector. To be used as RGB color pixel or XYZ 3D-point. The main target for this class - to handle raw low-level arrays (from/to graphic driver etc.).
|
inline |
Empty constructor. Construct the zero vector.
|
inlineexplicit |
Initialize ALL components of vector within specified value.
|
inlineexplicit |
Per-component constructor.
|
inlineexplicit |
Constructor from 2-components vector + optional 3rd value.
|
inlineexplicit |
Conversion constructor (explicitly converts some 3-component vector with other element type to a new 3-component vector with the element type Element_t, whose elements are static_cast'ed corresponding elements of theOtherVec3 vector)
OtherElement_t | the element type of the other 3-component vector theOtherVec3 |
theOtherVec3 | the 3-component vector that needs to be converted |
|
inline |
Alias to 3rd component as BLUE channel in RGB.
|
inline |
Alias to 3rd component as BLUE channel in RGB.
|
inline |
|
inlinestatic |
Computes the cross product.
|
inline |
Compute component-wise modulus of the vector.
|
inline |
Compute component-wise maximum of two vectors.
|
inline |
Compute component-wise minimum of two vectors.
|
inline |
Computes the dot product.
|
inlinestatic |
Constuct DX unit vector.
|
inlinestatic |
Constuct DY unit vector.
|
inlinestatic |
Constuct DZ unit vector.
|
inline |
Alias to 2nd component as GREEN channel in RGB.
|
inline |
Alias to 2nd component as GREEN channel in RGB.
|
inline |
Raw access to the data (for OpenGL exchange).
|
inlinestatic |
Compute linear interpolation between to vectors.
theT | - interpolation coefficient 0..1; |
|
inline |
Check this vector with another vector for equality (without tolerance!).
|
inlinestatic |
Returns the number of components.
|
inline |
Compute maximum component of the vector.
|
inline |
Compute minimum component of the vector.
|
inline |
Computes the vector modulus (magnitude, length).
|
inline |
Compute per-component multiplication by scale factor.
|
inline |
Compute per-component multiplication by scale factor.
|
inline |
Normalize the vector.
|
inline |
Normalize the vector.
|
inline |
|
inline |
|
inline |
Check this vector with another vector for non-equality (without tolerance!).
|
inline |
|
inline |
Compute per-component multiplication by scale factor.
|
inline |
Compute per-component multiplication.
|
inline |
Compute per-component multiplication by scale factor.
|
inline |
Compute per-component summary.
|
inline |
Unary -.
|
inline |
Compute per-component subtraction.
|
inline |
Compute per-component division by scale factor.
|
inline |
Compute per-component division by scale factor.
|
inline |
Compute per-component division.
|
inline |
Optimized concretization for float type.
|
inline |
Optimized concretization for double type.
|
inline |
Check this vector with another vector for equality (without tolerance!).
|
inline |
|
inline |
Alias to 1st component as RED channel in RGB.
|
inline |
Alias to 1st component as RED channel in RGB.
|
inline |
Assign new values to the vector.
|
inline |
Assign new values to the vector.
|
inline |
Computes the square of vector modulus (magnitude, length). This method may be used for performance tricks.
|
inline |
Alias to 1st component as X coordinate in XYZ.
|
inline |
Alias to 1st component as X coordinate in XYZ.
|
inline |
Alias to 2nd component as Y coordinate in XYZ.
|
inline |
Alias to 2nd component as Y coordinate in XYZ.
|
inline |
Alias to 3rd component as Z coordinate in XYZ.
|
inline |
Alias to 3rd component as Z coordinate in XYZ.
|
friend |
Compute per-component multiplication.
|
friend |
Compute per-component summary.
|
friend |
Compute per-component subtraction.
|
friend |
Compute per-component division.