Biomechanical Joint Model
 Author: Anderson Maciel

LinAlg::Vector Class Reference

#include <vec.h>

Inherited by LinAlg::QUAT, LinAlg::VECArray [private], and LinAlg::VECArray::specialVEC.

Inheritance diagram for LinAlg::Vector:

Inheritance graph
[legend]
List of all members.

Public Types

typedef double value_type
typedef double * pointer
typedef double * iterator
typedef double & reference
typedef const double * const_iterator
typedef const double & const_reference

Public Member Functions

 Vector ()
 Vector (const Vector &A)
 Vector (unsigned N, const double &value=double(0))
 Vector (unsigned N, const double *v)
 Vector (const float *v, unsigned N)
 Vector (unsigned N, const char *s)
virtual ~Vector ()
virtual Vectoroperator= (const Vector &A)
Vectoroperator= (const double &scalar)
Vectoroperator+= (const Vector &A)
Vectoroperator-= (const Vector &A)
Vectoroperator *= (const double &scalar)
Vectoroperator/= (const double &scalar)
unsigned dim () const
double norm2 () const
double norm () const
double normalize ()
bool operator>= (const double &scalar) const
bool operator<= (const double &scalar) const
bool operator> (const double &scalar) const
bool operator< (const double &scalar) const
Vectorinsert (const Vector &A, int pos=0)
Vectoradd (const Vector &A, int pos=0)
Vector extract (int pos=0, unsigned N=dimspace) const
VectorsetVecf (const float *A)
float * getVecf ()
 operator float * ()
iterator begin ()
iterator end ()
const_iterator begin () const
const_iterator end () const
reference operator[] (int i)
const_reference operator[] (int i) const

Protected Member Functions

virtual void initialize (unsigned N)
void copy (const double *v)
void set (const double &val)
virtual void destroy ()
Vectordiv (const Vector &A)
Vectordiv (const double &scalar)

Protected Attributes

double * v_
float * f_
unsigned n_
unsigned nf_

Friends

Vector operator+ (const Vector &A, const Vector &B)
Vector operator- (const Vector &A, const Vector &B)
Vector operator * (const Vector &A, const Vector &B)
Vector operator * (const Vector &A, double s)
Vector operator * (double s, const Vector &A)
Vector operator/ (const Vector &A, double s)
bool operator== (const Vector &A, const Vector &B)
bool operator!= (const Vector &A, const Vector &B)
bool operator>= (const Vector &A, const Vector &B)
bool operator<= (const Vector &A, const Vector &B)
bool operator> (const Vector &A, const Vector &B)
bool operator< (const Vector &A, const Vector &B)
double dot_prod (const Vector &A, const Vector &B)
Vector cross_prod (const Vector &A, const Vector &B)
double angle_between (const Vector &A, const Vector &B)
VectorSqrt (Vector &A)
Vectorabs (Vector &A)
Vector operator- (const Vector &A)

Detailed Description

Definition at line 18 of file vec.h.


Member Typedef Documentation

typedef const double* LinAlg::Vector::const_iterator
 

Reimplemented in LinAlg::VECArray.

Definition at line 27 of file vec.h.

typedef const double& LinAlg::Vector::const_reference
 

Reimplemented in LinAlg::VECArray.

Definition at line 28 of file vec.h.

typedef double* LinAlg::Vector::iterator
 

Reimplemented in LinAlg::VECArray.

Definition at line 25 of file vec.h.

typedef double* LinAlg::Vector::pointer
 

Reimplemented in LinAlg::VECArray.

Definition at line 24 of file vec.h.

typedef double& LinAlg::Vector::reference
 

Reimplemented in LinAlg::VECArray.

Definition at line 26 of file vec.h.

typedef double LinAlg::Vector::value_type
 

Reimplemented in LinAlg::VECArray.

Definition at line 23 of file vec.h.


Constructor & Destructor Documentation

Vector::Vector  )  [inline]
 

Definition at line 239 of file vec.h.

Vector::Vector const Vector A  )  [inline]
 

Definition at line 243 of file vec.h.

References copy(), initialize(), n_, and v_.

Here is the call graph for this function:

Vector::Vector unsigned  N,
const double &  value = double(0)
[inline]
 

Definition at line 250 of file vec.h.

References initialize(), and set().

Here is the call graph for this function:

Vector::Vector unsigned  N,
const double *  v
[inline]
 

Definition at line 257 of file vec.h.

References copy(), and initialize().

Here is the call graph for this function:

Vector::Vector const float *  v,
unsigned  N
[inline]
 

Definition at line 264 of file vec.h.

References initialize(), and v_.

Here is the call graph for this function:

