33 #ifndef DART_DYNAMICS_SPECIALIZEDNODEMANAGER_HPP_
34 #define DART_DYNAMICS_SPECIALIZEDNODEMANAGER_HPP_
48 template <
class... OtherSpecNodes>
57 template <
class SpecNode>
66 template <
class NodeType>
67 std::size_t getNumNodes()
const;
70 template <
class NodeType>
71 NodeType* getNode(std::size_t
index);
74 template <
class NodeType>
75 const NodeType* getNode(std::size_t
index)
const;
78 template <
class NodeType>
79 static constexpr
bool isSpecializedForNode();
83 template <
class NodeType>
90 template <
class NodeType>
97 template <
class NodeType>
112 template <
class SpecNode1,
class... OtherSpecNodes>
115 common::Virtual<BodyNodeSpecializedFor<SpecNode1> >,
116 common::Virtual<BodyNodeSpecializedFor<OtherSpecNodes...> > >
122 template <
class... OtherSpecNodes>
131 template <
class SpecNode>
145 template <
class NodeType>
146 std::size_t getNumNodes(std::size_t treeIndex)
const;
150 template <
class NodeType>
151 NodeType* getNode(std::size_t treeIndex, std::size_t nodeIndex);
155 template <
class NodeType>
156 const NodeType* getNode(std::size_t treeIndex, std::size_t nodeIndex)
const;
159 template <
class NodeType>
160 NodeType* getNode(
const std::string&
name);
163 template <
class NodeType>
164 const NodeType* getNode(
const std::string&
name)
const;
168 static constexpr
bool isSpecializedForNode();
172 template <
class NodeType>
173 std::size_t _getNumNodes(
type<NodeType>, std::size_t treeIndex)
const;
176 std::size_t _getNumNodes(
type<SpecNode>, std::size_t treeIndex)
const;
179 template <
class NodeType>
188 template <
class NodeType>
203 std::vector<BasicNodeManagerForBodyNode::NodeMap::iterator>
216 template <
class SpecNode1,
class... OtherSpecNodes>
219 common::Virtual<SkeletonSpecializedFor<SpecNode1> >,
220 common::Virtual<SkeletonSpecializedFor<OtherSpecNodes...> > >
#define DART_DECLARE_CLASS_WITH_VIRTUAL_BASE_END
Definition: ClassWithVirtualBase.hpp:44
#define DART_DECLARE_CLASS_WITH_VIRTUAL_BASE_BEGIN
Definition: ClassWithVirtualBase.hpp:43
std::string * name
Definition: SkelParser.cpp:1697
std::size_t index
Definition: SkelParser.cpp:1672
BasicNodeManagerForBodyNode::NodeMap::iterator mSpecNodeIterator
Iterator that allows direct access to the specialized Nodes.
Definition: SpecializedNodeManager.hpp:104
Declaration of the variadic template.
Definition: SpecializedNodeManager.hpp:50
Declaration of the variadic template.
Definition: NodeManagerJoiner.hpp:47
Declaration of variadic template.
Definition: NodeManagerJoiner.hpp:117
std::vector< BasicNodeManagerForBodyNode::NodeMap::iterator > mTreeSpecNodeIterators
std::vector of iterators that allow direct access to the specialized Nodes of each tree
Definition: SpecializedNodeManager.hpp:204
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:208
Declaration of the variadic template.
Definition: SpecializedNodeManager.hpp:124
Definition: BasicNodeManager.hpp:50
Definition: BasicNodeManager.hpp:97
std::multimap< dart::dynamics::Shape *, SimpleFrameShapeDnD * >::iterator iterator
Definition: Viewer.cpp:620
Definition: BulletCollisionDetector.cpp:65
Definition: BasicNodeManager.hpp:85