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

Geometry::Vec< N, Real > Class Template Reference

#include <geom.h>

List of all members.

Public Types

typedef Real value_type

Public Methods

Vec< N, Real > & normalize ()
 Normalizes the vector in place.

Vec< N, Real > unit () const
 Return the corresponding unit vector.

 Vec ()
 Classical constructor.

 Vec (const value_type tab[N])
 Classical constructor.

 Vec (const std::vector< value_type > &tab)
 Vec (const Vec< N, Real > &v)
 Classical constructor.

const value_typeoperator[] (const int i) const
 Classical access operator.

value_typeoperator[] (const int i)
 Classical access operator.

value_type norm () const
 Classical value.

value_type square_norm () const
 Classical value.

Vec< N, Real > & operator= (const Vec< N, Real > &v)
 Classical operator.

bool operator== (const Vec< N, Real > &v) const
 Classical operator.

bool operator!= (const Vec< N, Real > &v) const
 Classical operator.

Vec< N, Real > & operator+= (const Vec< N, Real > &v)
 Classical operator.

Vec< N, Real > & operator-= (const Vec< N, Real > &v)
 Classical operator.

Vec< N, Real > & operator *= (const value_type r)
 Classical operator.

Vec< N, Real > & operator/= (const value_type r)
Vec< N, Real > operator- () const
 Classical operator.


Friends

value_type operator * (const Vec< N, Real > &v1, const Vec< N, Real > &v2)
 Pre-declaration needed for friend declarations.

template<int Row, int Col, typename Real_t> Vec< Row, Real_t > operator * (const Matrix< Row, Col, Real_t > &m, const Vec< Col, Real_t > &v)
std::ostream & operator (std::ostream &s, const Vec< N, Real > &v)


Detailed Description

template<int N, typename Real>
class Geometry::Vec< N, Real >

Represents a vector with fixed dimension N with coordinates of type Real.


Member Typedef Documentation

template<int N, typename Real>
typedef Real Geometry::Vec< N, Real >::value_type
 

Reimplemented in Geometry::Vec2< Real >, Geometry::Vec3< Real >, Geometry::Hvec2< Real >, and Geometry::Hvec3< Real >.


Constructor & Destructor Documentation

template<int N, typename Real>
Geometry::Vec< N, Real >::Vec   [inline]
 

Classical constructor.

template<int N, typename Real>
Geometry::Vec< N, Real >::Vec const value_type    tab[N] [inline, explicit]
 

Classical constructor.

template<int N, typename Real>
Geometry::Vec< N, Real >::Vec const std::vector< value_type > &    tab [inline, explicit]
 

No size check.

template<int N, typename Real>
Geometry::Vec< N, Real >::Vec const Vec< N, Real > &    v [inline]
 

Classical constructor.


Member Function Documentation

template<int N, typename Real>
Vec< N, Real >::value_type Geometry::Vec< N, Real >::norm   [inline]
 

Classical value.

template<int N, typename Real>
Vec< N, Real > & Geometry::Vec< N, Real >::normalize   [inline]
 

Normalizes the vector in place.

No zero check.

template<int N, typename Real>
Vec< N, Real > & Geometry::Vec< N, Real >::operator *= const value_type    r [inline]
 

Classical operator.

template<int N, typename Real>
bool Geometry::Vec< N, Real >::operator!= const Vec< N, Real > &    v const [inline]
 

Classical operator.

template<int N, typename Real>
Vec< N, Real > & Geometry::Vec< N, Real >::operator+= const Vec< N, Real > &    v [inline]
 

Classical operator.

template<int N, typename Real>
Vec< N, Real > Geometry::Vec< N, Real >::operator-   [inline]
 

Classical operator.

template<int N, typename Real>
Vec< N, Real > & Geometry::Vec< N, Real >::operator-= const Vec< N, Real > &    v [inline]
 

Classical operator.

template<int N, typename Real>
Vec< N, Real > & Geometry::Vec< N, Real >::operator/= const value_type    r [inline]
 

No check for r<>0 .

template<int N, typename Real>
Vec< N, Real > & Geometry::Vec< N, Real >::operator= const Vec< N, Real > &    v [inline]
 

Classical operator.

template<int N, typename Real>
bool Geometry::Vec< N, Real >::operator== const Vec< N, Real > &    v const [inline]
 

Classical operator.

template<int N, typename Real>
Vec< N, Real >::value_type & Geometry::Vec< N, Real >::operator[] const int    i [inline]
 

Classical access operator.

template<int N, typename Real>
const Vec< N, Real >::value_type & Geometry::Vec< N, Real >::operator[] const int    i const [inline]
 

Classical access operator.

template<int N, typename Real>
Vec< N, Real >::value_type Geometry::Vec< N, Real >::square_norm   [inline]
 

Classical value.

template<int N, typename Real>
Vec< N, Real > Geometry::Vec< N, Real >::unit   const [inline]
 

Return the corresponding unit vector.

No zero check.


Friends And Related Function Documentation

template<int N, typename Real>
std::ostream& operator std::ostream &    s,
const Vec< N, Real > &    v
[friend]
 

template<int N, typename Real>
template<int Row, int Col, typename Real_t>
Vec<Row,Real_t> operator * const Matrix< Row, Col, Real_t > &    m,
const Vec< Col, Real_t > &    v
[friend]
 

template<int N, typename Real>
value_type operator * const Vec< N, Real > &    v1,
const Vec< N, Real > &    v2
[friend]
 

Pre-declaration needed for friend declarations.


The documentation for this class was generated from the following file:
Generated on Fri Aug 20 15:03:53 2004 by doxygen1.2.18