Choreonoid  1.8
BodyMarkerItem.h
Go to the documentation of this file.
1 
6 #ifndef CNOID_BODY_PLUGIN_BODY_MARKER_ITEM_H
7 #define CNOID_BODY_PLUGIN_BODY_MARKER_ITEM_H
8 
9 #include <cnoid/Item>
10 #include <cnoid/RenderableItem>
11 #include <cnoid/EigenTypes>
12 #include "exportdecl.h"
13 
14 namespace cnoid {
15 
16 class BodyMarkerItemImpl;
17 
18 class CNOID_EXPORT BodyMarkerItem : public Item, public RenderableItem
19 {
20 public:
21  static void initializeClass(ExtensionManager* ext);
22 
24  BodyMarkerItem(const BodyMarkerItem& org);
25  virtual ~BodyMarkerItem();
26 
27  virtual bool setName(const std::string& name) override;
28 
29  // RenderableItem
30  virtual SgNode* getScene() override;
31 
32  bool setTargetLink(const std::string& name);
33  bool setTargetNode(const std::string& name);
34  void setOffsetPosition(const Isometry3& T);
35 
36  enum MarkerType {
40  N_MARKER_TYPES
41  };
42 
43  int markerType() const;
44  void setMarkerType(int type);
45  double markerSize() const;
46  void setMarkerSize(double size);
47  const Vector3f& markerColor() const;
48  void setMarkerColor(const Vector3f& color);
49 
50 protected:
51  virtual Item* doDuplicate() const override;
52  virtual void onTreePathChanged() override;
53  virtual void doPutProperties(PutPropertyFunction& putProperty) override;
54  virtual bool store(Archive& archive) override;
55  virtual bool restore(const Archive& archive) override;
56 
57 private:
58  BodyMarkerItemImpl* impl;
59 };
60 
61 }
62 
63 #endif
cnoid::BodyMarkerItem::CROSS_MARKER
@ CROSS_MARKER
Definition: BodyMarkerItem.h:37
cnoid::ExtensionManager
Definition: ExtensionManager.h:23
cnoid::PutPropertyFunction
Definition: PutPropertyFunction.h:51
cnoid::Isometry3
Eigen::Isometry3d Isometry3
Definition: EigenTypes.h:73
cnoid::Archive
Definition: Archive.h:22
cnoid::BodyMarkerItem::MarkerType
MarkerType
Definition: BodyMarkerItem.h:36
cnoid::BodyMarkerItem
Definition: BodyMarkerItem.h:18
cnoid
Definition: AbstractSceneLoader.h:11
cnoid::Item
Definition: Item.h:29
cnoid::RenderableItem
Definition: RenderableItem.h:11
cnoid::BodyMarkerItem::AXES_MARKER
@ AXES_MARKER
Definition: BodyMarkerItem.h:39
cnoid::BodyMarkerItem::SPHERE_MARKER
@ SPHERE_MARKER
Definition: BodyMarkerItem.h:38
cnoid::SgNode
Definition: SceneGraph.h:157