15 #include <tasks/config.hh>
17 #include <SpaceVecAlg/SpaceVecAlg>
40 FrictionCone(
const Eigen::Matrix3d & frame,
int nrGen,
double mu,
double direction = 1.);
62 const std::string & r1BodyName,
63 const std::string & r2BodyName,
64 int ambiguityId = -1);
100 const std::string & r1BodyName,
101 const std::string & r2BodyName,
102 std::vector<Eigen::Vector3d> r1Points,
103 const Eigen::Matrix3d & r1Frame,
104 const sva::PTransformd & X_b1_b2,
107 const sva::PTransformd & X_b1_cf = sva::PTransformd::Identity());
127 const std::string & r1BodyName,
128 const std::string & r2BodyName,
130 std::vector<Eigen::Vector3d> r1Points,
131 const Eigen::Matrix3d & r1Frame,
132 const sva::PTransformd & X_b1_b2,
135 const sva::PTransformd & X_b1_cf = sva::PTransformd::Identity());
149 std::vector<Eigen::Vector3d> r1Points,
150 const Eigen::Matrix3d & r1Frame,
151 const sva::PTransformd & X_b1_b2,
154 const sva::PTransformd & X_b1_cf = sva::PTransformd::Identity());
168 sva::ForceVecd
force(
const Eigen::VectorXd & lambda,
169 const std::vector<Eigen::Vector3d> & r_b_pi,
192 sva::ForceVecd
sForce(
const Eigen::VectorXd & lambda,
193 const std::vector<Eigen::Vector3d> & r_b_pi,
209 void construct(
const Eigen::MatrixXd & r1Frame,
int nrGen,
double mu);
236 const std::string & r1BodyName,
237 const std::string & r2BodyName,
238 std::vector<Eigen::Vector3d> r1Points,
239 const std::vector<Eigen::Matrix3d> & r1Frames,
240 const sva::PTransformd & X_b1_b2,
243 const sva::PTransformd & X_b1_cf = sva::PTransformd::Identity());
263 const std::string & r1BodyName,
264 const std::string & r2BodyName,
266 std::vector<Eigen::Vector3d> r1Points,
267 const std::vector<Eigen::Matrix3d> & r1Frames,
268 const sva::PTransformd & X_b1_b2,
271 const sva::PTransformd & X_b1_cf = sva::PTransformd::Identity());
285 std::vector<Eigen::Vector3d> r1Points,
286 const std::vector<Eigen::Matrix3d> & r1Frames,
287 const sva::PTransformd & X_b1_b2,
290 const sva::PTransformd & X_b1_cf = sva::PTransformd::Identity());
298 Eigen::Vector3d
force(
const Eigen::VectorXd & lambda,
int point,
const std::vector<FrictionCone> & c)
const;
300 Eigen::Vector3d
force(
const Eigen::VectorXd & lambda,
const std::vector<FrictionCone> & c)
const;
309 sva::ForceVecd
force(
const Eigen::VectorXd & lambda,
310 const std::vector<Eigen::Vector3d> & r_b_pi,
311 const std::vector<FrictionCone> & c_pi_b)
const;
323 Eigen::Vector3d
sForce(
const Eigen::VectorXd & lambda,
int point,
const std::vector<FrictionCone> & c)
const;
328 Eigen::Vector3d
sForce(
const Eigen::VectorXd & lambda,
const std::vector<FrictionCone> & c)
const;
333 sva::ForceVecd
sForce(
const Eigen::VectorXd & lambda,
334 const std::vector<Eigen::Vector3d> & r_b_pi,
335 const std::vector<FrictionCone> & c_pi_b)
const;
350 void construct(
const std::vector<Eigen::Matrix3d> & r1Frames,
int nrGen,
double mu);
Definition: GenQPUtils.h:19
Definition: QPContacts.h:30
std::vector< Eigen::Vector3d > generators
Vector of generatrix.
Definition: QPContacts.h:43
FrictionCone()
Definition: QPContacts.h:31
FrictionCone(const Eigen::Matrix3d &frame, int nrGen, double mu, double direction=1.)