Engauge Digitizer  2
Public Member Functions | List of all members
CoordSystem Class Reference

Storage of data belonging to one coordinate system. More...

#include <CoordSystem.h>

Inheritance diagram for CoordSystem:
CoordSystemInterface

Public Member Functions

 CoordSystem ()
 Single constructor.
 
 CoordSystem (const QString &fileName)
 Constructor for opened Graphs, and error report files. The specified file is opened and read.
 
virtual void addGraphCurveAtEnd (const QString &curveName)
 Add new graph curve to the list of existing graph curves.
 
virtual void addPointAxisWithGeneratedIdentifier (const QPointF &posScreen, const QPointF &posGraph, QString &identifier, double ordinal, bool isXOnly)
 Add a single axis point with a generated point identifier. More...
 
virtual void addPointAxisWithSpecifiedIdentifier (const QPointF &posScreen, const QPointF &posGraph, const QString &identifier, double ordinal, bool isXOnly)
 Add a single axis point with the specified point identifier. More...
 
virtual void addPointGraphWithGeneratedIdentifier (const QString &curveName, const QPointF &posScreen, QString &generatedIentifier, double ordinal)
 Add a single graph point with a generated point identifier.
 
virtual void addPointGraphWithSpecifiedIdentifier (const QString &curveName, const QPointF &posScreen, const QString &identifier, double ordinal)
 Add a single graph point with the specified point identifer. Note that PointStyle is not applied to the point within the Graph.
 
virtual void addPointsInCurvesGraphs (CurvesGraphs &curvesGraphs)
 Add all points identified in the specified CurvesGraphs. See also removePointsInCurvesGraphs.
 
virtual void checkAddPointAxis (const QPointF &posScreen, const QPointF &posGraph, bool &isError, QString &errorMessage, bool isXOnly, DocumentAxesPointsRequired documentAxesPointsRequired)
 Check before calling addPointAxis. Also returns the next available ordinal number (to prevent clashes)
 
virtual void checkEditPointAxis (const QString &pointIdentifier, const QPointF &posScreen, const QPointF &posGraph, bool &isError, QString &errorMessage, DocumentAxesPointsRequired documentAxesPointsRequired)
 Check before calling editPointAxis.
 
virtual const CurvecurveAxes () const
 Get method for axis curve.
 
virtual CurvecurveForCurveName (const QString &curveName)
 See CurvesGraphs::curveForCurveName, although this also works for AXIS_CURVE_NAME.
 
virtual const CurvecurveForCurveName (const QString &curveName) const
 See CurvesGraphs::curveForCurveNames, although this also works for AXIS_CURVE_NAME.
 
virtual const CurvesGraphscurvesGraphs () const
 Make all Curves available, read only, for CmdAbstract classes only.
 
virtual QStringList curvesGraphsNames () const
 See CurvesGraphs::curvesGraphsNames.
 
virtual int curvesGraphsNumPoints (const QString &curveName) const
 See CurvesGraphs::curvesGraphsNumPoints.
 
virtual void editPointAxis (const QPointF &posGraph, const QString &identifier)
 Edit the graph coordinates of a single axis point. Call this after checkAddPointAxis to guarantee success in this call.
 
virtual void editPointGraph (bool isX, bool isY, double x, double y, const QStringList &identifiers, const Transformation &transformation)
 Edit the graph coordinates of one or more graph points.
 
bool isXOnly (const QString &pointIdentifier) const
 Return true if y coordinate is undefined, otherwise x coordinae is undefined in DOCUMENT_AXES_POINT_REQUIRE_4 mode. More...
 
virtual void iterateThroughCurvePointsAxes (const Functor2wRet< const QString &, const Point &, CallbackSearchReturn > &ftorWithCallback)
 See Curve::iterateThroughCurvePoints, for the axes curve.
 
virtual void iterateThroughCurvePointsAxes (const Functor2wRet< const QString &, const Point &, CallbackSearchReturn > &ftorWithCallback) const
 See Curve::iterateThroughCurvePoints, for the axes curve.
 
virtual void iterateThroughCurveSegments (const QString &curveName, const Functor2wRet< const Point &, const Point &, CallbackSearchReturn > &ftorWithCallback) const
 See Curve::iterateThroughCurveSegments, for any axes or graph curve.
 
