GenGeo  1.1
Vector3 Class Reference

#include <vector3.h>

Collaboration diagram for Vector3:

Public Member Functions

VECTOR3_INLINE Vector3 ()
 The zero vector.
VECTOR3_INLINE Vector3 (double s)
VECTOR3_INLINE Vector3 (double, double, double)
VECTOR3_INLINE Vector3 (const Vector3 &)
VECTOR3_INLINE Vector3operator= (const Vector3 &)
VECTOR3_INLINE Vector3operator= (double s)
VECTOR3_INLINE Vector3operator-= (const Vector3 &)
VECTOR3_INLINE Vector3operator+= (const Vector3 &)
VECTOR3_INLINE Vector3 operator+ (const Vector3 &) const
VECTOR3_INLINE Vector3 operator- (const Vector3 &) const
VECTOR3_INLINE double operator* (const Vector3 &) const
VECTOR3_INLINE Vector3 operator- () const
VECTOR3_INLINE Vector3 operator* (double) const
VECTOR3_INLINE Vector3operator*= (double)
VECTOR3_INLINE Vector3 operator/ (double) const
VECTOR3_INLINE Vector3 operator- (double) const
VECTOR3_INLINE Vector3 operator+ (double) const
VECTOR3_INLINE Vector3operator+= (double)
VECTOR3_INLINE Vector3operator-= (double)
VECTOR3_INLINE Vector3operator/= (double)
VECTOR3_INLINE double norm () const
VECTOR3_INLINE double wnorm (double, double, double) const
VECTOR3_INLINE double norm2 () const
VECTOR3_INLINE double wnorm2 (double, double, double) const
VECTOR3_INLINE Vector3 unit () const
VECTOR3_INLINE double max () const
VECTOR3_INLINE double min () const
VECTOR3_INLINE Vector3 rotate (const Vector3 &axis, const Vector3 &axisPt) const
VECTOR3_INLINE bool operator== (const Vector3 &) const
VECTOR3_INLINE bool operator!= (const Vector3 &) const
VECTOR3_INLINE void mul_add_and_assign (const Vector3 *, const Vector3 *, const double &)
VECTOR3_INLINE void mul_and_assign (const Vector3 *, const double &)
VECTOR3_INLINE Vector3 (const VDMulVadd &)
VECTOR3_INLINE Vector3operator= (const VDMulVadd &)
VECTOR3_INLINE Vector3 (const VDMul &)
VECTOR3_INLINE Vector3operator= (const VDMul &)
VECTOR3_INLINE void set_x (double x)
VECTOR3_INLINE void set_y (double y)
VECTOR3_INLINE void set_z (double z)
VECTOR3_INLINE double & X ()
VECTOR3_INLINE double & Y ()
VECTOR3_INLINE double & Z ()
VECTOR3_INLINE double x () const
VECTOR3_INLINE double y () const
VECTOR3_INLINE double z () const
VECTOR3_INLINE const double & operator[] (int i) const
VECTOR3_INLINE double & operator[] (int i)
bool operator< (const Vector3 &) const

Static Public Attributes

static const Vector3 ZERO = Vector3(0.0, 0.0, 0.0)

Protected Attributes

double data [3]

Friends

VECTOR3_INLINE friend Vector3 cmax (const Vector3 &, const Vector3 &)
VECTOR3_INLINE friend Vector3 cmin (const Vector3 &, const Vector3 &)
VECTOR3_INLINE friend Vector3 cross (const Vector3 &, const Vector3 &)
VECTOR3_INLINE friend double dot (const Vector3 &, const Vector3 &)
VECTOR3_INLINE friend Vector3 operator* (double, const Vector3 &)
VECTOR3_INLINE friend ostream & operator<< (ostream &, const Vector3 &)
VECTOR3_INLINE friend istream & operator>> (istream &, Vector3 &)

Constructor & Destructor Documentation

VECTOR3_INLINE Vector3::Vector3 ( )

The zero vector.

References data.

Referenced by operator*(), operator+(), operator-(), and operator/().

VECTOR3_INLINE Vector3::Vector3 ( double  s)
explicit

References data.

VECTOR3_INLINE Vector3::Vector3 ( double  a,
double  b,
double  c 
)

References data.

VECTOR3_INLINE Vector3::Vector3 ( const Vector3 rhs)

References data.

VECTOR3_INLINE Vector3::Vector3 ( const VDMulVadd &  )
VECTOR3_INLINE Vector3::Vector3 ( const VDMul &  )

Member Function Documentation

VECTOR3_INLINE double Vector3::max ( ) const

References data.

VECTOR3_INLINE double Vector3::min ( ) const

References data.

VECTOR3_INLINE void Vector3::mul_add_and_assign ( const Vector3 ,
const Vector3 ,
const double &   
)
VECTOR3_INLINE void Vector3::mul_and_assign ( const Vector3 ,
const double &   
)
VECTOR3_INLINE double Vector3::norm ( ) const
VECTOR3_INLINE double Vector3::norm2 ( ) const

