Engauge Digitizer 2
Loading...
Searching...
No Matches
FormatCoordsUnits.cpp
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
9#include "FormatCoordsUnits.h"
12#include "Logger.h"
13#include "MainWindowModel.h"
14#include "Transformation.h"
15
16const bool IS_X_THETA = true;
17const bool IS_NOT_X_THETA = false;
18
20{
21 LOG4CPP_DEBUG_S ((*mainCat)) << "FormatCoordsUnits::FormatCoordsUnits";
22}
23
26 const DocumentModelCoords &modelCoords,
28 double &xThetaUnformatted,
29 double &yRadiusUnformatted) const
30{
31 LOG4CPP_DEBUG_S ((*mainCat)) << "FormatCoordsUnits::formattedToUnformatted";
32
35
36 if (modelCoords.coordsType() == COORDS_TYPE_CARTESIAN) {
37
39 mainWindowModel.locale(),
40 modelCoords.coordUnitsX(),
41 modelCoords.coordUnitsDate(),
42 modelCoords.coordUnitsTime());
44 mainWindowModel.locale(),
45 modelCoords.coordUnitsY(),
46 modelCoords.coordUnitsDate(),
47 modelCoords.coordUnitsTime());
48
49 } else {
50
51 xThetaUnformatted = formatPolarTheta.formattedToUnformatted (xThetaFormatted,
52 mainWindowModel.locale(),
53 modelCoords.coordUnitsTheta());
55 mainWindowModel.locale(),
56 modelCoords.coordUnitsRadius(),
57 modelCoords.coordUnitsDate(),
58 modelCoords.coordUnitsTime());
59
60 }
61}
62
64 double yRadiusUnformatted,
65 const DocumentModelCoords &modelCoords,
66 const DocumentModelGeneral &modelGeneral,
70 const Transformation &transformation) const
71{
72 LOG4CPP_DEBUG_S ((*mainCat)) << "FormatCoordsUnits::unformattedToFormatted";
73
76
77 if (modelCoords.coordsType() == COORDS_TYPE_CARTESIAN) {
78
80 mainWindowModel.locale(),
81 modelCoords.coordUnitsX(),
82 modelCoords.coordUnitsDate(),
83 modelCoords.coordUnitsTime(),
85 modelGeneral,
86 transformation,
89 mainWindowModel.locale(),
90 modelCoords.coordUnitsY(),
91 modelCoords.coordUnitsDate(),
92 modelCoords.coordUnitsTime(),
94 modelGeneral,
95 transformation,
97
98 } else {
99
100 xThetaFormatted = formatPolarTheta.unformattedToFormatted (xThetaUnformatted,
101 mainWindowModel.locale(),
102 modelCoords.coordUnitsTheta(),
103 modelGeneral,
104 transformation,
107 mainWindowModel.locale(),
108 modelCoords.coordUnitsRadius(),
109 modelCoords.coordUnitsDate(),
110 modelCoords.coordUnitsTime(),
112 modelGeneral,
113 transformation,
115 }
116}
@ COORDS_TYPE_CARTESIAN
Definition CoordsType.h:13
const bool IS_X_THETA
const bool IS_NOT_X_THETA
const int INNER_RADIUS_MIN
const bool IS_X_THETA
const bool IS_NOT_X_THETA
log4cpp::Category * mainCat
Definition Logger.cpp:14
Model for DlgSettingsCoords and CmdSettingsCoords.
CoordUnitsNonPolarTheta coordUnitsRadius() const
Get method for radius units.
CoordUnitsPolarTheta coordUnitsTheta() const
Get method for theta unit.
CoordUnitsNonPolarTheta coordUnitsY() const
Get method for x units.
CoordUnitsTime coordUnitsTime() const
Get method for time format when used.
CoordUnitsNonPolarTheta coordUnitsX() const
Get method for x units.
CoordsType coordsType() const
Get method for coordinates type.
CoordUnitsDate coordUnitsDate() const
Get method for date format when used.
Model for DlgSettingsGeneral and CmdSettingsGeneral.
Format conversions between unformatted and formatted for CoordUnitsNonPolarTheta.
Format conversions between unformatted and formatted for CoordUnitsStrategyPolarTheta.
double formattedToUnformatted(const QString &string, const QLocale &locale, CoordUnitsPolarTheta coordUnits) const
Convert formatted string to simple unformatted number.
QString unformattedToFormatted(double valueUnformatted, const QLocale &locale, CoordUnitsPolarTheta coordUnits, const DocumentModelGeneral &modelGeneral, const Transformation &transformation, double valueUnformattedOther) const
Convert simple unformatted number to formatted string.
void formattedToUnformatted(const QString &xThetaFormatted, const QString &yRadiusFormatted, const DocumentModelCoords &modelCoords, const MainWindowModel &mainWindowModel, double &xThetaUnformatted, double &yRadiusUnformatted) const
Convert formatted string to unformatted numeric value.
void unformattedToFormatted(double xThetaUnformatted, double yRadiusUnformatted, const DocumentModelCoords &modelCoords, const DocumentModelGeneral &modelGeneral, const MainWindowModel &mainWindowModel, QString &xThetaFormatted, QString &yRadiusFormatted, const Transformation &transformation) const
Convert unformatted numeric value to formatted string. Transformation is used to determine best resol...
FormatCoordsUnits()
Single constructor.
Model for DlgSettingsMainWindow.
Affine transformation between screen and graph coordinates, based on digitized axis points.
#define LOG4CPP_DEBUG_S(logger)
Definition convenience.h:20