00001 #include <hrpModel/Link.h> 00002 #include "vclip_1.0/include/vclip.h" 00003 00004 class VclipLinkPair : public hrp::Referenced { 00005 public: 00006 VclipLinkPair(hrp::Link* link0, Vclip::Polyhedron* pqp_model0, hrp::Link* link1, Vclip::Polyhedron* pqp_model1, double tolerance=0); 00007 ~VclipLinkPair(); 00008 bool checkCollision(); 00009 double computeDistance(double *q1, double *q2); 00010 hrp::Link* link(int index) { return links_[index]; } 00011 double getTolerance() { return tolerance_; } 00012 void setTolerance(double t) { tolerance_ = t; } 00013 00014 private: 00015 hrp::Link *links_[2]; 00016 Vclip::Polyhedron *Vclip_Model1, *Vclip_Model2; 00017 Vclip::FeaturePair Feature_Pair; 00018 double tolerance_; 00019 }; 00020 00021 typedef boost::intrusive_ptr<VclipLinkPair> VclipLinkPairPtr; 00022