33 #include <ArmarXCore/interface/core/RemoteObjectNode.h>
35 #include <RobotComponents/interface/components/MotionPlanning/Tasks/RandomShortcutPostprocessor/Task.h>
37 #include "../../util/Metrics.h"
38 #include "../MotionPlanningTask.h"
47 public virtual TaskBase,
51 Task(MotionPlanningTaskBasePtr previousStep,
52 const std::string& taskName =
"RandomShortcutPostprocessorTask",
53 Ice::Long maxTimeForPostprocessingInSeconds = 6000,
72 getPath(
const Ice::Current& = Ice::emptyCurrent)
const override
77 ~Task()
override =
default;
83 void abortTask(
const Ice::Current& = Ice::emptyCurrent)
override;
90 void run(
const RemoteObjectNodePrxList& nodes,
91 const Ice::Current& = Ice::emptyCurrent)
override;
96 return previousStep->getMaximalPlanningTimeInSeconds();
100 PathWithCost
getBestPath(
const Ice::Current& = Ice::emptyCurrent)
const override;
102 const Ice::Current& = Ice::emptyCurrent)
const override;
103 PathWithCostSeq
getAllPathsWithCost(
const Ice::Current& = Ice::emptyCurrent)
const override;
107 std::pair<float, float>
calcOffsets(
float length, std::mt19937& gen);
121 template <
class Base,
class Derived>
122 friend class ::armarx::GenericFactory;