DART  6.10.1
BasicNodeManager.hpp File Reference
#include <map>
#include <typeindex>
#include <unordered_set>
#include "dart/common/ClassWithVirtualBase.hpp"
#include "dart/common/Empty.hpp"
#include "dart/common/NameManager.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)
 
#define DART_BAKE_SPECIALIZED_NODE_IRREGULAR_DECLARATIONS( TypeName, AspectName, PluralAspectName)
 
#define DART_BAKE_SPECIALIZED_NODE_DECLARATIONS(AspectName)
 
#define DART_BAKE_SPECIALIZED_NODE_SKEL_IRREGULAR_DECLARATIONS( TypeName, AspectName, PluralAspectName)
 
#define DART_BAKE_SPECIALIZED_NODE_SKEL_DECLARATIONS(AspectName)
 
#define DART_BAKE_SPECIALIZED_NODE_IRREGULAR_DEFINITIONS( ClassName, TypeName, AspectName, PluralAspectName)
 
#define DART_BAKE_SPECIALIZED_NODE_DEFINITIONS(ClassName, AspectName)
 
#define DART_BAKE_SPECIALIZED_NODE_SKEL_IRREGULAR_DEFINITIONS( ClassName, TypeName, AspectName, PluralAspectName)
 
#define DART_BAKE_SPECIALIZED_NODE_SKEL_DEFINITIONS(ClassName, AspectName)
 

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)
Value:
AspectName, AspectName, AspectName##s)
#define DART_BAKE_SPECIALIZED_NODE_IRREGULAR_DECLARATIONS( TypeName, AspectName, PluralAspectName)
Definition: BasicNodeManager.hpp:324

◆ DART_BAKE_SPECIALIZED_NODE_DEFINITIONS

#define DART_BAKE_SPECIALIZED_NODE_DEFINITIONS (   ClassName,
  AspectName 
)
Value:
ClassName, AspectName, AspectName, AspectName##s)
#define DART_BAKE_SPECIALIZED_NODE_IRREGULAR_DEFINITIONS( ClassName, TypeName, AspectName, PluralAspectName)
Definition: BasicNodeManager.hpp:354

◆ 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:1672

◆ 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)
Value:
AspectName, AspectName, AspectName##s)
#define DART_BAKE_SPECIALIZED_NODE_SKEL_IRREGULAR( TypeName, AspectName, PluralAspectName)
Definition: BasicNodeManager.hpp:291

◆ DART_BAKE_SPECIALIZED_NODE_SKEL_DECLARATIONS

#define DART_BAKE_SPECIALIZED_NODE_SKEL_DECLARATIONS (   AspectName)
Value:
AspectName, AspectName, AspectName##s)
#define DART_BAKE_SPECIALIZED_NODE_SKEL_IRREGULAR_DECLARATIONS( TypeName, AspectName, PluralAspectName)
Definition: BasicNodeManager.hpp:336

◆ DART_BAKE_SPECIALIZED_NODE_SKEL_DEFINITIONS

#define DART_BAKE_SPECIALIZED_NODE_SKEL_DEFINITIONS (   ClassName,
  AspectName 
)
Value:
ClassName, AspectName, AspectName, AspectName##s)
#define DART_BAKE_SPECIALIZED_NODE_SKEL_IRREGULAR_DEFINITIONS( ClassName, TypeName, AspectName, PluralAspectName)
Definition: BasicNodeManager.hpp:375

◆ 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:271
std::string * name
Definition: SkelParser.cpp:1697

◆ DART_BAKE_SPECIALIZED_NODE_SKEL_IRREGULAR_DECLARATIONS

#define DART_BAKE_SPECIALIZED_NODE_SKEL_IRREGULAR_DECLARATIONS (   TypeName,
  AspectName,
  PluralAspectName 
)
Value:
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;

◆ DART_BAKE_SPECIALIZED_NODE_SKEL_IRREGULAR_DEFINITIONS

#define DART_BAKE_SPECIALIZED_NODE_SKEL_IRREGULAR_DEFINITIONS (   ClassName,
  TypeName,
  AspectName,
  PluralAspectName 
)
Value:
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); \
}