30 size(_size),nr_blocks(_nr_blocks)
37 nr_blocks(arg.nr_blocks)
40 for(
unsigned int i=0;
i<size*nr_blocks;
i++)
47 assert(nr_blocks==arg.nr_blocks);
48 for(
unsigned int i=0;
i<size;
i++)
61 assert(
i<6*(
int)nr_blocks&&j<(
int)size);
67 assert(
i<6*(
int)nr_blocks&&j<(
int)size);
83 for(
unsigned int i=0;
i<jac.size*jac.nr_blocks;
i++)
89 assert(src1.size==dest.size);
90 assert(src1.nr_blocks==dest.nr_blocks);
91 for(
unsigned int i=0;
i<src1.size*src1.nr_blocks;
i++)
97 assert(src1.size==dest.size);
98 assert(src1.nr_blocks==dest.nr_blocks);
99 for(
unsigned int i=0;
i<src1.size*src1.nr_blocks;
i++)
105 assert(src1.size==dest.size);
106 assert(src1.nr_blocks==dest.nr_blocks);
107 for(
unsigned int i=0;
i<src1.size*src1.nr_blocks;
i++)
113 return Equal((*
this),arg);
118 return !
Equal((*
this),arg);
represents a frame transformation in 3D space (rotation + translation)
bool operator==(const Jacobian &arg)
double operator()(int i, int j) const
unsigned int columns() const
Jacobian(unsigned int size, unsigned int nr=1)
Jacobian & operator=(const Jacobian &arg)
bool operator!=(const Jacobian &arg)
unsigned int rows() const
friend bool Equal(const Jacobian &a, const Jacobian &b, double eps)
represents rotations in 3 dimensional space.
represents both translational and rotational velocities.
Twist RefPoint(const Vector &v_base_AB) const
Changes the reference point of the twist. The vector v_base_AB is expressed in the same base as the t...
A concrete implementation of a 3 dimensional vector class.
#define assert(assertion)
void changeBase(const Jacobian &src1, const Rotation &rot, Jacobian &dest)
IMETHOD bool Equal(const VectorAcc &, const VectorAcc &, double=epsilon)
void changeRefFrame(const Jacobian &src1, const Frame &frame, Jacobian &dest)
void changeRefPoint(const Jacobian &src1, const Vector &base_AB, Jacobian &dest)
IMETHOD void SetToZero(Vector &v)