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 | Static Public Member Functions | Private Attributes | List of all members
BezierCurve Class Reference
+ Collaboration diagram for BezierCurve:
Collaboration graph
[legend]

Public Member Functions

 BezierCurve (const QList< QPointF > &pointList, bool smooth=true)
 
 BezierCurve (const QList< QPointF > &pointList, const QList< qreal > &pressureList, double tol, bool smooth=true)
 
Status createDomElement (QXmlStreamWriter &xmlStream)
 
void loadDomElement (const QDomElement &element)
 
qreal getWidth () const
 
qreal getFeather () const
 
bool getVariableWidth () const
 
int getColorNumber () const
 
void decreaseColorNumber ()
 
int getVertexSize () const
 
QPointF getOrigin () const
 
QPointF getVertex (int i) const
 
QPointF getC1 (int i) const
 
QPointF getC2 (int i) const
 
qreal getPressure (int i) const
 
bool isSelected (int vertex) const
 
bool isSelected () const
 
bool isPartlySelected () const
 
bool isInvisible () const
 
bool intersects (QPointF point, qreal distance)
 
bool intersects (QRectF rectangle)
 
bool isFilled () const
 
void setOrigin (const QPointF &point)
 
void setOrigin (const QPointF &point, const qreal &pressureValue, const bool &trueOrFalse)
 
void setC1 (int i, const QPointF &point)
 
void setC2 (int i, const QPointF &point)
 
void setVertex (int i, const QPointF &point)
 
void setLastVertex (const QPointF &point)
 
void setWidth (qreal desiredWidth)
 
void setFeather (qreal desiredFeather)
 
void setVariableWidth (bool YesOrNo)
 
void setInvisibility (bool YesOrNo)
 
void setColorNumber (int colorNumber)
 
void setSelected (bool YesOrNo)
 
void setSelected (int i, bool YesOrNo)
 
void setFilled (bool yesOrNo)
 BezierCurve::setFilled.
 
BezierCurve transformed (QTransform transformation) const
 
void transform (QTransform transformation)
 
void appendCubic (const QPointF &c1Point, const QPointF &c2Point, const QPointF &vertexPoint, qreal pressureValue)
 
void addPoint (int position, const QPointF point)
 
void addPoint (int position, const qreal fraction)
 
QPointF getPointOnCubic (int i, qreal t)
 
void removeVertex (int i)
 
QPainterPath getStraightPath ()
 
QPainterPath getSimplePath ()
 
QPainterPath getStrokedPath ()
 
QPainterPath getStrokedPath (qreal width)
 
QPainterPath getStrokedPath (qreal width, bool pressure)
 
QRectF getBoundingRect ()
 
void drawPath (QPainter &painter, const Object &object, QTransform transformation, bool simplified, bool showThinLines)
 
void createCurve (const QList< QPointF > &pointList, const QList< qreal > &pressureList, bool smooth)
 
void smoothCurve ()
 

Static Public Member Functions

static void simplify (double tol, const QList< QPointF > &inputList, int j, int k, QList< bool > &markList)
 
static qreal eLength (const QPointF point)
 
static qreal mLength (const QPointF point)
 
static void normalise (QPointF &point)
 
static qreal findDistance (BezierCurve curve, int i, QPointF P, QPointF &nearestPoint, qreal &t)
 
static bool findIntersection (BezierCurve curve1, int i1, BezierCurve curve2, int i2, QList< Intersection > &intersections)
 

Private Attributes

QPointF origin
 
QList< QPointF > c1
 
QList< QPointF > c2
 
QList< QPointF > vertex
 
QList< float > pressure
 
int colorNumber = 0
 
float width = 0.f
 
float feather = 0.f
 
bool variableWidth = 0.f
 
bool invisible = false
 
bool mFilled = false
 
QList< bool > selected
 

Detailed Description

Definition at line 33 of file beziercurve.h.

Constructor & Destructor Documentation

◆ BezierCurve() [1/3]

BezierCurve::BezierCurve ( )
explicit

Definition at line 30 of file beziercurve.cpp.

◆ BezierCurve() [2/3]

BezierCurve::BezierCurve ( const QList< QPointF > &  pointList,
bool  smooth = true 
)
explicit

Definition at line 34 of file beziercurve.cpp.

◆ BezierCurve() [3/3]

BezierCurve::BezierCurve ( const QList< QPointF > &  pointList,
const QList< qreal > &  pressureList,
double  tol,
bool  smooth = true 
)
explicit

Definition at line 44 of file beziercurve.cpp.

Member Function Documentation

◆ addPoint() [1/2]

void BezierCurve::addPoint ( int  position,
const QPointF  point 
)

Definition at line 339 of file beziercurve.cpp.

◆ addPoint() [2/2]

void BezierCurve::addPoint ( int  position,
const qreal  fraction 
)

Definition at line 365 of file beziercurve.cpp.

◆ appendCubic()

