kn::Vector3< T > Class Template Reference

#include <Vector3.hpp>

Inherits Vector< T >.

Collaboration diagram for kn::Vector3< T >:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 Vector3 (void)
 Default constructor Create a 3 Vector.
 Vector3 (const Vector3< T > &v)
 Copy constructor Create a Vector by copying the input Vector.
 Vector3 (const Vector3< T > *v)
 Copy constructor Create a Vector by copying the input Vector.
 Vector3 (const Vector2< T > &v, const T &d1)
 Vector3 constructor.
 Vector3 (const T &d1, const Vector2< T > &v)
 Vector3 constructor.
 Vector3 (const T &d1, const T &d2, const T &d3)
 Create a 3 Vector Create a 3 Vector and use the value d1, d2, d3 to set the data of the Vector.
 Vector3 (const T &d)
 Create a 3 Vector Create a 3 Vector and use the value d to set the data of the Vector.
 Vector3 (const T *a)
 create a 3 Vector create a 3 Vector and set data by using the values array d
 Vector3 (const Vector< T > &v)
 Create a 3 Vector from a generic vector of size 3.
 ~Vector3 (void)
 Destructor.
T & x (void)
 Return x coordinate reference.
const T & x (void) const
 Return x coordinate reference.
T & y (void)
 Return y coordinate reference.
const T & y (void) const
 Return y coordinate reference.
T & z (void)
 Return z coordinate reference.
const T & z (void) const
 Return z coordinate reference.
Vector3< T > & normalize (void)
 Normalize the vector Divide each elements of this vector its norm.
Vector3< T > getNormalized (void) const
 Normalize a copy of the vector.
operator* (const Vector3< T > &v) const
 Multiplies the Vector with a vector3 (dot product).
dot (const Vector3< T > &v) const
 Multiplies the Vector with a vector3 (dot product).
Vector3< T > & operator= (const Vector3< T > &v)
 copy the value of the argument vector2 to this vector
Vector3< T > operator+ (const Vector3< T > &v) const
 adds two vectors
Vector3< T > operator- (const Vector3< T > &v) const
 subtracts two vectors
Vector3< T > operator/ (const T &d) const
 Divides the Vector3 by a value.
Vector3< T > operator* (const T &d) const
 Multiplies the Vector3 with a value.
Vector3< T > operator- (void) const
 Compute opposite of the Vector.
Vector3< T > & operator+= (const Vector3< T > &v)
 Adds the Vector3 with a Vector.
Vector3< T > & operator-= (const Vector3< T > &v)
 Subtracts the Vector3 with a Vector.
Vector3< T > & operator/= (const T &d)
 Divides the Vector3 with a value All values of the Vector3 are divided by d.
Vector3< T > & operator*= (const T &d)
 Multiplies the Vector3 with a value.
Vector3< T > operator^ (const Vector3< T > &v) const
 Cross product between 2 Vector3.
Vector3< T > cross (const Vector3< T > &v) const
 Cross product between 2 Vector3.
size_t size (void) const
 Returns the number of rows of the Vector.
void fill (const T &d)
 Sets the value d on every entry of the vector.
void setZero (void)
 Reset the vector entries to zero.


Detailed Description

template<class T>
class kn::Vector3< T >

Definition at line 37 of file Vector3.hpp.


Constructor & Destructor Documentation

template<class T>
kn::Vector3< T >::Vector3 ( void   )  [inline]

Default constructor Create a 3 Vector.

Definition at line 45 of file Vector3.hpp.

template<class T>
kn::Vector3< T >::Vector3 ( const Vector3< T > &  v  )  [inline]

Copy constructor Create a Vector by copying the input Vector.

Parameters:
v the Vector to copy

Definition at line 52 of file Vector3.hpp.

template<class T >
kn::Vector3< T >::Vector3 ( const Vector3< T > *  v  )  [inline]

Copy constructor Create a Vector by copying the input Vector.

Parameters:
v the pointer to the Vector to copy
Exceptions:
MathException pointer is null

Definition at line 339 of file Vector3.hpp.

template<class T>
kn::Vector3< T >::Vector3 ( const Vector2< T > &  v,
const T &  d1 
) [inline]

Vector3 constructor.

