Pencil2D Animation
Download Community News Docs Contribute
  • Overview
  • Articles
  • Code
  •  
  • Class List
  • Class Index
  • Class Hierarchy
  • Class Members
  • File List
Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
StrokeInterpolator Class Reference
+ Inheritance diagram for StrokeInterpolator:
Inheritance graph
[legend]
+ Collaboration diagram for StrokeInterpolator:
Collaboration graph
[legend]

Public Member Functions

void pointerPressEvent (PointerEvent *event)
 
void pointerMoveEvent (PointerEvent *event)
 
void pointerReleaseEvent (PointerEvent *event)
 
void setPressure (float pressure)
 
void setStabilizerLevel (int level)
 
float getPressure ()
 
int getStabilizerLevel ()
 
bool isActive () const
 
QList< QPointF > interpolateStroke ()
 
void interpolatePoll ()
 
QPointF interpolateStart (QPointF firstPoint)
 
void interpolatePollAndPaint ()
 
void interpolateEnd ()
 
void smoothMousePos (QPointF pos)
 
QList< QPointF > meanInpolOp (QList< QPointF > points, qreal x, qreal y, qreal pressure)
 
QList< QPointF > noInpolOp (QList< QPointF > points)
 
QList< QPointF > tangentInpolOp (QList< QPointF > points)
 
QPointF getCurrentPixel () const
 
QPointF getLastPixel () const
 
QPointF getLastMeanPixel () const
 
QPointF getCurrentPressPixel () const
 
- Public Member Functions inherited from QObject
virtual const QMetaObject * metaObject () const const
 
 QObject (QObject *parent)
 
virtual bool event (QEvent *e)
 
virtual bool eventFilter (QObject *watched, QEvent *event)
 
QString objectName () const const
 
void setObjectName (const QString &name)
 
bool isWidgetType () const const
 
bool isWindowType () const const
 
bool signalsBlocked () const const
 
bool blockSignals (bool block)
 
QThread * thread () const const
 
void moveToThread (QThread *targetThread)
 
int startTimer (int interval, Qt::TimerType timerType)
 
int startTimer (std::chrono::milliseconds time, Qt::TimerType timerType)
 
void killTimer (int id)
 
T findChild (const QString &name, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QString &name, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QRegExp &regExp, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QRegularExpression &re, Qt::FindChildOptions options) const const
 
const QObjectList & children () const const
 
void setParent (QObject *parent)
 
void installEventFilter (QObject *filterObj)
 
void removeEventFilter (QObject *obj)
 
QMetaObject::Connection connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const const
 
bool disconnect (const char *signal, const QObject *receiver, const char *method) const const
 
bool disconnect (const QObject *receiver, const char *method) const const
 
void dumpObjectTree ()
 
void dumpObjectInfo ()
 
void dumpObjectTree () const const
 
void dumpObjectInfo () const const
 
bool setProperty (const char *name, const QVariant &value)
 
QVariant property (const char *name) const const
 
QList< QByteArray > dynamicPropertyNames () const const
 
void destroyed (QObject *obj)
 
void objectNameChanged (const QString &objectName)
 
QObject * parent () const const
 
bool inherits (const char *className) const const
 
void deleteLater ()
 
 Q_DISABLE_COPY (Class)
 
 Q_DISABLE_MOVE (Class)
 
 Q_DISABLE_COPY_MOVE (Class)
 
T qobject_cast (QObject *object)
 
T qobject_cast (const QObject *object)
 
T qFindChild (const QObject *obj, const QString &name)
 
QList< T > qFindChildren (const QObject *obj, const QString &name)
 
QList< T > qFindChildren (const QObject *obj, const QRegExp &regExp)
 
 Q_CLASSINFO (Name, Value)
 
 Q_INTERFACES (...)
 
 Q_PROPERTY (...)
 
 Q_ENUMS (...)
 
 Q_FLAGS (...)
 
 Q_ENUM (...)
 
 Q_FLAG (...)
 
 Q_ENUM_NS (...)
 
 Q_FLAG_NS (...)
 
 Q_OBJECT Q_OBJECT
 
 Q_GADGET Q_GADGET
 
 Q_NAMESPACE Q_NAMESPACE
 
 Q_NAMESPACE_EXPORT (EXPORT_MACRO)
 
 Q_SIGNALS Q_SIGNALS
 
 Q_SIGNAL Q_SIGNAL
 
 Q_SLOTS Q_SLOTS
 
 Q_SLOT Q_SLOT
 
 Q_EMIT Q_EMIT
 
 Q_INVOKABLE Q_INVOKABLE
 
 Q_REVISION Q_REVISION
 
 Q_SET_OBJECT_NAME (Object)
 
 QT_NO_NARROWING_CONVERSIONS_IN_CONNECT QT_NO_NARROWING_CONVERSIONS_IN_CONNECT
 

