6 #ifndef CNOID_UTIL_MULTI_SEQ_H 7 #define CNOID_UTIL_MULTI_SEQ_H 11 #include <Eigen/StdVector> 12 #include <boost/make_shared.hpp> 18 template <
typename ElementType,
typename Allocator = std::allocator<ElementType> >
27 typedef boost::shared_ptr< MultiSeqType >
Ptr;
28 typedef typename Container::Row
Frame;
29 typedef typename Container::Column
Part;
40 Container(numFrames, numParts) {
64 const MultiSeqType* rhsSeq =
dynamic_cast<const MultiSeqType*
>(&rhs);
73 return boost::make_shared<MultiSeqType>(*this);
82 virtual void setDimension(
int newNumFrames,
int newNumParts,
bool clearNewElements =
false) {
90 if(newNumParts == prevNumParts){
91 if(newNumFrames > prevNumFrames){
120 virtual void setNumParts(
int newNumParts,
bool clearNewElements =
false) {
132 virtual void setNumFrames(
int newNumFrames,
bool clearNewElements =
false) {
173 const Part
part(
int index)
const {
185 const Frame
frame(
int index)
const {
double frameRate() const
Definition: MultiSeq.h:108
virtual AbstractSeq & operator=(const AbstractSeq &rhs)
Definition: MultiSeq.h:63
const std::string & seqType() const
Definition: AbstractSeq.h:38
double timeOfFrame(int frame) const
Definition: MultiSeq.h:169
virtual ~MultiSeq()
Definition: MultiSeq.h:52
Container::Element Element
Definition: MultiSeq.h:26
MultiSeq(const char *seqType, int numFrames, int numParts)
Definition: MultiSeq.h:38
int numParts() const
Definition: MultiSeq.h:145
MultiSeq(const MultiSeqType &org)
Definition: MultiSeq.h:45
MultiSeqType & operator=(const MultiSeqType &rhs)
Definition: MultiSeq.h:54
virtual void setNumFrames(int newNumFrames, bool clearNewElements=false)
Definition: MultiSeq.h:132
AbstractMultiSeq & operator=(const AbstractMultiSeq &rhs)
Definition: AbstractSeq.cpp:156
virtual AbstractSeqPtr cloneSeq() const
Definition: MultiSeq.h:72
static const double defaultFrameRate()
Definition: AbstractSeq.h:96
void pop_front()
Definition: Deque2D.h:635
int clampFrameIndex(int frameIndex)
Definition: MultiSeq.h:198
virtual ElementType defaultValue() const
Definition: MultiSeq.h:212
Definition: AbstractSeq.h:118
iterator end()
Definition: Deque2D.h:143
void copySeqProperties(const MultiSeqType &source)
Definition: MultiSeq.h:76
void copySeqProperties(const AbstractMultiSeq &source)
Definition: AbstractSeq.cpp:163
boost::shared_ptr< AbstractSeq > AbstractSeqPtr
Definition: AbstractSeq.h:19
virtual int getNumFrames() const
Definition: MultiSeq.h:124
virtual void setNumParts(int newNumParts, bool clearNewElements=false)
Definition: MultiSeq.h:120
Container::Row Frame
Definition: MultiSeq.h:28
void clearFrames()
Definition: MultiSeq.h:136
virtual double getFrameRate() const
Definition: MultiSeq.h:104
virtual int getOffsetTimeFrame() const
Definition: MultiSeq.h:161
double frameRate_
Definition: MultiSeq.h:209
int numFrames() const
Definition: MultiSeq.h:128
MultiSeq(const char *seqType)
Definition: MultiSeq.h:31
virtual int getNumParts() const
Definition: MultiSeq.h:141
int offsetTimeFrame() const
Definition: MultiSeq.h:157
Part part(int index)
Definition: MultiSeq.h:177
void resize(int newRowSize, int newColSize)
Definition: Deque2D.h:522
Definition: AbstractSeq.h:23
Frame appendFrame()
Definition: MultiSeq.h:194
Defines the minimum processing for performing pasing file for STL.
Definition: AbstractSceneLoader.h:9
void setOffsetTimeFrame(int frameOffset)
Definition: MultiSeq.h:153
double timeLength() const
Definition: MultiSeq.h:149
Definition: MultiSeq.h:19
Row row(int rowIndex)
Definition: Deque2D.h:573
Container::Column Part
Definition: MultiSeq.h:29
int offsetTimeFrame_
Definition: MultiSeq.h:210
virtual void setFrameRate(double frameRate)
Definition: MultiSeq.h:112
int colSize() const
Definition: Deque2D.h:541
iterator begin()
Definition: Deque2D.h:135
int rowSize() const
Definition: Deque2D.h:530
const Frame frame(int index) const
Definition: MultiSeq.h:185
virtual void setDimension(int newNumFrames, int newNumParts, bool clearNewElements=false)
Definition: MultiSeq.h:82
const double timeStep() const
Definition: MultiSeq.h:116
Column column(int colIndex)
Definition: Deque2D.h:589
const Part part(int index) const
Definition: MultiSeq.h:173
Frame frame(int index)
Definition: MultiSeq.h:181
virtual AbstractSeq & operator=(const AbstractSeq &rhs)
Definition: AbstractSeq.cpp:30
Deque2DType & operator=(const Deque2DType &rhs)
Definition: Deque2D.h:339
Affine3 Element
Definition: Deque2D.h:21
int frameOfTime(double time) const
Definition: MultiSeq.h:165
void popFrontFrame()
Definition: MultiSeq.h:189
boost::shared_ptr< MultiSeqType > Ptr
Definition: MultiSeq.h:27
Deque2D< ElementType, Allocator > Container
Definition: MultiSeq.h:24
Row append()
Definition: Deque2D.h:597