Engauge Digitizer 2
Loading...
Searching...
No Matches
CentipedeEndpointsCartesian.h
Go to the documentation of this file.
1/******************************************************************************************************
2 * (C) 2020 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 CENTIPEDE_ENDPOINTS_CARTESIAN_H
8#define CENTIPEDE_ENDPOINTS_CARTESIAN_H
9
13#include <QPointF>
14#include "Transformation.h"
15
18{
19public:
23 const QPointF &posClickScreen);
25
27 QPointF posScreenConstantXForHighY (double radius) const;
28
30 QPointF posScreenConstantXForLowY (double radius) const;
31
33 QPointF posScreenConstantYForHighX (double radius) const;
34
36 QPointF posScreenConstantYForLowX (double radius) const;
37
38private:
40
42 void generatePreviousAndNextPoints (double radius,
43 int i,
44 QPointF &posGraphPrevious,
45 QPointF &posGraphNext,
46 QPointF &posScreen) const;
47
49 QPointF posScreenConstantXCommon (double radius,
50 CentipedeIntersectionType intersectionType) const;
51
53 QPointF posScreenConstantYCommon (double radius,
54 CentipedeIntersectionType intersectionType) const;
55
56};
57
58#endif // CENTIPEDE_ENDPOINTS_CARTESIAN_H
CentipedeIntersectionType
Intersect with one of the following XT or YT coordinates for constant YR or XT respectively.
QPointF posClickScreen() const
Center of circle in screen coordinates.
const DocumentModelGuideline & modelGuideline() const
Settings.
const Transformation & transformation() const
Transformation which is static through the entire lifetime of the Centipede class instances.
CentipedeEndpointsAbstract(const DocumentModelGuideline &modelGuideline, const Transformation &transformation, const QPointF &posClickScreen)
Constructor with individual coordinates.
QPointF posScreenConstantYForLowX(double radius) const
Screen point for Y value of circle/coordinate intersection in the decreasing X direction.
QPointF posScreenConstantXForLowY(double radius) const
Screen point for X value of circle/coordinate intersection in the decreasing Y direction.
CentipedeEndpointsCartesian(const DocumentModelGuideline &modelGuideline, const Transformation &transformation, const QPointF &posClickScreen)
Constructor with individual coordinates.
QPointF posScreenConstantYForHighX(double radius) const
Screen point for Y value of circle/coordinate intersection in the increasing X direction.
QPointF posScreenConstantXForHighY(double radius) const
Screen point for X value of circle/coordinate intersection in the increasing Y direction.
Model for managing the coordinate values corresponding Guidelines.
Affine transformation between screen and graph coordinates, based on digitized axis points.