Private Member Functions

void reset ()
 

Private Attributes

float pressure = 1.0f
 
QQueue< QPointF > strokeQueue
 
QQueue< qreal > pressureQueue
 
QTimer timer
 
QPointF mCurrentPressPixel = { 0, 0 }
 
QPointF mCurrentPixel = { 0, 0 }
 
QPointF mLastPixel = { 0, 0 }
 
QPointF mLastInterpolated = { 0, 0 }
 
QPointF m_previousTangent
 
bool mHasTangent = false
 
bool mStrokeStarted = false
 
bool mTabletInUse = false
 
float mTabletPressure = 1.f
 
int mStabilizerLevel = 0
 

Static Private Attributes

static const int STROKE_QUEUE_LENGTH = 3
 

Additional Inherited Members

- Static Public Member Functions inherited from QObject
QString tr (const char *sourceText, const char *disambiguation, int n)
 
QString trUtf8 (const char *sourceText, const char *disambiguation, int n)
 
QMetaObject::Connection connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, Functor functor)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, const QObject *context, Functor functor, Qt::ConnectionType type)
 
bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method)
 
bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method)
 
bool disconnect (const QMetaObject::Connection &connection)
 
bool disconnect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method)
 
- Public Attributes inherited from QObject
typedef QObjectList
 
- Protected Member Functions inherited from QObject
QObject * sender () const const
 
int senderSignalIndex () const const
 
int receivers (const char *signal) const const
 
bool isSignalConnected (const QMetaMethod &signal) const const
 
virtual void timerEvent (QTimerEvent *event)
 
virtual void childEvent (QChildEvent *event)
 
virtual void customEvent (QEvent *event)
 
virtual void connectNotify (const QMetaMethod &signal)
 
virtual void disconnectNotify (const QMetaMethod &signal)
 
- Properties inherited from QObject
 objectName
 

Detailed Description

Definition at line 29 of file strokeinterpolator.h.

Constructor & Destructor Documentation

◆ StrokeInterpolator()

StrokeInterpolator::StrokeInterpolator ( )

Definition at line 28 of file strokeinterpolator.cpp.

Member Function Documentation

◆ getCurrentPixel()

QPointF StrokeInterpolator::getCurrentPixel ( ) const
inline

Definition at line 54 of file strokeinterpolator.h.

◆ getCurrentPressPixel()

QPointF StrokeInterpolator::getCurrentPressPixel ( ) const
inline

Definition at line 57 of file strokeinterpolator.h.

◆ getLastMeanPixel()

QPointF StrokeInterpolator::getLastMeanPixel ( ) const
inline

Definition at line 56 of file strokeinterpolator.h.

◆ getLastPixel()

QPointF StrokeInterpolator::getLastPixel ( ) const
inline

Definition at line 55 of file strokeinterpolator.h.

◆ getPressure()

float StrokeInterpolator::getPressure ( )
inline

Definition at line 40 of file strokeinterpolator.h.

◆ getStabilizerLevel()

int StrokeInterpolator::getStabilizerLevel ( )
inline

Definition at line 41 of file strokeinterpolator.h.

◆ interpolateEnd()

void StrokeInterpolator::interpolateEnd ( )

Definition at line 333 of file strokeinterpolator.cpp.

◆ interpolatePoll()

void StrokeInterpolator::interpolatePoll ( )

Definition at line 197 of file strokeinterpolator.cpp.

◆ interpolatePollAndPaint()

void StrokeInterpolator::interpolatePollAndPaint ( )

Definition at line 206 of file strokeinterpolator.cpp.

◆ interpolateStart()

QPointF StrokeInterpolator::interpolateStart ( QPointF  firstPoint)

Definition at line 154 of file strokeinterpolator.cpp.

◆ interpolateStroke()

QList< QPointF > StrokeInterpolator::interpolateStroke ( )

Definition at line 216 of file strokeinterpolator.cpp.

◆ isActive()

bool StrokeInterpolator::isActive ( ) const
inline

Definition at line 42 of file strokeinterpolator.h.

