33 #ifndef DART_DYNAMICS_SPECIALIZEDNODEMANAGER_HPP_
34 #define DART_DYNAMICS_SPECIALIZEDNODEMANAGER_HPP_
48 template <
class... OtherSpecNodes>
54 template <
class SpecNode>
64 template <
class NodeType>
65 std::size_t getNumNodes()
const;
68 template <
class NodeType>
69 NodeType* getNode(std::size_t
index);
72 template <
class NodeType>
73 const NodeType* getNode(std::size_t
index)
const;
76 template <
class NodeType>
77 static constexpr
bool isSpecializedForNode();
82 template <
class NodeType>
89 template <
class NodeType>
96 template <
class NodeType>
111 template <
class SpecNode1,
class... OtherSpecNodes>
114 common::Virtual< BodyNodeSpecializedFor<SpecNode1> >,
115 common::Virtual< BodyNodeSpecializedFor<OtherSpecNodes...> > > { };
119 template <
class... OtherSpecNodes>
125 template <
class SpecNode>
140 template <
class NodeType>
141 std::size_t getNumNodes(std::size_t treeIndex)
const;
145 template <
class NodeType>
146 NodeType* getNode(std::size_t treeIndex, std::size_t nodeIndex);
150 template <
class NodeType>
151 const NodeType* getNode(std::size_t treeIndex, std::size_t nodeIndex)
const;
154 template <
class NodeType>
155 NodeType* getNode(
const std::string&
name);
158 template <
class NodeType>
159 const NodeType* getNode(
const std::string&
name)
const;
163 static constexpr
bool isSpecializedForNode();
168 template <
class NodeType>
169 std::size_t _getNumNodes(
type<NodeType>, std::size_t treeIndex)
const;
172 std::size_t _getNumNodes(
type<SpecNode>, std::size_t treeIndex)
const;
175 template <
class NodeType>
176 NodeType* _getNode(
type<NodeType>, std::size_t treeIndex, std::size_t nodeIndex);
179 SpecNode* _getNode(
type<SpecNode>, std::size_t treeIndex, std::size_t nodeIndex);
182 template <
class NodeType>
209 template <
class SpecNode1,
class... OtherSpecNodes>
212 common::Virtual< SkeletonSpecializedFor<SpecNode1> >,
213 common::Virtual< SkeletonSpecializedFor<OtherSpecNodes...> > > { };
std::string * name
Definition: SkelParser.cpp:1642
std::size_t index
Definition: SkelParser.cpp:1617
BasicNodeManagerForBodyNode::NodeMap::iterator mSpecNodeIterator
Iterator that allows direct access to the specialized Nodes.
Definition: SpecializedNodeManager.hpp:103
Declaration of the variadic template.
Definition: SpecializedNodeManager.hpp:49
Declaration of the variadic template.
Definition: NodeManagerJoiner.hpp:46
Declaration of variadic template.
Definition: NodeManagerJoiner.hpp:114
std::vector< BasicNodeManagerForBodyNode::NodeMap::iterator > mTreeSpecNodeIterators
std::vector of iterators that allow direct access to the specialized Nodes of each tree
Definition: SpecializedNodeManager.hpp:197
static constexpr bool _isSpecializedForNode(type< T >)
Return false.
NodeNameMgrMap::iterator mSpecNodeNameMgrIterator
Iterator that gives direct access to the name manager of the specialized Nodes.
Definition: SpecializedNodeManager.hpp:201
Declaration of the variadic template.
Definition: SpecializedNodeManager.hpp:120
Definition: BasicNodeManager.hpp:49
Definition: BasicNodeManager.hpp:93
std::multimap< dart::dynamics::Shape *, SimpleFrameShapeDnD * >::iterator iterator
Definition: Viewer.cpp:622
Definition: BulletCollisionDetector.cpp:63
Definition: BasicNodeManager.hpp:82