virtual void iterateThroughCurvesPointsGraphs (const Functor2wRet< const QString &, const Point &, CallbackSearchReturn > &ftorWithCallback)
 See Curve::iterateThroughCurvePoints, for all the graphs curves.
 
virtual void iterateThroughCurvesPointsGraphs (const Functor2wRet< const QString &, const Point &, CallbackSearchReturn > &ftorWithCallback) const
 See Curve::iterateThroughCurvePoints, for all the graphs curves.
 
virtual bool loadCurvesFile (const QString &curvesFile)
 Load the curve names in the specified Engauge file into the current graph. This is called near the end of the import process only.
 
void loadPreVersion6 (QDataStream &str, double version, DocumentAxesPointsRequired &documentAxesPointsRequired)
 Load from file in pre-version 6 format. Number of axes points is read in and passed to Document.
 
void loadVersion6 (QXmlStreamReader &reader, DocumentAxesPointsRequired &documentAxesPointsRequired)
 Load from file in version 6 format. Number of axes points is read in and passed to Document.
 
void loadVersions7AndUp (QXmlStreamReader &reader)
 Load from file in versions 7 and 8 formats. Number of axes points is already defined at Document level.
 
virtual DocumentModelAxesChecker modelAxesChecker () const
 Get method for DocumentModelAxesChecker.
 
virtual DocumentModelColorFilter modelColorFilter () const
 Get method for DocumentModelColorFilter.
 
virtual DocumentModelCoords modelCoords () const
 Get method for DocumentModelCoords.
 
virtual CurveStyles modelCurveStyles () const
 Get method for CurveStyles.
 
virtual DocumentModelDigitizeCurve modelDigitizeCurve () const
 Get method for DocumentModelDigitizeCurve.
 
virtual DocumentModelExportFormat modelExport () const
 Get method for DocumentModelExportFormat.
 
virtual DocumentModelGeneral modelGeneral () const
 Get method for DocumentModelGeneral.
 
virtual DocumentModelGridDisplay modelGridDisplay () const
 Get method for DocumentModelGridDisplay.
 
virtual DocumentModelGridRemoval modelGridRemoval () const
 Get method for DocumentModelGridRemoval.
 
virtual DocumentModelPointMatch modelPointMatch () const
 Get method for DocumentModelPointMatch.
 
virtual DocumentModelSegments modelSegments () const
 Get method for DocumentModelSegments.
 
virtual void movePoint (const QString &pointIdentifier, const QPointF &deltaScreen)
 See Curve::movePoint.
 
virtual int nextOrdinalForCurve (const QString &curveName) const
 Default next ordinal value for specified curve.
 
virtual QPointF positionGraph (const QString &pointIdentifier) const
 See Curve::positionGraph.
 
virtual QPointF positionScreen (const QString &pointIdentifier) const
 See Curve::positionScreen.
 
virtual void print () const
 Debugging method for printing directly from symbolic debugger.
 
virtual void printStream (QString indentation, QTextStream &str) const
 Debugging method that supports print method of this class and printStream method of some other class(es)
 
virtual QString reasonForUnsuccessfulRead () const
 Return an informative text message explaining why startup loading failed. Applies if successfulRead returns false.
 
virtual void removePointAxis (const QString &identifier)
 Perform the opposite of addPointAxis.
 
virtual void removePointGraph (const QString &identifier)
 Perform the opposite of addPointGraph.
 
virtual void removePointsInCurvesGraphs (CurvesGraphs &curvesGraphs)
 Remove all points identified in the specified CurvesGraphs. See also addPointsInCurvesGraphs.
 
virtual void saveXml (QXmlStreamWriter &writer) const
 Save graph to xml.
 
virtual QString selectedCurveName () const
 Currently selected curve name. This is used to set the selected curve combobox in MainWindow.
 
virtual void setCurveAxes (const Curve &curveAxes)
 Let CmdAbstract classes overwrite axes Curve. Applies to current coordinate system.
 
virtual void setCurvesGraphs (const CurvesGraphs &curvesGraphs)
 Let CmdAbstract classes overwrite CurvesGraphs. Applies to current coordinate system.
 
virtual void setModelAxesChecker (const DocumentModelAxesChecker &modelAxesChecker)
 Set method for DocumentModelAxesChecker.
 
