7 #include "CallbackAxesCheckerFromAxesPoints.h" 9 #include "CmdMediator.h" 11 #include "EnumsToQt.h" 12 #include "FilterImage.h" 13 #include "GridClassifier.h" 15 #include <QGraphicsScene> 18 #include "Transformation.h" 19 #include "TransformationStateContext.h" 20 #include "TransformationStateDefined.h" 22 const 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()));
37 const QString &selectedGraphCurve)
39 LOG4CPP_INFO_S ((*mainCat)) <<
"TransformationStateDefined::begin";
44 initializeModelGridDisplay (cmdMediator,
52 initializeModelGridRemoval (isGnuplot,
66 LOG4CPP_INFO_S ((*mainCat)) <<
"TransformationStateDefined::end";
71 void TransformationStateDefined::initializeModelGridDisplay (
CmdMediator &cmdMediator,
77 void TransformationStateDefined::initializeModelGridRemoval (
bool isGnuplot,
80 const QString &selectedGraphCurve)
82 LOG4CPP_INFO_S ((*mainCat)) <<
"TransformationStateDefined::initializeModelGridRemoval";
86 QPixmap pixmapFiltered = filterImage.
filter (isGnuplot,
95 double startX, startY, stepX, stepY;
115 void TransformationStateDefined::slotTimeout()
117 LOG4CPP_INFO_S ((*mainCat)) <<
"TransformationStateDefined::slotTimeout";
124 LOG4CPP_INFO_S ((*mainCat)) <<
"TransformationStateDefined::startTimer";
128 if (modelAxesChecker.
checkerMode () == CHECKER_MODE_N_SECONDS) {
131 int milliseconds = modelAxesChecker.
checkerSeconds() * SECONDS_TO_MILLISECONDS;
132 m_timer->start (milliseconds);
140 Functor2wRet<const QString &, const Point&, CallbackSearchReturn> ftorWithCallback = functor_ret (ftor,
bool stable() const
Get method for stable flag.
void setModelGridRemoval(const DocumentModelGridRemoval &modelGridRemoval)
Set method for DocumentModelGridRemoval.
Context class for transformation state machine.
DocumentModelGridRemoval modelGridRemoval() const
Get method for DocumentModelGridRemoval.
int checkerSeconds() const
Get method for checker lifetime in seconds.
QPixmap filter(bool isGnuplot, const QImage &imageUnfiltered, const Transformation &transformation, const QString &curveSelected, const DocumentModelColorFilter &modelColorFilter, const DocumentModelGridRemoval &modelGridRemoval) const
Filter original unfiltered image into filtered pixmap.
CallbackSearchReturn callback(const QString &curveName, const Point &point)
Callback method.
DocumentAxesPointsRequired documentAxesPointsRequired() const
Get method for DocumentAxesPointsRequired.
DocumentModelColorFilter modelColorFilter() const
Get method for DocumentModelColorFilter.
Box shape that is drawn through the three axis points, to temporarily (usually) or permanently (rarel...
bool stable() const
Get method for stable flag.
CheckerMode checkerMode() const
Get method for checker lifetime mode.
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...
Points points() const
Return the collected points as a polygon, in screen coordinates.
DocumentModelGridDisplay modelGridDisplay() const
Get method for DocumentModelGridDisplay.
int pointRadius(const QString &curveName) const
Get method for curve point radius.
Callback for positioning the axes indicator according to the axes points.
Filters an image using a combination of color filtering and grid removal.
Model for DlgSettingsAxesChecker and CmdSettingsAxesChecker.
Classify the grid pattern in an original image.
void setVisible(bool visible)
Show/hide this axes checker.
QPixmap pixmap() const
Return the image that is being digitized.
CurveStyles modelCurveStyles() const
Get method for CurveStyles.
void initializeGridDisplay(const Transformation &transformation)
Initialize grid display. This is called immediately after the transformation has been defined for the...
Model for DlgSettingsGridRemoval and CmdSettingsGridRemoval. The settings are unstable until the user...
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. ...
DocumentModelCoords modelCoords() const
Get method for DocumentModelCoords.
DocumentModelAxesChecker modelAxesChecker() const
Get method for DocumentModelAxesChecker.