Choreonoid  1.8
PositionTagGroupItem.h
Go to the documentation of this file.
1 #ifndef CNOID_BASE_POSITION_TAG_GROUP_ITEM_H
2 #define CNOID_BASE_POSITION_TAG_GROUP_ITEM_H
3 
4 #include "Item.h"
5 #include "RenderableItem.h"
6 #include "LocatableItem.h"
7 #include <vector>
8 #include "exportdecl.h"
9 
10 namespace cnoid {
11 
12 class PositionTagGroup;
13 
14 class CNOID_EXPORT PositionTagGroupItem : public Item, public RenderableItem, public LocatableItem
15 {
16 public:
17  static void initializeClass(ExtensionManager* ext);
18 
21  virtual ~PositionTagGroupItem();
22 
23  virtual bool setName(const std::string& name) override;
24 
25  const PositionTagGroup* tagGroup() const;
26  PositionTagGroup* tagGroup();
27 
28  const Isometry3& parentFramePosition() const;
29  const Isometry3& originOffset() const;
30  void setOriginOffset(const Isometry3& T_offset, bool requestPreview = true);
31  Isometry3 originPosition() const;
32  SignalProxy<void()> sigOriginOffsetPreviewRequested();
33  SignalProxy<void()> sigOriginOffsetUpdated();
34  void notifyOriginOffsetUpdate(bool requestPreview = true);
35 
36  void clearTagSelection();
37  void setTagSelected(int tagIndex, bool on = true);
38  bool checkTagSelected(int tagIndex) const;
39  const std::vector<int>& selectedTagIndices() const;
40  void setSelectedTagIndices(const std::vector<int>& indices);
41  SignalProxy<void()> sigTagSelectionChanged();
42 
43  // RenderableItem function
44  virtual SgNode* getScene() override;
45 
46  // LocatableItem function
47  virtual LocationProxyPtr getLocationProxy() override;
48 
49  double tagMarkerSize() const;
50  void setTagMarkerSize(double s);
51 
52  bool originMarkerVisibility() const;
53  void setOriginMarkerVisibility(bool on);
54 
55  bool edgeVisibility() const;
56  void setEdgeVisiblility(bool on);
57 
58  float transparency() const;
59  void setTransparency(float t);
60 
61  virtual bool store(Archive& archive) override;
62  virtual bool restore(const Archive& archive) override;
63 
64  class Impl;
65 
66 protected:
67  virtual Item* doDuplicate() const override;
68  virtual void onConnectedToRoot() override;
69  virtual void onDisconnectedFromRoot() override;
70  virtual bool onNewPositionCheck(bool isManualOperation, std::function<void()>& out_callbackWhenAdded) override;
71  virtual void doPutProperties(PutPropertyFunction& putProperty) override;
72 
73 private:
74  Impl* impl;
75 };
76 
78 
79 }
80 
81 #endif
Item.h
cnoid::PositionTagGroupItemPtr
ref_ptr< PositionTagGroupItem > PositionTagGroupItemPtr
Definition: PositionTagGroupItem.h:77
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:23
cnoid::PositionTagGroupItem
Definition: PositionTagGroupItem.h:14
LocatableItem.h
cnoid::ref_ptr< LocationProxy >
RenderableItem.h
cnoid
Definition: AbstractSceneLoader.h:11
cnoid::Item
Definition: Item.h:29
cnoid::RenderableItem
Definition: RenderableItem.h:11
cnoid::PositionTagGroup
Definition: PositionTagGroup.h:18
cnoid::SignalProxy
Definition: Signal.h:470
cnoid::SgNode
Definition: SceneGraph.h:157
cnoid::LocatableItem
Definition: LocatableItem.h:62