Open CASCADE Technology  6.9.0
Public Member Functions | Static Public Member Functions | Friends

NCollection_Vec2< Element_t > Class Template Reference

Defines the 2D-vector template. The main target for this class - to handle raw low-level arrays (from/to graphic driver etc.). More...

#include <NCollection_Vec2.hxx>

Public Member Functions

 NCollection_Vec2 ()
 Empty constructor. Construct the zero vector. More...
 
 NCollection_Vec2 (const Element_t theXY)
 Initialize ALL components of vector within specified value. More...
 
 NCollection_Vec2 (const Element_t theX, const Element_t theY)
 Per-component constructor. More...
 
 NCollection_Vec2 (const NCollection_Vec2 &theVec2)
 Copy constructor. More...
 
const NCollection_Vec2operator= (const NCollection_Vec2 &theVec2)
 Assignment operator. More...
 
Element_t x () const
 Alias to 1st component as X coordinate in XY. More...
 
Element_t y () const
 Alias to 2nd component as Y coordinate in XY. More...
 
Element_t & x ()
 Alias to 1st component as X coordinate in XY. More...
 
Element_t & y ()
 Alias to 2nd component as Y coordinate in XY. 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_Vec2operator+= (const NCollection_Vec2 &theAdd)
 Compute per-component summary. More...
 
NCollection_Vec2operator-= (const NCollection_Vec2 &theDec)
 Compute per-component subtraction. More...
 
NCollection_Vec2 operator- () const
 Unary -. More...
 
NCollection_Vec2operator*= (const NCollection_Vec2 &theRight)
 Compute per-component multiplication. More...
 
void Multiply (const Element_t theFactor)
 Compute per-component multiplication by scale factor. More...
 
NCollection_Vec2 Multiplied (const Element_t theFactor) const
 Compute per-component multiplication by scale factor. More...
 
NCollection_Vec2 cwiseMin (const NCollection_Vec2 &theVec) const
 Compute component-wise minimum of two vectors. More...
 
NCollection_Vec2 cwiseMax (const NCollection_Vec2 &theVec) const
 Compute component-wise maximum of two vectors. More...
 
NCollection_Vec2 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_Vec2operator*= (const Element_t theFactor)
 Compute per-component multiplication by scale factor. More...
 
NCollection_Vec2operator/= (const Element_t theInvFactor)
 Compute per-component division by scale factor. More...
 
NCollection_Vec2 operator* (const Element_t theFactor) const
 Compute per-component multiplication by scale factor. More...
 
NCollection_Vec2 operator/ (const Element_t theInvFactor) const
 Compute per-component division by scale factor. More...
 
