8#ifndef _KIS_DISTANCE_INFORMATION_H_
9#define _KIS_DISTANCE_INFORMATION_H_
13#include <QDomDocument>
15#include "kritaimage_export.h"
16#include <boost/optional.hpp>
17#include <boost/operators.hpp>
29class KRITAIMAGE_EXPORT
KisDistanceInitInfo : boost::equality_comparable<KisDistanceInitInfo> {
43 explicit KisDistanceInitInfo(qreal spacingUpdateInterval, qreal timingUpdateInterval,
int currentDabSeqNo);
49 explicit KisDistanceInitInfo(
const QPointF &lastPosition, qreal lastAngle,
int currentDabSeqNo);
56 qreal spacingUpdateInterval, qreal timingUpdateInterval,
int currentDabSeqNo);
71 void toXML(QDomDocument &doc, QDomElement &elt)
const;
98 qreal spacingUpdateInterval, qreal timingUpdateInterval,
int currentDabSeqNo);
111 bool needsSpacingUpdate()
const;
119 bool needsTimingUpdate()
const;
121 bool hasLastDabInformation()
const;
123 qreal lastDrawingAngle()
const;
125 bool hasLastPaintInformation()
const;
130 qreal maxPressure()
const;
142 qreal getNextPointPosition(
const QPointF &start,
147 qreal getSpacingInterval()
const;
148 qreal getTimingUpdateInterval()
const;
154 bool isStarted()
const;
164 qreal scalarDistanceApprox()
const;
166 void overrideLastValues(
const QPointF &lastPosition, qreal lastAngle);
169 qreal getNextPointPositionIsotropic(
const QPointF &start,
171 qreal getNextPointPositionAnisotropic(
const QPointF &start,
173 qreal getNextPointPositionTimed(qreal startTime,
175 void resetAccumulators();
bool operator==(const KisRegion &lhs, const KisRegion &rhs)