/usr/include/choreonoid-1.1/cnoid/src/Body/PinDragIK.h is in libcnoid-dev 1.1.0+dfsg-6.1+b4.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | /*!
@file
@author Shin'ichiro Nakaoka
*/
#ifndef CNOID_BODY_PIN_DRAG_IK_H_INCLUDED
#define CNOID_BODY_PIN_DRAG_IK_H_INCLUDED
#include "Body.h"
#include "InverseKinematics.h"
#include <boost/shared_ptr.hpp>
#include "exportdecl.h"
namespace cnoid {
class PinDragIKImpl;
class CNOID_EXPORT PinDragIK : public InverseKinematics
{
public:
PinDragIK(BodyPtr body);
~PinDragIK();
BodyPtr body() const;
void setBaseLink(Link* baseLink);
void setFreeRootWeight(double translation, double rotation);
void setTargetLink(Link* targetLink, bool isAttitudeEnabled = false);
void setJointWeight(int jointId, double weight);
void setPin(Link* link, InverseKinematics::AxisSet axes = InverseKinematics::TRANSLATION_3D, double weight = 1.0);
InverseKinematics::AxisSet pinAxes(Link* link);
void clearPins();
int numPinnedLinks();
virtual void setIKErrorThresh(double e);
virtual bool hasAnalyticalIK();
virtual InverseKinematics::AxisSet targetAxes() const;
void setSRInverseParameters(double k0, double w0);
void enableJointRangeConstraints(bool on);
/**
this must be called before the initial calcInverseKinematics() call
after settings have been changed.
*/
bool initialize();
virtual bool calcInverseKinematics(const Vector3& end_p, const Matrix3& end_R);
private:
PinDragIKImpl* impl;
};
typedef boost::shared_ptr<PinDragIK> PinDragIKptr;
}
#endif
|