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

FX::FXVec3d Class Reference

Double-precision 3-element vector. More...

#include <FXVec3d.h>

List of all members.

Public Member Functions

 FXVec3d ()
 FXVec3d (const FXVec3d &v)
 FXVec3d (const FXdouble v[])
 FXVec3d (FXdouble xx, FXdouble yy, FXdouble zz=1.0)
FXdoubleoperator[] (FXint i)
const FXdoubleoperator[] (FXint i) const
FXVec3doperator= (const FXVec3d &v)
FXVec3doperator= (const FXdouble v[])
FXVec3dset (const FXVec3d &v)
FXVec3dset (const FXdouble v[])
FXVec3dset (FXdouble xx, FXdouble yy, FXdouble zz)
FXVec3doperator*= (FXdouble n)
FXVec3doperator/= (FXdouble n)
FXVec3doperator+= (const FXVec3d &v)
FXVec3doperator-= (const FXVec3d &v)
 operator FXdouble * ()
 operator const FXdouble * () const
 operator FXVec2d & ()
 operator const FXVec2d & () const
FXVec3d operator+ () const
FXVec3d operator- () const
FXVec3d operator+ (const FXVec3d &v) const
FXVec3d operator- (const FXVec3d &v) const
FXVec3d operator* (const FXMat3d &m) const
FXVec3d operator* (const FXMat4d &m) const
FXdouble operator* (const FXVec3d &v) const
FXVec3d operator^ (const FXVec3d &v) const
FXbool operator! () const
FXbool operator== (const FXVec3d &v) const
FXbool operator!= (const FXVec3d &v) const
FXbool operator< (const FXVec3d &v) const
FXbool operator<= (const FXVec3d &v) const
FXbool operator> (const FXVec3d &v) const
FXbool operator>= (const FXVec3d &v) const
FXdouble length2 () const
FXdouble length () const
FXVec3dclamp (FXdouble lo, FXdouble hi)

Public Attributes

FXdouble x
FXdouble y
FXdouble z

Friends

FXVec3d operator* (const FXVec3d &a, FXdouble n)
FXVec3d operator* (FXdouble n, const FXVec3d &a)
FXVec3d operator/ (const FXVec3d &a, FXdouble n)
FXVec3d operator/ (FXdouble n, const FXVec3d &a)
FXbool operator== (const FXVec3d &a, FXdouble n)
FXbool operator!= (const FXVec3d &a, FXdouble n)
FXbool operator== (FXdouble n, const FXVec3d &a)
FXbool operator!= (FXdouble n, const FXVec3d &a)
FXbool operator< (const FXVec3d &a, FXdouble n)
FXbool operator<= (const FXVec3d &a, FXdouble n)
FXbool operator> (const FXVec3d &a, FXdouble n)
FXbool operator>= (const FXVec3d &a, FXdouble n)
FXbool operator< (FXdouble n, const FXVec3d &a)
FXbool operator<= (FXdouble n, const FXVec3d &a)
FXbool operator> (FXdouble n, const FXVec3d &a)
FXbool operator>= (FXdouble n, const FXVec3d &a)
FXVec3d lo (const FXVec3d &a, const FXVec3d &b)
FXVec3d hi (const FXVec3d &a, const FXVec3d &b)
FXColor colorFromVec3d (const FXVec3d &vec)
FXVec3d colorToVec3d (FXColor clr)
FXVec3d normal (const FXVec3d &a, const FXVec3d &b, const FXVec3d &c)
FXVec3d normal (const FXVec3d &a, const FXVec3d &b, const FXVec3d &c, const FXVec3d &d)
FXVec3d normalize (const FXVec3d &v)
FXStreamoperator<< (FXStream &store, const FXVec3d &v)
FXStreamoperator>> (FXStream &store, FXVec3d &v)


Detailed Description

Double-precision 3-element vector.

Constructor & Destructor Documentation

FX::FXVec3d::FXVec3d (  )  [inline]

Default constructor; value is not initialized.

FX::FXVec3d::FXVec3d ( const FXVec3d v  )  [inline]

Initialize from another vector.

References x, y, and z.

FX::FXVec3d::FXVec3d ( const FXdouble  v[]  )  [inline]

Initialize from array of doubles.

FX::FXVec3d::FXVec3d ( FXdouble  xx,
FXdouble  yy,
FXdouble  zz = 1.0 
) [inline]

Initialize with components.


Member Function Documentation

FXdouble& FX::FXVec3d::operator[] ( FXint  i  )  [inline]

Return a non-const reference to the ith element.

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

Return a const reference to the ith element.

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

Assignment.

References x, y, and z.

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

Assignment from array of doubles.

FXVec3d& FX::FXVec3d::set ( const FXVec3d v  )  [inline]

Set value from another vector.

References x.

FXVec3d& FX::FXVec3d::set ( const FXdouble  v[]  )  [inline]

Set value from array of floats.

FXVec3d& FX::FXVec3d::set ( FXdouble  xx,
FXdouble  yy,
FXdouble  zz 
) [inline]

