3
@author Shin'ichiro Nakaoka
6
#include "Vector3SeqItem.h"
7
#include "ItemManager.h"
11
using namespace cnoid;
13
void Vector3SeqItem::initialize(ExtensionManager* ext)
15
ext->itemManager().registerClass<Vector3SeqItem>(N_("Vector3SeqItem"));
19
Vector3SeqItem::Vector3SeqItem()
20
: seq_(new Vector3Seq())
26
Vector3SeqItem::Vector3SeqItem(Vector3SeqPtr seq)
32
Vector3SeqItem::Vector3SeqItem(const Vector3SeqItem& org)
34
seq_(new Vector3Seq(*org.seq_))
40
Vector3SeqItem::~Vector3SeqItem()
46
bool Vector3SeqItem::loadPlainFormat(const std::string& filename)
48
bool loaded = seq_->loadPlainFormat(filename);
54
bool Vector3SeqItem::saveAsPlainFormat(const std::string& filename)
56
return seq_->saveAsPlainFormat(filename);
60
ItemPtr Vector3SeqItem::doDuplicate() const
62
return new Vector3SeqItem(*this);
66
void Vector3SeqItem::notifyUpdate()
68
setInconsistencyWithLastAccessedFile();
73
bool Vector3SeqItem::store(Archive& archive)
76
archive.writeRelocatablePath("filename", lastAccessedFileName());
77
archive.write("format", lastAccessedFileFormatId());
84
bool Vector3SeqItem::restore(const Archive& archive)
86
std::string filename, formatId;
87
if(archive.readRelocatablePath("filename", filename) && archive.read("format", formatId)){
88
if(load(filename, formatId)){
96
void Vector3SeqItem::doPutProperties(PutPropertyFunction& putProperty)
98
putProperty(_("Frame rate"), seq_->frameRate());
99
putProperty(_("Number of frames"), seq_->numFrames());
100
putProperty(_("Time length"), seq_->numFrames() / seq_->frameRate());
101
putProperty(_("Time step"), 1.0 / seq_->frameRate());