void BezierCurve::appendCubic ( const QPointF &  c1Point,
const QPointF &  c2Point,
const QPointF &  vertexPoint,
qreal  pressureValue 
)

Definition at line 330 of file beziercurve.cpp.

◆ createCurve()

void BezierCurve::createCurve ( const QList< QPointF > &  pointList,
const QList< qreal > &  pressureList,
bool  smooth 
)

Definition at line 628 of file beziercurve.cpp.

◆ createDomElement()

Status BezierCurve::createDomElement ( QXmlStreamWriter &  xmlStream)

Definition at line 87 of file beziercurve.cpp.

◆ decreaseColorNumber()

void BezierCurve::decreaseColorNumber ( )
inline

Definition at line 47 of file beziercurve.h.

◆ drawPath()

void BezierCurve::drawPath ( QPainter &  painter,
const Object &  object,
QTransform  transformation,
bool  simplified,
bool  showThinLines 
)

Definition at line 432 of file beziercurve.cpp.

◆ eLength()

qreal BezierCurve::eLength ( const QPointF  point)
static

Definition at line 757 of file beziercurve.cpp.

◆ findDistance()

qreal BezierCurve::findDistance ( BezierCurve  curve,
int  i,
QPointF  P,
QPointF &  nearestPoint,
qreal &  t 
)
static

Definition at line 780 of file beziercurve.cpp.

◆ findIntersection()

bool BezierCurve::findIntersection ( BezierCurve  curve1,
int  i1,
BezierCurve  curve2,
int  i2,
QList< Intersection > &  intersections 
)
static

Definition at line 838 of file beziercurve.cpp.

◆ getBoundingRect()

QRectF BezierCurve::getBoundingRect ( )

Definition at line 622 of file beziercurve.cpp.

◆ getC1()

QPointF BezierCurve::getC1 ( int  i) const
inline

Definition at line 51 of file beziercurve.h.

◆ getC2()

QPointF BezierCurve::getC2 ( int  i) const
inline

Definition at line 52 of file beziercurve.h.

◆ getColorNumber()

int BezierCurve::getColorNumber ( ) const
inline

Definition at line 46 of file beziercurve.h.

◆ getFeather()

qreal BezierCurve::getFeather ( ) const
inline

Definition at line 44 of file beziercurve.h.

◆ getOrigin()

QPointF BezierCurve::getOrigin ( ) const
inline

Definition at line 49 of file beziercurve.h.

◆ getPointOnCubic()

QPointF BezierCurve::getPointOnCubic ( int  i,
qreal  t 
)

Definition at line 805 of file beziercurve.cpp.

◆ getPressure()

qreal BezierCurve::getPressure ( int  i) const
inline

Definition at line 53 of file beziercurve.h.

◆ getSimplePath()

QPainterPath BezierCurve::getSimplePath ( )

Definition at line 529 of file beziercurve.cpp.

◆ getStraightPath()

QPainterPath BezierCurve::getStraightPath ( )

Definition at line 517 of file beziercurve.cpp.

◆ getStrokedPath() [1/3]

QPainterPath BezierCurve::getStrokedPath ( )

Definition at line 540 of file beziercurve.cpp.

◆ getStrokedPath() [2/3]

QPainterPath BezierCurve::getStrokedPath ( qreal  width)

Definition at line 545 of file beziercurve.cpp.

◆ getStrokedPath() [3/3]

QPainterPath BezierCurve::getStrokedPath ( qreal  width,
bool  pressure 
)

Definition at line 551 of file beziercurve.cpp.

◆ getVariableWidth()

bool BezierCurve::getVariableWidth ( ) const
inline

Definition at line 45 of file beziercurve.h.

◆ getVertex()

QPointF BezierCurve::getVertex ( int  i) const
inline

Definition at line 50 of file beziercurve.h.

◆ getVertexSize()

int BezierCurve::getVertexSize ( ) const
inline

Definition at line 48 of file beziercurve.h.

◆ getWidth()

qreal BezierCurve::getWidth ( ) const
inline

Definition at line 43 of file beziercurve.h.

◆ intersects() [1/2]

bool BezierCurve::intersects ( QPointF  point,
qreal  distance 
)

Definition at line 814 of file beziercurve.cpp.

◆ intersects() [2/2]

bool BezierCurve::intersects ( QRectF  rectangle)

Definition at line 825 of file beziercurve.cpp.

◆ isFilled()

bool BezierCurve::isFilled ( ) const
inline

Definition at line 60 of file beziercurve.h.

◆ isInvisible()

bool BezierCurve::isInvisible ( ) const
inline

Definition at line 57 of file beziercurve.h.

◆ isPartlySelected()

bool BezierCurve::isPartlySelected ( ) const
inline

Definition at line 56 of file beziercurve.h.

◆ isSelected() [1/2]

bool BezierCurve::isSelected ( ) const
inline

Definition at line 55 of file beziercurve.h.

◆ isSelected() [2/2]

bool BezierCurve::isSelected ( int  vertex) const
inline

