7#include "CallbackAxesCheckerFromAxesPoints.h"
9#include "CmdMediator.h"
12#include "FilterImage.h"
13#include "GridClassifier.h"
15#include <QGraphicsScene>
18#include "Transformation.h"
19#include "TransformationStateContext.h"
20#include "TransformationStateDefined.h"
22const int SECONDS_TO_MILLISECONDS = 1000.0;
25 QGraphicsScene &scene) :
27 m_axesChecker (new
Checker (scene)),
30 m_timer->setSingleShot (
true);
31 connect (m_timer, SIGNAL (timeout()),
this, SLOT (slotTimeout()));
36 const QString &selectedGraphCurve)
38 LOG4CPP_INFO_S ((*mainCat)) <<
"TransformationStateDefined::begin";
43 initializeModelGridRemoval (cmdMediator,
56 LOG4CPP_INFO_S ((*mainCat)) <<
"TransformationStateDefined::end";
61void TransformationStateDefined::initializeModelGridRemoval (
CmdMediator &cmdMediator,
63 const QString &selectedGraphCurve)
65 LOG4CPP_INFO_S ((*mainCat)) <<
"TransformationStateDefined::initializeModelGridRemoval";
77 double startX, startY, stepX, stepY;
97void TransformationStateDefined::slotTimeout()
99 LOG4CPP_INFO_S ((*mainCat)) <<
"TransformationStateDefined::slotTimeout";
106 LOG4CPP_INFO_S ((*mainCat)) <<
"TransformationStateDefined::startTimer";
110 if (modelAxesChecker.
checkerMode () == CHECKER_MODE_N_SECONDS) {
113 int milliseconds = modelAxesChecker.
checkerSeconds() * SECONDS_TO_MILLISECONDS;
114 m_timer->start (milliseconds);
122 Functor2wRet<const QString &, const Point&, CallbackSearchReturn> ftorWithCallback = functor_ret (ftor,
Callback for positioning the axes indicator according to the axes points.
CallbackSearchReturn callback(const QString &curveName, const Point &point)
Callback method.
Points points() const
Return the collected points as a polygon, in screen coordinates.
Box shape that is drawn through the three axis points, to temporarily (usually) or permanently (rarel...
void prepareForDisplay(const QPolygonF &polygon, int pointRadius, const DocumentModelAxesChecker &modelAxesChecker, const DocumentModelCoords &modelCoords, DocumentAxesPointsRequired documentAxesPointsRequired)
Create the polygon from current information, including pixel coordinates, just prior to display.
void setVisible(bool visible)
Show/hide this axes checker.
int pointRadius(const QString &curveName) const
Get method for curve point radius.
Model for DlgSettingsAxesChecker and CmdSettingsAxesChecker.
int checkerSeconds() const
Get method for checker lifetime in seconds.
CheckerMode checkerMode() const
Get method for checker lifetime mode.
Model for DlgSettingsGridRemoval and CmdSettingsGridRemoval. The settings are unstable until the user...
bool stable() const
Get method for stable flag.
void setModelGridRemoval(const DocumentModelGridRemoval &modelGridRemoval)
Set method for DocumentModelGridRemoval.
QPixmap pixmap() const
Return the image that is being digitized.
DocumentModelAxesChecker modelAxesChecker() const
Get method for DocumentModelAxesChecker.
DocumentModelCoords modelCoords() const
Get method for DocumentModelCoords.
DocumentModelColorFilter modelColorFilter() const
Get method for DocumentModelColorFilter.
CurveStyles modelCurveStyles() const
Get method for CurveStyles.
DocumentAxesPointsRequired documentAxesPointsRequired() const
Get method for DocumentAxesPointsRequired.
DocumentModelGridRemoval modelGridRemoval() const
Get method for DocumentModelGridRemoval.
Filters an image using a combination of color filtering and grid removal.
QPixmap filter(const QImage &imageUnfiltered, const Transformation &transformation, const QString &curveSelected, const DocumentModelColorFilter &modelColorFilter, const DocumentModelGridRemoval &modelGridRemoval) const
Filter original unfiltered image into filtered pixmap.
Classify the grid pattern in an original image.
void classify(bool isGnuplot, const QPixmap &originalPixmap, const Transformation &transformation, int &countX, double &startX, double &stepX, int &countY, double &startY, double &stepY)
Classify the specified image, and return the most probably x and y grid settings.
Context class for transformation state machine.