|
Krita Source Code Documentation
|
#include <kis_distance_information.h>
Inheritance diagram for KisDistanceInformation:Public Attributes | |
| QPointF | accumDistance |
| qreal | accumTime |
| int | currentDabSeqNo |
| qreal | lastAngle |
| bool | lastDabInfoValid |
| qreal | lastMaxPressure = 0.0 |
| KisPaintInformation | lastPaintInformation |
| bool | lastPaintInfoValid |
| QPointF | lastPosition |
| int | levelOfDetail |
| boost::optional< qreal > | lockedDrawingAngleOptional |
| KisSpacingInformation | spacing |
| qreal | spacingUpdateInterval |
| qreal | timeSinceSpacingUpdate |
| qreal | timeSinceTimingUpdate |
| KisTimingInformation | timing |
| qreal | timingUpdateInterval |
| qreal | totalDistance |
Public Attributes inherited from Private | |
| KisCanvas2 * | canvas |
| int | displayedFrame |
| int | intendedFrame |
Private Member Functions | |
| qreal | getNextPointPositionAnisotropic (const QPointF &start, const QPointF &end) |
| qreal | getNextPointPositionIsotropic (const QPointF &start, const QPointF &end) |
| qreal | getNextPointPositionTimed (qreal startTime, qreal endTime) |
| void | resetAccumulators () |
Private Attributes | |
| Private *const | m_d |
This structure keeps track of distance and timing information during a stroke, e.g. the time or distance moved since the last dab.
Definition at line 29 of file kis_distance_information.cpp.
| KisDistanceInformation::KisDistanceInformation | ( | ) |
Definition at line 233 of file kis_distance_information.cpp.
| KisDistanceInformation::KisDistanceInformation | ( | qreal | spacingUpdateInterval, |
| qreal | timingUpdateInterval, | ||
| int | currentDabSeqNo = 0 ) |
Definition at line 238 of file kis_distance_information.cpp.
References currentDabSeqNo, m_d, spacingUpdateInterval, and timingUpdateInterval.
| KisDistanceInformation::KisDistanceInformation | ( | const QPointF & | lastPosition, |
| qreal | lastAngle ) |
Definition at line 248 of file kis_distance_information.cpp.
References lastAngle, lastPosition, and m_d.
| KisDistanceInformation::KisDistanceInformation | ( | const QPointF & | lastPosition, |
| qreal | lastAngle, | ||
| qreal | spacingUpdateInterval, | ||
| qreal | timingUpdateInterval, | ||
| int | currentDabSeqNo ) |
| spacingUpdateInterval | The amount of time allowed between spacing updates, in milliseconds. Use LONG_TIME to only allow spacing updates when a dab is painted. |
| timingUpdateInterval | The amount of time allowed between time-based spacing updates, in milliseconds. Use LONG_TIME to only allow timing updates when a dab is painted. |
Definition at line 258 of file kis_distance_information.cpp.
References currentDabSeqNo, m_d, spacingUpdateInterval, and timingUpdateInterval.
| KisDistanceInformation::KisDistanceInformation | ( | const KisDistanceInformation & | rhs | ) |
Definition at line 270 of file kis_distance_information.cpp.
| KisDistanceInformation::KisDistanceInformation | ( | const KisDistanceInformation & | rhs, |
| int | levelOfDetail ) |
Definition at line 276 of file kis_distance_information.cpp.
References KIS_ASSERT_RECOVER_NOOP, levelOfDetail, m_d, and KisLodTransform::map().
| KisDistanceInformation::~KisDistanceInformation | ( | ) |
Definition at line 305 of file kis_distance_information.cpp.
References m_d.
| int KisDistanceInformation::currentDabSeqNo | ( | ) | const |
| const KisSpacingInformation & KisDistanceInformation::currentSpacing | ( | ) | const |
Definition at line 310 of file kis_distance_information.cpp.
References m_d.
| const KisTimingInformation & KisDistanceInformation::currentTiming | ( | ) | const |
Definition at line 326 of file kis_distance_information.cpp.
References m_d.
| qreal KisDistanceInformation::getNextPointPosition | ( | const QPointF & | start, |
| const QPointF & | end, | ||
| qreal | startTime, | ||
| qreal | endTime ) |
Definition at line 405 of file kis_distance_information.cpp.
References getNextPointPositionAnisotropic(), getNextPointPositionIsotropic(), getNextPointPositionTimed(), and m_d.
|
private |
Definition at line 492 of file kis_distance_information.cpp.
References KisAlgebra2D::abs(), eps, m_d, M_PI, MIN_DISTANCE_SPACING, pow2(), resetAccumulators(), and warnKrita.
|
private |
Definition at line 460 of file kis_distance_information.cpp.
References distance(), m_d, MIN_DISTANCE_SPACING, resetAccumulators(), and spacing.
|
private |
Definition at line 557 of file kis_distance_information.cpp.
References m_d, MAX_TIMED_INTERVAL, MIN_TIMED_INTERVAL, and resetAccumulators().
| qreal KisDistanceInformation::getSpacingInterval | ( | ) | const |
Definition at line 450 of file kis_distance_information.cpp.
References m_d.
| qreal KisDistanceInformation::getTimingUpdateInterval | ( | ) | const |
Definition at line 455 of file kis_distance_information.cpp.
References m_d.
| bool KisDistanceInformation::hasLastDabInformation | ( | ) | const |
Definition at line 342 of file kis_distance_information.cpp.
References m_d.
| bool KisDistanceInformation::hasLastPaintInformation | ( | ) | const |
Definition at line 357 of file kis_distance_information.cpp.
References m_d.
| bool KisDistanceInformation::isStarted | ( | ) | const |
Definition at line 377 of file kis_distance_information.cpp.
References m_d.
| qreal KisDistanceInformation::lastDrawingAngle | ( | ) | const |
Definition at line 352 of file kis_distance_information.cpp.
References m_d.
| const KisPaintInformation & KisDistanceInformation::lastPaintInformation | ( | ) | const |
| QPointF KisDistanceInformation::lastPosition | ( | ) | const |
| void KisDistanceInformation::lockCurrentDrawingAngle | ( | const KisPaintInformation & | info | ) | const |
Lock current drawing angle for the rest of the stroke. The new value is blended into the result proportional to the length of the stroke.
Definition at line 600 of file kis_distance_information.cpp.
References KisPaintInformation::drawingAngle(), and m_d.
| boost::optional< qreal > KisDistanceInformation::lockedDrawingAngleOptional | ( | ) | const |
| qreal KisDistanceInformation::maxPressure | ( | ) | const |
Definition at line 372 of file kis_distance_information.cpp.
References m_d.
| bool KisDistanceInformation::needsSpacingUpdate | ( | ) | const |
Returns true if this KisDistanceInformation should have its spacing information updated immediately (regardless of whether a dab is ready to be painted).
Definition at line 321 of file kis_distance_information.cpp.
References m_d.
| bool KisDistanceInformation::needsTimingUpdate | ( | ) | const |
Returns true if this KisDistanceInformation should have its timing information updated immediately (regardless of whether a dab is ready to be painted).
Definition at line 337 of file kis_distance_information.cpp.
References m_d.
| KisDistanceInformation & KisDistanceInformation::operator= | ( | const KisDistanceInformation & | rhs | ) |
Definition at line 290 of file kis_distance_information.cpp.
References m_d.
| void KisDistanceInformation::overrideLastValues | ( | const QPointF & | lastPosition, |
| qreal | lastAngle ) |
Definition at line 296 of file kis_distance_information.cpp.
References lastAngle, lastPosition, and m_d.
|
inline |
Definition at line 30 of file kis_distance_information.cpp.
| void KisDistanceInformation::registerPaintedDab | ( | const KisPaintInformation & | info, |
| const KisSpacingInformation & | spacing, | ||
| const KisTimingInformation & | timing ) |
| spacing | The new effective spacing after the dab. (Painting a dab is always supposed to cause a spacing update.) |
| timing | The new effective timing after the dab. (Painting a dab is always supposed to cause a timing update.) |
Definition at line 382 of file kis_distance_information.cpp.
References KisPaintInformation::drawingAngle(), KisLodTransformBase::lodToInvScale(), m_d, KisAlgebra2D::norm(), KisPaintInformation::pos(), KisPaintInformation::pressure(), spacing, and timing.
|
private |
Definition at line 589 of file kis_distance_information.cpp.
References m_d.
| qreal KisDistanceInformation::scalarDistanceApprox | ( | ) | const |
Definition at line 612 of file kis_distance_information.cpp.
References m_d.
| void KisDistanceInformation::updateSpacing | ( | const KisSpacingInformation & | spacing | ) |
| void KisDistanceInformation::updateTiming | ( | const KisTimingInformation & | timing | ) |
| QPointF KisDistanceInformation::accumDistance |
Definition at line 47 of file kis_distance_information.cpp.
| qreal KisDistanceInformation::accumTime |
Definition at line 48 of file kis_distance_information.cpp.
| int KisDistanceInformation::currentDabSeqNo |
Definition at line 72 of file kis_distance_information.cpp.
| qreal KisDistanceInformation::lastAngle |
Definition at line 62 of file kis_distance_information.cpp.
| bool KisDistanceInformation::lastDabInfoValid |
Definition at line 63 of file kis_distance_information.cpp.
| qreal KisDistanceInformation::lastMaxPressure = 0.0 |
Definition at line 75 of file kis_distance_information.cpp.
| const KisPaintInformation & KisDistanceInformation::lastPaintInformation |
Definition at line 66 of file kis_distance_information.cpp.
| bool KisDistanceInformation::lastPaintInfoValid |
Definition at line 67 of file kis_distance_information.cpp.
| QPointF KisDistanceInformation::lastPosition |
Definition at line 61 of file kis_distance_information.cpp.
| int KisDistanceInformation::levelOfDetail |
Definition at line 73 of file kis_distance_information.cpp.
| boost::optional< qreal > KisDistanceInformation::lockedDrawingAngleOptional |
Definition at line 70 of file kis_distance_information.cpp.
|
private |
Definition at line 179 of file kis_distance_information.h.
| KisSpacingInformation KisDistanceInformation::spacing |
Definition at line 50 of file kis_distance_information.cpp.
| qreal KisDistanceInformation::spacingUpdateInterval |
Definition at line 51 of file kis_distance_information.cpp.
| qreal KisDistanceInformation::timeSinceSpacingUpdate |
Definition at line 53 of file kis_distance_information.cpp.
| qreal KisDistanceInformation::timeSinceTimingUpdate |
Definition at line 58 of file kis_distance_information.cpp.
| KisTimingInformation KisDistanceInformation::timing |
Definition at line 55 of file kis_distance_information.cpp.
| qreal KisDistanceInformation::timingUpdateInterval |
Definition at line 56 of file kis_distance_information.cpp.
| qreal KisDistanceInformation::totalDistance |
Definition at line 69 of file kis_distance_information.cpp.