Choreonoid  1.8
AbstractSeqItem.h
Go to the documentation of this file.
1 
6 #ifndef CNOID_BASE_ABSTRACT_SEQ_ITEM_H
7 #define CNOID_BASE_ABSTRACT_SEQ_ITEM_H
8 
9 #include "Item.h"
10 #include <cnoid/AbstractSeq>
11 #include "exportdecl.h"
12 
13 namespace cnoid {
14 
15 class CNOID_EXPORT AbstractSeqItem : public Item
16 {
17 public:
18  static void initializeClass(ExtensionManager* ext);
19 
21  AbstractSeqItem(const AbstractSeqItem& org);
22  virtual ~AbstractSeqItem();
23 
24  virtual std::shared_ptr<AbstractSeq> abstractSeq() = 0;
25 
26 protected:
27  virtual void doPutProperties(PutPropertyFunction& putProperty) override;
28  virtual bool store(Archive& archive) override;
29  virtual bool restore(const Archive& archive) override;
30 };
31 
33 
34 
35 class CNOID_EXPORT AbstractMultiSeqItem : public AbstractSeqItem
36 {
37 public:
38  static void initializeClass(ExtensionManager* ext);
39 
42  virtual ~AbstractMultiSeqItem();
43 
44  virtual std::shared_ptr<AbstractSeq> abstractSeq() override;
45  virtual std::shared_ptr<AbstractMultiSeq> abstractMultiSeq() = 0;
46 
47 protected:
48  virtual void doPutProperties(PutPropertyFunction& putProperty) override;
49 };
50 
52 
53 }
54 
55 #endif
Item.h
cnoid::ExtensionManager
Definition: ExtensionManager.h:23
cnoid::PutPropertyFunction
Definition: PutPropertyFunction.h:51
cnoid::Archive
Definition: Archive.h:22
cnoid::AbstractSeqItemPtr
ref_ptr< AbstractSeqItem > AbstractSeqItemPtr
Definition: AbstractSeqItem.h:32
cnoid::ref_ptr
Definition: Referenced.h:103
cnoid
Definition: AbstractSceneLoader.h:11
cnoid::AbstractMultiSeqItemPtr
ref_ptr< AbstractMultiSeqItem > AbstractMultiSeqItemPtr
Definition: AbstractSeqItem.h:51
cnoid::Item
Definition: Item.h:29
cnoid::AbstractSeqItem
Definition: AbstractSeqItem.h:15
cnoid::AbstractMultiSeqItem
Definition: AbstractSeqItem.h:35