Choreonoid  1.1
LinkSelectionView.h
[詳解]
1 
5 #ifndef CNOID_BODYPLUGIN_LINK_SELECTION_VIEW_H_INCLUDED
6 #define CNOID_BODYPLUGIN_LINK_SELECTION_VIEW_H_INCLUDED
7 
8 #include "BodyItem.h"
9 #include <cnoid/View>
10 #include <boost/dynamic_bitset.hpp>
11 #include <vector>
12 #include "exportdecl.h"
13 
14 namespace cnoid {
15 
16  class LinkSelectionViewImpl;
17 
18  class CNOID_EXPORT LinkSelectionView : public cnoid::View, public boost::signals::trackable
19  {
20  public:
21 
22  static LinkSelectionView* mainInstance();
23 
25  virtual ~LinkSelectionView();
26 
27  SignalProxy< boost::signal<void()> > sigSelectionChanged(BodyItemPtr bodyItem);
28 
29  const std::vector<int>& getSelectedLinkIndices(BodyItemPtr bodyItem);
30  const boost::dynamic_bitset<>& getLinkSelection(BodyItemPtr bodyItem);
31 
32  bool makeSingleSelection(BodyItemPtr bodyItem, int linkIndex);
33 
34  virtual bool storeState(Archive& archive);
35  virtual bool restoreState(const Archive& archive);
36 
37  private:
38 
39  LinkSelectionViewImpl* impl;
40  };
41 }
42 
43 #endif
Definition: LinkSelectionView.h:18
boost::intrusive_ptr< BodyItem > BodyItemPtr
Definition: BodyItem.h:25
#define CNOID_EXPORT
Definition: Util/exportdecl.h:13