Parameters:
v a vector2
d1 the third value of the vector3

Definition at line 73 of file Vector3.hpp.

template<class T>
kn::Vector3< T >::Vector3 ( const T &  d1,
const Vector2< T > &  v 
) [inline]

Vector3 constructor.

Parameters:
v a vector2
d1 the first value of the vector3

Definition at line 84 of file Vector3.hpp.

template<class T>
kn::Vector3< T >::Vector3 ( const T &  d1,
const T &  d2,
const T &  d3 
) [inline]

Create a 3 Vector Create a 3 Vector and use the value d1, d2, d3 to set the data of the Vector.

Parameters:
d1 value used to set data of the Vector
d2 value used to set data of the Vector
d3 value used to set data of the Vector

Definition at line 98 of file Vector3.hpp.

template<class T>
kn::Vector3< T >::Vector3 ( const T &  d  )  [inline]

Create a 3 Vector Create a 3 Vector and use the value d to set the data of the Vector.

Parameters:
d value used to set data of the Vector

Definition at line 109 of file Vector3.hpp.

template<class T >
kn::Vector3< T >::Vector3 ( const T *  a  )  [inline]

create a 3 Vector create a 3 Vector and set data by using the values array d

Parameters:
a pointer to an array of data
Exceptions:
MathException d is null

Definition at line 347 of file Vector3.hpp.

template<class T >
kn::Vector3< T >::Vector3 ( const Vector< T > &  v  )  [inline]

Create a 3 Vector from a generic vector of size 3.

Parameters:
v a vector
Exceptions:
MathException size of vector is different of 3

Definition at line 330 of file Vector3.hpp.

template<class T>
kn::Vector3< T >::~Vector3 ( void   )  [inline]

Destructor.

Definition at line 129 of file Vector3.hpp.


Member Function Documentation

template<class T>
Vector3<T> kn::Vector3< T >::cross ( const Vector3< T > &  v  )  const [inline]

Cross product between 2 Vector3.

Returns:
the resuting Vector3 of the cross product

Definition at line 301 of file Vector3.hpp.

template<class T>
T kn::Vector3< T >::dot ( const Vector3< T > &  v  )  const [inline]

Multiplies the Vector with a vector3 (dot product).

Parameters:
v the vector3 multiplied with this Vector
Returns:
a scalar of type T

Definition at line 210 of file Vector3.hpp.

template<class T>
void kn::Vector3< T >::fill ( const T &  d  )  [inline]

Sets the value d on every entry of the vector.

Reimplemented from kn::Vector< T >.

Definition at line 316 of file Vector3.hpp.

template<class T >
Vector3< T > kn::Vector3< T >::getNormalized ( void   )  const [inline]

Normalize a copy of the vector.

Reimplemented from kn::Vector< T >.

Definition at line 364 of file Vector3.hpp.

template<class T >
Vector3< T > & kn::Vector3< T >::normalize ( void   )  [inline]

Normalize the vector Divide each elements of this vector its norm.

Reimplemented from kn::Vector< T >.

Definition at line 355 of file Vector3.hpp.

template<class T>
Vector3<T> kn::Vector3< T >::operator* ( const T &  d  )  const [inline]

Multiplies the Vector3 with a value.

Parameters:
d the value multiplied with this Vector
Returns:
a copy of the Vector3

Reimplemented from kn::Vector< T >.

Definition at line 249 of file Vector3.hpp.

template<class T >
T kn::Vector3< T >::operator* ( const Vector3< T > &  v  )  const [inline]

Multiplies the Vector with a vector3 (dot product).

Parameters:
v the vector3 multiplied with this Vector
Returns:
a scalar of type T

Definition at line 371 of file Vector3.hpp.

template<class T >
Vector3< T > & kn::Vector3< T >::operator*= ( const T &  d  )  [inline]

Multiplies the Vector3 with a value.

Parameters:
d the value multiplied with this Vector2
Returns:
the Vector3

Reimplemented from kn::Vector< T >.

Definition at line 432 of file Vector3.hpp.

template<class T >
Vector3< T > kn::Vector3< T >::operator+ ( const Vector3< T > &  v  )  const [inline]

adds two vectors

