Blender  V3.3
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

 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 (double *xyz)
 Constructs a vector out of an array of three values x, y and z. More...
 
 Vector (float *xyz)
 Constructs a vector out of an array of three values x, y and z. More...
 
 Vector (const Vector &arg)
 Assignment operator. The normal copy by value semantics. More...
 
void GetValue (double *xyz) const
 store vector components in array 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...
 
doubleoperator() (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...
 
doubleoperator[] (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...
 
Vectoroperator*= (double arg)
 Multiply by a scalar. More...
 
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 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)
 
bool Equal (const Vector &a, const Vector &b, double eps)
 
Vector Normalize (const Vector &a, double eps)
 return a normalized vector 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.

Definition at line 142 of file frames.hpp.

Constructor & Destructor Documentation

◆ Vector() [1/5]

KDL::Vector::Vector ( )
inline

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

Definition at line 147 of file frames.hpp.

References data.

Referenced by Normalize().

◆ Vector() [2/5]

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, x, y, and z.

◆ Vector() [3/5]

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.

◆ Vector() [4/5]

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.

◆ Vector() [5/5]

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

◆ GetValue()

IMETHOD void Vector::GetValue ( double xyz) const
inline

store vector components in array

Definition at line 51 of file frames.inl.

References data.

Referenced by GetJointRotation().

◆ Norm()

double KDL::Vector::Norm ( ) const

◆ 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 eps, Norm(), v, and Vector().

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

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

References data, and FRAMES_CHECKI.

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

References data, and FRAMES_CHECKI.

Referenced by operator[]().

◆ operator*=()

Vector & Vector::operator*= ( double  arg)
inline

Multiply by a scalar.

Definition at line 146 of file frames.inl.

References data.

◆ operator+=()

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

Adds a vector from the Vector object itself.

Definition at line 128 of file frames.inl.

References data, and data.

◆ operator-=()

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

subtracts a vector from the Vector object itself

Definition at line 137 of file frames.inl.

References data, and data.

◆ operator=()

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.

◆ operator[]() [1/2]

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

Equivalent to double& operator()(int index)

Definition at line 180 of file frames.hpp.

References operator()().

◆ operator[]() [2/2]

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

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

Definition at line 174 of file frames.hpp.

References operator()().

◆ ReverseSign()

void Vector::ReverseSign ( )
inline

Reverses the sign of the Vector object itself.

Definition at line 449 of file frames.inl.

References data.

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

References Set2DXY().

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

References data, and v.

Referenced by Set2DPlane().

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

References data, and v.

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

References data, and v.

◆ x() [1/2]

IMETHOD double Vector::x ( ) const
inline

Definition at line 83 of file frames.inl.

References data.

Referenced by iTaSC::MovingFrame::updateJacobian().

◆ x() [2/2]

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

◆ y() [1/2]

IMETHOD double Vector::y ( ) const
inline

Definition at line 84 of file frames.inl.

References data.

Referenced by iTaSC::MovingFrame::updateJacobian().

◆ y() [2/2]

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

◆ z() [1/2]

IMETHOD double Vector::z ( ) const
inline

Definition at line 85 of file frames.inl.

References data.

Referenced by iTaSC::MovingFrame::updateJacobian().

◆ z() [2/2]

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

◆ Zero()

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

Definition at line 154 of file frames.inl.

Referenced by KDL::Frame::Identity(), KDL::operator>>(), and SetToZero().

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 261 of file frames.hpp.

◆ Normalize

Vector Normalize ( const Vector a,
double  eps 
)
friend

return a normalized vector

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

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