Definition at line 54 of file beziercurve.h.

◆ loadDomElement()

void BezierCurve::loadDomElement ( const QDomElement &  element)

Definition at line 147 of file beziercurve.cpp.

◆ mLength()

qreal BezierCurve::mLength ( const QPointF  point)
static

Definition at line 764 of file beziercurve.cpp.

◆ normalise()

void BezierCurve::normalise ( QPointF &  point)
static

Definition at line 771 of file beziercurve.cpp.

◆ removeVertex()

void BezierCurve::removeVertex ( int  i)

Definition at line 400 of file beziercurve.cpp.

◆ setC1()

void BezierCurve::setC1 ( int  i,
const QPointF &  point 
)

Definition at line 193 of file beziercurve.cpp.

◆ setC2()

void BezierCurve::setC2 ( int  i,
const QPointF &  point 
)

Definition at line 205 of file beziercurve.cpp.

◆ setColorNumber()

void BezierCurve::setColorNumber ( int  colorNumber)
inline

Definition at line 72 of file beziercurve.h.

◆ setFeather()

void BezierCurve::setFeather ( qreal  desiredFeather)

Definition at line 251 of file beziercurve.cpp.

◆ setFilled()

void BezierCurve::setFilled ( bool  YesOrNo)

BezierCurve::setFilled.

Parameters
YesOrNobool setFilled doesn't do anything on its own, but we use it to see if a curve has been filled with an BezierArea.

Definition at line 277 of file beziercurve.cpp.

◆ setInvisibility()

void BezierCurve::setInvisibility ( bool  YesOrNo)

Definition at line 261 of file beziercurve.cpp.

◆ setLastVertex()

void BezierCurve::setLastVertex ( const QPointF &  point)

Definition at line 233 of file beziercurve.cpp.

◆ setOrigin() [1/2]

void BezierCurve::setOrigin ( const QPointF &  point)

Definition at line 181 of file beziercurve.cpp.

◆ setOrigin() [2/2]

void BezierCurve::setOrigin ( const QPointF &  point,
const qreal &  pressureValue,
const bool &  trueOrFalse 
)

Definition at line 186 of file beziercurve.cpp.

◆ setSelected() [1/2]

void BezierCurve::setSelected ( bool  YesOrNo)
inline

Definition at line 73 of file beziercurve.h.

◆ setSelected() [2/2]

void BezierCurve::setSelected ( int  i,
bool  YesOrNo 
)

Definition at line 266 of file beziercurve.cpp.

◆ setVariableWidth()

void BezierCurve::setVariableWidth ( bool  YesOrNo)

Definition at line 256 of file beziercurve.cpp.

◆ setVertex()

void BezierCurve::setVertex ( int  i,
const QPointF &  point 
)

Definition at line 217 of file beziercurve.cpp.

◆ setWidth()

void BezierCurve::setWidth ( qreal  desiredWidth)

Definition at line 246 of file beziercurve.cpp.

◆ simplify()

void BezierCurve::simplify ( double  tol,
const QList< QPointF > &  inputList,
int  j,
int  k,
QList< bool > &  markList 
)
static

Definition at line 707 of file beziercurve.cpp.

◆ smoothCurve()

void BezierCurve::smoothCurve ( )

Definition at line 662 of file beziercurve.cpp.

◆ transform()

void BezierCurve::transform ( QTransform  transformation)

Definition at line 315 of file beziercurve.cpp.

◆ transformed()

BezierCurve BezierCurve::transformed ( QTransform  transformation) const

Definition at line 282 of file beziercurve.cpp.

Member Data Documentation

◆ c1

QList<QPointF> BezierCurve::c1
private

Definition at line 107 of file beziercurve.h.

◆ c2

QList<QPointF> BezierCurve::c2
private

Definition at line 108 of file beziercurve.h.

◆ colorNumber

int BezierCurve::colorNumber = 0
private

Definition at line 111 of file beziercurve.h.

◆ feather

float BezierCurve::feather = 0.f
private

Definition at line 113 of file beziercurve.h.

◆ invisible

bool BezierCurve::invisible = false
private

Definition at line 115 of file beziercurve.h.

◆ mFilled

bool BezierCurve::mFilled = false
private

Definition at line 116 of file beziercurve.h.

◆ origin

QPointF BezierCurve::origin
private

Definition at line 106 of file beziercurve.h.

◆ pressure

QList<float> BezierCurve::pressure
private

Definition at line 110 of file beziercurve.h.

◆ selected

QList<bool> BezierCurve::selected
private

Definition at line 117 of file beziercurve.h.

◆ variableWidth

bool BezierCurve::variableWidth = 0.f
private

Definition at line 114 of file beziercurve.h.

◆ vertex

QList<QPointF> BezierCurve::vertex
private

Definition at line 109 of file beziercurve.h.

◆ width

float BezierCurve::width = 0.f
private

Definition at line 112 of file beziercurve.h.


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