-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmovetool.cpp
More file actions
64 lines (47 loc) · 1.93 KB
/
movetool.cpp
File metadata and controls
64 lines (47 loc) · 1.93 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#include "movetool.h"
void MoveTool::MouseMove(QMouseEvent *event, QPoint)
{
if (!(event->buttons() & Qt::LeftButton))
return;
const QVector<ViewModel>& view_models = _main_service->GetProjectService()->GetObjects();
Transformation transformator = _main_service->GetScreenViewService()->GetScreenTransform();
for (const ViewModel& view_model : view_models)
{
if (!(view_model.IsSelected() & !view_model.GetTarget().ownship))
continue;
ViewModel modified = view_model;
modified.GetPicture()->setGeometry(event->pos().x() - view_model.GetPicture()->width() / 2,
event->pos().y() - view_model.GetPicture()->height() / 2,
view_model.GetPicture()->width(),
view_model.GetPicture()->height());
modified.SetPos(transformator.ScreenToWorld(event->pos()));
Point xy_pos = modified.GetPos();
//point_geo ship_geo_pos = to_geo(QPoint(xy_pos.x, xy_pos.y), _scenario->base_point);
// view_model->t.distance = geo_distance(ship_geo_pos, _scenario->base_point);
// view_model->t.bearing = geo_bearing(_scenario->base_point, ship_geo_pos);
DistanceBearing ship_distance_bearing(xy_pos);
auto target = modified.GetTarget();
target.distance = ship_distance_bearing.distance;
target.bearing = ship_distance_bearing.bearing;
modified.SetTarget(target);
modified.GetPropertyLabel()->setText(QString::number(modified.GetTarget().distance)
+ "\n"
+ QString::number(modified.GetTarget().bearing));
_main_service->GetProjectService()->ChangeObject(modified);
}
}
void MoveTool::MousePress(QMouseEvent *event)
{
if (!(event->buttons() & Qt::LeftButton))
{
_main_service->SetDefaultTool();
return;
}
//tryChangeSelection(event->pos());
}
void MoveTool::onActivate()
{
}
void MoveTool::onDeActivate()
{
}