Choreonoid  1.8
MultiSE3Seq.h
Go to the documentation of this file.
1 
6 #ifndef CNOID_UTIL_MULTI_SE3_SEQ_H
7 #define CNOID_UTIL_MULTI_SE3_SEQ_H
8 
9 #include "MultiSeq.h"
10 #include "EigenTypes.h"
11 #include "NullOut.h"
12 #include "exportdecl.h"
13 
14 namespace cnoid {
15 
16 class Mapping;
17 class Listing;
18 class YAMLWriter;
19 
20 class CNOID_EXPORT MultiSE3Seq : public MultiSeq<SE3, Eigen::aligned_allocator<SE3>>
21 {
23 
24 public:
25  MultiSE3Seq();
26  MultiSE3Seq(int numFrames, int numParts = 1);
27  MultiSE3Seq(const MultiSE3Seq& org);
28  virtual ~MultiSE3Seq();
29 
30  using BaseSeqType::operator=;
31 
32  virtual std::shared_ptr<AbstractSeq> cloneSeq() const override;
33 
34  bool loadPlainMatrixFormat(const std::string& filename, std::ostream& os = nullout());
35  bool loadPlainRpyFormat(const std::string& filename, std::ostream& os = nullout());
36  bool saveTopPartAsPlainMatrixFormat(const std::string& filename, std::ostream& os = nullout());
37  bool saveTopPartAsPosAndRPYFormat(const std::string& filename, std::ostream& os = nullout());
38 
39 protected:
40  virtual SE3 defaultValue() const override;
41  virtual bool doReadSeq(const Mapping* archive, std::ostream& os) override;
42  virtual bool doWriteSeq(YAMLWriter& writer, std::function<void()> additionalPartCallback) override;
43 };
44 
45 #ifdef CNOID_BACKWARD_COMPATIBILITY
46 typedef std::shared_ptr<MultiSE3Seq> MultiSE3SeqPtr;
47 #endif
48 
49 }
50 
51 #endif
cnoid::Mapping
Definition: ValueTree.h:253
cnoid::YAMLWriter
Definition: YAMLWriter.h:16
cnoid::MultiSE3Seq
Definition: MultiSE3Seq.h:20
MultiSeq.h
cnoid::MultiSeq
Definition: MultiSeq.h:17
NullOut.h
cnoid::nullout
std::ostream & nullout()
Definition: NullOut.cpp:26
cnoid
Definition: AbstractSceneLoader.h:11
cnoid::SE3
Definition: EigenTypes.h:79
EigenTypes.h