Engauge Digitizer
2
Toggle main menu visibility
Loading...
Searching...
No Matches
Guideline
GuidelineOffset.cpp
Go to the documentation of this file.
1
/******************************************************************************************************
2
* (C) 2019 markummitchell@github.com. This file is part of Engauge Digitizer, which is released *
3
* under GNU General Public License version 2 (GPLv2) or (at your option) any later version. See file *
4
* LICENSE or go to gnu.org/licenses for details. Distribution requires prior written permission. *
5
******************************************************************************************************/
6
7
#include "
GuidelineOffset.h
"
8
#include "
Logger.h
"
9
#include <QGraphicsView>
10
#include "
QtToString.h
"
11
#include "
Transformation.h
"
12
13
GuidelineOffset::GuidelineOffset
()
14
{
15
}
16
17
QPointF
GuidelineOffset::XT
(
const
QGraphicsView &view,
18
const
Transformation
&transformation)
const
19
{
20
// Get scrolled extent so new Guideline appears in visible portion
21
QRect viewportRect = view.viewport()->rect();
22
QRect scrolledRect = view.viewportTransform ().inverted ().mapRect (viewportRect);
23
QRectF sceneRect = view.scene()->sceneRect();
24
25
qCDebug(ENGAUGE_LOG) <<
"GuidelineOffset::bottomTop"
26
<<
" viewportRect="
<<
QRectFToString
(viewportRect).toLatin1().data()
27
<<
" scrolledRect="
<<
QRectFToString
(scrolledRect).toLatin1().data()
28
<<
" sceneRect="
<<
QRectFToString
(sceneRect).toLatin1().data();
29
30
// Use center of visible sscene
31
QPointF posScene (scrolledRect.center().x(),
32
scrolledRect.center().y()), posGraph;
33
34
transformation.
transformScreenToRawGraph
(posScene,
35
posGraph);
36
37
return
posGraph;
38
}
39
40
QPointF
GuidelineOffset::YR
(
const
QGraphicsView &view,
41
const
Transformation
&transformation)
const
42
{
43
// Get scrolled extent so new Guideline appears in visible portion
44
QRect viewportRect = view.viewport()->rect();
45
QRect scrolledRect = view.viewportTransform ().inverted ().mapRect (viewportRect);
46
QRectF sceneRect = view.scene()->sceneRect();
47
48
qCDebug(ENGAUGE_LOG) <<
"GuidelineOffset::leftRight"
49
<<
" viewportRect="
<<
QRectFToString
(viewportRect).toLatin1().data()
50
<<
" scrolledRect="
<<
QRectFToString
(scrolledRect).toLatin1().data()
51
<<
" sceneRect="
<<
QRectFToString
(sceneRect).toLatin1().data();
52
53
// Use center of visible sscene
54
QPointF posScene (scrolledRect.center().x(),
55
scrolledRect.center().y()), posGraph;
56
57
transformation.
transformScreenToRawGraph
(posScene,
58
posGraph);
59
60
return
posGraph;
61
}
GuidelineOffset.h
Logger.h
QRectFToString
QString QRectFToString(const QRectF &rectF)
Definition
QtToString.cpp:26
QtToString.h
Transformation.h
GuidelineOffset::GuidelineOffset
GuidelineOffset()
Definition
GuidelineOffset.cpp:13
GuidelineOffset::YR
QPointF YR(const QGraphicsView &view, const Transformation &transformation) const
Compute UR offset for point in center of scene, and returns point in graph coordinates.
Definition
GuidelineOffset.cpp:40
GuidelineOffset::XT
QPointF XT(const QGraphicsView &view, const Transformation &transformation) const
Compute XT offset for point in center of scene, and returns point in graph coordinates.
Definition
GuidelineOffset.cpp:17
Transformation
Affine transformation between screen and graph coordinates, based on digitized axis points.
Definition
Transformation.h:32
Transformation::transformScreenToRawGraph
void transformScreenToRawGraph(const QPointF &coordScreen, QPointF &coordGraph) const
Transform from cartesian pixel screen coordinates to cartesian/polar graph coordinates.
Definition
Transformation.cpp:465
Generated on
for Engauge Digitizer by
1.17.0