Go to the documentation of this file.
31 #include <RobotComponents/interface/components/MotionPlanning/Tasks/RRTConnect/DataStructures.h>
56 Tree(std::size_t maximalWorkerCount) : nodes(maximalWorkerCount)
73 const std::deque<std::deque<NodeType>>&
80 std::vector<ConfigType>
getPathTo(
const NodeId& nodeId)
const;
87 nodes.at(nodeId.workerId).size());
88 return nodes.at(nodeId.workerId).at(nodeId.nodeSubId);
95 nodes.at(workerId).emplace_back(cfg, parent);
110 for (
const auto&
n : u.nodes)
117 static const NodeId ROOT_NODE_ID;
118 std::deque<std::deque<NodeType>> nodes;
119 std::size_t size = 0;
std::vector< ConfigType > getPathTo(const NodeId &nodeId) const
Tree(std::size_t maximalWorkerCount)
void setRoot(const ConfigType &root)
constexpr auto n() noexcept
std::size_t getSize() const
std::vector< ConfigType > getReversedPathTo(NodeId nodeId) const
const std::deque< std::deque< NodeType > > & getNodes() const
void setMaximalWorkerCount(std::size_t count)
Sets the maximal worker count to the given value.
NodeId getNearestNeighbour(const ConfigType &cfg)
const NodeType & getNode(const NodeId &nodeId) const
#define ARMARX_CHECK_EXPRESSION(expression)
This macro evaluates the expression and if it turns out to be false it will throw an ExpressionExcept...
void addNode(const ConfigType &cfg, const NodeId &parent, std::size_t workerId)
NodeType(ConfigType cfg, NodeId parent)
void applyUpdate(const PerTreeUpdate &u, Ice::Long workerId)