19#ifndef HPP_RBPRM_LIMB_HH
20#define HPP_RBPRM_LIMB_HH
22#include <hpp/pinocchio/device.hh>
43typedef std::map<std::string, const rbprm::RbPrmLimbPtr_t>
T_Limb;
45typedef Eigen::Matrix<pinocchio::value_type, Eigen::Dynamic, Eigen::Dynamic>
47typedef Eigen::Matrix<pinocchio::value_type, Eigen::Dynamic, 3>
MatrixX3;
48typedef Eigen::Matrix<pinocchio::value_type, Eigen::Dynamic, 1>
VectorX;
49typedef Eigen::Matrix<pinocchio::value_type, 3, 1>
Vector3;
100 const pinocchio::JointPtr_t limb,
const std::string& effectorName,
101 const fcl::Vec3f& offset,
const fcl::Vec3f& limbOffset,
102 const fcl::Vec3f& normal,
const double x,
const double y,
103 const std::size_t nbSamples,
const sampling::heuristic evaluate = 0,
104 const double resolution = 0.1,
ContactType contactType = _6_DOF,
105 bool disableEndEffectorCollision =
false,
bool grasps =
false,
106 const std::string& kinematicsConstraintsPath = std::string(),
107 const double kinematicConstraintsMinDistance = 0.);
110 const pinocchio::DevicePtr_t device, std::ifstream& fileStream,
111 const bool loadValues =
true,
113 bool disableEndEffectorCollision =
false,
bool grasps =
false);
141 RbPrmLimb(
const pinocchio::JointPtr_t& limb,
const std::string& effectorName,
142 const fcl::Vec3f& offset,
const fcl::Vec3f& limbOffset,
143 const fcl::Vec3f& normal,
const double x,
const double y,
144 const std::size_t nbSamples,
const sampling::heuristic evaluate,
146 bool disableEndEffectorCollision =
false,
bool grasps =
false,
147 const std::string& kinematicsConstraintsPath = std::string(),
148 const double kinematicConstraintsMinDistance = 0.);
150 RbPrmLimb(
const pinocchio::DevicePtr_t device, std::ifstream& fileStream,
151 const bool loadValues,
153 bool disableEndEffectorCollision =
false,
bool grasps =
false);
157 void init(
const RbPrmLimbWkPtr_t& weakPtr);
160 RbPrmLimbWkPtr_t weakPtr_;
164 std::ofstream& dbFile);
Definition: rbprm-limb.hh:51
const bool disableEndEffectorCollision_
Definition: rbprm-limb.hh:135
const bool grasps_
Definition: rbprm-limb.hh:136
std::pair< MatrixXX, MatrixXX > kinematicConstraints_
Definition: rbprm-limb.hh:138
const fcl::Vec3f offset_
Definition: rbprm-limb.hh:126
const fcl::Vec3f normal_
Definition: rbprm-limb.hh:129
const pinocchio::Frame effector_
Definition: rbprm-limb.hh:123
pinocchio::Transform3f octreeRoot() const
static RbPrmLimbPtr_t create(const pinocchio::DevicePtr_t device, std::ifstream &fileStream, const bool loadValues=true, const hpp::rbprm::sampling::heuristic evaluate=0, bool disableEndEffectorCollision=false, bool grasps=false)
static RbPrmLimbPtr_t create(const pinocchio::JointPtr_t limb, const std::string &effectorName, const fcl::Vec3f &offset, const fcl::Vec3f &limbOffset, const fcl::Vec3f &normal, const double x, const double y, const std::size_t nbSamples, const sampling::heuristic evaluate=0, const double resolution=0.1, ContactType contactType=_6_DOF, bool disableEndEffectorCollision=false, bool grasps=false, const std::string &kinematicsConstraintsPath=std::string(), const double kinematicConstraintsMinDistance=0.)
RbPrmLimb(const pinocchio::JointPtr_t &limb, const std::string &effectorName, const fcl::Vec3f &offset, const fcl::Vec3f &limbOffset, const fcl::Vec3f &normal, const double x, const double y, const std::size_t nbSamples, const sampling::heuristic evaluate, const double resolution, ContactType contactType, bool disableEndEffectorCollision=false, bool grasps=false, const std::string &kinematicsConstraintsPath=std::string(), const double kinematicConstraintsMinDistance=0.)
RbPrmLimb(const pinocchio::DevicePtr_t device, std::ifstream &fileStream, const bool loadValues, const hpp::rbprm::sampling::heuristic evaluate, bool disableEndEffectorCollision=false, bool grasps=false)
const pinocchio::JointPtr_t limb_
Definition: rbprm-limb.hh:122
const fcl::Matrix3f effectorDefaultRotation_
Definition: rbprm-limb.hh:125
fcl::Vec3f effectorReferencePosition_
Definition: rbprm-limb.hh:137
const double y_
Definition: rbprm-limb.hh:131
void init(const RbPrmLimbWkPtr_t &weakPtr)
Initialization.
const double x_
Definition: rbprm-limb.hh:130
sampling::SampleDB sampleContainer_
Definition: rbprm-limb.hh:134
const fcl::Vec3f limbOffset_
Definition: rbprm-limb.hh:128
sampling::heuristic evaluate_
Definition: rbprm-limb.hh:133
const ContactType contactType_
Definition: rbprm-limb.hh:132
Definition: sample-db.hh:90
#define HPP_RBPRM_DLLAPI
Definition: config.hh:64
double(* heuristic)(const sampling::Sample &sample, const Eigen::Vector3d &direction, const Eigen::Vector3d &normal, const HeuristicParam ¶ms)
Definition: heuristic.hh:38
HPP_PREDEF_CLASS(RbPrmFullBody)
Eigen::Matrix< pinocchio::value_type, Eigen::Dynamic, 1 > VectorX
Definition: rbprm-limb.hh:48
Eigen::Matrix< pinocchio::value_type, Eigen::Dynamic, Eigen::Dynamic > MatrixXX
Definition: rbprm-limb.hh:46
HPP_RBPRM_DLLAPI bool saveLimbInfoAndDatabase(const RbPrmLimbPtr_t limb, std::ofstream &dbFile)
Eigen::Matrix< pinocchio::value_type, 3, 1 > Vector3
Definition: rbprm-limb.hh:49
Eigen::Matrix< pinocchio::value_type, Eigen::Dynamic, 3 > MatrixX3
Definition: rbprm-limb.hh:47
ContactType
Definition: rbprm-limb.hh:30
@ _6_DOF
Definition: rbprm-limb.hh:31
@ _3_DOF
Definition: rbprm-limb.hh:32
@ _UNDEFINED
Definition: rbprm-limb.hh:33
T_Limb::const_iterator CIT_Limb
Definition: rbprm-limb.hh:44
shared_ptr< RbPrmLimb > RbPrmLimbPtr_t
Definition: rbprm-limb.hh:42
std::map< std::string, const rbprm::RbPrmLimbPtr_t > T_Limb
Definition: rbprm-limb.hh:43
Definition: algorithm.hh:26