Vec3D Class Reference

Three dimensional vector. More...

#include <vec3d.hpp>

List of all members.

Public Member Functions

 Vec3D ()
 Vec3D (double x)
 Vec3D (double x, double y)
 Vec3D (double x, double y, double z)
 Vec3D (const class Vec4D &vec)
 Vec3D (std::istream &s)
 ~Vec3D ()
double & operator[] (int i)
const double & operator[] (int i) const
double & operator() (int i)
const double & operator() (int i) const
Vec3D operator+ (const Vec3D &vec) const
 Vector addition
Vec3D operator- (const Vec3D &vec) const
 Vector difference
Vec3Doperator+= (const Vec3D &vec)
 Vector accumulation
double operator * (const Vec3D &vec) const
 Dot product.
Vec3D operator * (double x) const
 Vector scaling.
Vec3D operator- (void) const
 Unary minus.
Vec3Doperator *= (double x)
 Vector scaling.
Vec3Doperator/= (double x)
 Vector scaling with divisor.
bool operator!= (const Vec3D &x)
 Inequality test.
bool operator== (const Vec3D &x)
 Equality test.
Vec3Doperator= (const Vec3D &x)
 Assignment.
Vec3Doperator= (const double &x)
 Assignment of every coordinate.
void normalize ()
 Normalize vector.
double norm2 () const
 Returns 2-norm of vector.
double ssqr () const
 Returns square of 2-norm of vector.
void save (std::ostream &s) const

Friends

Vec3D cross (const Vec3D &vec1, const Vec3D &vec2)
 Cross product.
double norm2 (const Vec3D &vec)
 Second norm of vector.
Vec3D operator * (double x, const Vec3D &vec)
 Vector scaling.
Vec3D operator * (double x, const class Int3D &i)
 Vector scaling for integer vector.
std::ostream & operator<< (std::ostream &os, const Vec3D &vec)
 Outputting to stream.


Detailed Description

Three dimensional vector.


Constructor & Destructor Documentation

Vec3D::Vec3D (  )  [inline]

Vec3D::Vec3D ( double  x  )  [inline]

Vec3D::Vec3D ( double  x,
double  y 
) [inline]

Vec3D::Vec3D ( double  x,
double  y,
double  z 
) [inline]

Vec3D::Vec3D ( const class Vec4D vec  ) 

Vec3D::Vec3D ( std::istream &  s  )  [inline]

Vec3D::~Vec3D (  )  [inline]


Member Function Documentation

double Vec3D::norm2 (  )  const [inline]

Returns 2-norm of vector.

$ ||x||_2 = \sqrt{ \Sigma_{i=1}^n x_i^2 } $

void Vec3D::normalize (  )  [inline]

Normalize vector.

Vec3D Vec3D::operator * ( double  x  )  const [inline]

Vector scaling.

double Vec3D::operator * ( const Vec3D vec  )  const [inline]

Dot product.

Vec3D& Vec3D::operator *= ( double  x  )  [inline]

Vector scaling.

bool Vec3D::operator!= ( const Vec3D x  )  [inline]

Inequality test.

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

double& Vec3D::operator() ( int  i  )  [inline]

Vec3D Vec3D::operator+ ( const Vec3D vec  )  const [inline]

Vector addition

Vec3D& Vec3D::operator+= ( const Vec3D vec  )  [inline]

Vector accumulation

Vec3D Vec3D::operator- ( void   )  const [inline]

Unary minus.

Vec3D Vec3D::operator- ( const Vec3D vec  )  const [inline]

Vector difference

Vec3D& Vec3D::operator/= ( double  x  )  [inline]

Vector scaling with divisor.

Vec3D& Vec3D::operator= ( const double &  x  )  [inline]

Assignment of every coordinate.

Vec3D& Vec3D::operator= ( const Vec3D x  )  [inline]

Assignment.

bool Vec3D::operator== ( const Vec3D x  )  [inline]

Equality test.

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

double& Vec3D::operator[] ( int  i  )  [inline]

void Vec3D::save ( std::ostream &  s  )  const [inline]

double Vec3D::ssqr (  )  const [inline]

Returns square of 2-norm of vector.

$ (||x||_2)^2 = \Sigma_{i=1}^n x_i^2 $


Friends And Related Function Documentation

Vec3D cross ( const Vec3D vec1,
const Vec3D vec2 
) [friend]

Cross product.

double norm2 ( const Vec3D vec  )  [friend]

Second norm of vector.

Vec3D operator * ( double  x,
const class Int3D i 
) [friend]

Vector scaling for integer vector.

Vec3D operator * ( double  x,
const Vec3D vec 
) [friend]

Vector scaling.

std::ostream& operator<< ( std::ostream &  os,
const Vec3D vec 
) [friend]

Outputting to stream.


The documentation for this class was generated from the following file:
Generated on Thu Apr 21 13:39:22 2011 for IBSimu by  doxygen 1.4.7