Gray C++ Libraries  0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
GrayLib::cVecT2< TYPE > Class Template Reference

#include <cVecT.h>

Inheritance diagram for GrayLib::cVecT2< TYPE >:
GrayLib::cVecTC< DVALUEDEF_t, 2, cVecT2< DVALUEDEF_t > >

Public Types

typedef cVecT2< TYPETHIS_t
 
typedef cVecTC< TYPE, k_nDim, THIS_tSUPER_t
 
- Public Types inherited from GrayLib::cVecTC< DVALUEDEF_t, 2, cVecT2< DVALUEDEF_t > >
typedef DVALUEDEF_t DVALUE_t
 Dimension value type. More...
 
typedef cVecTC< DVALUEDEF_t, _IQTY, cVecT2< DVALUEDEF_t > > THIS_t
 

Public Member Functions

 cVecT2 () noexcept
 
 cVecT2 (const SUPER_t &v) noexcept
 
 cVecT2 (const TYPE *pVals)
 
 cVecT2 (TYPE n0, TYPE n1) noexcept
 
const TYPEget_X () const noexcept
 
const TYPEget_Y () const noexcept
 
- Public Member Functions inherited from GrayLib::cVecTC< DVALUEDEF_t, 2, cVecT2< DVALUEDEF_t > >
DVALUEDEF_tget_T () noexcept
 
const DVALUEDEF_tget_CT () const noexcept
 
const cVecT2< DVALUEDEF_t > & get_CR () const noexcept
 
 operator const DVALUEDEF_t * () const noexcept
 
DVALUEDEF_t GetElem (int i) const noexcept
 
DVALUEDEF_t operator[] (int i) const noexcept
 
DVALUEDEF_toperator[] (int i)
 
bool isZero () const noexcept
 
COMPARE_t Compare (const THIS_t &v2) const noexcept
 
bool operator== (const THIS_t &v2) const noexcept
 
bool operator!= (const THIS_t &v2) const noexcept
 
bool IsNear (const THIS_t &v2, DVALUEDEF_t fDist=(DVALUEDEF_t) k_FLT_MIN2) const
 
DVALUEDEF_t get_MagnitudeSq () const noexcept
 
DVALUEDEF_t get_Magnitude () const noexcept
 
cVecT2< DVALUEDEF_toperator- () const
 
cVecT2< DVALUEDEF_toperator- (const THIS_t &v2) const
 
cVecT2< DVALUEDEF_tget_Abs () const
 
cVecT2< DVALUEDEF_tGetSum (const THIS_t &v2) const
 
cVecT2< DVALUEDEF_toperator+ (const THIS_t &v2) const
 
cVecT2< DVALUEDEF_tGetDiff (const THIS_t &v2) const
 
cVecT2< DVALUEDEF_tGetScaled (DVALUEDEF_t nScale) const
 
cVecT2< DVALUEDEF_toperator* (DVALUEDEF_t nScale) const
 
cVecT2< DVALUEDEF_toperator/ (DVALUEDEF_t nScale) const
 
cVecT2< DVALUEDEF_tGetMul (const THIS_t &v2) const
 
cVecT2< DVALUEDEF_tGetDiv (const THIS_t &v2) const
 
DVALUEDEF_t GetDistSq (const THIS_t &v2) const
 
DVALUEDEF_t GetDist (const THIS_t &v2) const
 
DVALUEDEF_t GetDot (const THIS_t &v2) const
 
cVecT2< DVALUEDEF_tget_Normalized () const
 
 operator DVALUEDEF_t * ()
 
DVALUEDEF_tRefElem (int i) noexcept
 
void Set (const THIS_t &v)
 
void SetZero () noexcept
 
DVALUEDEF_t SetNormalized (void) noexcept
 
bool put_Magnitude (DVALUEDEF_t nLength)
 
void SetLerp (const THIS_t &a, const THIS_t &b, DVALUE_t t)
 
const cVecT2< DVALUEDEF_t > & operator+= (const THIS_t &v2)
 
const cVecT2< DVALUEDEF_t > & operator+= (DVALUEDEF_t n)
 
const cVecT2< DVALUEDEF_t > & operator-= (const THIS_t &v2) noexcept
 
