virtual void CalcDistExpressions(const DblVec& x, vector<AffExpr>& exprs, NamePairs& bodyNames) {
   vector<BeliefCollision> collisions;
   this->GetCollisionsCached(x, collisions);
   DblVec theta0 = getDblVec(x, m_vars0);
   DblVec theta1 = getDblVec(x, m_vars1);
   CollisionsToDistanceExpressions(collisions, *this->m_rad, this->m_link2ind, m_vars0, m_vars1, theta0, theta1, exprs, false, bodyNames);
 }
Exemplo n.º 2
0
void CartPoseCost::Plot(const DblVec& x, OR::EnvironmentBase& env, std::vector<OR::GraphHandlePtr>& handles) {
  CartPoseErrCalculator* calc = static_cast<CartPoseErrCalculator*>(f_.get());
  DblVec dof_vals = getDblVec(x, vars_);
  calc->manip_->SetDOFValues(dof_vals);
  OR::Transform target = calc->pose_inv_.inverse(), cur = calc->link_->GetTransform();
  PlotAxes(env, cur, .1,  handles);
  PlotAxes(env, target, .1,  handles);
  handles.push_back(env.drawarrow(cur.trans, target.trans, .01, OR::Vector(1,0,1,1)));
}