orocos_kdl
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 <frames.hpp>

Public Member Functions

double Norm (double eps=epsilon) const
 
double Normalize (double eps=epsilon)
 
double & operator() (int index)
 Access to elements, range checked when NDEBUG is not set, from 0..2. More...
 
double operator() (int index) const
 Access to elements, range checked when NDEBUG is not set, from 0..2. More...
 
Vectoroperator+= (const Vector &arg)
 Adds a vector from the Vector object itself. More...
 
Vectoroperator-= (const Vector &arg)
 subtracts a vector from the Vector object itself More...
 
Vectoroperator= (const Vector &arg)
 Assignment operator. The normal copy by value semantics. More...
 
double & operator[] (int index)
 Equivalent to double& operator()(int index) More...
 
double operator[] (int index) const
 Equivalent to double operator()(int index) const. More...
 
void ReverseSign ()
 Reverses the sign of the Vector object itself. 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...
 
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...
 
 Vector ()
 Does not initialise the Vector to zero. use Vector::Zero() or SetToZero for that. More...
 
 Vector (const Vector &arg)
 Assignment operator. The normal copy by value semantics. More...
 
 Vector (double x, double y, double z)
 Constructs a vector out of the three values x, y and z. More...
 
double x () const
 
void x (double)
 
double y () const
 
void y (double)
 
double z () const
 
void z (double)
 

Static Public Member Functions

static Vector Zero ()
 

Public Attributes

double data [3]
 

Friends

double dot (const Vector &lhs, const Vector &rhs)
 
bool Equal (const Vector &a, const Vector &b, double eps)
 
class Frame
 
bool operator!= (const Vector &a, const Vector &b)
 The literal inequality operator!=(). More...
 
Vector operator* (const Vector &lhs, const Vector &rhs)
 
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, const Vector &rhs)
 
Vector operator- (const Vector &arg)
 
Vector operator- (const Vector &lhs, const Vector &rhs)
 
Vector operator/ (const Vector &lhs, double rhs)
 Scalar division is defined. More...
 
bool operator== (const Vector &a, const Vector &b)
 The literal equality operator==(), also identical. More...
 
class Rotation
 
void SetToZero (Vector &v)
 

Detailed Description

A concrete implementation of a 3 dimensional vector class.

Definition at line 162 of file frames.hpp.

Constructor & Destructor Documentation

◆ Vector() [1/3]

KDL::Vector::Vector ( )
inline

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

Definition at line 167 of file frames.hpp.

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

Definition at line 43 of file frames.inl.

◆ Vector() [3/3]

IMETHOD Vector::Vector ( const Vector arg)
inline

Assignment operator. The normal copy by value semantics.

Definition at line 36 of file frames.inl.

Member Function Documentation

◆ Norm()

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

Definition at line 142 of file frames.cpp.

◆ 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 172 of file frames.cpp.

◆ operator()() [1/2]

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

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

Definition at line 148 of file frames.inl.

◆ operator()() [2/2]

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

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

Definition at line 143 of file frames.inl.

◆ operator+=()

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

Adds a vector from the Vector object itself.

Definition at line 120 of file frames.inl.

◆ operator-=()

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

subtracts a vector from the Vector object itself

Definition at line 129 of file frames.inl.

◆ operator=()

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

Assignment operator. The normal copy by value semantics.

Definition at line 49 of file frames.inl.

◆ operator[]() [1/2]

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

Equivalent to double& operator()(int index)

Definition at line 191 of file frames.hpp.

◆ operator[]() [2/2]

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

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

Definition at line 185 of file frames.hpp.

◆ ReverseSign()

void Vector::ReverseSign ( )
inline

Reverses the sign of the Vector object itself.

Definition at line 440 of file frames.inl.

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

Definition at line 707 of file frames.inl.

◆ 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 458 of file frames.inl.

◆ Set2DYZ()

void Vector::Set2DYZ ( const Vector2 v)
inline

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

Definition at line 466 of file frames.inl.

◆ Set2DZX()

void Vector::Set2DZX ( const Vector2 v)
inline

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

Definition at line 475 of file frames.inl.

◆ x() [1/2]

IMETHOD double Vector::x ( ) const
inline

Definition at line 75 of file frames.inl.

◆ x() [2/2]

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

◆ y() [1/2]

IMETHOD double Vector::y ( ) const
inline

Definition at line 76 of file frames.inl.

◆ y() [2/2]

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

◆ z() [1/2]

IMETHOD double Vector::z ( ) const
inline

Definition at line 77 of file frames.inl.

◆ z() [2/2]

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

◆ Zero()

Vector Vector::Zero ( )
inlinestatic
Returns
a zero vector

Definition at line 138 of file frames.inl.

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 
)
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

Definition at line 266 of file frames.hpp.

◆ operator!=

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

The literal inequality operator!=().

◆ operator* [1/3]

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

◆ operator* [2/3]

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

Scalar multiplication is defined.

◆ operator* [3/3]

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

Scalar multiplication is defined.

◆ operator+

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

◆ operator- [1/2]

Vector operator- ( const Vector arg)
friend

◆ operator- [2/2]

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

◆ operator/

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

Scalar division is defined.

◆ operator==

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

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

◆ Rotation

friend class Rotation
friend

Definition at line 265 of file frames.hpp.

◆ 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]

Definition at line 165 of file frames.hpp.


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