Engauge Digitizer  2
CallbackNextOrdinal.cpp
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 #include "CallbackNextOrdinal.h"
8 #include "Logger.h"
9 #include "Point.h"
10 
11 CallbackNextOrdinal::CallbackNextOrdinal(const QString &curveName) :
12  m_curveName (curveName),
13  m_maxOrdinalUsed (0)
14 {
15 }
16 
17 CallbackSearchReturn CallbackNextOrdinal::callback (const QString &curveName,
18  const Point &point)
19 {
20  if (curveName == m_curveName) {
21  if (point.ordinal() > m_maxOrdinalUsed) {
22  m_maxOrdinalUsed = point.ordinal();
23  }
24  }
25 
26  return CALLBACK_SEARCH_RETURN_CONTINUE;
27 }
28 
30 {
31  int nextOrdinal = m_maxOrdinalUsed + 1;
32 
33  LOG4CPP_INFO_S ((*mainCat)) << "CallbackNextOrdinal::nextOrdinal"
34  << " ordinal=" << nextOrdinal;
35 
36  return nextOrdinal;
37 }
Class that represents one digitized point. The screen-to-graph coordinate transformation is always ex...
Definition: Point.h:23
double ordinal(ApplyHasCheck applyHasCheck=KEEP_HAS_CHECK) const
Get method for ordinal. Skip check if copying one instance to another.
Definition: Point.cpp:374
CallbackSearchReturn callback(const QString &curveName, const Point &point)
Callback method.
CallbackNextOrdinal(const QString &curveName)
Single constructor.
double nextOrdinal() const
Computed next ordinal.