Navigation

Main Page
Download
Support
Installation
Tutorial
Examples
Reference Manual
   Version 1.0.5new_solver
   Version 1.0.5dev
      Class Index
      File List
   Version 1.0.5b
   Version 1.0.4dev
   Version 1.0.4
Publications


Hosted by Get Ion Beam Simulator at SourceForge.net. Fast, secure and Free Open Source software downloads

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) const
 Inequality test.
bool operator== (const Vec3D &x) const
 Equality test.
bool approx (const Vec3D &x, double eps=1.0e-6) const
 Approximate equality test.
Vec3Doperator= (const Vec3D &x)
 Assignment.
Vec3Doperator= (const double &x)
 Assignment of every coordinate.
void abs (void)
 Calculate absolute value of each component.
void normalize (void)
 Normalize vector.
double norm2 (void) const
 Returns 2-norm of vector.
double ssqr (void) const
 Returns square of 2-norm of vector.
int min_element (void) const
 Returns the index of element with minimum magnitude (abs).
Vec3D arb_perpendicular (void) const
 Returns arbitrary vector perpendicular to input vector.
void save (std::ostream &os) const
 Saves data to stream os.

Static Public Member Functions

static Vec3D standard_basis (int i)
 Returns standard basis vector i.

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

void Vec3D::abs ( void   )  [inline]

Calculate absolute value of each component.

bool Vec3D::approx ( const Vec3D x,
double  eps = 1.0e-6 
) const

Approximate equality test.

Does not require exact equality, but absolute or relative error less than eps (which ever is less strict). Be careful using this function!

Vec3D Vec3D::arb_perpendicular ( void   )  const

Returns arbitrary vector perpendicular to input vector.

int Vec3D::min_element ( void   )  const

Returns the index of element with minimum magnitude (abs).

double Vec3D::norm2 ( void   )  const [inline]

Returns 2-norm of vector.

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

void Vec3D::normalize ( void   )  [inline]

Normalize vector.

bool Vec3D::operator!= ( const Vec3D x  )  const

Inequality test.

Require exact equality.

const double& Vec3D::operator() ( int  i  )  const [inline]
double& Vec3D::operator() ( int  i  )  [inline]
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.

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  )  const

Equality test.

Requires exact equality.

double& Vec3D::operator[] ( int  i  )  [inline]
const double& Vec3D::operator[] ( int  i  )  const [inline]
void Vec3D::save ( std::ostream &  os  )  const [inline]

Saves data to stream os.

double Vec3D::ssqr ( void   )  const [inline]

Returns square of 2-norm of vector.

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

static Vec3D Vec3D::standard_basis ( int  i  )  [static]

Returns standard basis vector i.


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:


Reference manual for Ion Beam Simulator 1.0.5dev
Generated by Doxygen 1.7.1 on Mon Feb 6 2012 15:07:17.