7 #ifndef CNOID_BODY_LINK_TRAVERSE_H_INCLUDED
8 #define CNOID_BODY_LINK_TRAVERSE_H_INCLUDED
27 virtual void find(
Link* root,
bool doUpward =
false,
bool doDownward =
true);
37 inline size_t size()
const {
42 return (links.empty() ? 0 : links.front());
49 inline Link* operator[] (
int index)
const {
53 inline std::vector<Link*>::const_iterator
begin()
const {
57 inline std::vector<Link*>::const_iterator
end()
const {
67 return (index >= numUpwardConnections);
70 void calcForwardKinematics(
bool calcVelocity =
false,
bool calcAcceleration =
false)
const;
79 void traverse(
Link* link,
bool doUpward,
bool doDownward,
bool isUpward,
Link* prev);
Link * rootLink() const
Definition: LinkTraverse.h:41
bool empty() const
Definition: LinkTraverse.h:33
std::vector< Link * >::const_iterator end() const
Definition: LinkTraverse.h:57
int numLinks() const
Definition: LinkTraverse.h:29
bool isDownward(int index) const
Definition: LinkTraverse.h:66
std::vector< Link * > links
Definition: LinkTraverse.h:74
size_t size() const
Definition: LinkTraverse.h:37
int numUpwardConnections
Definition: LinkTraverse.h:75
Link * link(int index) const
Definition: LinkTraverse.h:45
std::vector< Link * >::const_iterator begin() const
Definition: LinkTraverse.h:53
Definition: LinkTraverse.h:18
CNOID_EXPORT std::ostream & operator<<(std::ostream &os, cnoid::LinkTraverse &traverse)
Definition: LinkTraverse.cpp:194
#define CNOID_EXPORT
Definition: Util/exportdecl.h:13