Skip to content
Snippets Groups Projects
Commit ac8e9431 authored by Gabor Csorvasi's avatar Gabor Csorvasi
Browse files

Click to show position.

parent 47e64630
No related branches found
No related tags found
No related merge requests found
{
"type" : "scene",
"algo" : {
"dx" : 0.25,
"dy" : 0.25
"dx" : 0.5,
"dy" : 0.5
},
"boundary" : {
"height" : 15.0,
......
......@@ -29,10 +29,9 @@ MainWindow::MainWindow() {
scaleFactor = 10;
viewPadding = 5;
widget.textEdit->setText("CCS algorithm v0.1");
widget.textEdit->setText("CCS algorithm v0.3");
initThread();
QObject::connect(widget.actionOpen, SIGNAL(triggered()), this, SLOT(startThread()), Qt::DirectConnection);
QObject::connect(widget.graphicsView, SIGNAL(mousePositionSignal(double, double)), this, SLOT(mousePressed(double, double)), Qt::DirectConnection);
}
MainWindow::~MainWindow() {
......@@ -161,7 +160,3 @@ void MainWindow::drawPoint(const QPointF& p) {
scene->addEllipse(point, Qt::NoPen, purpleBrush);
}
\ No newline at end of file
void MainWindow::mousePressed(double x, double y) {
writeLog(QString("(%1,%2)").arg(QString::number(x / scaleFactor, 'f')).arg(QString::number(y / scaleFactor, 'f')));
}
......@@ -42,7 +42,6 @@ private:
private slots:
void startThread();
void mousePressed(double x, double y);
};
#endif /* _MAINWINDOW_H */
......@@ -8,11 +8,25 @@
#include "MyGraphicsView.h"
#include <QPointF>
#include <QMouseEvent>
#include <QString>
MyGraphicsView::MyGraphicsView(QWidget *parent) : QGraphicsView(parent) {
positionText = new QGraphicsTextItem();
QTransform tf;
tf.scale(0.5,-0.5);
positionText->setTransform(tf);
}
void MyGraphicsView::mousePressEvent(QMouseEvent* e) {
QPointF p = mapToScene(e->pos());
emit mousePositionSignal(p.x(), p.y());
QString posString = QString("(%1;%2)").arg(QString::number(p.x() / 10, 'f', 2)).arg(QString::number(p.y() / 10, 'f', 2));
positionText->setPlainText(posString);
p.setY(p.y()+10);
p.setX(p.x() - positionText->boundingRect().width() / 4);
positionText->setPos(p);
scene()->addItem(positionText);
}
void MyGraphicsView::mouseReleaseEvent(QMouseEvent* /*e*/) {
scene()->removeItem(positionText);
}
......@@ -10,19 +10,19 @@
#include <QGraphicsView>
#include <QGraphicsScene>
#include <QGraphicsTextItem>
class MyGraphicsView : public QGraphicsView {
Q_OBJECT
public:
explicit MyGraphicsView(QWidget *parent = 0);
signals:
void mousePositionSignal(double x, double y);
public slots:
void mousePressEvent(QMouseEvent * e);
void mouseReleaseEvent(QMouseEvent * e);
private:
QGraphicsScene * scene;
//QGraphicsScene * scene;
QGraphicsTextItem * positionText;
};
#endif /* MYGRAPHICSVIEW_H */
......
......@@ -23,11 +23,13 @@ LocalPlanner::LocalPlanner(ARM& arm, Configuration& goal, double nextDist, Scene
middleSegments.push_back(middleArcs[j]);
firstMiddleSegmentsMap.push_back(i);
// TODO harmadik szegmens hozzáadása
// calculate_2nd...m:47
}
}
}
}
//local_planner.m:116
}
arcList LocalPlanner::getTangentArcs(Configuration& middle, Configuration& goal) {
......@@ -37,7 +39,7 @@ arcList LocalPlanner::getTangentArcs(Configuration& middle, Configuration& goal)
Line middleLine(middle);
Point intersection;
Point projection = goalLine.getProjection(middle.position);
if (!goalLine.isIntersect(middle, intersection) || Point::distance(intersection, middle.position) > 1e4) {
if (!goalLine.isIntersect(middleLine, intersection) || Point::distance(intersection, middle.position) > 1e4) {
/* Configurations are parallel */
double r = Point::distance(middle.position, projection);
if (r < 0.001) {
......
......@@ -11,6 +11,7 @@
#include "misc.h"
#include "Preplanner.h"
#include "ARMBuilder.h"
#include "LocalPlanner.h"
#include <QPointF>
#include <QJsonArray>
......@@ -132,6 +133,9 @@ void PlannerThread::run() {
_writeLog("ARM created.");
_drawARM(arm.getARM());
//LocalPlanner lp(arm.getARM(), config[config.size()-1], 0, sc);
//_writeLog("LocalPlanner stage 1");
std::ostringstream stringStream;
stringStream << "Runtime: " << clock() - start_clock << "ms";
_writeLog(stringStream.str());
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment