42 #include <QAbstractItemModel> 
   44 #include <QStyledItemDelegate> 
   52 class MotionPlanningFrameJointsUI;
 
   77   int rowCount(
const QModelIndex& parent = QModelIndex()) 
const override;
 
   78   int columnCount(
const QModelIndex& parent = QModelIndex()) 
const override;
 
   79   Qt::ItemFlags 
flags(
const QModelIndex& index) 
const override;
 
   80   QVariant 
data(
const QModelIndex& index, 
int role) 
const override;
 
   81   QVariant 
headerData(
int section, Qt::Orientation orientation, 
int role) 
const override;
 
   82   bool setData(
const QModelIndex& index, 
const QVariant& value, 
int role) 
override;
 
  105                                                         const QModelIndex& index) 
const;
 
  116   bool eventFilter(QObject* target, QEvent* event) 
override;
 
  131                            const robot_interaction::InteractionHandlerPtr& start_state_handler,
 
  132                            const robot_interaction::InteractionHandlerPtr& goal_state_handler);
 
  146   Ui::MotionPlanningFrameJointsUI* ui_;
 
  148   robot_interaction::InteractionHandlerPtr start_state_handler_;
 
  149   robot_interaction::InteractionHandlerPtr goal_state_handler_;
 
  150   std::unique_ptr<JMGItemModel> start_state_model_;
 
  151   std::unique_ptr<JMGItemModel> goal_state_model_;
 
  153   bool ignore_state_changes_ = 
false;
 
  155   Eigen::JacobiSVD<Eigen::MatrixXd> svd_;
 
  156   Eigen::MatrixXd nullspace_;
 
  157   std::vector<QSlider*> ns_sliders_;
 
  176   void paint(QPainter* painter, 
const QStyleOptionViewItem& option, 
const QModelIndex& index) 
const override;
 
  177   QWidget* 
createEditor(QWidget* parent, 
const QStyleOptionViewItem& option, 
const QModelIndex& index) 
const override;
 
  180   void commitAndCloseEditor();
 
  191   ProgressBarEditor(QWidget* parent = 
nullptr, 
float min = -1.0, 
float max = 0.0, 
int digits = 0);
 
  232     return timer_interval_;
 
  239     return QSlider::value() * maximum_ / QSlider::maximum();
 
  248   using QSlider::setMaximum;
 
  249   using QSlider::setMinimum;
 
  250   using QSlider::setRange;
 
A joint from the robot. Models the transform that this joint applies in the kinematic chain....
 
Representation of a robot's state. This includes position, velocity, acceleration and effort.
 
int columnCount(const QModelIndex &parent=QModelIndex()) const override
 
JMGItemModel(const moveit::core::RobotState &robot_state, const std::string &group_name, QObject *parent=nullptr)
 
const moveit::core::RobotState & getRobotState() const
 
Qt::ItemFlags flags(const QModelIndex &index) const override
 
QVariant data(const QModelIndex &index, int role) const override
 
QVariant headerData(int section, Qt::Orientation orientation, int role) const override
 
const moveit::core::JointModelGroup * getJointModelGroup() const
 
moveit::core::RobotState & getRobotState()
 
void updateRobotState(const moveit::core::RobotState &state)
call this on any external change of the RobotState
 
int rowCount(const QModelIndex &parent=QModelIndex()) const override
 
bool setData(const QModelIndex &index, const QVariant &value, int role) override
 
Slider that jumps back to zero.
 
void setResolution(unsigned int resolution)
 
int timerInterval() const
 
void setTimerInterval(int ms)
 
void triggered(double value)
 
JogSlider(QWidget *parent=nullptr)
 
void mousePressEvent(QMouseEvent *event) override
 
void mouseReleaseEvent(QMouseEvent *event) override
 
void setMaximum(double value)
 
void timerEvent(QTimerEvent *event) override
 
Delegate to show the joint value as with a progress bar indicator between min and max.
 
void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const override
 
QWidget * createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const override
 
ProgressBarDelegate(QWidget *parent=nullptr)
 
Number editor via progress bar dragging.
 
void mouseMoveEvent(QMouseEvent *event) override
 
ProgressBarEditor(QWidget *parent=nullptr, float min=-1.0, float max=0.0, int digits=0)
Create a progressbar-like slider for editing values in range mix..max.
 
void setValue(float value)
 
void valueChanged(float value)
 
void mouseReleaseEvent(QMouseEvent *event) override
 
void paintEvent(QPaintEvent *event) override
 
void mousePressEvent(QMouseEvent *event) override
 
MOVEIT_CLASS_FORWARD(InteractionHandler)