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