Clarisse 5.0 SP8 SDK  5.0.5.8.0
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | Static Public Member Functions | Public Attributes | Friends | List of all members
GMathVec3< T > Class Template Reference
Inheritance diagram for GMathVec3< T >:
CoreBaseType

Public Member Functions

 GMathVec3 (const T &v=GMath< T >::zero())
 
void nullify ()
 
GMathVec3 get_copy ()
 
void copy_from (const GMathVec3 &u)
 
void copy_to (GMathVec3 &u) const
 
bool operator!= (const GMathVec3 &v) const
 
bool operator== (const GMathVec3 &v) const
 
bool operator< (const GMathVec3 &v) const
 
bool operator> (const GMathVec3 &v) const
 
bool operator<= (const GMathVec3 &v) const
 
bool operator>= (const GMathVec3 &v) const
 
bool operator!= (const T &v) const
 
bool operator== (const T &v) const
 
bool operator< (const T &v) const
 
bool operator> (const T &v) const
 
bool operator<= (const T &v) const
 
bool operator>= (const T &v) const
 
const T & operator[] (const unsigned int &index) const
 
T & operator[] (const unsigned int &index)
 
GMathVec3< T > apply_function (T(*function)(T)) const
 
GMathVec3< T > apply_function (T(*function)(const T &)) const
 
GMathVec3< T > absolute () const
 
get_sqr_norm () const
 
get_sqr_length () const
 
get_norm () const
 
get_length () const
 
get_l1_norm_signed () const
 
get_l1_norm () const
 
get_max_norm_signed () const
 
get_max_norm () const
 
get_min_norm_signed () const
 
get_min_norm () const
 
template<class U >
dot (const GMathVec3< U > &v) const
 
void scale (const T &s)
 
template<class U >
void sub (const GMathVec3< U > &u)
 
template<class U >
void add (const GMathVec3< U > &u)
 
template<class U , class V >
void min (const GMathVec3< U > &u, const GMathVec3< V > &v)
 
template<class U >
void min (const GMathVec3< U > &u)
 
template<class U , class V >
void max (const GMathVec3< U > &u, const GMathVec3< V > &v)
 
template<class U >
void max (const GMathVec3< U > &u)
 
template<class U , class V , class W >
void clamp (const GMathVec3< U > &u, const GMathVec3< V > &min, const GMathVec3< W > &max)
 
template<class U , class V >
void clamp (const GMathVec3< U > &min, const GMathVec3< V > &max)
 
unsigned int get_main_axis () const
 
template<class U >
GMathVec3 cross (const GMathVec3< U > &v) const
 
template<class U >
cos_angle (const GMathVec3< U > &v) const
 
template<class U >
get_angle (const GMathVec3< U > &v) const
 
bool normalize (const T &epsilon=GMath< T >::epsilon())
 
bool is_null (const T &epsilon=GMath< T >::epsilon()) const
 
bool is_finite () const
 
const T * get_data () const
 
T * get_data ()
 
template<class U , class V >
GMathVec3< T > project_on_plane (const GMathVec3< U > &point, const GMathVec3< V > &normal) const
 
GMathVec3 operator- () const
 
template<class U >
GMathVec3operator= (const U &s)
 
template<class U >
GMathVec3operator+= (const U &s)
 
template<class U >
GMathVec3operator-= (const U &s)
 
template<class U >
GMathVec3operator*= (const U &s)
 
template<class U >
GMathVec3operator/= (const U &s)
 
template<class U >
GMathVec3operator= (const GMathVec3< U > &v)
 
template<class U >
GMathVec3operator+= (const GMathVec3< U > &v)
 
template<class U >
GMathVec3operator-= (const GMathVec3< U > &v)
 
template<class U >
GMathVec3operator*= (const GMathVec3< U > &v)
 
template<class U >
GMathVec3operator/= (const GMathVec3< U > &v)
 
template<class U >
GMathVec3operator= (const GMathVec4< U > &v)
 
template<class U >
GMathVec3operator+= (const GMathVec4< U > &v)
 
template<class U >
GMathVec3operator-= (const GMathVec4< U > &v)
 
template<class U >
GMathVec3operator*= (const GMathVec4< U > &v)
 
template<class U >
GMathVec3operator/= (const GMathVec4< U > &v)
 
const CoreClassInfoget_class_info () const
 
- Public Member Functions inherited from CoreBaseType
bool is_kindof (const CoreClassInfo &cinfo) const
 

Static Public Member Functions

static void create_local_axis (const GMathVec3< T > &v1, GMathVec3< T > &v2, GMathVec3< T > &v3)
 
static void get_sqr_norm (T &norm, const GMathVec3 &v)
 
static void get_sqr_length (T &norm, const GMathVec3 &v)
 
static void get_norm (T &length, const GMathVec3 &v)
 
static void get_length (T &length, const GMathVec3 &v)
 
static void get_l1_norm_signed (T &norm, const GMathVec3 &v)
 
static void get_l1_norm (T &norm, const GMathVec3 &v)
 
static void get_max_norm_signed (T &norm, const GMathVec3 &v)
 
static void get_max_norm (T &norm, const GMathVec3 &v)
 
static void get_min_norm_signed (T &norm, const GMathVec3 &v)
 
static void get_min_norm (T &norm, const GMathVec3 &v)
 
template<class U , class V >
static void dot (T &dot, const GMathVec3< U > &u, const GMathVec3< V > &v)
 
template<class U , class V >
static T dot (const GMathVec3< U > &u, const GMathVec3< V > &v)
 
template<class U , class V >
static void sub (GMathVec3 &n, const GMathVec3< U > &u, const GMathVec3< V > &v)
 
template<class U , class V >
static void add (GMathVec3 &n, const GMathVec3< U > &u, const GMathVec3< V > &v)
 
template<class U , class V , class W >
static void interpolate (GMathVec3< W > &result, const GMathVec3< U > &u, const GMathVec3< V > &v, const T &value)
 
static void slerp_weights (T &weight0, T &weight1, T cos_theta, T cos_t_theta)
 
static GMathVec3< T > slerp (const GMathVec3< T > &v0, const GMathVec3< T > &v1, T t)
 
template<class U , class V >
static void cross (GMathVec3 &cross, const GMathVec3< U > &u, const GMathVec3< V > &v)
 
template<class U , class V >
static void cos_angle (T &cos_angle, const GMathVec3< U > &u, const GMathVec3< V > &v)
 
template<class U , class V >
static void get_angle (T &angle, const GMathVec3< U > &u, const GMathVec3< V > &v)
 
static const CoreClassInfoclass_info ()
 
- Static Public Member Functions inherited from CoreBaseType
static const CoreClassInfoclass_info ()
 Get the type descriptor of this instance.
 

Public Attributes

 m_data
 

Friends

CoreLogStreamoperator<< (CoreLogStream &os, const GMathVec3 &v)
 

Member Data Documentation

template<class T>
GMathVec3< T >::m_data
Initial value:
{ x, y, z }
{
}
template<class U>
inline explicit GMathVec3(const GMathVec3<U>& v)