DART  6.10.1
dart::dynamics::detail::BasicNodeManagerForBodyNode Class Reference

#include <BasicNodeManager.hpp>

Inheritance diagram for dart::dynamics::detail::BasicNodeManagerForBodyNode:
dart::dynamics::BodyNodeSpecializedFor< SpecNode > dart::dynamics::detail::BasicNodeManagerForSkeleton dart::dynamics::SkeletonSpecializedFor< SpecNode > dart::dynamics::SkeletonSpecializedFor< SpecNode >

Classes

struct  type
 

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

 BasicNodeManagerForBodyNode ()=default
 Default constructor. More...
 
 BasicNodeManagerForBodyNode (const BasicNodeManagerForBodyNode &)=delete
 Delete copy constructors and assignment operators. More...
 
BasicNodeManagerForBodyNodeoperator= (const BasicNodeManagerForBodyNode &)=delete
 
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

NodeMap mNodeMap
 Map that retrieves the Nodes of a specified type. More...
 
NodeDestructorSet mNodeDestructors
 A set for storing the Node destructors. More...
 

Member Typedef Documentation

◆ NodeDestructorSet

◆ NodeMap

using dart::dynamics::detail::BasicNodeManagerForBodyNode::NodeMap = std::map<std::type_index, std::vector<Node*> >

◆ NodeNameMgrMap

◆ SpecializedTreeNodes

using dart::dynamics::detail::BasicNodeManagerForBodyNode::SpecializedTreeNodes = std::map<std::type_index, std::vector<NodeMap::iterator>*>

Constructor & Destructor Documentation

◆ BasicNodeManagerForBodyNode() [1/2]

dart::dynamics::detail::BasicNodeManagerForBodyNode::BasicNodeManagerForBodyNode ( )
default

Default constructor.

◆ BasicNodeManagerForBodyNode() [2/2]

dart::dynamics::detail::BasicNodeManagerForBodyNode::BasicNodeManagerForBodyNode ( const BasicNodeManagerForBodyNode )
delete

Delete copy constructors and assignment operators.

Member Function Documentation

◆ getNode() [1/2]

template<class NodeType >
NodeType * dart::dynamics::detail::BasicNodeManagerForBodyNode::getNode ( std::size_t  index)

Get the Node of the specified type and the specified index.

◆ getNode() [2/2]

template<class NodeType >
const NodeType * dart::dynamics::detail::BasicNodeManagerForBodyNode::getNode ( std::size_t  index) const

Get the Node of the specified type and the specified index.

◆ getNumNodes()

template<class NodeType >
std::size_t dart::dynamics::detail::BasicNodeManagerForBodyNode::getNumNodes

Get the number of Nodes corresponding to the specified type.

◆ isSpecializedForNode()

template<class NodeType >
constexpr bool dart::dynamics::detail::BasicNodeManagerForBodyNode::isSpecializedForNode
staticconstexpr

Check if this Manager is specialized for a specific type of Node.

◆ operator=()

BasicNodeManagerForBodyNode& dart::dynamics::detail::BasicNodeManagerForBodyNode::operator= ( const BasicNodeManagerForBodyNode )
delete

Member Data Documentation

◆ mNodeDestructors

NodeDestructorSet dart::dynamics::detail::BasicNodeManagerForBodyNode::mNodeDestructors
protected

A set for storing the Node destructors.

◆ mNodeMap

NodeMap dart::dynamics::detail::BasicNodeManagerForBodyNode::mNodeMap
protected

Map that retrieves the Nodes of a specified type.