Choreonoid  1.5
LinkSelectionView.h
Go to the documentation of this file.
1 
5 #ifndef CNOID_BODY_PLUGIN_LINK_SELECTION_VIEW_H
6 #define CNOID_BODY_PLUGIN_LINK_SELECTION_VIEW_H
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 
19 {
20 public:
21  static void initializeClass(ExtensionManager* ext);
22  static LinkSelectionView* mainInstance();
23 
25  virtual ~LinkSelectionView();
26 
27  BodyItem* currentBodyItem();
28 
29  SignalProxy<void()> sigSelectionChanged();
30  int selectedLinkIndex() const;
31  const std::vector<int>& selectedLinkIndices();
32  const boost::dynamic_bitset<>& linkSelection();
33 
34  SignalProxy<void()> sigSelectionChanged(BodyItem* bodyItem);
35  const std::vector<int>& selectedLinkIndices(BodyItem* bodyItem);
36  const boost::dynamic_bitset<>& linkSelection(BodyItem* bodyItem);
37 
38 #ifdef CNOID_BACKWARD_COMPATIBILITY
39  const std::vector<int>& getSelectedLinkIndices(BodyItem* bodyItem);
40  const boost::dynamic_bitset<>& getLinkSelection(BodyItem* bodyItem);
41 #endif
42 
43  bool makeSingleSelection(BodyItem* bodyItem, int linkIndex);
44 
45  virtual bool storeState(Archive& archive);
46  virtual bool restoreState(const Archive& archive);
47 
48 private:
49 
50  LinkSelectionViewImpl* impl;
51 };
52 
53 }
54 
55 #endif
Definition: Archive.h:21
Definition: ExtensionManager.h:26
Definition: LinkSelectionView.h:18
Defines the minimum processing for performing pasing file for STL.
Definition: AbstractSceneLoader.h:9
Definition: View.h:28
#define CNOID_EXPORT
Definition: Util/exportdecl.h:37
Definition: BodyItem.h:31
Definition: Signal.h:380