6 #ifndef CNOID_BODY_BODY_MOTION_H_INCLUDED
7 #define CNOID_BODY_BODY_MOTION_H_INCLUDED
9 #include <cnoid/MultiValueSeq>
10 #include <cnoid/MultiAffine3Seq>
11 #include <cnoid/Vector3Seq>
22 virtual void setDimension(
int numFrames,
int numJoints,
bool clearNewArea =
false);
24 void setDimension(
int numFrames,
int numJoints,
int numLinks,
bool clearNewArea =
false);
26 virtual void setNumParts(
int numParts,
bool clearNewElements =
false);
27 virtual int getNumParts()
const;
29 inline int numJoints()
const {
return jointPosSeq_->numParts(); }
30 inline int numLinks()
const {
return linkPosSeq_->numParts(); }
32 inline double frameRate()
const {
return jointPosSeq_->frameRate(); }
33 virtual double getFrameRate()
const;
34 virtual void setFrameRate(
double frameRate);
37 return std::max(jointPosSeq_->numFrames(), linkPosSeq_->numFrames());
39 virtual int getNumFrames()
const;
40 virtual void setNumFrames(
int n,
bool clearNewArea =
false);
64 Frame(
const BodyMotion& motion,
int frame) : motion_(motion), frame_(frame) { }
66 Frame(
const Frame& org) : motion_(org.motion_), frame_(org.frame_) { }
69 inline int frame()
const {
return frame_; }
80 bool loadStandardYamlFormat(
const std::string& filename);
81 bool saveAsStandardYamlFormat(
const std::string& filename);
bool hasRelativeZmpSeq()
Definition: BodyMotion.h:58
const MultiValueSeqPtr & jointPosSeq() const
Definition: BodyMotion.h:46
Definition: YamlWriter.h:18
BodyMotion::Frame & operator<<(const BodyMotion::Frame &frame, const Body &body)
Definition: BodyMotion.cpp:240
MultiAffine3SeqPtr & linkPosSeq()
Definition: BodyMotion.h:50
CNOID_EXPORT EasyScanner & operator>>(EasyScanner &scanner, double &value)
Definition: EasyScanner.cpp:731
double frameRate() const
Definition: BodyMotion.h:32
bool read(const YamlMapping &mapping, const std::string &key, Eigen::MatrixBase< Derived > &x)
Definition: EigenYaml.h:14
int numLinks() const
Definition: BodyMotion.h:30
MultiValueSeq::Ptr MultiValueSeqPtr
Definition: MultiValueSeq.h:33
int numFrames() const
Definition: BodyMotion.h:36
boost::shared_ptr< BodyMotion > BodyMotionPtr
Definition: BodyMotion.h:90
YamlSequence & write(YamlMapping &mapping, const std::string &key, const Eigen::MatrixBase< Derived > &x)
Definition: EigenYaml.h:46
const BodyMotion & motion() const
Definition: BodyMotion.h:68
const Frame frame(int frame) const
Definition: BodyMotion.h:75
boost::shared_ptr< Vector3Seq > Vector3SeqPtr
Definition: Vector3Seq.h:34
Definition: BodyMotion.h:16
int numJoints() const
Definition: BodyMotion.h:29
Definition: EasyScanner.h:16
MultiAffine3Seq::Ptr MultiAffine3SeqPtr
Definition: MultiAffine3Seq.h:40
Frame(const Frame &org)
Definition: BodyMotion.h:66
Frame frame(int frame)
Definition: BodyMotion.h:74
Definition: YamlNodes.h:212
BodyMotion & motion()
Definition: BodyMotion.h:67
int frame() const
Definition: BodyMotion.h:69
Definition: BodyMotion.h:61
const MultiAffine3SeqPtr & linkPosSeq() const
Definition: BodyMotion.h:54
#define CNOID_EXPORT
Definition: Util/exportdecl.h:13
MultiValueSeqPtr & jointPosSeq()
Definition: BodyMotion.h:42