26 using namespace Eigen;
58 data.conservativeResize(Eigen::NoChange,new_nr_of_columns);
87 for(
unsigned int i=0;i<
data.cols();i++)
95 for(
unsigned int i=0;i<src1.
columns();i++)
101 for(
unsigned int i=0;i<
data.cols();i++)
109 for(
unsigned int i=0;i<src1.
columns();i++)
115 for(
unsigned int i=0;i<
data.cols();i++)
123 for(
unsigned int i=0;i<src1.
columns();i++)
130 return Equal((*
this),arg);
135 return !
Equal((*
this),arg);
147 return Twist(
Vector(
data(0,i),
data(1,i),
data(2,i)),
Vector(
data(3,i),
data(4,i),
data(5,i)));
151 data.col(i).head<3>()=Eigen::Map<const Vector3d>(t.
vel.
data);
152 data.col(i).tail<3>()=Eigen::Map<const Vector3d>(t.
rot.
data);
represents rotations in 3 dimensional space.
void resize(unsigned int newNrOfColumns)
Allocates memory for new size (can break realtime behavior)
Twist RefPoint(const Vector &v_base_AB) const
Vector vel
The velocity of that point.
friend void SetToZero(Jacobian &jac)
double operator()(unsigned int i, unsigned int j) const
unsigned int columns() const
EIGEN_MAKE_ALIGNED_OPERATOR_NEW Eigen::Matrix< double, 6, Eigen::Dynamic > data
bool operator==(const Jacobian &arg) const
represents both translational and rotational velocities.
A concrete implementation of a 3 dimensional vector class.
Vector rot
The rotational velocity of that point.
void setColumn(unsigned int i, const Twist &t)
friend bool changeBase(const Jacobian &src1, const Rotation &rot, Jacobian &dest)
friend bool changeRefFrame(const Jacobian &src1, const Frame &frame, Jacobian &dest)
friend bool changeRefPoint(const Jacobian &src1, const Vector &base_AB, Jacobian &dest)
Twist getColumn(unsigned int i) const
Jacobian & operator=(const Jacobian &arg)
Allocates memory if size of this and argument is different.
represents a frame transformation in 3D space (rotation + translation)
friend bool Equal(const Jacobian &a, const Jacobian &b, double eps)
unsigned int rows() const
bool operator!=(const Jacobian &arg) const