Parameters:
v the vector to be added
Returns:
a copy of the vector

Definition at line 388 of file Vector3.hpp.

template<class T >
Vector3< T > & kn::Vector3< T >::operator+= ( const Vector3< T > &  v  )  [inline]

Adds the Vector3 with a Vector.

Parameters:
v the Vector3 to be added
Returns:
the Vector3

Definition at line 407 of file Vector3.hpp.

template<class T>
Vector3<T> kn::Vector3< T >::operator- ( void   )  const [inline]

Compute opposite of the Vector.

Returns:
a copy of the Vector3

Reimplemented from kn::Vector< T >.

Definition at line 257 of file Vector3.hpp.

template<class T >
Vector3< T > kn::Vector3< T >::operator- ( const Vector3< T > &  v  )  const [inline]

subtracts two vectors

Parameters:
v the vector to be substracted
Returns:
a copy of the vector

Definition at line 398 of file Vector3.hpp.

template<class T >
Vector3< T > & kn::Vector3< T >::operator-= ( const Vector3< T > &  v  )  [inline]

Subtracts the Vector3 with a Vector.

Parameters:
v the Vector3 to be subtracted
Returns:
the Vector3

Definition at line 415 of file Vector3.hpp.

template<class T>
Vector3<T> kn::Vector3< T >::operator/ ( const T &  d  )  const [inline]

Divides the Vector3 by a value.

Parameters:
d the value dividing this Vector
Returns:
a copy of the Vector

Reimplemented from kn::Vector< T >.

Definition at line 240 of file Vector3.hpp.

template<class T >
Vector3< T > & kn::Vector3< T >::operator/= ( const T &  d  )  [inline]

Divides the Vector3 with a value All values of the Vector3 are divided by d.

Parameters:
d the value divided with this Vector2
Returns:
the Vector3

Reimplemented from kn::Vector< T >.

Definition at line 423 of file Vector3.hpp.

template<class T >
Vector3< T > & kn::Vector3< T >::operator= ( const Vector3< T > &  v  )  [inline]

copy the value of the argument vector2 to this vector

Parameters:
v the source vector
Returns:
the vector reference

Definition at line 378 of file Vector3.hpp.

template<class T >
Vector3< T > kn::Vector3< T >::operator^ ( const Vector3< T > &  v  )  const [inline]

Cross product between 2 Vector3.

Returns:
the resuting Vector3 of the cross product

Definition at line 440 of file Vector3.hpp.

template<class T>
void kn::Vector3< T >::setZero ( void   )  [inline]

Reset the vector entries to zero.

Reimplemented from kn::Vector< T >.

Definition at line 323 of file Vector3.hpp.

template<class T>
size_t kn::Vector3< T >::size ( void   )  const [inline]

Returns the number of rows of the Vector.

Returns:
the number of rows

Reimplemented from kn::Vector< T >.

Definition at line 309 of file Vector3.hpp.

template<class T>
const T& kn::Vector3< T >::x ( void   )  const [inline]

Return x coordinate reference.

Returns:
a const reference on the first element of the vector

Definition at line 150 of file Vector3.hpp.

template<class T>
T& kn::Vector3< T >::x ( void   )  [inline]

Return x coordinate reference.

Returns:
a reference on the first element of the vector

Definition at line 142 of file Vector3.hpp.

template<class T>
const T& kn::Vector3< T >::y ( void   )  const [inline]

Return y coordinate reference.

Returns:
a const reference on the second element of the vector

Definition at line 166 of file Vector3.hpp.

template<class T>
T& kn::Vector3< T >::y ( void   )  [inline]

Return y coordinate reference.

Returns:
a reference on the second element of the vector

Definition at line 158 of file Vector3.hpp.

template<class T>
const T& kn::Vector3< T >::z ( void   )  const [inline]

Return z coordinate reference.

Returns:
a const reference on the third element of the vector

Definition at line 182 of file Vector3.hpp.

template<class T>
T& kn::Vector3< T >::z ( void   )  [inline]

Return z coordinate reference.

Returns:
a reference on the third element of the vector

Definition at line 174 of file Vector3.hpp.


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

Generated on Thu Nov 12 16:06:35 2009 for OpenKN-math by  doxygen 1.5.8