Vector::Vector unsigned  N,
const char *  s
[inline]
 

Definition at line 272 of file vec.h.

References initialize(), and v_.

Here is the call graph for this function:

Vector::~Vector  )  [inline, virtual]
 

Definition at line 175 of file vec.h.


Member Function Documentation

Vector & Vector::add const Vector A,
int  pos = 0
[inline]
 

Definition at line 435 of file vec.h.

References n_, and v_.

const_iterator LinAlg::Vector::begin  )  const [inline]
 

Reimplemented in LinAlg::VECArray.

Definition at line 73 of file vec.h.

References v_.

iterator LinAlg::Vector::begin  )  [inline]
 

Reimplemented in LinAlg::VECArray.

Definition at line 71 of file vec.h.

References v_.

void Vector::copy const double *  v  )  [inline, protected]
 

Definition at line 150 of file vec.h.

References REAL.

Referenced by LinAlg::VECArray::VECArray(), and Vector().

void Vector::destroy  )  [inline, protected, virtual]
 

Reimplemented in LinAlg::VECArray.

Definition at line 182 of file vec.h.

Referenced by LinAlg::VECArray::destroy().

unsigned Vector::dim  )  const [inline]
 

Definition at line 330 of file vec.h.

Referenced by LinAlg::Matrix_::addToDiagonal(), BBox::extendBy(), LinAlg::Matrix_::Matrix_(), LinAlg::HMAT::mult(), LinAlg::Matrix_::operator *(), LinAlg::HMAT::operator *(), LinAlg::operator+(), LinAlg::operator<<(), LinAlg::VECArray::specialVEC::operator=(), LinAlg::VECArray::operator[](), LinAlg::QUAT::QUAT(), LinAlg::HMAT::setColumn(), LinAlg::HMAT::setRow(), and LinAlg::VECArray::VECArray().

Vector & Vector::div const double &  scalar  )  [inline, protected]
 

Definition at line 166 of file vec.h.

Vector& LinAlg::Vector::div const Vector A  )  [protected]
 

const_iterator LinAlg::Vector::end  )  const [inline]
 

Reimplemented in LinAlg::VECArray.

Definition at line 74 of file vec.h.

References n_, and v_.

iterator LinAlg::Vector::end  )  [inline]
 

Reimplemented in LinAlg::VECArray.

Definition at line 72 of file vec.h.

References n_, and v_.

Vector Vector::extract int  pos = 0,
unsigned  N = dimspace
const [inline]
 

Definition at line 448 of file vec.h.

References v_.

float * Vector::getVecf  )  [inline]
 

Definition at line 464 of file vec.h.

void Vector::initialize unsigned  N  )  [inline, protected, virtual]
 

Reimplemented in LinAlg::VECArray.

Definition at line 192 of file vec.h.

Referenced by LinAlg::VECArray::initialize(), and Vector().

Vector & Vector::insert const Vector A,
int  pos = 0
[inline]
 

Definition at line 421 of file vec.h.

References n_, and v_.

double Vector::norm  )  const [inline]
 

Definition at line 346 of file vec.h.

Referenced by MetaballsTriangle::EuclidDistFromTriangle(), MetaballsSphere_exp::gradient(), ImplicitPrimitive::intersectedBy(), BBox::intersectedBy(), LinAlg::QUAT::inverse(), and LinAlg::HMAT::makeVecRotVec().

double Vector::norm2  )  const [inline]
 

Definition at line 336 of file vec.h.

Referenced by find_closest(), and LinAlg::QUAT::operator HMAT().

double Vector::normalize  )  [inline]
 

Definition at line 353 of file vec.h.

References LinAlg::epsilon, and Vector::length().

Referenced by LinAlg::angle_between(), ImplicitPrimitive::findIntersection(), Mesh::findIntersection(), Ellipsoids::findIntersection(), and LinAlg::HMAT::makeVecRotVec().

Here is the call graph for this function:

Vector & Vector::operator *= const double &  scalar  )  [inline]
 

Definition at line 316 of file vec.h.

Referenced by LinAlg::VECArray::operator *=().

Vector::operator float *  )  [inline]
 

Definition at line 478 of file vec.h.

Vector & Vector::operator+= const Vector A  )  [inline]
 

Definition at line 298 of file vec.h.

References n_, and v_.

Referenced by LinAlg::VECArray::operator+=().

Vector & Vector::operator-= const Vector A  )  [inline]
 

Definition at line 307 of file vec.h.

References n_, and v_.

Referenced by LinAlg::VECArray::operator-=().

Vector & Vector::operator/= const double &  scalar  )  [inline]
 

Definition at line 324 of file vec.h.

Referenced by LinAlg::VECArray::operator/=().

bool Vector::operator< const double &  scalar  )  const [inline]
 

Definition at line 385 of file vec.h.

bool Vector::operator<= const double &  scalar  )  const [inline]
 

Definition at line 369 of file vec.h.

Vector & Vector::operator= const double &  scalar  )  [inline]
 

Definition at line 291 of file vec.h.

Vector & Vector::operator= const Vector A  )  [inline, virtual]
 

Reimplemented in LinAlg::VECArray::specialVEC.

Definition at line 200 of file vec.h.

References n_, and v_.

Referenced by LinAlg::VECArray::operator=().

bool Vector::operator> const double &  scalar  )  const [inline]
 

Definition at line 377 of file vec.h.

bool Vector::operator>= const double &  scalar  )  const [inline]
 

Definition at line 361 of file vec.h.

Vector::const_reference Vector::operator[] int  i  )  const [inline]
 

Reimplemented in LinAlg::VECArray.

Definition at line 411 of file vec.h.

Vector::reference Vector::operator[] int  i  )  [inline]
 

Reimplemented in LinAlg::VECArray.

Definition at line 401 of file vec.h.

void Vector::set const double &  val  )  [inline, protected]
 

Definition at line 156 of file vec.h.

Referenced by LinAlg::VECArray::VECArray(), and Vector().

Vector & Vector::setVecf const float *  A  )  [inline]
 

Definition at line 393 of file vec.h.


Friends And Related Function Documentation

Vector& abs Vector A  )  [friend]
 

double angle_between const Vector A,
const Vector B
[friend]
 

Vector cross_prod const Vector A,
const Vector B
[friend]
 

double dot_prod const Vector A,
const Vector B
[friend]
 

Referenced by LinAlg::QUAT::dist(), and LinAlg::QUAT::slerp().

Vector operator * double  s,
const Vector A
[friend]
 

Vector operator * const Vector A,
double  s
[friend]
 

Vector operator * const Vector A,
const Vector B
[friend]
 

bool operator!= const Vector A,
const Vector B
[friend]
 

Vector operator+ const Vector A,
const Vector B
[friend]
 

Vector operator- const Vector A  )  [friend]
 

Vector operator- const Vector A,
const Vector B
[friend]
 

Vector operator/ const Vector A,
double  s
[friend]
 

bool operator< const Vector A,
const Vector B
[friend]
 

bool operator<= const Vector A,
const Vector B
[friend]
 

bool operator== const Vector A,
const Vector B
[friend]
 

bool operator> const Vector A,
const Vector B
[friend]
 

bool operator>= const Vector A,
const Vector B
[friend]
 

Vector& Sqrt Vector A  )  [friend]
 


Member Data Documentation

float* LinAlg::Vector::f_ [protected]
 

Definition at line 105 of file vec.h.

unsigned LinAlg::Vector::n_ [protected]
 

Definition at line 106 of file vec.h.

Referenced by LinAlg::abs(), add(), LinAlg::cross_prod(), LinAlg::dot_prod(), end(), LinAlg::VECArray::init_vv(), insert(), LinAlg::operator *(), operator+=(), LinAlg::operator-(), operator-=(), LinAlg::operator/(), LinAlg::operator<(), LinAlg::operator<=(), LinAlg::VECArray::specialVEC::operator=(), operator=(), LinAlg::operator==(), LinAlg::operator>(), LinAlg::operator>=(), LinAlg::Sqrt(), LinAlg::VECArray::VECArray(), and Vector().

unsigned LinAlg::Vector::nf_ [protected]
 

Definition at line 106 of file vec.h.

double* LinAlg::Vector::v_ [protected]
 

Definition at line 104 of file vec.h.

Referenced by LinAlg::abs(), add(), begin(), LinAlg::QUAT::conjugate(), LinAlg::dot_prod(), end(), extract(), LinAlg::VECArray::init_vv(), insert(), LinAlg::QUAT::inverse(), LinAlg::operator *(), LinAlg::QUAT::operator HMAT(), LinAlg::operator+(), operator+=(), LinAlg::operator-(), operator-=(), LinAlg::operator/(), LinAlg::operator<(), LinAlg::operator<=(), operator=(), LinAlg::operator==(), LinAlg::operator>(), LinAlg::operator>=(), LinAlg::QUAT::QUAT(), LinAlg::QUAT::set(), LinAlg::Sqrt(), LinAlg::VECArray::VECArray(), and Vector().


The documentation for this class was generated from the following file:
Generated on Thu Dec 1 10:14:46 2005 for COME - Biomechanical Joint Model by  doxygen 1.4.5