Choreonoid  1.8
BodySuperimposerAddon.h
Go to the documentation of this file.
1 #ifndef CNOID_BODY_PLUGIN_BODY_SUPERIMPOSER_ADDON_H
2 #define CNOID_BODY_PLUGIN_BODY_SUPERIMPOSER_ADDON_H
3 
4 #include <cnoid/ItemAddon>
5 #include "exportdecl.h"
6 
7 namespace cnoid {
8 
9 class Body;
10 
11 class CNOID_EXPORT BodySuperimposerAddon : public ItemAddon
12 {
13 public:
14  static void initializeClass(ExtensionManager* ext);
15 
17  BodySuperimposerAddon(const BodySuperimposerAddon& org) = delete;
18  virtual ~BodySuperimposerAddon();
19 
20  virtual bool setOwnerItem(Item* item) override;
21 
22  int numSuperimposedBodies() const;
23  Body* superimposedBody(int index);
24  void setTransparency(float transparency);
25  void updateSuperimposition();
26  bool updateSuperimposition(
27  std::function<bool()> setReferenceConfigurationToOrgBodiesTransiently);
28  void clearSuperimposition();
29 
30 
31 protected:
32  virtual bool store(Archive& archive) override;
33  virtual bool restore(const Archive& archive) override;
34 
35 private:
36  class Impl;
37  Impl* impl;
38 };
39 
41 
42 }
43 
44 #endif
cnoid::ExtensionManager
Definition: ExtensionManager.h:23
cnoid::Archive
Definition: Archive.h:22
cnoid::ItemAddon
Definition: ItemAddon.h:13
cnoid::ref_ptr
Definition: Referenced.h:103
cnoid
Definition: AbstractSceneLoader.h:11
cnoid::Item
Definition: Item.h:29
cnoid::BodySuperimposerAddon
Definition: BodySuperimposerAddon.h:11
cnoid::Body
Definition: Body.h:28
cnoid::BodySuperimposerAddonPtr
ref_ptr< BodySuperimposerAddon > BodySuperimposerAddonPtr
Definition: BodySuperimposerAddon.h:40