6 #ifndef CNOID_UTIL_SEQ_BASE_H_INCLUDED
7 #define CNOID_UTIL_SEQ_BASE_H_INCLUDED
10 #include <boost/shared_ptr.hpp>
18 static const double DEFAULT_FRAME_RATE = 100.0;
28 inline const std::string&
seqType()
const {
32 virtual double getFrameRate()
const = 0;
33 virtual void setFrameRate(
double frameRate) = 0;
36 return 1.0 / getFrameRate();
40 return setFrameRate(1.0 / timeStep);
43 virtual int getNumFrames()
const = 0;
44 virtual void setNumFrames(
int n,
bool clearNewElements =
false) = 0;
46 inline void setTimeLength(
double length,
bool clearNewElements =
false){
47 return setNumFrames(static_cast<int>(length * getFrameRate()), clearNewElements);
58 return getNumFrames() / getFrameRate();
73 return ioErrorMessage_;
78 ioErrorMessage_ = message;
82 const std::string seqType_;
84 std::string ioErrorMessage_;
99 virtual void setDimension(
int numFrames,
int numParts,
bool claerNewElements =
false) = 0;
101 virtual void setNumParts(
int numParts,
bool clearNewElements =
false) = 0;
102 virtual int getNumParts()
const = 0;
Definition: YamlWriter.h:18
double getTimeLength() const
Definition: SeqBase.h:57
bool read(const YamlMapping &mapping, const std::string &key, Eigen::MatrixBase< Derived > &x)
Definition: EigenYaml.h:14
const std::string & ioErrorMessage() const
Definition: SeqBase.h:72
void setIoErrorMessage(const std::string &message)
Definition: SeqBase.h:77
const std::string & seqType() const
Definition: SeqBase.h:28
boost::shared_ptr< SeqBase > SeqBasePtr
Definition: SeqBase.h:87
YamlSequence & write(YamlMapping &mapping, const std::string &key, const Eigen::MatrixBase< Derived > &x)
Definition: EigenYaml.h:46
MultiSeqBase(const char *seqType)
Definition: SeqBase.h:93
void setTimeStep(double timeStep)
Definition: SeqBase.h:39
void setTimeLength(double length, bool clearNewElements=false)
Definition: SeqBase.h:46
virtual ~MultiSeqBase()
Definition: SeqBase.h:97
Definition: YamlNodes.h:212
MultiSeqBase(const SeqBase &org)
Definition: SeqBase.h:95
double getTimeStep() const
Definition: SeqBase.h:35
virtual void setPurpose(const std::string &purpose)
Definition: SeqBase.h:65
boost::shared_ptr< MultiSeqBase > MultiSeqBasePtr
Definition: SeqBase.h:108
#define CNOID_EXPORT
Definition: Util/exportdecl.h:13
const std::string & purpose()
Definition: SeqBase.h:61