34 #include <ArmarXCore/interface/core/RemoteObjectNode.h>
36 #include <RobotComponents/interface/components/MotionPlanning/Tasks/RandomShortcutPostprocessor/Task.h>
37 #include "../../util/Metrics.h"
39 #include "../MotionPlanningTask.h"
48 public virtual TaskBase,
53 MotionPlanningTaskBasePtr previousStep,
54 const std::string& taskName =
"RandomShortcutPostprocessorTask",
55 Ice::Long maxTimeForPostprocessingInSeconds = 6000,
63 PathWithCost
getPathWithCost(
const Ice::Current& = Ice::emptyCurrent)
const override
71 Path getPath(
const Ice::Current& = Ice::emptyCurrent)
const override
76 ~Task()
override =
default;
82 void abortTask(
const Ice::Current& = Ice::emptyCurrent)
override;
89 void run(
const RemoteObjectNodePrxList& nodes,
const Ice::Current& = Ice::emptyCurrent)
override;
93 return previousStep->getMaximalPlanningTimeInSeconds();
97 PathWithCost
getBestPath(
const Ice::Current& = Ice::emptyCurrent)
const override;
99 PathWithCostSeq
getAllPathsWithCost(
const Ice::Current& = Ice::emptyCurrent)
const override;
103 std::pair<float, float>
calcOffsets(
float length, std::mt19937& gen);
116 template<
class Base,
class Derived>
friend class ::armarx::GenericFactory;