References data.

VECTOR3_INLINE bool Vector3::operator!= ( const Vector3 V) const

References data.

VECTOR3_INLINE double Vector3::operator* ( const Vector3 rhs) const

References data.

VECTOR3_INLINE Vector3 Vector3::operator* ( double  s) const

References data, and Vector3().

Here is the call graph for this function:

VECTOR3_INLINE Vector3 & Vector3::operator*= ( double  rhs)

References data.

VECTOR3_INLINE Vector3 Vector3::operator+ ( const Vector3 rhs) const

References data, and Vector3().

Here is the call graph for this function:

VECTOR3_INLINE Vector3 Vector3::operator+ ( double  s) const

References data, and Vector3().

Here is the call graph for this function:

VECTOR3_INLINE Vector3 & Vector3::operator+= ( const Vector3 rhs)

References data.

VECTOR3_INLINE Vector3 & Vector3::operator+= ( double  s)

References data.

VECTOR3_INLINE Vector3 Vector3::operator- ( const Vector3 rhs) const

References data, and Vector3().

Here is the call graph for this function:

VECTOR3_INLINE Vector3 Vector3::operator- ( ) const

References data, and Vector3().

Here is the call graph for this function:

VECTOR3_INLINE Vector3 Vector3::operator- ( double  s) const

References data, and Vector3().

Here is the call graph for this function:

VECTOR3_INLINE Vector3 & Vector3::operator-= ( const Vector3 rhs)

References data.

VECTOR3_INLINE Vector3 & Vector3::operator-= ( double  s)

References data.

VECTOR3_INLINE Vector3 Vector3::operator/ ( double  s) const

References data, and Vector3().

Here is the call graph for this function:

VECTOR3_INLINE Vector3 & Vector3::operator/= ( double  c)

References data.

bool Vector3::operator< ( const Vector3 rhs) const

References data.

VECTOR3_INLINE Vector3 & Vector3::operator= ( const Vector3 rhs)

References data.

VECTOR3_INLINE Vector3 & Vector3::operator= ( double  s)

References data.

VECTOR3_INLINE Vector3& Vector3::operator= ( const VDMulVadd &  )
VECTOR3_INLINE Vector3& Vector3::operator= ( const VDMul &  )
VECTOR3_INLINE bool Vector3::operator== ( const Vector3 V) const

References data.

VECTOR3_INLINE const double& Vector3::operator[] ( int  i) const
inline

References data.

VECTOR3_INLINE double& Vector3::operator[] ( int  i)
inline

References data.

VECTOR3_INLINE Vector3 Vector3::rotate ( const Vector3 axis,
const Vector3 axisPt 
) const

References cross, dot, and norm().

Referenced by Shape::rotatePoint().

Here is the call graph for this function:

VECTOR3_INLINE void Vector3::set_x ( double  x)
inline

References data, and x().

Here is the call graph for this function:

VECTOR3_INLINE void Vector3::set_y ( double  y)
inline

References data, and y().

Here is the call graph for this function:

VECTOR3_INLINE void Vector3::set_z ( double  z)
inline

References data, and z().

Here is the call graph for this function:

VECTOR3_INLINE Vector3 Vector3::unit ( ) const

References norm().

Referenced by CylinderVol::CylinderVol(), EdgeSep(), exportVector3(), Triangle3D::getDist(), Plane::Plane(), and Torus::Torus().

Here is the call graph for this function:

VECTOR3_INLINE double Vector3::wnorm ( double  wx,
double  wy,
double  wz 
) const

References data.

VECTOR3_INLINE double Vector3::wnorm2 ( double  wx,
double  wy,
double  wz 
) const

References data.

Friends And Related Function Documentation

VECTOR3_INLINE friend Vector3 cmax ( const Vector3 v1,
const Vector3 v2 
)
friend
VECTOR3_INLINE friend Vector3 cmin ( const Vector3 v1,
const Vector3 v2 
)
friend
VECTOR3_INLINE friend Vector3 cross ( const Vector3 lhs,
const Vector3 rhs 
)
friend

Referenced by rotate().

VECTOR3_INLINE friend double dot ( const Vector3 v1,
const Vector3 v2 
)
friend

Referenced by rotate().

VECTOR3_INLINE friend Vector3 operator* ( double  f,
const Vector3 rhs 
)
friend
VECTOR3_INLINE friend ostream& operator<< ( ostream &  ,
const Vector3  
)
friend
VECTOR3_INLINE friend istream& operator>> ( istream &  ,
Vector3  
)
friend

Member Data Documentation

const Vector3 Vector3::ZERO = Vector3(0.0, 0.0, 0.0)
static

The documentation for this class was generated from the following files: