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

FX::FXVec4d Class Reference

Double-precision 4-element vector. More...

#include <FXVec4d.h>

Inheritance diagram for FX::FXVec4d:

FX::FXQuatd List of all members.

Public Member Functions

 FXVec4d ()
 FXVec4d (const FXVec4d &v)
 FXVec4d (const FXVec3d &v, FXdouble ww=1.0)
 FXVec4d (const FXdouble v[])
 FXVec4d (FXdouble xx, FXdouble yy, FXdouble zz, FXdouble ww=1.0)
 FXVec4d (FXColor color)
FXdoubleoperator[] (FXint i)
const FXdoubleoperator[] (FXint i) const
FXVec4doperator= (FXColor color)
FXVec4doperator= (const FXVec3d &v)
FXVec4doperator= (const FXVec4d &v)
FXVec4doperator= (const FXdouble v[])
FXVec4dset (const FXVec4d &v)
FXVec4dset (const FXdouble v[])
FXVec4dset (FXdouble xx, FXdouble yy, FXdouble zz, FXdouble ww)
FXVec4doperator *= (FXdouble n)
FXVec4doperator/= (FXdouble n)
FXVec4doperator+= (const FXVec4d &v)
FXVec4doperator-= (const FXVec4d &v)
 operator FXdouble * ()
 operator const FXdouble * () const
 operator FXVec3d & ()
 operator const FXVec3d & () const
 operator FXColor () const
FXVec4d operator+ () const
FXVec4d operator- () const
FXVec4d operator+ (const FXVec4d &v) const
FXVec4d operator- (const FXVec4d &v) const
FXVec4d operator * (const FXMat4d &m) const
FXdouble operator * (const FXVec4d &v) const
bool operator! () const
bool operator== (const FXVec4d &v) const
bool operator!= (const FXVec4d &v) const
bool operator< (const FXVec4d &v) const
bool operator<= (const FXVec4d &v) const
bool operator> (const FXVec4d &v) const
bool operator>= (const FXVec4d &v) const
FXdouble length2 () const
FXdouble length () const
FXVec4dclamp (FXdouble lo, FXdouble hi)
FXdouble distance (const FXVec3d &p) const
bool crosses (const FXVec3d &a, const FXVec3d &b) const

Public Attributes

FXdouble x
FXdouble y
FXdouble z
FXdouble w

Friends

FXVec4d operator * (const FXVec4d &a, FXdouble n)
FXVec4d operator * (FXdouble n, const FXVec4d &a)
FXVec4d operator/ (const FXVec4d &a, FXdouble n)
FXVec4d operator/ (FXdouble n, const FXVec4d &a)
bool operator== (const FXVec4d &a, FXdouble n)
bool operator!= (const FXVec4d &a, FXdouble n)
bool operator== (FXdouble n, const FXVec4d &a)
bool operator!= (FXdouble n, const FXVec4d &a)
bool operator< (const FXVec4d &a, FXdouble n)
bool operator<= (const FXVec4d &a, FXdouble n)
bool operator> (const FXVec4d &a, FXdouble n)
bool operator>= (const FXVec4d &a, FXdouble n)
bool operator< (FXdouble n, const FXVec4d &a)
bool operator<= (FXdouble n, const FXVec4d &a)
bool operator> (FXdouble n, const FXVec4d &a)
bool operator>= (FXdouble n, const FXVec4d &a)
FXVec4d lo (const FXVec4d &a, const FXVec4d &b)
FXVec4d hi (const FXVec4d &a, const FXVec4d &b)
FXVec4d plane (const FXVec4d &vec)
FXVec4d plane (const FXVec3d &vec, FXdouble dist)
FXVec4d plane (const FXVec3d &vec, const FXVec3d &p)
FXVec4d plane (const FXVec3d &a, const FXVec3d &b, const FXVec3d &c)
FXVec4d normalize (const FXVec4d &v)
FXStreamoperator<< (FXStream &store, const FXVec4d &v)
FXStreamoperator>> (FXStream &store, FXVec4d &v)

Detailed Description

Double-precision 4-element vector.


Constructor & Destructor Documentation

FX::FXVec4d::FXVec4d  )  [inline]
 

Default constructor.

FX::FXVec4d::FXVec4d const FXVec4d v  )  [inline]
 

Initialize from another vector.

FX::FXVec4d::FXVec4d const FXVec3d v,
FXdouble  ww = 1.0
[inline]
 

Construct with 3-vector and optional scalar.

FX::FXVec4d::FXVec4d const FXdouble  v[]  )  [inline]
 

Initialize from array of doubles.

FX::FXVec4d::FXVec4d FXdouble  xx,
FXdouble  yy,
FXdouble  zz,
FXdouble  ww = 1.0
[inline]
 

Initialize with components.

FX::FXVec4d::FXVec4d FXColor  color  ) 
 

Initialize with color.


Member Function Documentation

FXdouble& FX::FXVec4d::operator[] FXint  i  )  [inline]
 

Return a non-const reference to the ith element.

const FXdouble& FX::FXVec4d::operator[] FXint  i  )  const [inline]
 

Return a const reference to the ith element.

FXVec4d& FX::FXVec4d::operator= FXColor  color  ) 
 

Assign color.

FXVec4d& FX::FXVec4d::operator= const FXVec3d v  )  [inline]
 

Assignment.

FXVec4d& FX::FXVec4d::operator= const FXVec4d v  )  [inline]
 

FXVec4d& FX::FXVec4d::operator= const FXdouble  v[]  )  [inline]
 

