2 #include <kdl/frames.hpp> 20 OperatorRepository::shared_ptr oreg = OperatorRepository::Instance();
56 gs->provides(
"KDL")->provides(
"Vector")->addOperation(
"diff",(
Vector (*) (
const Vector&,
const Vector&,
double)) &
diff).doc(
"");
57 gs->provides(
"KDL")->provides(
"Vector")->addOperation(
"addDelta",(
Vector (*) (
const Vector&,
const Vector&,
double)) &
addDelta).doc(
"");
59 gs->provides(
"KDL")->provides(
"Rotation")->addOperation(
"diff",(
Vector (*) (
const Rotation&,
const Rotation&,
double)) &diff).doc(
"");
60 gs->provides(
"KDL")->provides(
"Rotation")->addOperation(
"addDelta",(
Rotation (*) (
const Rotation&,
const Vector&,
double)) &addDelta).doc(
"");
61 gs->provides(
"KDL")->provides(
"Rotation")->addOperation(
"Inverse",(
Rotation (*) (
const Rotation&)) &
Inverse).doc(
"");
62 gs->provides(
"KDL")->provides(
"Rotation")->addOperation(
"GetQuaternion",(
void (*)(
const Rotation&,
double&,
double&,
double&,
double&)) &
GetQuaternion).doc(
"");
64 gs->provides(
"KDL")->provides(
"Twist")->addOperation(
"diff",(
Twist (*) (
const Twist&,
const Twist&,
double)) &diff).doc(
"");
65 gs->provides(
"KDL")->provides(
"Wrench")->addOperation(
"diff",(
Wrench (*) (
const Wrench&,
const Wrench&,
double)) &diff).doc(
"");
67 gs->provides(
"KDL")->provides(
"Frame")->addOperation(
"diff",(
Twist (*) (
const Frame&,
const Frame&,
double)) &diff)
68 .doc(
"Returns the twist that is needed to move from frame f1 to frame f2 in a time d. The resulting twist is represented in the same reference frame as f1 and f2, and has reference point at the origin of f1");
69 gs->provides(
"KDL")->provides(
"Frame")->addOperation(
"addDelta", (
Frame (*) (
const Frame&,
const Twist&,
double)) &addDelta)
70 .doc(
"Constructs a frame that is obtained by: starting from frame f, apply twist t, during time d");
71 gs->provides(
"KDL")->provides(
"Frame")->addOperation(
"Inverse",(
Frame (*) (
const Frame&)) &Inverse).doc(
"");
virtual bool loadOperators()
IMETHOD doubleVel diff(const doubleVel &a, const doubleVel &b, double dt=1.0)
void GetQuaternion(double &x, double &y, double &z, double &w) const
boost::shared_ptr< Service > shared_ptr
BinaryOperator< function > * newBinaryOperator(const char *op, function f)
UnaryOperator< function > * newUnaryOperator(const char *op, function f)
Rotation Inverse(const Rotation &rot)
IMETHOD doubleVel addDelta(const doubleVel &a, const doubleVel &da, double dt=1.0)
void GetQuaternion(const Rotation &rot, double &x, double &y, double &z, double &w)
static RTT_API Service::shared_ptr Instance()