Scribus Developer Documentation - API
logo-pen

Scribus Developer Documentation - API

KarbonCurveFit.cpp File Reference

#include "KarbonCurveFit.h"
#include <math.h>

Include dependency graph for KarbonCurveFit.cpp:

Go to the source code of this file.

Classes

class  FitVector

Defines

#define MAXPOINTS   1000

Functions

double distance (const QPointF &p1, const QPointF &p2)
FitVector ComputeLeftTangent (const QList< QPointF > &points, int end)
FitVector ComputeRightTangent (const QList< QPointF > &points, int end)
static double * ChordLengthParameterize (const QList< QPointF > &points, int first, int last)
static FitVector VectorAdd (FitVector a, FitVector b)
static FitVector VectorScale (FitVector v, double s)
static FitVector VectorSub (FitVector a, FitVector b)
static FitVector ComputeCenterTangent (const QList< QPointF > &points, int center)
static double B0 (double u)
static double B1 (double u)
static double B2 (double u)
static double B3 (double u)
QPointF * GenerateBezier (const QList< QPointF > &points, int first, int last, double *uPrime, FitVector tHat1, FitVector tHat2)
static QPointF BezierII (int degree, QPointF *V, double t)
static double ComputeMaxError (const QList< QPointF > &points, int first, int last, QPointF *curve, double *u, int *splitPoint)
static double NewtonRaphsonRootFind (QPointF *Q, QPointF P, double u)
static double * Reparameterize (const QList< QPointF > &points, int first, int last, double *u, QPointF *curve)
QPointF * FitCubic (const QList< QPointF > &points, int first, int last, FitVector tHat1, FitVector tHat2, float error, int &width)
QPainterPath bezierFit (const QList< QPointF > &points, float error)


Define Documentation

#define MAXPOINTS   1000

Definition at line 35 of file KarbonCurveFit.cpp.

Referenced by GenerateBezier().


Function Documentation

static double B0 ( double  u  )  [static]

Definition at line 179 of file KarbonCurveFit.cpp.

Referenced by GenerateBezier().

static double B1 ( double  u  )  [static]

Definition at line 186 of file KarbonCurveFit.cpp.

Referenced by GenerateBezier().

static double B2 ( double  u  )  [static]

Definition at line 192 of file KarbonCurveFit.cpp.

Referenced by GenerateBezier().

static double B3 ( double  u  )  [static]

Definition at line 198 of file KarbonCurveFit.cpp.

Referenced by GenerateBezier().

QPainterPath bezierFit ( const QList< QPointF > &  points,
float  error 
)

static QPointF BezierII ( int  degree,
QPointF *  V,
double  t 
) [static]

Definition at line 323 of file KarbonCurveFit.cpp.

Referenced by ComputeMaxError(), and NewtonRaphsonRootFind().

static double* ChordLengthParameterize ( const QList< QPointF > &  points,
int  first,
int  last 
) [static]

Definition at line 119 of file KarbonCurveFit.cpp.

References distance().

Referenced by FitCubic().

static FitVector ComputeCenterTangent ( const QList< QPointF > &  points,
int  center 
) [static]

Definition at line 159 of file KarbonCurveFit.cpp.

References FitVector::m_X, FitVector::m_Y, FitVector::normalize(), and VectorSub().

Referenced by FitCubic().

FitVector ComputeLeftTangent ( const QList< QPointF > &  points,
int  end 
)

Definition at line 98 of file KarbonCurveFit.cpp.

References FitVector::normalize().

Referenced by bezierFit().

static double ComputeMaxError ( const QList< QPointF > &  points,
int  first,
int  last,
QPointF *  curve,
double *  u,
int *  splitPoint 
) [static]

Definition at line 353 of file KarbonCurveFit.cpp.

References BezierII(), FitVector::length(), and VectorSub().

Referenced by FitCubic().

FitVector ComputeRightTangent ( const QList< QPointF > &  points,
int  end 
)

Definition at line 106 of file KarbonCurveFit.cpp.

References FitVector::normalize().

Referenced by bezierFit().

double distance ( const QPointF &  p1,
const QPointF &  p2 
)

QPointF* FitCubic ( const QList< QPointF > &  points,
int  first,
int  last,
FitVector  tHat1,
FitVector  tHat2,
float  error,
int &  width 
)

QPointF* GenerateBezier ( const QList< QPointF > &  points,
int  first,
int  last,
double *  uPrime,
FitVector  tHat1,
FitVector  tHat2 
)

static double NewtonRaphsonRootFind ( QPointF *  Q,
QPointF  P,
double  u 
) [static]

Definition at line 380 of file KarbonCurveFit.cpp.

References BezierII().

Referenced by Reparameterize().

static double* Reparameterize ( const QList< QPointF > &  points,
int  first,
int  last,
double *  u,
QPointF *  curve 
) [static]

Definition at line 423 of file KarbonCurveFit.cpp.

References NewtonRaphsonRootFind().

Referenced by FitCubic().

static FitVector VectorAdd ( FitVector  a,
FitVector  b 
) [static]

Definition at line 139 of file KarbonCurveFit.cpp.

References FitVector::m_X, and FitVector::m_Y.

Referenced by GenerateBezier().

static FitVector VectorScale ( FitVector  v,
double  s 
) [static]

Definition at line 145 of file KarbonCurveFit.cpp.

References FitVector::m_X, and FitVector::m_Y.

Referenced by GenerateBezier().

static FitVector VectorSub ( FitVector  a,
FitVector  b 
) [static]

Definition at line 152 of file KarbonCurveFit.cpp.

References FitVector::m_X, and FitVector::m_Y.

Referenced by ComputeCenterTangent(), ComputeMaxError(), and GenerateBezier().

Created with personalized Doxygen. This is documentation for GPL software Scribus - Open Source Desktop Publishing.