Logo Search packages:      
Sourcecode: inkscape version File versions  Download package

Classes | Public Types | Public Member Functions | Public Attributes | Private Types | Private Member Functions | Static Private Member Functions | Friends

Path Class Reference

List of all members.

Classes

struct  cut_position
struct  fitting_tables
struct  offset_orig
struct  outline_callback_data
struct  outline_callbacks
struct  path_lineto

Public Types

enum  {
  descr_ready = 0, descr_adding_bezier = 1, descr_doing_subpath = 2, descr_delayed_bezier = 4,
  descr_dirty = 16
}

Public Member Functions

int AddForcedPoint (Geom::Point const &iPt)
int AddForcedPoint (Geom::Point const &iPt, int ip, double it)
int AddPoint (Geom::Point const &iPt, int ip, double it, bool mvto=false)
int AddPoint (Geom::Point const &iPt, bool mvto=false)
void Affiche ()
int ArcTo (Geom::Point const &ip, double iRx, double iRy, double angle, bool iLargeArc, bool iClockwise)
int BezierTo (Geom::Point const &ip)
int Close ()
void Coalesce (double tresh)
void Convert (double treshhold)
void Convert (NRRectL *area, double treshhold)
void ConvertEvenLines (double treshhold)
void ConvertForcedToMoveTo ()
void ConvertForcedToVoid ()
void ConvertPositionsToForced (int nbPos, cut_position *poss)
void ConvertPositionsToMoveTo (int nbPos, cut_position *poss)
void ConvertWithBackData (double treshhold)
void Copy (Path *who)
int CubicTo (Geom::Point const &ip, Geom::Point const &iStD, Geom::Point const &iEnD)
cut_positionCurvilignToPosition (int nbCv, double *cvAbs, int &nbCut)
void DashPolyline (float head, float tail, float body, int nbD, float *dashs, bool stPlain, float stOffset)
void DashPolylineFromStyle (SPStyle *style, float scale, float min_len)
int EndBezierTo ()
int EndBezierTo (Geom::Point const &ip)
void FastBBox (double &l, double &t, double &r, double &b)
void Fill (Shape *dest, int pathID=-1, bool justAdd=false, bool closeIfNeeded=true, bool invert=false)
int ForcePoint ()
void InsideOutline (Path *dest, double width, JoinType join, ButtType butt, double miter)
int IntermBezierTo (Geom::Point const &ip)
bool IsLineSegment (int piece)
double Length ()
int LineTo (Geom::Point const &ip)
void LoadPath (Geom::Path const &path, Geom::Matrix const &tr, bool doTransformation, bool append=false)
void LoadPathVector (Geom::PathVector const &pv, Geom::Matrix const &tr, bool doTransformation)
void LoadPathVector (Geom::PathVector const &pv)
Geom::PathVector * MakePathVector ()
int MoveTo (Geom::Point const &ip)
void Outline (Path *dest, double width, JoinType join, ButtType butt, double miter)
void OutsideOutline (Path *dest, double width, JoinType join, ButtType butt, double miter)
void PointAndTangentAt (int piece, double at, Geom::Point &pos, Geom::Point &tgt)
void PointAt (int piece, double at, Geom::Point &pos)
cut_position PointToCurvilignPosition (Geom::Point const &pos, unsigned seg=0) const
void PolylineBoundingBox (double &l, double &t, double &r, double &b)
double PositionToLength (int piece, double t)
const Geom::Point PrevPoint (const int i) const
int ReplacePoint (Geom::Point const &iPt)
void Reset ()
void ResetPoints ()
void SetBackData (bool nVal)
void Simplify (double treshhold)
void Stroke (Shape *dest, bool doClose, double width, JoinType join, ButtType butt, double miter, bool justAdd=false)
Path ** SubPaths (int &outNb, bool killNoSurf)
Path ** SubPathsWithNesting (int &outNb, bool killNoSurf, int nbNest, int *nesting, int *conts)
double Surface ()
char * svg_dump_path () const
int TempBezierTo ()
void Transform (const Geom::Matrix &trans)

Public Attributes

bool back
std::vector< PathDescr * > descr_cmd
int descr_flags
int pending_bezier_cmd
int pending_bezier_data
int pending_moveto_cmd
int pending_moveto_data
std::vector< path_linetopts

Private Types

typedef void( outlineCallback )(outline_callback_data *data, double tol, double width)

Private Member Functions