Element_t Dot (const NCollection_Vec2 &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...
 

Static Public Member Functions

static int Length ()
 Returns the number of components. More...
 
static NCollection_Vec2 DX ()
 Constuct DX unit vector. More...
 
static NCollection_Vec2 DY ()
 Constuct DY unit vector. More...
 

Friends

NCollection_Vec2 operator+ (const NCollection_Vec2 &theLeft, const NCollection_Vec2 &theRight)
 Compute per-component summary. More...
 
NCollection_Vec2 operator- (const NCollection_Vec2 &theLeft, const NCollection_Vec2 &theRight)
 Compute per-component subtraction. More...
 
NCollection_Vec2 operator* (const NCollection_Vec2 &theLeft, const NCollection_Vec2 &theRight)
 Compute per-component multiplication. More...
 

Detailed Description

template<typename Element_t>
class NCollection_Vec2< Element_t >

Defines the 2D-vector template. The main target for this class - to handle raw low-level arrays (from/to graphic driver etc.).

Constructor & Destructor Documentation

template<typename Element_t>
NCollection_Vec2< Element_t >::NCollection_Vec2 ( )
inline

Empty constructor. Construct the zero vector.

template<typename Element_t>
NCollection_Vec2< Element_t >::NCollection_Vec2 ( const Element_t  theXY)
inlineexplicit

Initialize ALL components of vector within specified value.

template<typename Element_t>
NCollection_Vec2< Element_t >::NCollection_Vec2 ( const Element_t  theX,
const Element_t  theY 
)
inlineexplicit

Per-component constructor.

template<typename Element_t>
NCollection_Vec2< Element_t >::NCollection_Vec2 ( const NCollection_Vec2< Element_t > &  theVec2)
inline

Copy constructor.

Member Function Documentation

template<typename Element_t>
Element_t* NCollection_Vec2< Element_t >::ChangeData ( )
inline
template<typename Element_t>
NCollection_Vec2 NCollection_Vec2< Element_t >::cwiseAbs ( ) const
inline

Compute component-wise modulus of the vector.

template<typename Element_t>
NCollection_Vec2 NCollection_Vec2< Element_t >::cwiseMax ( const NCollection_Vec2< Element_t > &  theVec) const
inline

Compute component-wise maximum of two vectors.

template<typename Element_t>
NCollection_Vec2 NCollection_Vec2< Element_t >::cwiseMin ( const NCollection_Vec2< Element_t > &  theVec) const
inline

Compute component-wise minimum of two vectors.

template<typename Element_t>
Element_t NCollection_Vec2< Element_t >::Dot ( const NCollection_Vec2< Element_t > &  theOther) const
inline

Computes the dot product.

template<typename Element_t>
static NCollection_Vec2 NCollection_Vec2< Element_t >::DX ( )
inlinestatic

Constuct DX unit vector.

template<typename Element_t>
static NCollection_Vec2 NCollection_Vec2< Element_t >::DY ( )
inlinestatic

Constuct DY unit vector.

template<typename Element_t>
const Element_t* NCollection_Vec2< Element_t >::GetData ( ) const
inline

Raw access to the data (for OpenGL exchange).

template<typename Element_t>
static int NCollection_Vec2< Element_t >::Length ( void  )
inlinestatic

Returns the number of components.

template<typename Element_t>
Element_t NCollection_Vec2< Element_t >::maxComp ( ) const
inline

Compute maximum component of the vector.

template<typename Element_t>
Element_t NCollection_Vec2< Element_t >::minComp ( ) const
inline

Compute minimum component of the vector.

template<typename Element_t>
Element_t NCollection_Vec2< Element_t >::Modulus ( ) const
inline

Computes the vector modulus (magnitude, length).

template<typename Element_t>
NCollection_Vec2 NCollection_Vec2< Element_t >::Multiplied ( const Element_t  theFactor) const
inline

Compute per-component multiplication by scale factor.

template<typename Element_t>
void NCollection_Vec2< Element_t >::Multiply ( const Element_t  theFactor)
inline

Compute per-component multiplication by scale factor.

template<typename Element_t>
NCollection_Vec2< Element_t >::operator const Element_t * ( ) const
inline
template<typename Element_t>
NCollection_Vec2< Element_t >::operator Element_t * ( )
inline
template<typename Element_t>
NCollection_Vec2 NCollection_Vec2< Element_t >::operator* ( const Element_t  theFactor) const
inline

Compute per-component multiplication by scale factor.

template<typename Element_t>
NCollection_Vec2& NCollection_Vec2< Element_t >::operator*= ( const NCollection_Vec2< Element_t > &  theRight)
inline

Compute per-component multiplication.

template<typename Element_t>
NCollection_Vec2& NCollection_Vec2< Element_t >::operator*= ( const Element_t  theFactor)
inline

Compute per-component multiplication by scale factor.

template<typename Element_t>
NCollection_Vec2& NCollection_Vec2< Element_t >::operator+= ( const NCollection_Vec2< Element_t > &  theAdd)
inline

Compute per-component summary.

template<typename Element_t>
NCollection_Vec2 NCollection_Vec2< Element_t >::operator- ( ) const
inline

Unary -.

template<typename Element_t>
NCollection_Vec2& NCollection_Vec2< Element_t >::operator-= ( const NCollection_Vec2< Element_t > &  theDec)
inline

Compute per-component subtraction.

template<typename Element_t>
NCollection_Vec2 NCollection_Vec2< Element_t >::operator/ ( const Element_t  theInvFactor) const
inline

Compute per-component division by scale factor.

template<typename Element_t>
NCollection_Vec2& NCollection_Vec2< Element_t >::operator/= ( const Element_t  theInvFactor)
inline

Compute per-component division by scale factor.

template<typename Element_t>
const NCollection_Vec2& NCollection_Vec2< Element_t >::operator= ( const NCollection_Vec2< Element_t > &  theVec2)
inline

Assignment operator.

template<typename Element_t>
Element_t NCollection_Vec2< Element_t >::SquareModulus ( ) const
inline

Computes the square of vector modulus (magnitude, length). This method may be used for performance tricks.

template<typename Element_t>
Element_t NCollection_Vec2< Element_t >::x ( ) const
inline

Alias to 1st component as X coordinate in XY.

template<typename Element_t>
Element_t& NCollection_Vec2< Element_t >::x ( )
inline

Alias to 1st component as X coordinate in XY.

Returns
2 components by their names in specified order (in GLSL-style)
template<typename Element_t>
Element_t NCollection_Vec2< Element_t >::y ( ) const
inline

Alias to 2nd component as Y coordinate in XY.

template<typename Element_t>
Element_t& NCollection_Vec2< Element_t >::y ( )
inline

Alias to 2nd component as Y coordinate in XY.

Friends And Related Function Documentation

template<typename Element_t>
NCollection_Vec2 operator* ( const NCollection_Vec2< Element_t > &  theLeft,
const NCollection_Vec2< Element_t > &  theRight 
)
friend

Compute per-component multiplication.

template<typename Element_t>
NCollection_Vec2 operator+ ( const NCollection_Vec2< Element_t > &  theLeft,
const NCollection_Vec2< Element_t > &  theRight 
)
friend

Compute per-component summary.

template<typename Element_t>
NCollection_Vec2 operator- ( const NCollection_Vec2< Element_t > &  theLeft,
const NCollection_Vec2< Element_t > &  theRight 
)
friend

Compute per-component subtraction.


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