const cVecT2< DVALUEDEF_t > & operator-= (DVALUEDEF_t n) noexcept
 
void DoScale (DVALUEDEF_t n) noexcept
 
const cVecT2< DVALUEDEF_t > & operator*= (DVALUEDEF_t nScale) noexcept
 
cVecT2< DVALUEDEF_t > & operator*= (const THIS_t &v2) noexcept
 
const cVecT2< DVALUEDEF_t > & operator/= (DVALUEDEF_t nScale)
 
cVecT2< DVALUEDEF_t > & operator/= (const THIS_t &v2)
 
void DoMul (const THIS_t &v2) noexcept
 
void DoDiv (const THIS_t &v2)
 

Public Attributes

union {
   TYPE   m_a [k_nDim]
 
   struct {
      TYPE   m_x
 
      TYPE   m_y
 
   } 
 
   struct {
      TYPE   x
 
      TYPE   y
 
   } 
 
}; 
 

Additional Inherited Members

- Static Public Member Functions inherited from GrayLib::cVecTC< DVALUEDEF_t, 2, cVecT2< DVALUEDEF_t > >
static DVALUEDEF_t GetDot (const THIS_t &v1, const THIS_t &v2)
 
- Static Public Attributes inherited from GrayLib::cVecTC< DVALUEDEF_t, 2, cVecT2< DVALUEDEF_t > >
static const int k_nDim
 
- Protected Member Functions inherited from GrayLib::cVecTC< DVALUEDEF_t, 2, cVecT2< DVALUEDEF_t > >
 cVecTC ()
 

Detailed Description

template<typename TYPE = DVALUEDEF_t>
class GrayLib::cVecT2< TYPE >

Store 2 values. does not assume units or usage. may be a 2d point x,y like HLSL float2 semi Compatible with MFC 2d cPoint2i.

Note
DO NOT assume cVecT2 inits the data to 0.

Member Typedef Documentation

◆ SUPER_t

template<typename TYPE = DVALUEDEF_t>
typedef cVecTC<TYPE, k_nDim, THIS_t> GrayLib::cVecT2< TYPE >::SUPER_t

◆ THIS_t

template<typename TYPE = DVALUEDEF_t>
typedef cVecT2<TYPE> GrayLib::cVecT2< TYPE >::THIS_t

Constructor & Destructor Documentation

◆ cVecT2() [1/4]

template<typename TYPE = DVALUEDEF_t>
GrayLib::cVecT2< TYPE >::cVecT2 ( )
inlinenoexcept

ASSUME no/random/undefined init.

◆ cVecT2() [2/4]

template<typename TYPE = DVALUEDEF_t>
GrayLib::cVecT2< TYPE >::cVecT2 ( const SUPER_t v)
inlinenoexcept

◆ cVecT2() [3/4]

template<typename TYPE = DVALUEDEF_t>
GrayLib::cVecT2< TYPE >::cVecT2 ( const TYPE pVals)
inline

◆ cVecT2() [4/4]

template<typename TYPE = DVALUEDEF_t>
GrayLib::cVecT2< TYPE >::cVecT2 ( TYPE  n0,
TYPE  n1 
)
inlinenoexcept

Member Function Documentation

◆ get_X()

template<typename TYPE = DVALUEDEF_t>
const TYPE& GrayLib::cVecT2< TYPE >::get_X ( ) const
inlinenoexcept

◆ get_Y()

template<typename TYPE = DVALUEDEF_t>
const TYPE& GrayLib::cVecT2< TYPE >::get_Y ( ) const
inlinenoexcept

Member Data Documentation

◆ 

union { ... }

◆ m_a

template<typename TYPE = DVALUEDEF_t>
TYPE GrayLib::cVecT2< TYPE >::m_a[k_nDim]

◆ m_x

template<typename TYPE = DVALUEDEF_t>
TYPE GrayLib::cVecT2< TYPE >::m_x

◆ m_y

template<typename TYPE = DVALUEDEF_t>
TYPE GrayLib::cVecT2< TYPE >::m_y

◆ x

template<typename TYPE = DVALUEDEF_t>
TYPE GrayLib::cVecT2< TYPE >::x

◆ y

template<typename TYPE = DVALUEDEF_t>
TYPE GrayLib::cVecT2< TYPE >::y

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