Choreonoid  1.5
EditableSceneBody.h
Go to the documentation of this file.
1 
5 #ifndef CNOID_BODYPLUGIN_EDITABLE_SCENE_BODY_H
6 #define CNOID_BODYPLUGIN_EDITABLE_SCENE_BODY_H
7 
8 #include <cnoid/SceneWidgetEditable>
9 #include <cnoid/SceneBody>
10 #include <boost/dynamic_bitset.hpp>
11 #include "exportdecl.h"
12 
13 namespace cnoid {
14 
15 class ExtensionManager;
16 
17 class BodyItem;
18 typedef ref_ptr<BodyItem> BodyItemPtr;
19 
20 class EditableSceneLinkImpl;
21 
23 {
24 public:
26 
27  EditableSceneLink(Link* link);
29 
30  void showBoundingBox(bool on);
31  void showMarker(const Vector3f& color, float transparency);
32  void hideMarker();
33  void setColliding(bool on);
34 
35 private:
36  EditableSceneLinkImpl* impl;
37 
38 };
40 
41 
42 class EditableSceneBodyImpl;
43 
45 {
46 public:
48 
49  static void initializeClass(ExtensionManager* ext);
50 
51  EditableSceneBody(BodyItemPtr bodyItem);
52 
53  EditableSceneLink* editableSceneLink(int index);
54  const boost::dynamic_bitset<>& linkVisibilities() const;
55  void setLinkVisibilities(const boost::dynamic_bitset<>& visibilities);
56 
57  virtual void updateModel();
58 
59  virtual bool onKeyPressEvent(const SceneWidgetEvent& event);
60  virtual bool onKeyReleaseEvent(const SceneWidgetEvent& event);
61  virtual bool onButtonPressEvent(const SceneWidgetEvent& event);
62  virtual bool onDoubleClickEvent(const SceneWidgetEvent& event);
63  virtual bool onButtonReleaseEvent(const SceneWidgetEvent& event);
64  virtual bool onPointerMoveEvent(const SceneWidgetEvent& event);
65  virtual void onPointerLeaveEvent(const SceneWidgetEvent& event);
66  virtual bool onScrollEvent(const SceneWidgetEvent& event);
67  virtual void onContextMenuRequest(const SceneWidgetEvent& event, MenuManager& menuManager);
68  virtual void onSceneModeChanged(const SceneWidgetEvent& event);
69  virtual bool onUndoRequest();
70  virtual bool onRedoRequest();
71 
72 protected:
73  virtual ~EditableSceneBody();
74 
75 private:
76  friend class EditableSceneBodyImpl;
77  EditableSceneBodyImpl* impl;
79 };
80 
82 }
83 
84 #endif
Definition: ExtensionManager.h:26
Definition: EditableSceneBody.h:44
Definition: SceneWidgetEditable.h:74
ref_ptr< BodyItem > BodyItemPtr
Definition: BodyItem.h:20
Definition: Referenced.h:128
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
Definition: EditableSceneBody.h:47
ref_ptr< EditableSceneLink > EditableSceneLinkPtr
Definition: EditableSceneBody.h:39
Definition: MenuManager.h:23
Defines the minimum processing for performing pasing file for STL.
Definition: AbstractSceneLoader.h:9
ref_ptr< EditableSceneBody > EditableSceneBodyPtr
Definition: EditableSceneBody.h:81
Definition: SceneBody.h:61
#define CNOID_EXPORT
Definition: Util/exportdecl.h:37
Definition: SceneWidgetEditable.h:16