void AddCurve (Geom::Curve const &c)
bool AttemptSimplify (int off, int N, double treshhold, PathDescrCubicTo &res, int &worstP)
bool AttemptSimplify (fitting_tables &data, double treshhold, PathDescrCubicTo &res, int &worstP)
void CancelBezier ()
void CloseSubpath ()
void DashSubPath (int spL, int spP, std::vector< path_lineto > const &orig_pts, float head, float tail, float body, int nbD, float *dashs, bool stPlain, float stOffset)
void DoArc (Geom::Point const &iS, Geom::Point const &iE, double rx, double ry, double angle, bool large, bool wise, double tresh, int piece, offset_orig &orig)
void DoArc (Geom::Point const &iS, Geom::Point const &iE, double rx, double ry, double angle, bool large, bool wise, double tresh)
void DoArc (Geom::Point const &iS, Geom::Point const &iE, double rx, double ry, double angle, bool large, bool wise, double tresh, int piece)
void DoSimplify (int off, int N, double treshhold)
void DoStroke (int off, int N, Shape *dest, bool doClose, double width, JoinType join, ButtType butt, double miter, bool justAdd=false)
bool ExtendFit (int off, int N, fitting_tables &data, double treshhold, PathDescrCubicTo &res, int &worstP)
void FlushPendingAddition (Path *dest, PathDescr *lastAddition, PathDescrCubicTo &lastCubic, int lastAD)
void InsertArcTo (Geom::Point const &ip, double iRx, double iRy, double angle, bool iLargeArc, bool iClockwise, int at)
void InsertBezierTo (Geom::Point const &iPt, int iNb, int at)
void InsertCubicTo (Geom::Point const &ip, Geom::Point const &iStD, Geom::Point const &iEnD, int at)
void InsertForcePoint (int at)
void InsertIntermBezierTo (Geom::Point const &iPt, int at)
void InsertLineTo (Geom::Point const &iPt, int at)
void InsertMoveTo (Geom::Point const &iPt, int at)
double RaffineTk (Geom::Point pt, Geom::Point p0, Geom::Point p1, Geom::Point p2, Geom::Point p3, double it)
void RecBezierTo (Geom::Point const &iPt, Geom::Point const &iS, Geom::Point const &iE, double treshhold, int lev, double st, double et, int piece, offset_orig &orig)
void RecBezierTo (Geom::Point const &iPt, Geom::Point const &iS, const Geom::Point &iE, double treshhold, int lev, double st, double et, int piece)
void RecBezierTo (Geom::Point const &iPt, Geom::Point const &iS, Geom::Point const &iE, double treshhold, int lev, double maxL=-1.0)
void RecCubicTo (Geom::Point const &iS, Geom::Point const &iSd, Geom::Point const &iE, Geom::Point const &iEd, double tresh, int lev, double st, double et, int piece, offset_orig &orig)
void RecCubicTo (Geom::Point const &iS, Geom::Point const &iSd, Geom::Point const &iE, Geom::Point const &iEd, double tresh, int lev, double st, double et, int piece)
void RecCubicTo (Geom::Point const &iS, Geom::Point const &iSd, Geom::Point const &iE, Geom::Point const &iEd, double tresh, int lev, double maxL=-1.0)
void SubContractOutline (int off, int num_pd, Path *dest, outline_callbacks &calls, double tolerance, double width, JoinType join, ButtType butt, double miter, bool closeIfNeeded, bool skipMoveto, Geom::Point &lastP, Geom::Point &lastT)

Static Private Member Functions

static void ArcAngles (Geom::Point const &iS, Geom::Point const &iE, double rx, double ry, double angle, bool large, bool wise, double &sang, double &eang)
static void CubicTangent (double t, Geom::Point &oPt, Geom::Point const &iS, Geom::Point const &iSd, Geom::Point const &iE, Geom::Point const &iEd)
static void DoButt (Shape *dest, double width, ButtType butt, Geom::Point pos, Geom::Point dir, int &leftNo, int &rightNo)
static void DoJoin (Shape *dest, double width, JoinType join, Geom::Point pos, Geom::Point prev, Geom::Point next, double miter, double prevL, double nextL, int *stNo, int *enNo)
static void DoLeftJoin (Shape *dest, double width, JoinType join, Geom::Point pos, Geom::Point prev, Geom::Point next, double miter, double prevL, double nextL, int &leftStNo, int &leftEnNo, int pathID=-1, int pieceID=0, double tID=0.0)
static void DoRightJoin (Shape *dest, double width, JoinType join, Geom::Point pos, Geom::Point prev, Geom::Point next, double miter, double prevL, double nextL, int &rightStNo, int &rightEnNo, int pathID=-1, int pieceID=0, double tID=0.0)
static bool FitCubic (Geom::Point const &start, PathDescrCubicTo &res, double *Xk, double *Yk, double *Qk, double *tk, int nbPt)
static bool IsNulCurve (std::vector< PathDescr * > const &cmd, int curD, Geom::Point const &curX)
static void OutlineJoin (Path *dest, Geom::Point pos, Geom::Point stNor, Geom::Point enNor, double width, JoinType join, double miter)
static void QuadraticPoint (double t, Geom::Point &oPt, Geom::Point const &iS, Geom::Point const &iM, Geom::Point const &iE)
static void RecRound (Shape *dest, int sNo, int eNo, Geom::Point const &iS, Geom::Point const &iE, Geom::Point const &nS, Geom::Point const &nE, Geom::Point &origine, float width)
static void RecStdArcTo (outline_callback_data *data, double tol, double width, int lev)
static void RecStdCubicTo (outline_callback_data *data, double tol, double width, int lev)
static void StdArcTo (outline_callback_data *data, double tol, double width)
static void StdBezierTo (outline_callback_data *data, double tol, double width)
static void StdCubicTo (outline_callback_data *data, double tol, double width)
static void TangentOnArcAt (double at, Geom::Point const &iS, PathDescrArcTo const &fin, Geom::Point &pos, Geom::Point &tgt, double &len, double &rad)
static void TangentOnBezAt (double at, Geom::Point const &iS, PathDescrIntermBezierTo &mid, PathDescrBezierTo &fin, bool before, Geom::Point &pos, Geom::Point &tgt, double &len, double &rad)
static void TangentOnCubAt (double at, Geom::Point const &iS, PathDescrCubicTo const &fin, bool before, Geom::Point &pos, Geom::Point &tgt, double &len, double &rad)
static void TangentOnSegAt (double at, Geom::Point const &iS, PathDescrLineTo const &fin, Geom::Point &pos, Geom::Point &tgt, double &len)

Friends

class Shape

Detailed Description

Definition at line 48 of file Path.h.


The documentation for this class was generated from the following files:

Generated by  Doxygen 1.6.0   Back to index