virtual void setModelColorFilter (const DocumentModelColorFilter &modelColorFilter)
 Set method for DocumentModelColorFilter.
 
virtual void setModelCoords (const DocumentModelCoords &modelCoords)
 Set method for DocumentModelCoords.
 
virtual void setModelCurveStyles (const CurveStyles &modelCurveStyles)
 Set method for CurveStyles.
 
virtual void setModelDigitizeCurve (const DocumentModelDigitizeCurve &modelDigitizeCurve)
 Set method for DocumentModelDigitizeCurve.
 
virtual void setModelExport (const DocumentModelExportFormat &modelExport)
 Set method for DocumentModelExportFormat.
 
virtual void setModelGeneral (const DocumentModelGeneral &modelGeneral)
 Set method for DocumentModelGeneral.
 
virtual void setModelGridDisplay (const DocumentModelGridDisplay &modelGridDisplay)
 Set method for DocumentModelGridDisplay.
 
virtual void setModelGridRemoval (const DocumentModelGridRemoval &modelGridRemoval)
 Set method for DocumentModelGridRemoval.
 
void setModelPointMatch (const DocumentModelPointMatch &modelPointMatch)
 Set method for DocumentModelPointMatch.
 
virtual void setModelSegments (const DocumentModelSegments &modelSegments)
 Set method for DocumentModelSegments.
 
virtual void setSelectedCurveName (const QString &selectedCurveName)
 Save curve name that is selected for the current coordinate system, for the next time the coordinate system reappears.
 
virtual bool successfulRead () const
 Return true if startup loading succeeded. If the loading failed then reasonForUnsuccessfulRed will explain why.
 
virtual void updatePointOrdinals (const Transformation &transformation)
 Update point ordinals after point addition/removal or dragging. More...
 
- Public Member Functions inherited from CoordSystemInterface
 CoordSystemInterface ()
 Single constructor.
 

Detailed Description

Storage of data belonging to one coordinate system.

There can be one or more coordinate systems per graph, and one or more graphs in the image belonging to a Document

Definition at line 42 of file CoordSystem.h.

Member Function Documentation

◆ addPointAxisWithGeneratedIdentifier()

void CoordSystem::addPointAxisWithGeneratedIdentifier ( const QPointF &  posScreen,
const QPointF &  posGraph,
QString &  identifier,
double  ordinal,
bool  isXOnly 
)
virtual

Add a single axis point with a generated point identifier.

Call this after checkAddPointAxis to guarantee success in this call.

Parameters
posScreenScreen coordinates from QGraphicsView
posGraphGraph coordiantes from user
identifierIdentifier for new axis point
ordinalUnique, for curve, ordinal number
isXOnlyTrue if graph coordinates have only x coordinate

Implements CoordSystemInterface.

Definition at line 72 of file CoordSystem.cpp.

◆ addPointAxisWithSpecifiedIdentifier()

void CoordSystem::addPointAxisWithSpecifiedIdentifier ( const QPointF &  posScreen,
const QPointF &  posGraph,
const QString &  identifier,
double  ordinal,
bool  isXOnly 
)
virtual

Add a single axis point with the specified point identifier.

Call this after checkAddPointAxis to guarantee success in this call.

Parameters
posScreenScreen coordinates from QGraphicsView
posGraphGraph coordiantes from user
identifierIdentifier for new axis point
ordinalUnique, for curve, ordinal number
isXOnlyTrue if graph coordinates have only x coordinate

Implements CoordSystemInterface.

Definition at line 94 of file CoordSystem.cpp.

◆ isXOnly()

bool CoordSystem::isXOnly ( const QString &  pointIdentifier) const

Return true if y coordinate is undefined, otherwise x coordinae is undefined in DOCUMENT_AXES_POINT_REQUIRE_4 mode.

Applies to axes points only

Definition at line 302 of file CoordSystem.cpp.

◆ updatePointOrdinals()

void CoordSystem::updatePointOrdinals ( const Transformation transformation)
virtual

Update point ordinals after point addition/removal or dragging.

See GraphicsScene::updatePointOrdinalsAfterDrag. Graph coordinates of point must be up to date

Implements CoordSystemInterface.

Definition at line 961 of file CoordSystem.cpp.


The documentation for this class was generated from the following files: