|
Blender V5.0
|
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. | |
| Vector & | operator*= (double arg) |
| Multiply by a scalar. | |
| 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) |
| To have a uniform operator to put an element to zero, for scalar values and for objects. | |
| bool | Equal (const Vector &a, const Vector &b, double eps=epsilon) |
| do not use operator == because the definition of Equal(.,.) is slightly different. It compares whether the 2 arguments are equal in an eps-interval | |
| 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 142 of file frames.hpp.
|
inline |
Does not initialise the Vector to zero. use Vector::Zero() or SetToZero for that.
Definition at line 147 of file frames.hpp.
Referenced by Normalize(), operator()(), operator*, Set2DXY(), and Zero().
|
inline |
Constructs a vector out of the three values x, y and z.
Definition at line 37 of file frames.hpp.
|
inline |
Constructs a vector out of an array of three values x, y and z.
Definition at line 42 of file frames.hpp.
Constructs a vector out of an array of three values x, y and z.
Definition at line 47 of file frames.hpp.
Assignment operator. The normal copy by value semantics.
Definition at line 30 of file frames.hpp.
|
inline |
store vector components in array
Definition at line 52 of file frames.hpp.
Referenced by GetJointRotation().
| double KDL::Vector::Norm | ( | ) | const |
Definition at line 115 of file frames.cpp.
References data, fabs(), sqr, and sqrt.
Referenced by convert_tree(), iTaSC::Armature::finalize(), iTaSC::Armature::getMaxEndEffectorChange(), KDL::Rotation::GetRot(), 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 eps, Norm(), v, and Vector().
Referenced by KDL::Rotation::Rot().
|
inline |
Access to elements, range checked when NDEBUG is not set, from 0..2.
Definition at line 165 of file frames.hpp.
References Vector().
|
inline |
Access to elements, range checked when NDEBUG is not set, from 0..2.
Definition at line 160 of file frames.hpp.
Referenced by operator[](), and operator[]().
|
inline |
Adds a vector from the Vector object itself.
Definition at line 129 of file frames.hpp.
subtracts a vector from the Vector object itself
Definition at line 138 of file frames.hpp.
Assignment operator. The normal copy by value semantics.
Definition at line 58 of file frames.hpp.
|
inline |
Equivalent to double& operator()(int index).
Definition at line 180 of file frames.hpp.
References operator()().
|
inline |
Equivalent to double operator()(int index) const.
Definition at line 174 of file frames.hpp.
References operator()().
|
inline |
Reverses the sign of the Vector object itself.
Definition at line 450 of file frames.hpp.
a 3D vector where the 2D vector v_XY is put in the XY plane of the frame F_someframe_XY.
Definition at line 741 of file frames.hpp.
References b.
|
inline |
a 3D vector where the 2D vector v is put in the XY plane
Definition at line 468 of file frames.hpp.
|
inline |
a 3D vector where the 2D vector v is put in the YZ plane
Definition at line 476 of file frames.hpp.
|
inline |
a 3D vector where the 2D vector v is put in the ZX plane
Definition at line 485 of file frames.hpp.
References data.
|
inline |
Definition at line 84 of file frames.hpp.
|
inline |
Definition at line 88 of file frames.hpp.
|
inline |
Definition at line 85 of file frames.hpp.
|
inline |
Definition at line 89 of file frames.hpp.
|
inline |
Definition at line 86 of file frames.hpp.
|
inline |
Definition at line 90 of file frames.hpp.
|
inlinestatic |
Definition at line 155 of file frames.hpp.
References Vector().
Referenced by KDL::operator>>().
Definition at line 1049 of file frames.hpp.
References i.
do not use operator == because the definition of Equal(.,.) is slightly different. It compares whether the 2 arguments are equal in an eps-interval
Definition at line 1069 of file frames.hpp.
|
friend |
return a normalized vector
Definition at line 171 of file frames.hpp.
The literal inequality operator!=().
Definition at line 1367 of file frames.hpp.
Definition at line 119 of file frames.hpp.
References Vector().
Scalar multiplication is defined.
Definition at line 92 of file frames.hpp.
Scalar multiplication is defined.
Definition at line 101 of file frames.hpp.
Definition at line 66 of file frames.hpp.
Definition at line 459 of file frames.hpp.
Definition at line 75 of file frames.hpp.
Scalar division is defined.
Definition at line 110 of file frames.hpp.
The literal equality operator==(), also identical.
Definition at line 1357 of file frames.hpp.
|
friend |
Definition at line 260 of file frames.hpp.
References Rotation.
Referenced by operator+=(), and Rotation.
|
friend |
To have a uniform operator to put an element to zero, for scalar values and for objects.
Definition at line 1105 of file frames.hpp.
| double KDL::Vector::data[3] |
Definition at line 145 of file frames.hpp.
Referenced by KDL::Rotation::GetRot(), Norm(), operator*=(), Set2DXY(), and Set2DZX().