Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

XVector Class Reference

#include <xvector.h>

List of all members.

Public Methods

 XVector ()
 XVector (const YVector &)
YVector Cast () const
 XVector (QFLOAT i, QFLOAT j, QFLOAT k)
void Set (QFLOAT x, QFLOAT y, QFLOAT z)
void Yaw (QFLOAT rad)
void Roll (QFLOAT rad)
void Pitch (QFLOAT rad)
XVector Scale (QFLOAT s) const
XVector Transform (const XVector &p, const XVector &q, const XVector &r)
XVector operator+ (const XVector &obj) const
XVector operator- (const XVector &obj) const
XVector Normalize ()
XVector operator- () const
bool operator== (const XVector &b)
XVector Cross (const XVector &v) const
QFLOAT operator * (const XVector &b) const
QFLOAT Dot (const XVector &b) const
QFLOAT Magnitude2d () const
QFLOAT Magnitude () const
QFLOAT MagnitudeSquared () const
const XVector Transform (const class Matrix &m1) const
XVector Min (const XVector &other)
XVector Max (const XVector &other)
 XVector (struct _object *)

Public Attributes

QFLOAT i
QFLOAT j
QFLOAT k

Private Methods

YVector operator= (const YVector &)

Friends

class Quadsquare
class QuadTree
class CoordinateSelect
class AIScript
class PlanetaryTransform
class SphericalTransform


Constructor & Destructor Documentation

XVector::XVector (    )  [inline]
 

00037 {}

XVector::XVector (  const YVector &    )  [inline]
 

XVector::XVector (  QFLOAT    i,
QFLOAT    j,
QFLOAT    k
)  [inline]
 

00049                                       {
00050     this->i = i;
00051     this->j = j;
00052     this->k = k;
00053   }

XVector::XVector (  struct _object *    ) 
 


Member Function Documentation

YVector XVector::Cast (    )  const [inline]
 

XVector XVector::Cross (  const XVector &    v )  const [inline]
 

00069                                         {return XVector ( this->j*v.k-this->k*v.j, 
00070                                this->k*v.i-this->i*v.k,
00071                                this->i*v.j-this->j*v.i);}

QFLOAT XVector::Dot (  const XVector &    b )  const [inline]
 

00073 {return DotProduct(*this, b);}

QFLOAT XVector::Magnitude (    )  const [inline]
 

00075 {return XSQRT(i*i+j*j+k*k);};

QFLOAT XVector::Magnitude2d (    )  const [inline]
 

00074 {return XSQRT(i*i+j*j);}

QFLOAT XVector::MagnitudeSquared (    )  const [inline]
 

00076 { return i*i + j*j + k*k; };

XVector XVector::Max (  const XVector &    other )  [inline]
 

00085                                     {
00086     return XVector((i>other.i)?i:other.i,
00087           (j>other.j)?j:other.j,
00088           (k>other.k)?k:other.k);
00089   }

XVector XVector::Min (  const XVector &    other )  [inline]
 

00080                                     {
00081     return XVector((i<other.i)?i:other.i,
00082           (j<other.j)?j:other.j,
00083           (k<other.k)?k:other.k);
00084   }

XVector XVector::Normalize (    )  [inline]
 

00066 {::Normalize (*this); return *this;};

QFLOAT XVector::operator * (  const XVector &    b )  const [inline]
 

00072 {return (i*b.i+j*b.j+k*b.k);};

XVector XVector::operator+ (  const XVector &    obj )  const [inline]
 

00064 {return XVector (i + obj.i, j + obj.j, k + obj.k);}

XVector XVector::operator- (    )  const [inline]
 

00067 {return XVector (-i, -j, -k);}

XVector XVector::operator- (  const XVector &    obj )  const [inline]
 

00065 {return XVector (i - obj.i, j - obj.j, k - obj.k);}

YVector XVector::operator= (  const YVector &    )  [inline, private]
 

bool XVector::operator== (  const XVector &    b )  [inline]
 

00068 {return (i==b.i && j==b.j && k==b.k);};

void XVector::Pitch (  QFLOAT    rad ) 
 

void XVector::Roll (  QFLOAT    rad ) 
 

XVector XVector::Scale (  QFLOAT    s )  const [inline]
 

00058 {return XVector (s*i,s*j,s*k);}

void XVector::Set (  QFLOAT    x,
QFLOAT    y,
QFLOAT    z
)  [inline]
 

00054 {i=x;j=y;k=z;}

const XVector XVector::Transform (  const class Matrix &    m1 )  const [inline]
 

XVector XVector::Transform (  const XVector &    p,
const XVector &    q,
const XVector &    r
)  [inline]
 

00059                                                                             {
00060     XVector tvect = XVector ( DotProduct(*this, p), DotProduct(*this,q), DotProduct(*this,r));
00061     *this = tvect;
00062     return *this;
00063   }

void XVector::Yaw (  QFLOAT    rad ) 
 


Friends And Related Function Documentation

friend class AIScript [friend]
 

friend class CoordinateSelect [friend]
 

friend class PlanetaryTransform [friend]
 

friend class Quadsquare [friend]
 

friend class QuadTree [friend]
 

friend class SphericalTransform [friend]
 


Member Data Documentation

QFLOAT XVector::i
 

QFLOAT XVector::j
 

QFLOAT XVector::k
 


The documentation for this class was generated from the following file:
Generated on Mon Jul 7 21:13:56 2003 for Ethereal by doxygen1.2.15