Set value from components.

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

Assigning operators.

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

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

References x, y, and z.

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

References x, y, and z.

FX::FXVec3d::operator FXdouble * (  )  [inline]

Conversions.

FX::FXVec3d::operator const FXdouble * (  )  const [inline]

FX::FXVec3d::operator FXVec2d & (  )  [inline]

FX::FXVec3d::operator const FXVec2d & (  )  const [inline]

FXVec3d FX::FXVec3d::operator+ (  )  const [inline]

Unary.

FXVec3d FX::FXVec3d::operator- (  )  const [inline]

FXVec3d FX::FXVec3d::operator+ ( const FXVec3d v  )  const [inline]

Vector and vector.

References x, y, and z.

FXVec3d FX::FXVec3d::operator- ( const FXVec3d v  )  const [inline]

References x, y, and z.

FXVec3d FX::FXVec3d::operator* ( const FXMat3d m  )  const

Vector and matrix.

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

FXdouble FX::FXVec3d::operator* ( const FXVec3d v  )  const [inline]

Dot product.

References x, y, and z.

FXVec3d FX::FXVec3d::operator^ ( const FXVec3d v  )  const [inline]

Cross product.

References x, y, and z.

FXbool FX::FXVec3d::operator! (  )  const [inline]

Test if zero.

FXbool FX::FXVec3d::operator== ( const FXVec3d v  )  const [inline]

Equality tests.

References x, y, and z.

FXbool FX::FXVec3d::operator!= ( const FXVec3d v  )  const [inline]

References x, y, and z.

FXbool FX::FXVec3d::operator< ( const FXVec3d v  )  const [inline]

Inequality tests.

References x, y, and z.

FXbool FX::FXVec3d::operator<= ( const FXVec3d v  )  const [inline]

References x, y, and z.

FXbool FX::FXVec3d::operator> ( const FXVec3d v  )  const [inline]

References x, y, and z.

FXbool FX::FXVec3d::operator>= ( const FXVec3d v  )  const [inline]

References x, y, and z.

FXdouble FX::FXVec3d::length2 (  )  const [inline]

Length and square of length.

FXdouble FX::FXVec3d::length (  )  const [inline]

FXVec3d& FX::FXVec3d::clamp ( FXdouble  lo,
FXdouble  hi 
) [inline]

Clamp values of vector between limits.

References FXCLAMP.


Friends And Related Function Documentation

FXVec3d operator* ( const FXVec3d a,
FXdouble  n 
) [friend]

Scaling.

FXVec3d operator* ( FXdouble  n,
const FXVec3d a 
) [friend]

FXVec3d operator/ ( const FXVec3d a,
FXdouble  n 
) [friend]

FXVec3d operator/ ( FXdouble  n,
const FXVec3d a 
) [friend]

FXbool operator== ( const FXVec3d a,
FXdouble  n 
) [friend]

FXbool operator!= ( const FXVec3d a,
FXdouble  n 
) [friend]

FXbool operator== ( FXdouble  n,
const FXVec3d a 
) [friend]

FXbool operator!= ( FXdouble  n,
const FXVec3d a 
) [friend]

FXbool operator< ( const FXVec3d a,
FXdouble  n 
) [friend]

FXbool operator<= ( const FXVec3d a,
FXdouble  n 
) [friend]

FXbool operator> ( const FXVec3d a,
FXdouble  n 
) [friend]

FXbool operator>= ( const FXVec3d a,
FXdouble  n 
) [friend]

FXbool operator< ( FXdouble  n,
const FXVec3d a 
) [friend]

FXbool operator<= ( FXdouble  n,
const FXVec3d a 
) [friend]

FXbool operator> ( FXdouble  n,
const FXVec3d a 
) [friend]

FXbool operator>= ( FXdouble  n,
const FXVec3d a 
) [friend]

FXVec3d lo ( const FXVec3d a,
const FXVec3d b 
) [friend]

Lowest or highest components.

FXVec3d hi ( const FXVec3d a,
const FXVec3d b 
) [friend]

FXColor colorFromVec3d ( const FXVec3d vec  )  [friend]

Convert vector to color and back.

FXVec3d colorToVec3d ( FXColor  clr  )  [friend]

FXVec3d normal ( const FXVec3d a,
const FXVec3d b,
const FXVec3d c 
) [friend]

Compute normal from three points a,b,c.

FXVec3d normal ( const FXVec3d a,
const FXVec3d b,
const FXVec3d c,
const FXVec3d d 
) [friend]

Compute approximate normal from four points a,b,c,d.

FXVec3d normalize ( const FXVec3d v  )  [friend]

Normalize vector.

FXStream& operator<< ( FXStream store,
const FXVec3d v 
) [friend]

Save vector to a stream.

FXStream& operator>> ( FXStream store,
FXVec3d v 
) [friend]

Load vector from a stream.


Member Data Documentation

Copyright © 1997-2009 Jeroen van der Zijp