Go to the documentation of this file.
34 #include <RobotComponents/interface/components/MotionPlanning/Tasks/RRTConnect/WorkerNode.h>
36 #include "../../util/CollisionCheckUtil.h"
37 #include "../../util/Samplers.h"
43 template <
class IceBaseClass,
class DerivedClass>
61 using WorkerNodeBase::WorkerNodeBase;
68 #pragma GCC diagnostic push
69 #pragma GCC diagnostic ignored "-Wterminate"
71 #pragma GCC diagnostic pop
83 return "RRTConnectWorkerNode";
88 const Ice::Current& = Ice::emptyCurrent)
const override;
90 const Ice::Current& = Ice::emptyCurrent)
override;
93 abort(const ::Ice::Current& = Ice::emptyCurrent)
override
99 void updateTree(
const Update& u,
const Ice::Current& = Ice::emptyCurrent)
override;
121 ARMARX_VERBOSE_S <<
"[worker " << workerId <<
"] requesting update " << workerNodeId
122 <<
" / " << updateSubId;
124 return workers.at(workerNodeId)->getUpdate(updateSubId);
135 NodeId
addNode(
const ConfigType& cfg,
const NodeId& parent,
bool addToPrimaryTree);
140 return addNode(cfg, parent,
true);
146 return addNode(cfg, parent,
false);
155 return cspace->getDimensionality();
std::string getDefaultName() const override
Retrieve default name of component.
WorkerNode()=default
Only used when transmitting through ice.
void abort(const ::Ice::Current &=Ice::emptyCurrent) override
void onInitComponent() override
Pure virtual hook for the subclass.
std::atomic_bool abortRequest
WorkerNodeBasePrxList workers
NodeId addNode(const ConfigType &cfg, const NodeId &parent, bool addToPrimaryTree)
std::deque< Update > localUpdates
NodeId addNodeToPrimaryTree(const ConfigType &cfg, const NodeId &parent)
std::unique_ptr< CuboidSampler > sampler
Ice::Byte getPrimaryTreeId() const
std::atomic_bool doApplyUpdates
std::size_t getDimensionality()
bool fromStartIsPrimaryTree
Tree & getSecondaryTree()
void onConnectComponent() override
Pure virtual hook for the subclass.
Update getRemoteUpdate(Ice::Long workerNodeId, Ice::Long updateSubId)
void workerTask()
The worker task.
void updateTree(const Update &u, const Ice::Current &=Ice::emptyCurrent) override
The ManagedIceObject is the base class for all ArmarX objects.
#define ARMARX_CHECK_EXPRESSION(expression)
This macro evaluates the expression and if it turns out to be false it will throw an ExpressionExcept...
void onExitComponent() override
Hook for subclass.
NodeId addNodeToSecondaryTree(const ConfigType &cfg, const NodeId &parent)
TreeUpdateInterfacePrx globalWorkers
~WorkerNode() override
dtor.
Update getUpdate(Ice::Long updateId, const Ice::Current &=Ice::emptyCurrent) const override
This file offers overloads of toIce() and fromIce() functions for STL container types.
Ice::Byte getSecondaryTreeId() const
void ice_postUnmarshal() override
void setWorkerNodes(const WorkerNodeBasePrxList &workers, const Ice::Current &=Ice::emptyCurrent) override