◆ meanInpolOp()

QList< QPointF > StrokeInterpolator::meanInpolOp ( QList< QPointF >  points,
qreal  x,
qreal  y,
qreal  pressure 
)

Definition at line 307 of file strokeinterpolator.cpp.

◆ noInpolOp()

QList< QPointF > StrokeInterpolator::noInpolOp ( QList< QPointF >  points)

Definition at line 241 of file strokeinterpolator.cpp.

◆ pointerMoveEvent()

void StrokeInterpolator::pointerMoveEvent ( PointerEvent *  event)

Definition at line 69 of file strokeinterpolator.cpp.

◆ pointerPressEvent()

void StrokeInterpolator::pointerPressEvent ( PointerEvent *  event)

Definition at line 53 of file strokeinterpolator.cpp.

◆ pointerReleaseEvent()

void StrokeInterpolator::pointerReleaseEvent ( PointerEvent *  event)

Definition at line 89 of file strokeinterpolator.cpp.

◆ reset()

void StrokeInterpolator::reset ( )
private

Definition at line 37 of file strokeinterpolator.cpp.

◆ setPressure()

void StrokeInterpolator::setPressure ( float  pressure)

Definition at line 48 of file strokeinterpolator.cpp.

◆ setStabilizerLevel()

void StrokeInterpolator::setStabilizerLevel ( int  level)

Definition at line 101 of file strokeinterpolator.cpp.

◆ smoothMousePos()

void StrokeInterpolator::smoothMousePos ( QPointF  pos)

Definition at line 106 of file strokeinterpolator.cpp.

◆ tangentInpolOp()

QList< QPointF > StrokeInterpolator::tangentInpolOp ( QList< QPointF >  points)

Definition at line 254 of file strokeinterpolator.cpp.

Member Data Documentation

◆ m_previousTangent

QPointF StrokeInterpolator::m_previousTangent
private

Definition at line 75 of file strokeinterpolator.h.

◆ mCurrentPixel

QPointF StrokeInterpolator::mCurrentPixel = { 0, 0 }
private

Definition at line 71 of file strokeinterpolator.h.

◆ mCurrentPressPixel

QPointF StrokeInterpolator::mCurrentPressPixel = { 0, 0 }
private

Definition at line 70 of file strokeinterpolator.h.

◆ mHasTangent

bool StrokeInterpolator::mHasTangent = false
private

Definition at line 76 of file strokeinterpolator.h.

◆ mLastInterpolated

QPointF StrokeInterpolator::mLastInterpolated = { 0, 0 }
private

Definition at line 73 of file strokeinterpolator.h.

◆ mLastPixel

QPointF StrokeInterpolator::mLastPixel = { 0, 0 }
private

Definition at line 72 of file strokeinterpolator.h.

◆ mStabilizerLevel

int StrokeInterpolator::mStabilizerLevel = 0
private

Definition at line 80 of file strokeinterpolator.h.

◆ mStrokeStarted

bool StrokeInterpolator::mStrokeStarted = false
private

Definition at line 77 of file strokeinterpolator.h.

◆ mTabletInUse

bool StrokeInterpolator::mTabletInUse = false
private

Definition at line 78 of file strokeinterpolator.h.

◆ mTabletPressure

float StrokeInterpolator::mTabletPressure = 1.f
private

Definition at line 79 of file strokeinterpolator.h.

◆ pressure

float StrokeInterpolator::pressure = 1.0f
private

Definition at line 64 of file strokeinterpolator.h.

◆ pressureQueue

QQueue<qreal> StrokeInterpolator::pressureQueue
private

Definition at line 66 of file strokeinterpolator.h.

◆ STROKE_QUEUE_LENGTH

const int StrokeInterpolator::STROKE_QUEUE_LENGTH = 3
staticprivate

Definition at line 60 of file strokeinterpolator.h.

◆ strokeQueue

QQueue<QPointF> StrokeInterpolator::strokeQueue
private

Definition at line 65 of file strokeinterpolator.h.

◆ timer

QTimer StrokeInterpolator::timer
private

Definition at line 68 of file strokeinterpolator.h.


The documentation for this class was generated from the following files:
  • core_lib/src/tool/strokeinterpolator.h
  • core_lib/src/tool/strokeinterpolator.cpp
Generated on Thu May 8 2025 04:47:54 for Pencil2D by doxygen 1.9.6 based on revision 4513250b1d5b1a3676ec0e67b06b7a885ceaae39