Choreonoid  1.8
CoordinateFrameItem.h
Go to the documentation of this file.
1 #ifndef CNOID_BASE_COORDINATE_FRAME_ITEM_H
2 #define CNOID_BASE_COORDINATE_FRAME_ITEM_H
3 
4 #include "Item.h"
5 #include "LocatableItem.h"
6 #include <cnoid/GeneralId>
7 #include "exportdecl.h"
8 
9 namespace cnoid {
10 
11 class CoordinateFrame;
12 class CoordinateFrameList;
13 class CoordinateFrameListItem;
14 
18 class CNOID_EXPORT CoordinateFrameItem : public Item, public LocatableItem
19 {
20 public:
21  static void initializeClass(ExtensionManager* ext);
22 
26  virtual ~CoordinateFrameItem();
27 
28  virtual std::string displayName() const override;
29 
30  CoordinateFrameListItem* frameListItem();
31  CoordinateFrameList* frameList();
32  const CoordinateFrameList* frameList() const;
33  CoordinateFrame* frame();
34  const CoordinateFrame* frame() const;
35 
39  bool resetFrameId(const GeneralId& id);
40 
41  bool isBaseFrame() const;
42  bool isOffsetFrame() const;
43 
44  void setVisibilityCheck(bool on);
45 
46  void putFrameAttributes(PutPropertyFunction& putProperty);
47 
48  virtual bool store(Archive& archive) override;
49  virtual bool restore(const Archive& archive) override;
50 
51  // LocatableItem function
52  virtual LocationProxyPtr getLocationProxy() override;
53 
54  bool isLocationEditable() const;
55  void setLocationEditable(bool on);
56 
57  class Impl;
58 
59 protected:
60  virtual Item* doDuplicate() const override;
61  virtual void onAddedToParent() override;
62  virtual void onRemovedFromParent(Item* parentItem, bool isParentBeingDeleted) override;
63  virtual void doPutProperties(PutPropertyFunction& putProperty) override;
64 
65 private:
66  Impl* impl;
67 };
68 
70 
71 }
72 
73 #endif
cnoid::GeneralId
Definition: GeneralId.h:11
Item.h
cnoid::ExtensionManager
Definition: ExtensionManager.h:23
cnoid::PutPropertyFunction
Definition: PutPropertyFunction.h:51
cnoid::Archive
Definition: Archive.h:22
cnoid::CoordinateFrameItem
Definition: CoordinateFrameItem.h:18
LocatableItem.h
cnoid::ref_ptr< LocationProxy >
cnoid::CoordinateFrame
Definition: CoordinateFrame.h:16
cnoid::CoordinateFrameItemPtr
ref_ptr< CoordinateFrameItem > CoordinateFrameItemPtr
Definition: CoordinateFrameItem.h:69
cnoid
Definition: AbstractSceneLoader.h:11
cnoid::Item
Definition: Item.h:29
cnoid::CoordinateFrameList
Definition: CoordinateFrameList.h:12
cnoid::CoordinateFrameListItem
Definition: CoordinateFrameListItem.h:19
cnoid::LocatableItem
Definition: LocatableItem.h:62