DART  6.6.2
BasicNodeManager.hpp File Reference
#include <map>
#include <typeindex>
#include <unordered_set>
#include "dart/common/NameManager.hpp"
#include "dart/common/Empty.hpp"
#include "dart/dynamics/Node.hpp"

Go to the source code of this file.

Classes

class  dart::dynamics::detail::BasicNodeManagerForBodyNode
 
struct  dart::dynamics::detail::BasicNodeManagerForBodyNode::type< T >
 
class  dart::dynamics::detail::BasicNodeManagerForSkeleton
 

Namespaces

 dart
 
 dart::dynamics
 
 dart::dynamics::detail
 

Macros

#define DART_BAKE_SPECIALIZED_NODE_IRREGULAR(TypeName, AspectName, PluralAspectName)
 
#define DART_BAKE_SPECIALIZED_NODE(AspectName)    DART_BAKE_SPECIALIZED_NODE_IRREGULAR( AspectName, AspectName, AspectName ## s )
 
#define DART_BAKE_SPECIALIZED_NODE_SKEL_IRREGULAR(TypeName, AspectName, PluralAspectName)
 
#define DART_BAKE_SPECIALIZED_NODE_SKEL(AspectName)    DART_BAKE_SPECIALIZED_NODE_SKEL_IRREGULAR( AspectName, AspectName, AspectName ## s)
 
#define DART_BAKE_SPECIALIZED_NODE_IRREGULAR_DECLARATIONS(TypeName, AspectName, PluralAspectName)
 
#define DART_BAKE_SPECIALIZED_NODE_DECLARATIONS(AspectName)    DART_BAKE_SPECIALIZED_NODE_IRREGULAR_DECLARATIONS( AspectName, AspectName, AspectName ## s )
 
#define DART_BAKE_SPECIALIZED_NODE_SKEL_IRREGULAR_DECLARATIONS(TypeName, AspectName, PluralAspectName)
 
#define DART_BAKE_SPECIALIZED_NODE_SKEL_DECLARATIONS(AspectName)    DART_BAKE_SPECIALIZED_NODE_SKEL_IRREGULAR_DECLARATIONS( AspectName, AspectName, AspectName ## s )
 
#define DART_BAKE_SPECIALIZED_NODE_IRREGULAR_DEFINITIONS(ClassName, TypeName, AspectName, PluralAspectName)
 
#define DART_BAKE_SPECIALIZED_NODE_DEFINITIONS(ClassName, AspectName)    DART_BAKE_SPECIALIZED_NODE_IRREGULAR_DEFINITIONS( ClassName, AspectName, AspectName, AspectName ## s )
 
#define DART_BAKE_SPECIALIZED_NODE_SKEL_IRREGULAR_DEFINITIONS(ClassName, TypeName, AspectName, PluralAspectName)
 
#define DART_BAKE_SPECIALIZED_NODE_SKEL_DEFINITIONS(ClassName, AspectName)    DART_BAKE_SPECIALIZED_NODE_SKEL_IRREGULAR_DEFINITIONS( ClassName, AspectName, AspectName, AspectName ## s )
 

Macro Definition Documentation

◆ DART_BAKE_SPECIALIZED_NODE

#define DART_BAKE_SPECIALIZED_NODE (   AspectName)     DART_BAKE_SPECIALIZED_NODE_IRREGULAR( AspectName, AspectName, AspectName ## s )

◆ DART_BAKE_SPECIALIZED_NODE_DECLARATIONS

#define DART_BAKE_SPECIALIZED_NODE_DECLARATIONS (   AspectName)     DART_BAKE_SPECIALIZED_NODE_IRREGULAR_DECLARATIONS( AspectName, AspectName, AspectName ## s )

◆ DART_BAKE_SPECIALIZED_NODE_DEFINITIONS

#define DART_BAKE_SPECIALIZED_NODE_DEFINITIONS (   ClassName,
  AspectName 
)     DART_BAKE_SPECIALIZED_NODE_IRREGULAR_DEFINITIONS( ClassName, AspectName, AspectName, AspectName ## s )

◆ DART_BAKE_SPECIALIZED_NODE_IRREGULAR

#define DART_BAKE_SPECIALIZED_NODE_IRREGULAR (   TypeName,
  AspectName,
  PluralAspectName 
)
Value:
inline std::size_t getNum ## PluralAspectName () const\
{ return getNumNodes< TypeName >(); }\
inline TypeName * get ## AspectName (std::size_t index)\
{ return getNode< TypeName >(index); }\
inline const TypeName * get ## AspectName (std::size_t index) const\
{ return getNode< TypeName >(index); }
std::size_t index
Definition: SkelParser.cpp:1617

◆ DART_BAKE_SPECIALIZED_NODE_IRREGULAR_DECLARATIONS

#define DART_BAKE_SPECIALIZED_NODE_IRREGULAR_DECLARATIONS (   TypeName,
  AspectName,
  PluralAspectName 
)
Value:
std::size_t getNum ## PluralAspectName () const;\
TypeName * get ## AspectName (std::size_t index);\
const TypeName * get ## AspectName (std::size_t index) const;

◆ DART_BAKE_SPECIALIZED_NODE_IRREGULAR_DEFINITIONS

