KDL  1.4.0
Public Member Functions | Static Public Member Functions | Public Attributes | Friends | List of all members
KDL::Vector Class Reference

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

#include <src/frames.hpp>

Public Member Functions

 Vector ()
 Does not initialise the Vector to zero. use Vector::Zero() or SetToZero for that. More...
 
 Vector (double x, double y, double z)
 Constructs a vector out of the three values x, y and z. More...
 
 Vector (const Vector &arg)
 Assignment operator. The normal copy by value semantics. More...
 
Vectoroperator= (const Vector &arg)
 Assignment operator. The normal copy by value semantics. More...
 
double operator() (int index) const
 Access to elements, range checked when NDEBUG is not set, from 0..2. More...
 
double & operator() (int index)
 Access to elements, range checked when NDEBUG is not set, from 0..2. More...
 
double operator[] (int index) const
 Equivalent to double operator()(int index) const. More...
 
double & operator[] (int index)
 Equivalent to double& operator()(int index) More...
 
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. More...
 
Vectoroperator-= (const Vector &arg)
 subtracts a vector from the Vector object itself More...
 
Vectoroperator+= (const Vector &arg)
 Adds a vector from the Vector object itself. More...
 
double Normalize (double eps=epsilon)
 Normalizes this vector and returns it norm makes v a unitvector and returns the norm of v. More...
 
double Norm () const
 
void Set2DXY (const Vector2 &v)
 a 3D vector where the 2D vector v is put in the XY plane More...
 
void Set2DYZ (const Vector2 &v)
 a 3D vector where the 2D vector v is put in the YZ plane More...
 
void Set2DZX (const Vector2 &v)
 a 3D vector where the 2D vector v is put in the ZX plane More...
 
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. More...
 

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. More...
 
Vector operator* (double lhs, const Vector &rhs)
 Scalar multiplication is defined. More...
 
Vector operator/ (const Vector &lhs, double rhs)
 Scalar division is defined. More...
 
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)
 To have a uniform operator to put an element to zero, for scalar values and for objects. More...
 
bool Equal (const Vector &a, const Vector &b, double eps)
 do not use operator == because the definition of Equal(.,.) is slightly different. More...
 
bool operator== (const Vector &a, const Vector &b)
 The literal equality operator==(), also identical. More...
 
bool operator!= (const Vector &a, const Vector &b)
 The literal inequality operator!=(). More...
 

Detailed Description

A concrete implementation of a 3 dimensional vector class.

Constructor & Destructor Documentation

§ Vector() [1/3]

KDL::Vector::Vector ( )
inline

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

Referenced by KDL::Rotation::UnitX(), KDL::Rotation::UnitY(), and KDL::Rotation::UnitZ().

§ Vector() [2/3]

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

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

§ Vector() [3/3]

IMETHOD Vector::Vector ( const Vector arg)
inline

Assignment operator. The normal copy by value semantics.

Member Function Documentation

§ Norm()

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

Referenced by KDL::Path_RoundedComposite::Add(), and KDL::Path_Line::Path_Line().

§ 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.

Referenced by KDL::Path_RoundedComposite::Add(), KDL::Rotation::GetRotAngle(), KDL::Path_Circle::Path_Circle(), KDL::Path_Line::Path_Line(), and KDL::Rotation::Rot().

§ operator()() [1/2]

double Vector::operator() ( int  index) const
inline

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

Referenced by KDL::Frame::Frame(), KDL::Frame2::Frame2(), KDL::operator+(), KDL::operator-(), operator[](), KDL::Wrench::operator[](), KDL::Vector2::operator[](), and KDL::Twist::Twist().

§ operator()() [2/2]

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

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

§ operator+=()

Vector & Vector::operator+= ( const Vector arg)
inline

Adds a vector from the Vector object itself.

Referenced by KDL::Twist::Twist().

§ operator-=()

Vector & Vector::operator-= ( const Vector arg)
inline

subtracts a vector from the Vector object itself

Referenced by KDL::Twist::Twist().

§ operator=()

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

Assignment operator. The normal copy by value semantics.

§ operator[]() [1/2]

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

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

References operator()().

§ operator[]() [2/2]

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

Equivalent to double& operator()(int index)

References operator()().

§ ReverseSign()

void Vector::ReverseSign ( )
inline

Reverses the sign of the Vector object itself.

§ Set2DPlane()

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.

§ Set2DXY()

void Vector::Set2DXY ( const Vector2 v)
inline

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

§ Set2DYZ()

void Vector::Set2DYZ ( const Vector2 v)
inline

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

§ Set2DZX()

void Vector::Set2DZX ( const Vector2 v)
inline

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

§ x() [1/2]

IMETHOD double Vector::x ( ) const
inline

§ x() [2/2]

IMETHOD void KDL::Vector::x ( double  _x)
inline

§ y() [1/2]

IMETHOD double Vector::y ( ) const
inline

§ y() [2/2]

IMETHOD void KDL::Vector::y ( double  _y)
inline

§ z() [1/2]

IMETHOD double Vector::z ( ) const
inline

§ z() [2/2]

IMETHOD void KDL::Vector::z ( double  _z)
inline

§ Zero()

Vector Vector::Zero ( )
inlinestatic

Friends And Related Function Documentation

§ dot

double dot ( const Vector lhs,
const Vector rhs 
)
friend

§ Equal

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

§ Frame

friend class Frame
friend

Referenced by KDL::Frame::Frame().

§ operator!=

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

The literal inequality operator!=().

§ operator* [1/3]

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

Scalar multiplication is defined.

Referenced by KDL::Frame2::Frame2(), and KDL::operator-().

§ operator* [2/3]

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

Scalar multiplication is defined.

§ operator* [3/3]

Vector operator* ( const Vector lhs,
const Vector rhs 
)
friend

§ operator+

Vector operator+ ( const Vector lhs,
const Vector rhs 
)
friend

Referenced by KDL::Frame2::Frame2().

§ operator- [1/2]

Vector operator- ( const Vector lhs,
const Vector rhs 
)
friend

§ operator- [2/2]

Vector operator- ( const Vector arg)
friend

§ operator/

Vector operator/ ( const Vector lhs,
double  rhs 
)
friend

Scalar division is defined.

Referenced by KDL::Frame2::Frame2().

§ operator==

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

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

§ Rotation

friend class Rotation
friend

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

§ SetToZero

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

§ data

double KDL::Vector::data[3]

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