DART
6.7.3
|
#include <BasicNodeManager.hpp>
Public Types | |
using | NodeMap = std::map< std::type_index, std::vector< Node * > > |
using | NodeDestructorSet = std::unordered_set< NodeDestructorPtr > |
using | NodeNameMgrMap = std::map< std::type_index, common::NameManager< Node * > > |
using | SpecializedTreeNodes = std::map< std::type_index, std::vector< NodeMap::iterator > * > |
Public Member Functions | |
template<class NodeType > | |
std::size_t | getNumNodes (std::size_t treeIndex) const |
Get the number of Nodes of the specified type that are in the treeIndexth tree of this Skeleton. More... | |
template<class NodeType > | |
NodeType * | getNode (std::size_t treeIndex, std::size_t nodeIndex) |
Get the nodeIndexth Node of the specified type within the tree of treeIndex. More... | |
template<class NodeType > | |
const NodeType * | getNode (std::size_t treeIndex, std::size_t nodeIndex) const |
Get the nodeIndexth Node of the specified type within the tree of treeIndex. More... | |
template<class NodeType > | |
NodeType * | getNode (const std::string &name) |
Get the Node of the specified type with the given name. More... | |
template<class NodeType > | |
const NodeType * | getNode (const std::string &name) const |
Get the Node of the specified type with the given name. More... | |
template<class NodeType > | |
std::size_t | getNumNodes () const |
Get the number of Nodes corresponding to the specified type. More... | |
template<class NodeType > | |
NodeType * | getNode (std::size_t index) |
Get the Node of the specified type and the specified index. More... | |
template<class NodeType > | |
const NodeType * | getNode (std::size_t index) const |
Get the Node of the specified type and the specified index. More... | |
template<class NodeType > | |
std::size_t | getNumNodes () const |
Get the number of Nodes corresponding to the specified type. More... | |
template<class NodeType > | |
NodeType * | getNode (std::size_t index) |
Get the Node of the specified type and the specified index. More... | |
template<class NodeType > | |
const NodeType * | getNode (std::size_t index) const |
Get the Node of the specified type and the specified index. More... | |
Static Public Member Functions | |
template<class NodeType > | |
static constexpr bool | isSpecializedForNode () |
Check if this Manager is specialized for a specific type of Node. More... | |
Protected Attributes | |
NodeNameMgrMap | mNodeNameMgrMap |
NameManager for tracking Nodes. More... | |
std::vector< NodeMap > | mTreeNodeMaps |
A NodeMap for each tree to allow tree Nodes to be accessed independently. More... | |
SpecializedTreeNodes | mSpecializedTreeNodes |
A map that allows SpecializedNodeManagers to have a direct iterator to the tree-wise storage of its specialized Node. More... | |
NodeMap | mNodeMap |
Map that retrieves the Nodes of a specified type. More... | |
NodeDestructorSet | mNodeDestructors |
A set for storing the Node destructors. More... | |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
NodeType * dart::dynamics::detail::BasicNodeManagerForSkeleton::getNode | ( | const std::string & | name | ) |
Get the Node of the specified type with the given name.
const NodeType * dart::dynamics::detail::BasicNodeManagerForSkeleton::getNode | ( | const std::string & | name | ) | const |
Get the Node of the specified type with the given name.
|
inherited |
Get the Node of the specified type and the specified index.
NodeType * dart::dynamics::detail::BasicNodeManagerForBodyNode::getNode | ( | class NodeType | ) |
Get the Node of the specified type and the specified index.
|
inherited |
Get the Node of the specified type and the specified index.
const NodeType * dart::dynamics::detail::BasicNodeManagerForBodyNode::getNode | ( | class NodeType | ) |
Get the Node of the specified type and the specified index.
NodeType * dart::dynamics::detail::BasicNodeManagerForSkeleton::getNode | ( | std::size_t | treeIndex, |
std::size_t | nodeIndex | ||
) |
Get the nodeIndexth Node of the specified type within the tree of treeIndex.
const NodeType * dart::dynamics::detail::BasicNodeManagerForSkeleton::getNode | ( | std::size_t | treeIndex, |
std::size_t | nodeIndex | ||
) | const |
Get the nodeIndexth Node of the specified type within the tree of treeIndex.
|
inherited |
Get the number of Nodes corresponding to the specified type.
std::size_t dart::dynamics::detail::BasicNodeManagerForBodyNode::getNumNodes | ( | class NodeType | ) |
Get the number of Nodes corresponding to the specified type.
std::size_t dart::dynamics::detail::BasicNodeManagerForSkeleton::getNumNodes | ( | std::size_t | treeIndex | ) | const |
Get the number of Nodes of the specified type that are in the treeIndexth tree of this Skeleton.
|
staticconstexprinherited |
Check if this Manager is specialized for a specific type of Node.
|
protectedinherited |
A set for storing the Node destructors.
|
protectedinherited |
Map that retrieves the Nodes of a specified type.
|
protected |
NameManager for tracking Nodes.
|
protected |
A map that allows SpecializedNodeManagers to have a direct iterator to the tree-wise storage of its specialized Node.
Each entry in this map contains a pointer to a vector of iterators. Each vector of iterators is stored in its corresponding SpecializedNodeManager. This system allows Node specialization to be extensible, enabling custom derived Skeleton types that are specialized for more than the default specialized Nodes.
|
protected |
A NodeMap for each tree to allow tree Nodes to be accessed independently.