Engauge Digitizer
2
Toggle main menu visibility
Loading...
Searching...
No Matches
Grid
GridLineFactory.h
Go to the documentation of this file.
1
/******************************************************************************************************
2
* (C) 2014 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
#ifndef GRID_LINE_FACTORY_H
8
#define GRID_LINE_FACTORY_H
9
10
#include "
GridLine.h
"
11
#include "
Point.h
"
12
#include <QList>
13
14
class
Document
;
15
class
DocumentModelCoords
;
16
class
DocumentModelGridDisplay
;
17
class
GridLines
;
18
class
MainWindowModel
;
19
class
QGraphicsScene;
20
class
QTransform;
21
class
Transformation
;
22
29
class
GridLineFactory
30
{
31
public
:
33
GridLineFactory
(QGraphicsScene &scene,
34
const
DocumentModelCoords
&modelCoords);
35
37
GridLineFactory
(QGraphicsScene &scene,
38
int
pointRadius,
39
const
QList<Point> &pointsToIsolate,
40
const
DocumentModelCoords
&modelCoords);
41
44
GridLine
*
createGridLine
(
double
xFrom,
45
double
yFrom,
46
double
xTo,
47
double
yTo,
48
const
Transformation
&transformation);
49
51
void
createGridLinesForEvenlySpacedGrid
(
const
DocumentModelGridDisplay
&modelGridDisplay,
52
const
Document
&document,
53
const
MainWindowModel
&modelMainWindow,
54
const
Transformation
&transformation,
55
GridLines
&gridLines);
56
57
private
:
58
GridLineFactory
();
59
60
void
bindItemToScene(QGraphicsItem *item)
const
;
61
void
createTransformAlign (
const
Transformation
&transformation,
62
double
radiusLinearCartesian,
63
const
QPointF &posOriginScreen,
64
QTransform &transformAlign,
65
double
&ellipseXAxis,
66
double
&ellipseYAxis)
const
;
67
QGraphicsItem *ellipseItem (
const
Transformation
&transformation,
68
double
radiusLinearCartesian,
69
const
QPointF &posStartScreen,
70
const
QPointF &posEndScreen)
const
;
71
void
finishActiveGridLine (
const
QPointF &posStartScreen,
72
const
QPointF &posEndScreen,
73
double
yFrom,
74
double
yTo,
75
const
Transformation
&transformation,
76
GridLine
&gridLine)
const
;
77
QGraphicsItem *lineItem (
const
QPointF &posStartScreen,
78
const
QPointF &posEndScreen)
const
;
79
double
minScreenDistanceFromPoints (
const
QPointF &posScreen);
80
81
QGraphicsScene &m_scene;
82
const
int
m_pointRadius;
83
const
QList<Point> m_pointsToIsolate;
84
const
DocumentModelCoords
m_modelCoords;
85
bool
m_isChecker;
86
};
87
88
#endif
// GRID_LINE_FACTORY_H
GridLine.h
Point.h
DocumentModelCoords
Model for DlgSettingsCoords and CmdSettingsCoords.
Definition
DocumentModelCoords.h:21
DocumentModelGridDisplay
Model for DlgSettingsGridDisplay and CmdSettingsGridDisplay.
Definition
DocumentModelGridDisplay.h:22
Document
Storage of one imported image and the data attached to that image.
Definition
Document.h:44
GridLineFactory::createGridLinesForEvenlySpacedGrid
void createGridLinesForEvenlySpacedGrid(const DocumentModelGridDisplay &modelGridDisplay, const Document &document, const MainWindowModel &modelMainWindow, const Transformation &transformation, GridLines &gridLines)
Create a rectangular (cartesian) or annular (polar) grid of evenly spaced grid lines.
Definition
GridLineFactory.cpp:153
GridLineFactory::createGridLine
GridLine * createGridLine(double xFrom, double yFrom, double xTo, double yTo, const Transformation &transformation)
Create grid line, either along constant X/theta or constant Y/radius side.
Definition
GridLineFactory.cpp:71
GridLineFactory::GridLineFactory
GridLineFactory(QGraphicsScene &scene, const DocumentModelCoords &modelCoords)
Simple constructor for general use (i.e. not by Checker).
Definition
GridLineFactory.cpp:33
GridLine
Single grid line drawn a straight or curved line.
Definition
GridLine.h:21
GridLines
Container class for GridLine objects.
Definition
GridLines.h:19
MainWindowModel
Model for DlgSettingsMainWindow.
Definition
MainWindowModel.h:33
Transformation
Affine transformation between screen and graph coordinates, based on digitized axis points.
Definition
Transformation.h:32
Generated on
for Engauge Digitizer by
1.17.0