Go to the documentation of this file.
79 #include "utilities/utility_io.h"
91 std::ostream&
operator << (std::ostream& os,
const Vector& v);
92 std::ostream&
operator << (std::ostream& os,
const Rotation& R);
93 std::ostream&
operator << (std::ostream& os,
const Frame& T);
94 std::ostream&
operator << (std::ostream& os,
const Twist& T);
95 std::ostream&
operator << (std::ostream& os,
const Wrench& T);
96 std::ostream&
operator << (std::ostream& os,
const Vector2& v);
97 std::ostream&
operator << (std::ostream& os,
const Rotation2& R);
98 std::ostream&
operator << (std::ostream& os,
const Frame2& T);
102 std::istream&
operator >> (std::istream& is,Vector& v);
103 std::istream&
operator >> (std::istream& is,Rotation& R);
104 std::istream&
operator >> (std::istream& is,Frame& T);
105 std::istream&
operator >> (std::istream& os,Twist& T);
106 std::istream&
operator >> (std::istream& os,Wrench& T);
107 std::istream&
operator >> (std::istream& is,Vector2& v);
108 std::istream&
operator >> (std::istream& is,Rotation2& R);
109 std::istream&
operator >> (std::istream& is,Frame2& T);
void SetInverse()
Sets the value of *this to its inverse.
Definition: frames.inl:648
double data[3]
Definition: frames.hpp:163
double operator()(int i, int j) const
Access to elements 0..1,0..1, bounds are checked when NDEBUG is not set.
Definition: frames.inl:853
static Frame Identity()
Definition: frames.inl:695
Vector rot
The rotational velocity of that point.
Definition: frames.hpp:723
A 2D frame class, for further documentation see the Frames class for methods with unchanged semantics...
Definition: frames.hpp:1095
Frame Inverse() const
Gives back inverse transformation of a Frame.
Definition: frames.inl:422
void Set2DZX(const Vector2 &v)
a 3D vector where the 2D vector v is put in the ZX plane
Definition: frames.inl:475
void Set3DYZ(const Vector &v)
projects v in its YZ plane, and sets *this to these values
Definition: frames.inl:820
ArticulatedBodyInertia operator*(double a, const ArticulatedBodyInertia &I)
Scalar product: I_new = double * I_old.
Definition: articulatedbodyinertia.cpp:51
IMETHOD void posrandom(doubleVel &F)
Definition: framevel.hpp:70
Rotation Inverse() const
Gives back the inverse rotation matrix of *this.
Definition: frames.inl:632
static Vector Zero()
Definition: frames.inl:138
Vector2 & operator-=(const Vector2 &arg)
Definition: frames.inl:772
Frame()
Definition: frames.hpp:584
void Integrate(const Twist &t_this, double frequency)
The twist <t_this> is expressed wrt the current frame.
Definition: frames.inl:619
void DoRotZ(double angle)
The DoRot...
Definition: frames.inl:583
double & operator()(int i, int j)
Access to elements 0..2,0..2, bounds are checked when NDEBUG is not set.
Definition: frames.inl:488
IMETHOD void random(doubleVel &F)
Definition: framevel.hpp:66
Vector p
origine of the Frame
Definition: frames.hpp:572
Rotation()
Definition: frames.hpp:306
Vector2 & operator=(const Vector2 &arg)
Definition: frames.inl:732
double c
Definition: frames.hpp:1052
static Rotation RotY(double angle)
The Rot... static functions give the value of the appropriate rotation matrix back.
Definition: frames.inl:605
void DoRotX(double angle)
The DoRot...
Definition: frames.inl:551
void Set2DYZ(const Vector2 &v)
a 3D vector where the 2D vector v is put in the YZ plane
Definition: frames.inl:466
void SetInverse()
Definition: frames.inl:944
Rotation2()
c,s represent cos(angle), sin(angle), this also represents first col.
Definition: frames.hpp:1057
IMETHOD Vector addDelta(const Vector &p_w_a, const Vector &p_w_da, double dt=1)
adds vector da to vector a.
Definition: articulatedbodyinertia.cpp:28
double s
Definition: frames.hpp:1052
A concrete implementation of a 3 dimensional vector class.
Definition: frames.hpp:161
bool operator==(const Rotation &a, const Rotation &b)
Definition: frames.cpp:462
Vector2 operator*(const Vector2 &arg) const
Definition: frames.inl:928
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.
Definition: frames.inl:702
IMETHOD Vector operator-(const Vector &lhs, const Vector &rhs)
Definition: frames.inl:66
represents both translational and rotational velocities.
Definition: frames.hpp:720
void DoRotY(double angle)
The DoRot...
Definition: frames.inl:567
double y() const
Definition: frames.inl:795
Vector2 operator*(const Vector2 &v) const
Definition: frames.inl:849
Vector torque
Torque that is applied at the origin of the current ref frame.
Definition: frames.hpp:882
IMETHOD double dot(const Vector &lhs, const Vector &rhs)
Definition: frames.inl:1005
void SetIdentity()
Definition: frames.inl:938
Frame2 & operator=(const Frame2 &arg)
Definition: frames.inl:959
void ReverseSign()
Definition: frames.inl:801
static Rotation RotZ(double angle)
The Rot... static functions give the value of the appropriate rotation matrix back.
Definition: frames.inl:610
static Rotation Identity()
Gives back an identity rotaton matrix.
Definition: frames.inl:547
represents both translational and rotational acceleration.
Definition: frames.hpp:879
Rotation2 Inverse() const
Definition: frames.inl:871
ArticulatedBodyInertia operator-(const ArticulatedBodyInertia &Ia, const ArticulatedBodyInertia &Ib)
Definition: articulatedbodyinertia.cpp:62
void SetIdentity()
Definition: frames.inl:883
void Set3DZX(const Vector &v)
projects v in its ZX plane, and sets *this to these values
Definition: frames.inl:826
Definition: frames.hpp:570
Vector operator*(const Vector &v) const
Defines a multiplication R*V between a Rotation R and a Vector V.
Definition: frames.inl:521
double x() const
Definition: frames.inl:794
A 2D Rotation class, for conventions see Rotation.
Definition: frames.hpp:1051
static Rotation EulerZYZ(double Alfa, double Beta, double Gamma)
Gives back a rotation matrix specified with EulerZYZ convention :
Definition: frames.cpp:263
Vector operator*(const Vector &lhs, double rhs)
Definition: frames.inl:83
static Frame DH(double a, double alpha, double d, double theta)
Definition: frames.cpp:71
IMETHOD bool operator!=(const Frame &a, const Frame &b)
Definition: frames.inl:1277
void Set2DXY(const Vector2 &v)
a 3D vector where the 2D vector v is put in the XY plane
Definition: frames.inl:458
void Set3DXY(const Vector &v)
projects v in its XY plane, and sets *this to these values
Definition: frames.inl:814
Vector vel
The velocity of that point.
Definition: frames.hpp:722
std::istream & operator>>(std::istream &is, Vector &v)
Definition: frames_io.cpp:154
double operator()(int i, int j)
Treats a frame as a 3x3 matrix and returns element i,j Access to elements 0..2,0.....
Definition: frames.inl:971
Vector2 p
origine of the Frame
Definition: frames.hpp:1097
double data[9]
Definition: frames.hpp:304
void Set3DPlane(const Frame &F_someframe_XY, const Vector &v_someframe)
projects v_someframe in the XY plane of F_someframe_XY, and sets *this to these values expressed wrt ...
Definition: frames.inl:833
IMETHOD Rotation Rot(const Vector &axis_a_b)
axis_a_b is a rotation vector, its norm is a rotation angle axis_a_b rotates the a frame towards the ...
Definition: frames.inl:1100
static Rotation EulerZYX(double Alfa, double Beta, double Gamma)
EulerZYX constructs a Rotation from the Euler ZYX parameters:
Definition: frames.hpp:469
double Norm() const
Definition: frames.cpp:118
static Rotation Rot(const Vector &rotvec, double angle)
Along an arbitrary axes.
Definition: frames.cpp:294
IMETHOD bool Equal(const FrameAcc &r1, const FrameAcc &r2, double eps=epsilon)
static Vector2 Zero()
Definition: frames.inl:779
double GetRot() const
Gets the angle (in radians)
Definition: frames.inl:897
Rotation M
Orientation of the Frame.
Definition: frames.hpp:573
IMETHOD Vector operator+(const Vector &lhs, const Vector &rhs)
Definition: frames.inl:57
void ReverseSign()
Reverses the sign of the Vector object itself.
Definition: frames.inl:440
Frame2 Inverse() const
Definition: frames.inl:952
std::ostream & operator<<(std::ostream &os, const VectorAcc &r)
Definition: frameacc_io.hpp:49
Vector operator/(const Vector &lhs, double rhs)
Definition: frames.inl:101
Rotation2 & operator=(const Rotation2 &arg)
Definition: frames.inl:844
Rotation & operator=(const Rotation &arg)
Definition: frames.inl:515
static Rotation RotX(double angle)
The Rot... static functions give the value of the appropriate rotation matrix back.
Definition: frames.inl:600
2D version of Vector
Definition: frames.hpp:960
static Rotation RPY(double roll, double pitch, double yaw)
Gives back a rotation matrix specified with RPY convention: first rotate around X with roll,...
Definition: frames.cpp:238
Vector2()
Does not initialise to Zero().
Definition: frames.hpp:964
double operator()(int i, int j)
Treats a frame as a 4x4 matrix and returns element i,j Access to elements 0..3,0.....
Definition: frames.inl:662
void SetRot(double angle)
The SetRot.. functions set the value of *this to the appropriate rotation matrix.
Definition: frames.inl:889
Vector2 & operator+=(const Vector2 &arg)
Definition: frames.inl:765
static Rotation2 Identity()
Definition: frames.inl:879
ArticulatedBodyInertia operator+(const ArticulatedBodyInertia &Ia, const ArticulatedBodyInertia &Ib)
addition I: I_new = I_old1 + I_old2, make sure that I_old1 and I_old2 are expressed in the same refer...
Definition: articulatedbodyinertia.cpp:55
void SetToZero(Jacobian &jac)
Definition: jacobian.cpp:80
double data[2]
Definition: frames.hpp:961
IMETHOD Vector diff(const Vector &p_w_a, const Vector &p_w_b, double dt=1)
determines the difference of vector b with vector a.
void SetInverse()
Definition: frames.inl:867
Vector force
Force that is applied at the origin of the current ref frame.
Definition: frames.hpp:881
double operator()(int index) const
Access to elements, range checked when NDEBUG is not set, from 0..1.
Definition: frames.inl:783
static Rotation2 Rot(double angle)
The Rot... static functions give the value of the appropriate rotation matrix bac.
Definition: frames.inl:893
Rotation2 M
Orientation of the Frame.
Definition: frames.hpp:1098
represents rotations in 3 dimensional space.
Definition: frames.hpp:302