QTrk
Public Member Functions | Public Attributes | Friends | List of all members
vector3< T > Struct Template Reference

#include <std_incl.h>

Public Member Functions

 vector3 ()
 
template<typename Tx , typename Ty , typename Tz >
 vector3 (Tx X, Ty Y, Tz Z)
 
template<typename Tc >
 vector3 (const vector3< Tc > &o)
 
vector3 operator* (const vector3 &o) const
 
vector3 operator* (T a) const
 
vector3 operator+ (const vector3 &o) const
 
vector3operator+= (const vector3 &o)
 
vector3operator-= (const vector3 &o)
 
vector3 operator- (const vector3 &o) const
 
vector3 operator- (float a) const
 
vector3 operator+ (float a) const
 
vector3 operator- () const
 
vector3operator*= (const vector3 &o)
 
vector3operator*= (T a)
 
vector3operator/= (T a)
 
vector3 operator/ (T a)
 
length ()
 
vector2< T > xy ()
 

Public Attributes

x
 
y
 
z
 

Friends

vector3 operator* (T a, const vector3 &b)
 
template<typename T >
vector3 operator/ (T a, vector3< T > b)
 

Detailed Description

template<typename T>
struct vector3< T >

Definition at line 43 of file std_incl.h.

Constructor & Destructor Documentation

§ vector3() [1/3]

template<typename T>
vector3< T >::vector3 ( )
inline

Definition at line 44 of file std_incl.h.

44 { x=y=z=0.0f; }

§ vector3() [2/3]

template<typename T>
template<typename Tx , typename Ty , typename Tz >
vector3< T >::vector3 ( Tx  X,
Ty  Y,
Tz  Z 
)
inline

Definition at line 46 of file std_incl.h.

46 { x=(T)X; y=(T)Y; z=(T)Z; }

§ vector3() [3/3]

template<typename T>
template<typename Tc >
vector3< T >::vector3 ( const vector3< Tc > &  o)
inline

Definition at line 48 of file std_incl.h.

48 : x(o.x),y(o.y),z(o.z) {}

Member Function Documentation

§ length()

template<typename T>
T vector3< T >::length ( )
inline

Definition at line 96 of file std_incl.h.

96  {
97  return sqrtf(x*x+y*y+z*z);
98  }

§ operator*() [1/2]

template<typename T>
vector3 vector3< T >::operator* ( const vector3< T > &  o) const
inline

Definition at line 51 of file std_incl.h.

51  {
52  return vector3(x*o.x,y*o.y,z*o.z);
53  }
vector3()
Definition: std_incl.h:44

§ operator*() [2/2]

template<typename T>
vector3 vector3< T >::operator* ( a) const
inline

Definition at line 54 of file std_incl.h.

54  {
55  return vector3(x*a,y*a,z*a);
56  }
vector3()
Definition: std_incl.h:44

§ operator*=() [1/2]

template<typename T>
vector3& vector3< T >::operator*= ( const vector3< T > &  o)
inline

Definition at line 81 of file std_incl.h.

81  {
82  x*=o.x; y*=o.y; z*=o.z;
83  return *this;
84  }

§ operator*=() [2/2]

template<typename T>
vector3& vector3< T >::operator*= ( a)
inline

Definition at line 85 of file std_incl.h.

85  {
86  x*=a; y*=a; z*=a;
87  return *this;
88  }

§ operator+() [1/2]

template<typename T>
vector3 vector3< T >::operator+ ( const vector3< T > &  o) const
inline

Definition at line 60 of file std_incl.h.

60  {
61  return vector3(x+o.x,y+o.y,z+o.z);
62  }
vector3()
Definition: std_incl.h:44

§ operator+() [2/2]

template<typename T>
vector3 vector3< T >::operator+ ( float  a) const
inline

Definition at line 75 of file std_incl.h.

75  {
76  return vector3(x+a,y+a,z+a);
77  }
vector3()
Definition: std_incl.h:44

§ operator+=()

template<typename T>
vector3& vector3< T >::operator+= ( const vector3< T > &  o)
inline

Definition at line 63 of file std_incl.h.

63  {
64  x+=o.x; y+=o.y; z+=o.z; return *this;
65  }

§ operator-() [1/3]

template<typename T>
vector3 vector3< T >::operator- ( const vector3< T > &  o) const
inline

Definition at line 69 of file std_incl.h.

69  {
70  return vector3(x-o.x,y-o.y,z-o.z);
71  }
vector3()
Definition: std_incl.h:44

§ operator-() [2/3]

template<typename T>
vector3 vector3< T >::operator- ( float  a) const
inline

Definition at line 72 of file std_incl.h.

72  {
73  return vector3(x-a,y-a,z-a);
74  }
vector3()
Definition: std_incl.h:44

§ operator-() [3/3]

template<typename T>
vector3 vector3< T >::operator- ( ) const
inline

Definition at line 78 of file std_incl.h.

78  {
79  return vector3(-x,-y,-z);
80  }
vector3()
Definition: std_incl.h:44

§ operator-=()

template<typename T>
vector3& vector3< T >::operator-= ( const vector3< T > &  o)
inline

Definition at line 66 of file std_incl.h.

66  {
67  x-=o.x; y-=o.y; z-=o.z; return *this;
68  }

§ operator/()

template<typename T>
vector3 vector3< T >::operator/ ( a)
inline

Definition at line 93 of file std_incl.h.

93  {
94  return vector3(x/a,y/a,z/a);
95  }
vector3()
Definition: std_incl.h:44

§ operator/=()

template<typename T>
vector3& vector3< T >::operator/= ( a)
inline

Definition at line 89 of file std_incl.h.

89  {
90  x/=a; y/=a; z/=a;
91  return *this;
92  }

§ xy()

template<typename T>
vector2<T> vector3< T >::xy ( )
inline

Definition at line 104 of file std_incl.h.

105  {
106  return vector2<T>(x,y);
107  }

Friends And Related Function Documentation

§ operator*

template<typename T>
vector3 operator* ( a,
const vector3< T > &  b 
)
friend

Definition at line 57 of file std_incl.h.

57  {
58  return b*a;
59  }

§ operator/

template<typename T>
template<typename T >
vector3 operator/ ( a,
vector3< T >  b 
)
friend

Definition at line 100 of file std_incl.h.

100  {
101  return vector3<T>(a/b.x,a/b.y,a/b.z);
102  }

Member Data Documentation

§ x

template<typename T>
T vector3< T >::x

Definition at line 49 of file std_incl.h.

§ y

template<typename T>
T vector3< T >::y

Definition at line 49 of file std_incl.h.

§ z

template<typename T>
T vector3< T >::z

Definition at line 49 of file std_incl.h.


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