DART  6.10.1
BodyNode.cpp File Reference
#include "dart/dynamics/BodyNode.hpp"
#include <algorithm>
#include <string>
#include <vector>
#include "dart/common/Console.hpp"
#include "dart/common/StlHelpers.hpp"
#include "dart/dynamics/Chain.hpp"
#include "dart/dynamics/EndEffector.hpp"
#include "dart/dynamics/Joint.hpp"
#include "dart/dynamics/Marker.hpp"
#include "dart/dynamics/Shape.hpp"
#include "dart/dynamics/Skeleton.hpp"
#include "dart/dynamics/SoftBodyNode.hpp"
#include "dart/math/Helpers.hpp"

Namespaces

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

Macros

#define SKEL_SET_FLAGS(X)
 SKEL_SET_FLAGS : Lock a Skeleton pointer and activate dirty flags of X for the tree that this BodyNode belongs to, as well as the flag for the Skeleton overall. More...
 
#define SET_FLAGS(X)
 SET_FLAGS : A version of SKEL_SET_FLAGS that assumes a SkeletonPtr named 'skel' has already been locked. More...
 
#define CHECK_FLAG(X)   skel->mTreeCache[mTreeIndex].mDirty.X
 CHECK_FLAG : Check if the dirty flag X for the tree of this BodyNode is active. More...
 

Typedefs

typedef std::set< Entity * > dart::dynamics::EntityPtrSet
 

Functions

template<class DataType , std::unique_ptr< DataType >(Node::*)() const getData, typename VectorType = common::CloneableVector<std::unique_ptr<DataType> >, typename DataMap = std::map<std::type_index, std::unique_ptr<VectorType> >>
static void dart::dynamics::extractDataFromNodeTypeMap (DataMap &dataMap, const BodyNode::NodeMap &nodeMap)
 
template<class DataType , void(Node::*)(const DataType &) setData, typename VectorType = common::CloneableVector<std::unique_ptr<DataType> >, typename DataMap = std::map<std::type_index, std::unique_ptr<VectorType> >>
static void dart::dynamics::setNodesFromDataTypeMap (BodyNode::NodeMap &nodeMap, const DataMap &dataMap)
 
void dart::dynamics::detail::setAllNodeStates (BodyNode *bodyNode, const AllNodeStates &states)
 
AllNodeStates dart::dynamics::detail::getAllNodeStates (const BodyNode *bodyNode)
 
void dart::dynamics::detail::setAllNodeProperties (BodyNode *bodyNode, const AllNodeProperties &properties)
 
AllNodeProperties dart::dynamics::detail::getAllNodeProperties (const BodyNode *bodyNode)
 
void dart::dynamics::checkMass (const BodyNode &bodyNode, const double mass)
 
static bool dart::dynamics::checkSkeletonNodeAgreement (const BodyNode *_bodyNode, const ConstSkeletonPtr &_newSkeleton, const BodyNode *_newParent, const std::string &_function, const std::string &_operation)
 

Macro Definition Documentation

◆ CHECK_FLAG

#define CHECK_FLAG (   X)    skel->mTreeCache[mTreeIndex].mDirty.X

CHECK_FLAG : Check if the dirty flag X for the tree of this BodyNode is active.

◆ SET_FLAGS

#define SET_FLAGS (   X)
Value:
skel->mTreeCache[mTreeIndex].mDirty.X = true; \
skel->mSkelCache.mDirty.X = true;

SET_FLAGS : A version of SKEL_SET_FLAGS that assumes a SkeletonPtr named 'skel' has already been locked.

◆ SKEL_SET_FLAGS

#define SKEL_SET_FLAGS (   X)
Value:
{ \
SkeletonPtr skel = getSkeleton(); \
if (skel) \
{ \
skel->mTreeCache[mTreeIndex].mDirty.X = true; \
skel->mSkelCache.mDirty.X = true; \
} \
}

SKEL_SET_FLAGS : Lock a Skeleton pointer and activate dirty flags of X for the tree that this BodyNode belongs to, as well as the flag for the Skeleton overall.