GCC Code Coverage Report


Directory: plugins/
File: plugins/hppwidgetsplugin/transformconstraintwidget.cc
Date: 2024-12-13 15:51:58
Exec Total Coverage
Lines: 0 58 0.0%
Branches: 0 144 0.0%

Line Branch Exec Source
1 //
2 // Copyright (c) CNRS
3 // Authors: Heidy Dallard
4 //
5
6 #include "hppwidgetsplugin/transformconstraintwidget.hh"
7
8 #include <limits>
9
10 #include "hppwidgetsplugin/ui_transformconstraintwidget.h"
11
12 namespace hpp {
13 namespace gui {
14 TransformConstraintWidget::TransformConstraintWidget(
15 QString const& firstJoint, QString const& secondJoint, bool doPosition,
16 bool doOrientation, bool isPositionConstraint, QWidget* parent)
17 : QWidget(parent), ui(new Ui::TransformConstraintWidget) {
18 ui->setupUi(this);
19 length_ = 0;
20
21 if (!doPosition) {
22 ui->positionGroup->setVisible(false);
23 } else {
24 ui->xPositionWidget->setVisible(false);
25 ui->yPositionWidget->setVisible(false);
26 ui->zPositionWidget->setVisible(false);
27 length_ += 3;
28 }
29 if (!doOrientation) {
30 ui->orientationGroup->setVisible(false);
31 } else {
32 ui->xOrientationValue->setVisible(false);
33 ui->yOrientationValue->setVisible(false);
34 ui->zOrientationValue->setVisible(false);
35 length_ += 3;
36 }
37
38 if (!isPositionConstraint || (isPositionConstraint && doOrientation)) {
39 ui->secondXPosition->setVisible(false);
40 ui->secondYPosition->setVisible(false);
41 ui->secondZPosition->setVisible(false);
42 isPositionConstraint_ = false;
43 } else {
44 length_ += 3;
45 isPositionConstraint_ = true;
46 }
47
48 ui->secondJointLabel->setText((secondJoint == "") ? "Global frame"
49 : secondJoint);
50 ui->firstJointLabel->setText((firstJoint == "") ? "Global frame"
51 : firstJoint);
52
53 positionEnabled_ = doPosition;
54 orientationEnabled_ = doOrientation;
55
56 this->layout()->setSizeConstraint(QLayout::SetFixedSize);
57 connect(ui->confirmButton, SIGNAL(clicked()), SLOT(onClick()));
58 }
59
60 TransformConstraintWidget::~TransformConstraintWidget() { delete ui; }
61
62 void TransformConstraintWidget::onClick() {
63 QVector<double> vecDouble(length_, 0);
64 QVector<bool> vecBool((positionEnabled_ && orientationEnabled_) ? 6 : 3, 0);
65 int i = 0;
66
67 if (positionEnabled_) {
68 vecDouble[i] = ui->firstXPosition->value();
69 vecDouble[i + 1] = ui->firstYPosition->value();
70 vecDouble[i + 2] = ui->firstZPosition->value();
71 vecBool[i] = ui->xPositionCheck->isChecked();
72 vecBool[i + 1] = ui->yPositionCheck->isChecked();
73 vecBool[i + 2] = ui->zPositionCheck->isChecked();
74 i += 3;
75 }
76 if (orientationEnabled_) {
77 vecDouble[i] = ui->xOrientationValue->value();
78 vecDouble[i + 1] = ui->yOrientationValue->value();
79 vecDouble[i + 2] = ui->zOrientationValue->value();
80 vecBool[i] = ui->xOrientationCheck->isChecked();
81 vecBool[i + 1] = ui->yOrientationCheck->isChecked();
82 vecBool[i + 2] = ui->zOrientationCheck->isChecked();
83 i += 3;
84 }
85 if (isPositionConstraint_) {
86 vecDouble[i] = ui->secondXPosition->value();
87 vecDouble[i + 1] = ui->secondYPosition->value();
88 vecDouble[i + 2] = ui->secondZPosition->value();
89 }
90 emit finished(std::make_pair(vecDouble, vecBool));
91 this->deleteLater();
92 this->close();
93 }
94 } // namespace gui
95 } // namespace hpp
96