Blender V2.61 - r43446
|
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. | |
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 | |
Vector & | operator= (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. | |
Vector & | operator-= (const Vector &arg) |
subtracts a vector from the Vector object itself | |
Vector & | operator+= (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!=(). |
A concrete implementation of a 3 dimensional vector class.
Definition at line 143 of file frames.hpp.
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.
void KDL::Vector::GetValue | ( | double * | xyz | ) | const [inline] |
store vector components in array
double KDL::Vector::Norm | ( | ) | const |
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[]().
Adds a vector from the Vector object itself.
subtracts a vector from the Vector object itself
Assignment operator. The normal copy by value semantics.
Definition at line 57 of file frames.inl.
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.
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] |
Referenced by iTaSC::MovingFrame::updateJacobian().
void KDL::Vector::y | ( | double | ) | [inline] |
double KDL::Vector::y | ( | ) | const [inline] |
Referenced by iTaSC::MovingFrame::updateJacobian().
void KDL::Vector::z | ( | double | ) | [inline] |
double KDL::Vector::z | ( | ) | const [inline] |
Referenced by iTaSC::MovingFrame::updateJacobian().
static Vector KDL::Vector::Zero | ( | ) | [inline, static] |
Referenced by SetToZero().
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.
The literal inequality operator!=().
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.
double KDL::Vector::data[3] |
Definition at line 146 of file frames.hpp.
Referenced by KDL::Rotation::GetRot(), Norm(), operator=(), KDL::Rotation::Rotation(), Set2DXY(), Set2DYZ(), Set2DZX(), and Vector().