Blender V2.61 - r43446

KDL::Vector Class Reference

A concrete implementation of a 3 dimensional vector class. More...

#include <frames.hpp>

List of all members.

Public Member Functions

 Vector ()
 Does not initialise the Vector to zero. use Vector::Zero() or SetToZero for that.
 Vector (double x, double y, double z)
 Constructs a vector out of the three values x, y and z.
 Vector (double *xyz)
 Constructs a vector out of an array of three values x, y and z.
 Vector (float *xyz)
 Constructs a vector out of an array of three values x, y and z.
 Vector (const Vector &arg)
 Assignment operator. The normal copy by value semantics.
void GetValue (double *xyz) const
 store vector components in array
Vectoroperator= (const Vector &arg)
 Assignment operator. The normal copy by value semantics.
double operator() (int index) const
 Access to elements, range checked when NDEBUG is not set, from 0..2.
double & operator() (int index)
 Access to elements, range checked when NDEBUG is not set, from 0..2.
double operator[] (int index) const
 Equivalent to double operator()(int index) const.
double & operator[] (int index)
 Equivalent to double& operator()(int index)
double x () const
double y () const
double z () const
void x (double)
void y (double)
void z (double)
void ReverseSign ()
 Reverses the sign of the Vector object itself.
Vectoroperator-= (const Vector &arg)
 subtracts a vector from the Vector object itself
Vectoroperator+= (const Vector &arg)
 Adds a vector from the Vector object itself.
double Normalize (double eps=epsilon)
double Norm () const
void Set2DXY (const Vector2 &v)
 a 3D vector where the 2D vector v is put in the XY plane
void Set2DYZ (const Vector2 &v)
 a 3D vector where the 2D vector v is put in the YZ plane
void Set2DZX (const Vector2 &v)
 a 3D vector where the 2D vector v is put in the ZX plane
void Set2DPlane (const Frame &F_someframe_XY, const Vector2 &v_XY)
 a 3D vector where the 2D vector v_XY is put in the XY plane of the frame F_someframe_XY.

Static Public Member Functions

static Vector Zero ()

Public Attributes

double data [3]

Friends

class Rotation
class Frame
Vector operator* (const Vector &lhs, double rhs)
 Scalar multiplication is defined.
Vector operator* (double lhs, const Vector &rhs)
 Scalar multiplication is defined.
Vector operator/ (const Vector &lhs, double rhs)
 Scalar division is defined.
Vector operator+ (const Vector &lhs, const Vector &rhs)
Vector operator- (const Vector &lhs, const Vector &rhs)
Vector operator* (const Vector &lhs, const Vector &rhs)
Vector operator- (const Vector &arg)
double dot (const Vector &lhs, const Vector &rhs)
void SetToZero (Vector &v)
bool Equal (const Vector &a, const Vector &b, double eps=epsilon)
Vector Normalize (const Vector &a, double eps=epsilon)
 return a normalized vector
bool operator== (const Vector &a, const Vector &b)
 The literal equality operator==(), also identical.
bool operator!= (const Vector &a, const Vector &b)
 The literal inequality operator!=().

Detailed Description

A concrete implementation of a 3 dimensional vector class.

Definition at line 143 of file frames.hpp.


Constructor & Destructor Documentation

KDL::Vector::Vector ( ) [inline]

Does not initialise the Vector to zero. use Vector::Zero() or SetToZero for that.

Definition at line 148 of file frames.hpp.

References data.

Referenced by Normalize().

IMETHOD Vector::Vector ( double  x,
double  y,
double  z 
) [inline]

Constructs a vector out of the three values x, y and z.

Definition at line 36 of file frames.inl.

References data.

IMETHOD Vector::Vector ( double *  xyz) [inline]

Constructs a vector out of an array of three values x, y and z.

Definition at line 41 of file frames.inl.

References data.

IMETHOD Vector::Vector ( float *  xyz) [inline]

Constructs a vector out of an array of three values x, y and z.

Definition at line 46 of file frames.inl.

References data.

IMETHOD Vector::Vector ( const Vector arg) [inline]

Assignment operator. The normal copy by value semantics.

Definition at line 29 of file frames.inl.

References data, and data.


Member Function Documentation

void KDL::Vector::GetValue ( double *  xyz) const [inline]

store vector components in array

double KDL::Vector::Norm ( ) const
Returns:
the norm of the vector

Definition at line 115 of file frames.cpp.

References data, fabs(), KDL::sqr(), and KDL::sqrt().

