Пример #1
0
 Real operator () (const SmartPointer<EdgePlanner>& e,int s,int t)
 {
   if(!e) return 1.0;
   assert(e->Space() != NULL);
   Real res = e->Space()->Distance(e->Start(),e->Goal());
   if(res <= 0) {
     printf("RoadmapPlanner: Warning, edge has nonpositive length %g\n",res);
     return Epsilon;
   }
   return res;
 }
Пример #2
0
EdgePlannerWithCSpaceContainer::EdgePlannerWithCSpaceContainer(SmartPointer<CSpace> space,const SmartPointer<EdgePlanner>& e)
    :PiggybackEdgePlanner(space,e->Start(),e->Goal(),e),spacePtr(space)
{
}
double LengthWeightFunc(const SmartPointer<EdgePlanner>& e,int s,int t)
{
  Assert(e);
  return e->Space()->Distance(e->Start(),e->Goal());
}