Engauge Digitizer 2
Loading...
Searching...
No Matches
DocumentModelCoords.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 DOCUMENT_MODEL_COORDS_H
8#define DOCUMENT_MODEL_COORDS_H
9
10#include "CoordScale.h"
11#include "CoordsType.h"
15
16class Document;
17class QTextStream;
18
21{
22public:
25
27 DocumentModelCoords(const Document &document);
28
31
34
37
40
42 CoordsType coordsType () const;
43
46
49
52
55
58
61
62 virtual void loadXml(QXmlStreamReader &reader);
63
65 double originRadius () const;
66
69 QTextStream &str) const;
70
71 virtual void saveXml(QXmlStreamWriter &writer) const;
72
75
78
81
84
87
90
93
96
99
101 void setOriginRadius (double originRadius);
102
104 double thetaPeriod () const;
105
106private:
107
108 CoordsType m_coordsType;
109 double m_originRadius; // Applies to polar coordinates. Usually zero
110 CoordScale m_coordScaleXTheta;
111 CoordScale m_coordScaleYRadius;
112 CoordUnitsNonPolarTheta m_coordUnitsX; // Applies to x for cartesian coordinates
113 CoordUnitsNonPolarTheta m_coordUnitsY; // Applies to y for cartesian coordinates
114 CoordUnitsPolarTheta m_coordUnitsTheta; // Applies to theta for polar coordinates
115 CoordUnitsNonPolarTheta m_coordUnitsRadius; // Applies to radius for polar coordinates
116 CoordUnitsDate m_coordUnitsDate; // Applies to date/time coordinates
117 CoordUnitsTime m_coordUnitsTime;
118};
119
120#endif // DOCUMENT_MODEL_COORDS_H
CoordScale
Definition CoordScale.h:12
CoordUnitsDate
CoordUnitsNonPolarTheta
CoordUnitsPolarTheta
CoordUnitsTime
CoordsType
Definition CoordsType.h:12
const int INNER_RADIUS_MIN
Abstract base class for document models. This class enforces a common interface for the leaf subclass...
Model for DlgSettingsCoords and CmdSettingsCoords.
virtual void saveXml(QXmlStreamWriter &writer) const
Save entire model as xml into stream.
CoordScale coordScaleYRadius() const
Get method for linear/log scale on y/radius.
void setCoordUnitsY(CoordUnitsNonPolarTheta coordUnits)
Set method for y units.
void setOriginRadius(double originRadius)
Set method for origin radius in polar mode.
CoordUnitsNonPolarTheta coordUnitsRadius() const
Get method for radius units.
void setCoordUnitsX(CoordUnitsNonPolarTheta coordUnits)
Set method for x units.
CoordUnitsPolarTheta coordUnitsTheta() const
Get method for theta unit.
void setCoordUnitsRadius(CoordUnitsNonPolarTheta coordUnits)
Set method for radius units.
CoordScale coordScaleXTheta() const
Get method for linear/log scale on x/theta.
double thetaPeriod() const
Return the period of the theta value for polar coordinates, consistent with CoordThetaUnits.
void printStream(QString indentation, QTextStream &str) const
Debugging method that supports print method of this class and printStream method of some other class(...
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.
void setCoordUnitsDate(CoordUnitsDate coordUnits)
Set method for date units.
void setCoordsType(CoordsType coordsType)
Set method for coordinates type.
DocumentModelCoords()
Default constructor.
CoordsType coordsType() const
Get method for coordinates type.
void setCoordScaleXTheta(CoordScale coordScale)
Set method for linear/log scale on x/theta.
void setCoordUnitsTime(CoordUnitsTime coordUnits)
Set method for time units.
DocumentModelCoords & operator=(const DocumentModelCoords &other)
Assignment constructor.
void setCoordScaleYRadius(CoordScale coordScale)
Set method for linear/log scale on y/radius.
double originRadius() const
Get method for origin radius in polar mode.
CoordUnitsDate coordUnitsDate() const
Get method for date format when used.
void setCoordUnitsTheta(CoordUnitsPolarTheta coordUnits)
Set method for theta units.
virtual void loadXml(QXmlStreamReader &reader)
Load model from serialized xml.
Storage of one imported image and the data attached to that image.
Definition Document.h:42