Referenced by iTaSC::getMaxEndEffectorChange(), KDL::Rotation::GetRot(), KDL::Frame2::Integrate(), and Normalize().

double KDL::Vector::Normalize ( double  eps = epsilon)

Normalizes this vector and returns it norm makes v a unitvector and returns the norm of v. if v is smaller than eps, Vector(1,0,0) is returned with norm 0. if this is not good, check the return value of this method.

Definition at line 145 of file frames.cpp.

References Norm(), and Vector().

Referenced by KDL::Rotation::Rot().

double & Vector::operator() ( int  index) [inline]

Access to elements, range checked when NDEBUG is not set, from 0..2.

Definition at line 156 of file frames.inl.

References data, and FRAMES_CHECKI.

double KDL::Vector::operator() ( int  index) const [inline]

Access to elements, range checked when NDEBUG is not set, from 0..2.

Referenced by operator[]().

Vector& KDL::Vector::operator+= ( const Vector arg) [inline]

Adds a vector from the Vector object itself.

Vector& KDL::Vector::operator-= ( const Vector arg) [inline]

subtracts a vector from the Vector object itself

IMETHOD Vector & Vector::operator= ( const Vector arg) [inline]

Assignment operator. The normal copy by value semantics.

Definition at line 57 of file frames.inl.

References data, and data.

double KDL::Vector::operator[] ( int  index) const [inline]

Equivalent to double operator()(int index) const.

Definition at line 175 of file frames.hpp.

References operator()().

double& KDL::Vector::operator[] ( int  index) [inline]

Equivalent to double& operator()(int index)

Definition at line 181 of file frames.hpp.

References operator()().

void KDL::Vector::ReverseSign ( ) [inline]

Reverses the sign of the Vector object itself.

void Vector::Set2DPlane ( const Frame F_someframe_XY,
const Vector2 v_XY 
) [inline]

a 3D vector where the 2D vector v_XY is put in the XY plane of the frame F_someframe_XY.

Definition at line 732 of file frames.inl.

References Set2DXY().

void Vector::Set2DXY ( const Vector2 v) [inline]

a 3D vector where the 2D vector v is put in the XY plane

Definition at line 459 of file frames.inl.

References data.

Referenced by Set2DPlane().

void Vector::Set2DYZ ( const Vector2 v) [inline]

a 3D vector where the 2D vector v is put in the YZ plane

Definition at line 467 of file frames.inl.

References data.

void Vector::Set2DZX ( const Vector2 v) [inline]

a 3D vector where the 2D vector v is put in the ZX plane

Definition at line 476 of file frames.inl.

References data.

void KDL::Vector::x ( double  ) [inline]
double KDL::Vector::x ( ) const [inline]
void KDL::Vector::y ( double  ) [inline]
double KDL::Vector::y ( ) const [inline]
void KDL::Vector::z ( double  ) [inline]
double KDL::Vector::z ( ) const [inline]
static Vector KDL::Vector::Zero ( ) [inline, static]
Returns:
a zero vector

Referenced by SetToZero().


Friends And Related Function Documentation

double dot ( const Vector lhs,
const Vector rhs 
) [friend]
bool Equal ( const Vector a,
const Vector b,
double  eps = epsilon 
) [friend]

do not use operator == because the definition of Equal(.,.) is slightly different. It compares whether the 2 arguments are equal in an eps-interval

friend class Frame [friend]

Definition at line 259 of file frames.hpp.

Vector Normalize ( const Vector a,
double  eps = epsilon 
) [friend]

return a normalized vector

bool operator!= ( const Vector a,
const Vector b 
) [friend]

The literal inequality operator!=().

Vector operator* ( const Vector lhs,
const Vector rhs 
) [friend]
Vector operator* ( double  lhs,
const Vector rhs 
) [friend]

Scalar multiplication is defined.

Vector operator* ( const Vector lhs,
double  rhs 
) [friend]

Scalar multiplication is defined.

Vector operator+ ( const Vector lhs,
const Vector rhs 
) [friend]
Vector operator- ( const Vector arg) [friend]
Vector operator- ( const Vector lhs,
const Vector rhs 
) [friend]
Vector operator/ ( const Vector lhs,
double  rhs 
) [friend]

Scalar division is defined.

bool operator== ( const Vector a,
const Vector b 
) [friend]

The literal equality operator==(), also identical.

friend class Rotation [friend]

Definition at line 258 of file frames.hpp.

void SetToZero ( Vector v) [friend]

To have a uniform operator to put an element to zero, for scalar values and for objects.


Member Data Documentation


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