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

FX::FXVec4d Class Reference

#include <FXVec4d.h>

Inheritance diagram for FX::FXVec4d:
FX::FXQuatd

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.

References w, x, y, and z.

FX::FXVec4d::FXVec4d ( const FXVec3d v,
FXdouble  ww = 1.0 
)
inline

Construct with 3-vector and optional scalar.

References FX::FXVec3d::x, FX::FXVec3d::y, and FX::FXVec3d::z.

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.

References FX::FXVec3d::x, FX::FXVec3d::y, and FX::FXVec3d::z.

FXVec4d& FX::FXVec4d::operator= ( const FXVec4d v)
inline

References w, x, y, and z.

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.

References w, x, y, and z.

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

References w, x, y, and z.

FXVec4d& FX::FXVec4d::operator-= ( const FXVec4d v)
inline

References w, x, y, and z.

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.

References w, x, y, and z.

FXVec4d FX::FXVec4d::operator- ( const FXVec4d v) const
inline

References w, x, y, and z.

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

Vector and matrix.

FXdouble FX::FXVec4d::operator* ( const FXVec4d v) const
inline

Dot product.

References w, x, y, and z.

bool FX::FXVec4d::operator! ( ) const
inline

Test if zero.

bool FX::FXVec4d::operator== ( const FXVec4d v) const
inline

Equality tests.

References w, x, y, and z.

bool FX::FXVec4d::operator!= ( const FXVec4d v) const
inline

References w, x, y, and z.

bool FX::FXVec4d::operator< ( const FXVec4d v) const
inline

Inequality tests.

References w, x, y, and z.

bool FX::FXVec4d::operator<= ( const FXVec4d v) const
inline

References w, x, y, and z.

bool FX::FXVec4d::operator> ( const FXVec4d v) const
inline

References w, x, y, and z.

bool FX::FXVec4d::operator>= ( const FXVec4d v) const
inline

References w, x, y, and z.

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.

References FXCLAMP.

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

Copyright © 1997-2005 Jeroen van der Zijp