#define DART_BAKE_SPECIALIZED_NODE_IRREGULAR_DEFINITIONS (   ClassName,
  TypeName,
  AspectName,
  PluralAspectName 
)
Value:
std::size_t ClassName :: getNum ## PluralAspectName () const\
{ return getNumNodes< TypeName >(); }\
TypeName * ClassName :: get ## AspectName (std::size_t index)\
{ return getNode< TypeName >(index); }\
const TypeName * ClassName :: get ## AspectName (std::size_t index) const\
{ return getNode< TypeName >(index); }

◆ DART_BAKE_SPECIALIZED_NODE_SKEL

#define DART_BAKE_SPECIALIZED_NODE_SKEL (   AspectName)     DART_BAKE_SPECIALIZED_NODE_SKEL_IRREGULAR( AspectName, AspectName, AspectName ## s)

◆ DART_BAKE_SPECIALIZED_NODE_SKEL_DECLARATIONS

#define DART_BAKE_SPECIALIZED_NODE_SKEL_DECLARATIONS (   AspectName)     DART_BAKE_SPECIALIZED_NODE_SKEL_IRREGULAR_DECLARATIONS( AspectName, AspectName, AspectName ## s )

◆ DART_BAKE_SPECIALIZED_NODE_SKEL_DEFINITIONS

#define DART_BAKE_SPECIALIZED_NODE_SKEL_DEFINITIONS (   ClassName,
  AspectName 
)     DART_BAKE_SPECIALIZED_NODE_SKEL_IRREGULAR_DEFINITIONS( ClassName, AspectName, AspectName, AspectName ## s )

◆ DART_BAKE_SPECIALIZED_NODE_SKEL_IRREGULAR

#define DART_BAKE_SPECIALIZED_NODE_SKEL_IRREGULAR (   TypeName,
  AspectName,
  PluralAspectName 
)
Value:
DART_BAKE_SPECIALIZED_NODE_IRREGULAR( TypeName, AspectName, PluralAspectName )\
inline std::size_t getNum ## PluralAspectName (std::size_t treeIndex) const\
{ return getNumNodes< TypeName >(treeIndex); }\
inline TypeName * get ## AspectName (std::size_t treeIndex, std::size_t nodeIndex)\
{ return getNode< TypeName >(treeIndex, nodeIndex); }\
inline const TypeName * get ## AspectName (std::size_t treeIndex, std::size_t nodeIndex) const\
{ return getNode< TypeName >(treeIndex, nodeIndex); }\
\
inline TypeName * get ## AspectName (const std::string& name)\
{ return getNode< TypeName >(name); }\
inline const TypeName * get ## AspectName (const std::string& name) const\
{ return getNode< TypeName >(name); }
#define DART_BAKE_SPECIALIZED_NODE_IRREGULAR(TypeName, AspectName, PluralAspectName)
Definition: BasicNodeManager.hpp:268
std::string * name
Definition: SkelParser.cpp:1642

◆ DART_BAKE_SPECIALIZED_NODE_SKEL_IRREGULAR_DECLARATIONS

#define DART_BAKE_SPECIALIZED_NODE_SKEL_IRREGULAR_DECLARATIONS (   TypeName,
  AspectName,
  PluralAspectName 
)
Value:
DART_BAKE_SPECIALIZED_NODE_IRREGULAR_DECLARATIONS( TypeName, AspectName, PluralAspectName )\
std::size_t getNum ## PluralAspectName (std::size_t treeIndex) const;\
TypeName * get ## AspectName (std::size_t treeIndex, std::size_t nodeIndex);\
const TypeName * get ## AspectName (std::size_t treeIndex, std::size_t nodeIndex) const;\
\
TypeName * get ## AspectName (const std::string& name);\
const TypeName * get ## AspectName (const std::string& name) const;
#define DART_BAKE_SPECIALIZED_NODE_IRREGULAR_DECLARATIONS(TypeName, AspectName, PluralAspectName)
Definition: BasicNodeManager.hpp:300

◆ DART_BAKE_SPECIALIZED_NODE_SKEL_IRREGULAR_DEFINITIONS

#define DART_BAKE_SPECIALIZED_NODE_SKEL_IRREGULAR_DEFINITIONS (   ClassName,
  TypeName,
  AspectName,
  PluralAspectName 
)
Value:
DART_BAKE_SPECIALIZED_NODE_IRREGULAR_DEFINITIONS( ClassName, TypeName, AspectName, PluralAspectName )\
std::size_t ClassName :: getNum ## PluralAspectName (std::size_t treeIndex) const\
{ return getNumNodes< TypeName >(treeIndex); }\
TypeName * ClassName :: get ## AspectName (std::size_t treeIndex, std::size_t nodeIndex)\
{ return getNode< TypeName >(treeIndex, nodeIndex); }\
const TypeName * ClassName :: get ## AspectName (std::size_t treeIndex, std::size_t nodeIndex) const\
{ return getNode< TypeName >(treeIndex, nodeIndex); }\
\
TypeName * ClassName :: get ## AspectName (const std::string& name)\
{ return getNode< TypeName >(name); }\
const TypeName * ClassName :: get ## AspectName (const std::string& name) const\
{ return getNode< TypeName >(name); }
#define DART_BAKE_SPECIALIZED_NODE_IRREGULAR_DEFINITIONS(ClassName, TypeName, AspectName, PluralAspectName)
Definition: BasicNodeManager.hpp:324