Choreonoid  1.5
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 "exportdecl.h"
12 
13 namespace cnoid {
14 
15 class Mapping;
16 class Listing;
17 class YAMLWriter;
18 
19 class CNOID_EXPORT MultiSE3Seq : public MultiSeq<SE3, Eigen::aligned_allocator<SE3> >
20 {
22 
23 public:
24  typedef boost::shared_ptr<MultiSE3Seq> Ptr;
25 
26  MultiSE3Seq();
27  MultiSE3Seq(int numFrames, int numParts = 1);
28  MultiSE3Seq(const MultiSE3Seq& org);
29  virtual ~MultiSE3Seq();
30 
31  virtual AbstractSeqPtr cloneSeq() const;
32 
33  //virtual bool loadPlainFormat(const std::string& filename);
34 
35  bool loadPlainMatrixFormat(const std::string& filename);
36  bool loadPlainRpyFormat(const std::string& filename);
37  bool saveTopPartAsPlainMatrixFormat(const std::string& filename);
38 
39 protected:
40  virtual SE3 defaultValue() const { return SE3(Vector3::Zero(), Quat::Identity()); }
41 
42  virtual bool doWriteSeq(YAMLWriter& writer);
43  virtual bool doReadSeq(const Mapping& archive);
44 
45 private:
46  void readPosQuatSeq(int nParts, int nFrames, const Listing& values, bool isWfirst);
47  void readPosRpySeq(int nParts, int nFrames, const Listing& values);
48 };
49 
51 }
52 
53 #endif
Definition: MultiSE3Seq.h:19
Definition: ValueTree.h:224
Definition: YAMLWriter.h:18
boost::shared_ptr< AbstractSeq > AbstractSeqPtr
Definition: AbstractSeq.h:19
MultiSE3Seq::Ptr MultiSE3SeqPtr
Definition: MultiSE3Seq.h:50
Definition: ValueTree.h:424
Definition: EigenTypes.h:80
Defines the minimum processing for performing pasing file for STL.
Definition: AbstractSceneLoader.h:9
Definition: MultiSeq.h:19
#define CNOID_EXPORT
Definition: Util/exportdecl.h:37
virtual SE3 defaultValue() const
Definition: MultiSE3Seq.h:40
boost::shared_ptr< MultiSE3Seq > Ptr
Definition: MultiSE3Seq.h:24