17 #ifndef HRPMODEL_LINK_TRAVERSE_H_INCLUDED 18 #define HRPMODEL_LINK_TRAVERSE_H_INCLUDED 38 virtual void find(
Link* root,
bool doUpward =
false,
bool doDownward =
true);
48 inline size_t size()
const {
53 return (links.empty() ? 0 : links.front());
60 inline Link* operator[] (
int index)
const {
64 inline std::vector<Link*>::const_iterator
begin()
const {
68 inline std::vector<Link*>::const_iterator
end()
const {
78 return (index >= numUpwardConnections);
81 void calcForwardKinematics(
bool calcVelocity =
false,
bool calcAcceleration =
false)
const;
83 double calcTotalMass();
97 void traverse(
Link* link,
bool doUpward,
bool doDownward,
bool isUpward,
Link* prev);
bool isDownward(int index) const
std::vector< Link * >::const_iterator end() const
std::vector< Link * >::const_iterator begin() const
Link * link(int index) const
HRPMODEL_API std::ostream & operator<<(std::ostream &os, hrp::LinkTraverse &traverse)
unsigned int numLinks() const
CORBA::Long find(const CorbaSequence &seq, Functor f)
std::vector< Link * > links