Choreonoid  1.1
KinematicsBar.h
[詳解]
1 
5 #ifndef CNOID_BODYPLUGIN_KINEMATICS_BAR_H_INCLUDED
6 #define CNOID_BODYPLUGIN_KINEMATICS_BAR_H_INCLUDED
7 
8 #include <cnoid/ToolBar>
9 #include <boost/signals.hpp>
10 #include "exportdecl.h"
11 
12 namespace cnoid {
13 
14  class KinematicsBarSetupDialog;
15 
16  class CNOID_EXPORT KinematicsBar : public ToolBar
17  {
18  public:
19  static KinematicsBar* instance();
20 
21  virtual ~KinematicsBar();
22 
23  enum Mode { AUTO_MODE, FK_MODE, IK_MODE };
24 
25  int mode() const;
26 
27  bool isAttitudeMode() const { return attitudeToggle->isChecked(); }
28  bool isFootSnapMode() const { return footSnapToggle->isChecked(); }
29  void getSnapThresholds(double& distance, double& angle) const;
30  bool isJointPositionLimitMode() const { return jointPositionLimitToggle->isChecked(); }
31  bool isPenetrationBlockMode() const { return penetrationBlockToggle->isChecked(); }
32  double penetrationBlockDepth() const;
33  bool isCollisionLinkHighlihtMode() const { return collisionLinkHighlightToggle->isChecked(); }
34  int collisionDetectionPriority() const { return collisionDetectionPriority_; }
35 
36  SignalProxy< boost::signal<void()> > sigCollisionVisualizationChanged() {
37  return sigCollisionVisualizationChanged_;
38  }
39 
40  protected:
41  virtual bool storeState(Archive& archive);
42  virtual bool restoreState(const Archive& archive);
43 
44  private:
45  ToolButton* autoModeRadio;
46  ToolButton* fkModeRadio;
47  ToolButton* ikModeRadio;
48 
49  ToolButton* attitudeToggle;
50  ToolButton* footSnapToggle;
51  ToolButton* jointPositionLimitToggle;
52  ToolButton* penetrationBlockToggle;
53  ToolButton* collisionLinkHighlightToggle;
54 
55  int collisionDetectionPriority_;
56 
57  boost::signal<void()> sigCollisionVisualizationChanged_;
58 
59  KinematicsBarSetupDialog* setup;
60 
61  KinematicsBar();
62 
63  void onCollisionVisualizationChanged();
64  void onLazyCollisionDetectionModeToggled();
65  };
66 }
67 
68 #endif
Definition: KinematicsBar.h:16
bool isJointPositionLimitMode() const
Definition: KinematicsBar.h:30
bool isFootSnapMode() const
Definition: KinematicsBar.h:28
bool isPenetrationBlockMode() const
Definition: KinematicsBar.h:31
int collisionDetectionPriority() const
Definition: KinematicsBar.h:34
bool isAttitudeMode() const
Definition: KinematicsBar.h:27
SignalProxy< boost::signal< void()> > sigCollisionVisualizationChanged()
Definition: KinematicsBar.h:36
bool isCollisionLinkHighlihtMode() const
Definition: KinematicsBar.h:33
#define CNOID_EXPORT
Definition: Util/exportdecl.h:13
Mode
Definition: KinematicsBar.h:23