Assignment from array of doubles.

FXVec4d& FX::FXVec4d::set const FXVec4d v  )  [inline]
 

Set value from another vector.

FXVec4d& FX::FXVec4d::set const FXdouble  v[]  )  [inline]
 

Set value from array of floats.

FXVec4d& FX::FXVec4d::set FXdouble  xx,
FXdouble  yy,
FXdouble  zz,
FXdouble  ww
[inline]
 

Set value from components.

FXVec4d& FX::FXVec4d::operator *= FXdouble  n  )  [inline]
 

Assigning operators.

FXVec4d& FX::FXVec4d::operator/= FXdouble  n  )  [inline]
 

FXVec4d& FX::FXVec4d::operator+= const FXVec4d v  )  [inline]
 

FXVec4d& FX::FXVec4d::operator-= const FXVec4d v  )  [inline]
 

FX::FXVec4d::operator FXdouble *  )  [inline]
 

Conversion.

FX::FXVec4d::operator const FXdouble *  )  const [inline]
 

FX::FXVec4d::operator FXVec3d &  )  [inline]
 

FX::FXVec4d::operator const FXVec3d &  )  const [inline]
 

FX::FXVec4d::operator FXColor  )  const
 

Convert to color.

FXVec4d FX::FXVec4d::operator+  )  const [inline]
 

Unary.

FXVec4d FX::FXVec4d::operator-  )  const [inline]
 

FXVec4d FX::FXVec4d::operator+ const FXVec4d v  )  const [inline]
 

Vector and vector.

FXVec4d FX::FXVec4d::operator- const FXVec4d v  )  const [inline]
 

FXVec4d FX::FXVec4d::operator * const FXMat4d m  )  const
 

Vector and matrix.

FXdouble FX::FXVec4d::operator * const FXVec4d v  )  const [inline]
 

Dot product.

bool FX::FXVec4d::operator!  )  const [inline]
 

Test if zero.

bool FX::FXVec4d::operator== const FXVec4d v  )  const [inline]
 

Equality tests.

bool FX::FXVec4d::operator!= const FXVec4d v  )  const [inline]
 

bool FX::FXVec4d::operator< const FXVec4d v  )  const [inline]
 

Inequality tests.

bool FX::FXVec4d::operator<= const FXVec4d v  )  const [inline]
 

bool FX::FXVec4d::operator> const FXVec4d v  )  const [inline]
 

bool FX::FXVec4d::operator>= const FXVec4d v  )  const [inline]
 

FXdouble FX::FXVec4d::length2  )  const [inline]
 

Length and square of length.

FXdouble FX::FXVec4d::length  )  const [inline]
 

FXVec4d& FX::FXVec4d::clamp FXdouble  lo,
FXdouble  hi
[inline]
 

Clamp values of vector between limits.

FXdouble FX::FXVec4d::distance const FXVec3d p  )  const
 

Signed distance normalized plane and point.

bool FX::FXVec4d::crosses const FXVec3d a,
const FXVec3d b
const
 

Return true if edge a-b crosses plane.


Friends And Related Function Documentation

FXVec4d operator * const FXVec4d a,
FXdouble  n
[friend]
 

Scaling.

FXVec4d operator * FXdouble  n,
const FXVec4d a
[friend]
 

FXVec4d operator/ const FXVec4d a,
FXdouble  n
[friend]
 

FXVec4d operator/ FXdouble  n,
const FXVec4d a
[friend]
 

bool operator== const FXVec4d a,
FXdouble  n
[friend]
 

bool operator!= const FXVec4d a,
FXdouble  n
[friend]
 

bool operator== FXdouble  n,
const FXVec4d a
[friend]
 

bool operator!= FXdouble  n,
const FXVec4d a
[friend]
 

bool operator< const FXVec4d a,
FXdouble  n
[friend]
 

bool operator<= const FXVec4d a,
FXdouble  n
[friend]
 

bool operator> const FXVec4d a,
FXdouble  n
[friend]
 

bool operator>= const FXVec4d a,
FXdouble  n
[friend]
 

bool operator< FXdouble  n,
const FXVec4d a
[friend]
 

bool operator<= FXdouble  n,
const FXVec4d a
[friend]
 

bool operator> FXdouble  n,
const FXVec4d a
[friend]
 

bool operator>= FXdouble  n,
const FXVec4d a
[friend]
 

FXVec4d lo const FXVec4d a,
const FXVec4d b
[friend]
 

Lowest or highest components.

FXVec4d hi const FXVec4d a,
const FXVec4d b
[friend]
 

FXVec4d plane const FXVec4d vec  )  [friend]
 

Compute normalized plane equation ax+by+cz+d=0.

FXVec4d plane const FXVec3d vec,
FXdouble  dist
[friend]
 

FXVec4d plane const FXVec3d vec,
const FXVec3d p
[friend]
 

FXVec4d plane const FXVec3d a,
const FXVec3d b,
const FXVec3d c
[friend]
 

FXVec4d normalize const FXVec4d v  )  [friend]
 

Normalize vector.

FXStream& operator<< FXStream store,
const FXVec4d v
[friend]
 

Save to a stream.

FXStream& operator>> FXStream store,
FXVec4d v
[friend]
 

Load from a stream.


Member Data Documentation

FXdouble FX::FXVec4d::x
 

FXdouble FX::FXVec4d::y
 

FXdouble FX::FXVec4d::z
 

FXdouble FX::FXVec4d::w
 

Copyright © 1997-2005 Jeroen van der Zijp