Inkscape
Vector Graphics Editor
Loading...
Searching...
No Matches
Inkscape::LivePathEffect Namespace Reference

Live Path Effects code. More...

Namespaces

namespace  AB
 
namespace  BeP
 
namespace  CoS
 
namespace  LPEEmbroderyStitchOrdering
 
namespace  LPEKnotNS
 
namespace  OfS
 
namespace  PB
 
namespace  Pl
 
namespace  TpS
 
namespace  TtC
 
namespace  WPAP
 

Classes

class  ArrayParam
 
class  BoolParam
 
class  ColorPickerParam
 
class  Effect
 
class  EnumArrayParam
 
struct  EnumEffectData
 
class  EnumEffectDataConverter
 Simplified management of enumerations of LPE items with UI labels. More...
 
class  EnumParam
 
class  FilletChamferKnotHolderEntity
 
class  FontButtonParam
 
class  GroupBBoxEffect
 
class  HiddenParam
 
class  LPEAngleBisector
 
class  LPEAttachPath
 
class  LPEBendPath
 
class  LPEBool
 
class  LPEBoundingBox
 
class  LPEBSpline
 
class  LPECircle3Pts
 
class  LPECircleWithRadius
 
class  LPECloneOriginal
 
class  LPEConstructGrid
 
class  LPECopyRotate
 
class  LPECurveStitch
 
class  LPEDashedStroke
 
class  LPEdoEffectStackTest
 
class  LPEDynastroke
 
class  LPEEllipse5Pts
 
class  LPEEmbroderyStitch
 
class  LPEEnvelope
 
class  LPEExtrude
 
class  LPEFillBetweenMany
 
class  LPEFillBetweenStrokes
 
class  LPEFilletChamfer
 
class  LPEGears
 
class  LPEInterpolate
 
class  LPEInterpolatePoints
 
struct  LPEItemShapesNumbers
 
class  LPEJoinType
 
class  LPEKnot
 
class  LPELattice
 
class  LPELattice2
 
class  LPELineSegment
 
class  LPEMeasureSegments
 
class  LPEMirrorSymmetry
 
class  LPEObjectReference
 
class  LPEOffset
 
class  LPEParallel
 
class  LPEPathLength
 
class  LPEPatternAlongPath
 
class  LPEPerpBisector
 
class  LPEPerspectiveEnvelope
 
class  LPEPowerClip
 
class  LPEPowerMask
 
class  LPEPowerStroke
 
class  LPEPts2Ellipse
 
class  LPERecursiveSkeleton
 
class  LPERoughen
 
class  LPERoughHatches
 
class  LPERuler
 
class  LPEShowHandles
 
class  LPESimplify
 
class  LPESkeleton
 namespace Skeleton { we need a separate namespace to avoid clashes with other LPEs class KnotHolderEntityMyHandle; } More...
 
class  LPESketch
 
class  LPESlice
 
class  LPESpiro
 
class  LPETangentToCurve
 
class  LPETaperStroke
 
class  LPETextLabel
 
class  LPETiling
 
class  LPETransform2Pts
 
class  LPEVonKoch
 
class  MessageParam
 
class  NodeSatelliteArrayParam
 
class  OriginalPathParam
 
class  OriginalSatelliteParam
 
class  Parameter
 
class  PathAndDirectionAndVisible
 
class  PathArrayParam
 
class  PathParam
 
class  PathReference
 The reference corresponding to href of LPE PathParam. More...
 
class  PointParam
 
class  PowerStrokePointArrayParam
 
class  PowerStrokePointArrayParamKnotHolderEntity
 
class  RandomParam
 
class  SatelliteArrayParam
 
class  SatelliteParam
 
class  SatelliteReference
 
class  ScalarArrayParam
 
class  ScalarParam
 
class  TextParam
 
class  TextParamInternal
 
class  ToggleButtonParam
 class ToggleButtonParam: represents a Gtk::ToggleButton as a Live Path Effect parameter More...
 
class  TransformedPointParam
 
class  UnitParam
 
class  VectorParam
 
class  VonKochPathParam
 
class  VonKochRefPathParam
 

Typedefs

typedef FillRule FillRuleBool
 
typedef std::vector< LevelCrossing > LevelCrossings
 
typedef unsigned E
 

Enumerations

enum  EffectType {
  BEND_PATH = 0 , GEARS , PATTERN_ALONG_PATH , CURVE_STITCH ,
  VONKOCH , KNOT , CONSTRUCT_GRID , SPIRO ,
  ENVELOPE , INTERPOLATE , ROUGH_HATCHES , SKETCH ,
  RULER , POWERSTROKE , CLONE_ORIGINAL , SIMPLIFY ,
  LATTICE2 , PERSPECTIVE_ENVELOPE , INTERPOLATE_POINTS , TRANSFORM_2PTS ,
  SHOW_HANDLES , ROUGHEN , BSPLINE , JOIN_TYPE ,
  TAPER_STROKE , MIRROR_SYMMETRY , COPY_ROTATE , ATTACH_PATH ,
  FILL_BETWEEN_MANY , ELLIPSE_5PTS , BOUNDING_BOX , MEASURE_SEGMENTS ,
  FILLET_CHAMFER , POWERCLIP , POWERMASK , PTS2ELLIPSE ,
  OFFSET , DASHED_STROKE , BOOL_OP , SLICE ,
  TILING , ANGLE_BISECTOR , CIRCLE_WITH_RADIUS , CIRCLE_3PTS ,
  EXTRUDE , LINE_SEGMENT , PARALLEL , PERP_BISECTOR ,
  TANGENT_TO_CURVE , FILL_BETWEEN_STROKES , DOEFFECTSTACK_TEST , DYNASTROKE ,
  LATTICE , PATH_LENGTH , RECURSIVE_SKELETON , TEXT_LABEL ,
  EMBRODERY_STITCH , INVALID_LPE
}
 
enum  ParamType {
  ARRAY = 0 , BOOL , COLOR_PICKER , ENUM ,
  ENUM_ARRAY , FONT_BUTTON , HIDDEN , MESSAGE ,
  NODE_SATELLITE_ARRAY , ORIGINAL_PATH , ORIGINAL_SATELLITE , PATH_REFERENCE ,
  PATH , PATH_ARRAY , POINT , POWERSTROKE_POINT_ARRAY ,
  RANDOM , SATELLITE , SATELLITE_ARRAY , SCALAR ,
  SCALAR_ARRAY , TEXT , TOGGLE_BUTTON , TRANSFORMED_POINT ,
  UNIT , VECTOR , INVALID_PARAM
}
 
enum class  LPECategory {
  Undefined , Favorites , EditTools , Distort ,
  Generate , Convert , Experimental
}
 
enum  LPEPathFlashType { SUPPRESS_FLASH , DEFAULT }
 
enum  LPEAction {
  LPE_NONE = 0 , LPE_ERASE , LPE_TO_OBJECTS , LPE_VISIBILITY ,
  LPE_UPDATE
}
 
enum  Clonelpemethod {
  CLM_NONE , CLM_D , CLM_ORIGINALD , CLM_BSPLINESPIRO ,
  CLM_END
}
 
enum  RotateMethod { RM_NORMAL , RM_KALEIDOSCOPE , RM_FUSE , RM_END }
 
enum  DynastrokeMethod { DSM_ELLIPTIC_PEN = 0 , DSM_THICKTHIN_FAST , DSM_THICKTHIN_SLOW , DSM_END }
 
enum  DynastrokeCappingType { DSCT_SHARP = 0 , DSCT_ROUND , DSCT_END }
 
enum  Filllpemethod { FLM_ORIGINALD , FLM_BSPLINESPIRO , FLM_D , FLM_END }
 
enum  Filletmethod { FM_AUTO , FM_ARC , FM_BEZIER , FM_END }
 
enum  EndType { END_CLOSED , END_OPEN_INITIAL , END_OPEN_FINAL , END_OPEN_BOTH }
 
enum  OrientationMethod { OM_HORIZONTAL , OM_VERTICAL , OM_PARALLEL , OM_END }
 
enum  ModeType {
  MT_V , MT_H , MT_FREE , MT_X ,
  MT_Y , MT_END
}
 
enum  PAPCopyType {
  PAPCT_SINGLE = 0 , PAPCT_SINGLE_STRETCHED , PAPCT_REPEATED , PAPCT_REPEATED_STRETCHED ,
  PAPCT_END
}
 
enum  DeformationType { DEFORMATION_PERSPECTIVE , DEFORMATION_ENVELOPE }
 
enum  LineJoinType {
  LINEJOIN_BEVEL , LINEJOIN_ROUND , LINEJOIN_EXTRP_MITER , LINEJOIN_MITER ,
  LINEJOIN_SPIRO , LINEJOIN_EXTRP_MITER_ARC
}
 
enum  LineCapType {
  LINECAP_BUTT , LINECAP_SQUARE , LINECAP_ROUND , LINECAP_PEAK ,
  LINECAP_ZERO_WIDTH
}
 
enum  EllipseMethod {
  EM_AUTO , EM_CIRCLE , EM_ISOMETRIC_CIRCLE , EM_PERSPECTIVE_CIRCLE ,
  EM_STEINER_ELLIPSE , EM_STEINER_INELLIPSE , EM_END
}
 
enum  DivisionMethod { DM_SEGMENTS , DM_SIZE , DM_END }
 
enum  HandlesMethod {
  HM_ALONG_NODES , HM_RAND , HM_RETRACT , HM_SMOOTH ,
  HM_END
}
 
enum  MarkType { MARK_MAJOR , MARK_MINOR }
 
enum  MarkDirType { MARKDIR_LEFT , MARKDIR_RIGHT , MARKDIR_BOTH }
 
enum  BorderMarkType { BORDERMARK_NONE , BORDERMARK_START , BORDERMARK_END , BORDERMARK_BOTH }
 
enum  TaperShape {
  TAPER_CENTER , TAPER_RIGHT , TAPER_LEFT , TAPER_CLAMP ,
  LAST_SHAPE
}
 

Functions

const Glib::ustring empty_string ("")
 
const EnumEffectDataConverter< EffectTypeLPETypeConverter (LPETypeData, sizeof(LPETypeData)/sizeof(*LPETypeData))
 
std::ostream & operator<< (std::ostream &os, LPEItemShapesNumbers const &lpeitemnumbers)
 
void lpe_shape_convert_stroke_and_fill (SPShape *shape)
 Prepares a SPShape's fill and stroke for use in a path effect by setting the existing stroke properties into the shape's fill, and setting the existing fill properties into a new linked fill item which follows the old shape.
 
void lpe_shape_revert_stroke_and_fill (SPShape *shape, double width)
 Applies the fill of the SPShape to its stroke, sets the stroke width to the provided parameter, and potentially removes a linked fill, copying its properties to the fill of the shape.
 
static const Util::EnumDataConverter< LPEBool::bool_op_exBoolOpConverter (BoolOpData, sizeof(BoolOpData)/sizeof(*BoolOpData))
 
static const Util::EnumDataConverter< FillRuleFillTypeConverter (FillTypeData, sizeof(FillTypeData)/sizeof(*FillTypeData))
 
bool cmp_cut_position (const Path::cut_position &a, const Path::cut_position &b)
 
Geom::PathVector sp_pathvector_boolop_slice_intersect (Geom::PathVector const &pathva, Geom::PathVector const &pathvb, bool inside, FillRule fra, FillRule frb)
 
Geom::PathVector sp_pathvector_boolop_remove_inner (Geom::PathVector const &pathva, FillRule fra)
 
static FillRule GetFillTyp (SPItem *item)
 
Geom::Path sp_bspline_drawHandle (Geom::Point p, double helper_size)
 
void sp_bspline_do_effect (SPCurve &curve, double helper_size, Geom::PathVector &hp, bool uniform)
 
static void _circle3 (Geom::Point const &A, Geom::Point const &B, Geom::Point const &C, Geom::PathVector &path_out)
 
static auto buildUnitCircle ()
 
static const Util::EnumDataConverter< LPEEmbroderyStitch::order_methodOrderMethodConverter (OrderMethodData, sizeof(OrderMethodData)/sizeof(*OrderMethodData))
 
static const Util::EnumDataConverter< LPEEmbroderyStitch::connect_methodConnectMethodConverter (ConnectMethodData, sizeof(ConnectMethodData)/sizeof(*ConnectMethodData))
 
static bool are_colinear (Geom::Point a, Geom::Point b)
 
static std::vector< double > find_cusps (Geom::Piecewise< Geom::D2< Geom::SBasis > > const &pwd2_in)
 
static const Util::EnumDataConverter< unsigned > InterpolatorTypeConverter (InterpolatorTypeData, sizeof(InterpolatorTypeData)/sizeof(*InterpolatorTypeData))
 
static const Util::EnumDataConverter< unsigned > CapTypeConverter (CapTypeData, sizeof(CapTypeData)/sizeof(*CapTypeData))
 
static const Util::EnumDataConverter< unsigned > JoinTypeConverter (JoinTypeData, sizeof(JoinTypeData)/sizeof(*JoinTypeData))
 
static Geom::Path::size_type size_nondegenerate (Geom::Path const &path)
 
static std::vector< Geom::IntervalcomplementOf (Geom::Interval I, std::vector< Geom::Interval > domain)
 
static Geom::Interval findShadowedTime (Geom::Path const &patha, std::vector< Geom::Point > const &pt_and_dir, double const ta, double const width)
 
static void collectPathsAndWidths (SPLPEItem const *lpeitem, Geom::PathVector &paths, std::vector< double > &stroke_widths)
 
static const Util::EnumDataConverter< EndTypeEndTypeConverter (EndTypeData, sizeof(EndTypeData)/sizeof(*EndTypeData))
 
double getAngle (Geom::Point p1, Geom::Point p2, Geom::Point p3, bool flip_side, double fix_overlaps)
 
std::vector< PointtransformNodes (std::vector< Point > nodes, Geom::Affine transform)
 
std::vector< PointgetNodes (SPItem *item, Geom::Affine transform, bool onbbox, bool centers, bool bboxonly, double angle_projection)
 
static void extractFirstPoint (Geom::Point &dest, const Glib::ustring &lpobjid, const char *const prefix, const gint idx, SPDocument *const document)
 
static const Util::EnumDataConverter< unsigned > JoinTypeConverter (JoinTypeData, sizeof(JoinTypeData)/sizeof(*JoinTypeData))
 
Glib::ustring sp_get_fill_rule (SPObject *obj)
 
Geom::Point get_nearest_point (Geom::PathVector pathv, Geom::Point point)
 
static const Util::EnumDataConverter< unsigned > DeformationTypeConverter (DeformationTypeData, sizeof(DeformationTypeData)/sizeof(*DeformationTypeData))
 
bool pointInTriangle (Geom::Point const &p, std::vector< Geom::Point > points)
 
Geom::Path sp_bbox_without_clip (SPLPEItem *lpeitem)
 
Geom::PathVector sp_get_recursive_pathvector (SPLPEItem *item, Geom::PathVector res, bool dir, bool inverse)
 
void sp_remove_powerclip (Inkscape::Selection *sel)
 
void sp_inverse_powerclip (Inkscape::Selection *sel)
 
void sp_inverse_powermask (Inkscape::Selection *sel)
 
void sp_remove_powermask (Inkscape::Selection *sel)
 
static const Util::EnumDataConverter< unsigned > InterpolatorTypeConverter (InterpolatorTypeData, sizeof(InterpolatorTypeData)/sizeof(*InterpolatorTypeData))
 
static const Util::EnumDataConverter< unsigned > LineJoinTypeConverter (LineJoinTypeData, sizeof(LineJoinTypeData)/sizeof(*LineJoinTypeData))
 
static bool compare_offsets (Geom::Point first, Geom::Point second)
 
static Geom::Path path_from_piecewise_fix_cusps (Geom::Piecewise< Geom::D2< Geom::SBasis > > const &B, Geom::Piecewise< Geom::SBasis > const &y, LineJoinType jointype, double miter_limit, double tol=Geom::EPSILON)
 
static const Util::EnumDataConverter< unsigned > LineCapTypeConverter (LineCapTypeData, sizeof(LineCapTypeData)/sizeof(*LineCapTypeData))
 
double range2pi (double a)
 
double deg2rad (double a)
 
double rad2deg (double a)
 
double calc_delta_angle (const double a0, const double a1)
 
void endpoints2angles (const bool ccw_wind, const bool use_other_arc, const Geom::Point &p0, const Geom::Point &p1, Geom::Coord &a0, Geom::Coord &a1)
 
void evalSteinerEllipse (Geom::Point const &pCenter, Geom::Point const &pCenter_Pt2, Geom::Point const &pPt0_Pt1, const double &angle, Geom::Point &pRes)
 
static std::vector< double > discontinuities (Piecewise< D2< SBasis > > const &f)
 
static Piecewise< D2< SBasis > > bend (Piecewise< D2< SBasis > > const &f, Piecewise< SBasis > bending)
 
static const Util::EnumDataConverter< MarkDirTypeMarkDirTypeConverter (MarkDirData, sizeof(MarkDirData)/sizeof(*MarkDirData))
 
static const Util::EnumDataConverter< BorderMarkTypeBorderMarkTypeConverter (BorderMarkData, sizeof(BorderMarkData)/sizeof(*BorderMarkData))
 
bool sp_has_path_data (SPItem *item, bool originald)
 
static FillRule GetFillTyp (SPItem *item)
 
void sp_spiro_do_effect (SPCurve &curve)
 
static const Util::EnumDataConverter< unsigned > JoinTypeConverter (JoinType, sizeof(JoinType)/sizeof(*JoinType))
 
static const Util::EnumDataConverter< unsigned > TaperShapeTypeConverter (TaperShapeType, sizeof(TaperShapeType)/sizeof(*TaperShapeType))
 
static Geom::Path return_at_first_cusp (Geom::Path const &path_in, double=0.05)
 
Piecewise< D2< SBasis > > stretch_along (Piecewise< D2< SBasis > > pwd2_in, Geom::Path pattern, double prop_scale)
 Most of the below function is verbatim from Pattern Along Path.
 
Gtk::ToggleButton * create_radio_button (Gtk::ToggleButton *&group, const Glib::ustring &tooltip, const Glib::ustring &icon_name)
 
void align_widgets (const std::vector< Gtk::Widget * > &widgets, int spinbutton_chars=7)
 
static void lpeobjectreference_href_changed (SPObject *old_ref, SPObject *ref, LPEObjectReference *lpeobjref)
 
static void lpeobjectreference_release_self (SPObject *release, LPEObjectReference *lpeobjref)
 
static void lpeobjectreference_release_owner (SPObject *release, LPEObjectReference *lpeobjref)
 
size_t sp_calculate_origin (size_t i, Geom::PathVector pathv)
 

Variables

const EnumEffectData< EffectTypeLPETypeData []
 
const EnumEffectDataConverter< EffectTypeLPETypeConverter
 defined in effect.cpp
 
static const Util::EnumData< LPEBool::bool_op_exBoolOpData [LPEBool::bool_op_ex_count]
 
static const Util::EnumData< FillRuleFillTypeData []
 
static constexpr double BSPLINE_TOL = 0.001
 
static constexpr double NO_POWER = 0.0
 
static constexpr double DEFAULT_START_POWER = 1.0 / 3.0
 
static constexpr double DEFAULT_END_POWER = 2.0 / 3.0
 
static const Util::EnumData< ClonelpemethodClonelpemethodData []
 
static const Util::EnumDataConverter< ClonelpemethodCLMConverter (ClonelpemethodData, CLM_END)
 
static const Util::EnumData< RotateMethodRotateMethodData [RM_END]
 
static const Util::EnumDataConverter< RotateMethodRMConverter (RotateMethodData, RM_END)
 
static const Util::EnumData< DynastrokeMethodDynastrokeMethodData [DSM_END]
 
static const Util::EnumDataConverter< DynastrokeMethodDSMethodConverter (DynastrokeMethodData, DSM_END)
 
static const Util::EnumData< DynastrokeCappingTypeDynastrokeCappingTypeData [DSCT_END]
 
static const Util::EnumDataConverter< DynastrokeCappingTypeDSCTConverter (DynastrokeCappingTypeData, DSCT_END)
 
static const Util::EnumData< LPEEmbroderyStitch::order_methodOrderMethodData [LPEEmbroderyStitch::order_method_count]
 
static const Util::EnumData< LPEEmbroderyStitch::connect_methodConnectMethodData [LPEEmbroderyStitch::connect_method_count]
 
static const Util::EnumData< FilllpemethodFilllpemethodData []
 
static const Util::EnumDataConverter< FilllpemethodFLMConverter (FilllpemethodData, FLM_END)
 
static const Util::EnumData< FilletmethodFilletmethodData []
 
static const Util::EnumDataConverter< FilletmethodFMConverter (FilletmethodData, FM_END)
 
static const Util::EnumData< unsigned > InterpolatorTypeData []
 
static const Util::EnumData< unsigned > JoinTypeData []
 
static const Util::EnumData< unsigned > CapTypeData []
 
static const Util::EnumData< EndTypeEndTypeData []
 
static const Util::EnumData< OrientationMethodOrientationMethodData []
 
static const Util::EnumDataConverter< OrientationMethodOMConverter (OrientationMethodData, OM_END)
 
static const Util::EnumData< ModeTypeModeTypeData []
 
static const Util::EnumDataConverter< ModeTypeMTConverter (ModeTypeData, MT_END)
 
static const Util::EnumData< unsigned > JoinTypeData []
 
static const Util::EnumData< PAPCopyTypePAPCopyTypeData [PAPCT_END]
 
static const Util::EnumDataConverter< PAPCopyTypePAPCopyTypeConverter (PAPCopyTypeData, PAPCT_END)
 
static const Util::EnumData< unsigned > DeformationTypeData []
 
static const Util::EnumData< unsigned > InterpolatorTypeData []
 
static const Util::EnumData< unsigned > LineJoinTypeData []
 
static const Util::EnumData< unsigned > LineCapTypeData []
 
static const Util::EnumData< EllipseMethodEllipseMethodData []
 
static const Util::EnumDataConverter< EllipseMethodEMConverter (EllipseMethodData, EM_END)
 
static const Util::EnumData< DivisionMethodDivisionMethodData []
 
static const Util::EnumDataConverter< DivisionMethodDMConverter (DivisionMethodData, DM_END)
 
static const Util::EnumData< HandlesMethodHandlesMethodData []
 
static const Util::EnumDataConverter< HandlesMethodHMConverter (HandlesMethodData, HM_END)
 
static const Util::EnumData< MarkDirTypeMarkDirData []
 
static const Util::EnumData< BorderMarkTypeBorderMarkData []
 
static const Util::EnumData< unsigned > JoinType []
 
static const Util::EnumData< unsigned > TaperShapeType []
 

Detailed Description

Live Path Effects code.

This namespace contains classes and functions related to the implementation of Live Path Effects, which apply arbitrary transformation to a path and update whenever the original path is modified.

Typedef Documentation

◆ E

typedef unsigned Inkscape::LivePathEffect::E

Definition at line 21 of file enumarray.h.

◆ FillRuleBool

◆ LevelCrossings

typedef std::vector<LevelCrossing> Inkscape::LivePathEffect::LevelCrossings

Definition at line 57 of file lpe-rough-hatches.cpp.

Enumeration Type Documentation

◆ BorderMarkType

Enumerator
BORDERMARK_NONE 
BORDERMARK_START 
BORDERMARK_END 
BORDERMARK_BOTH 

Definition at line 37 of file lpe-ruler.h.

◆ Clonelpemethod

Enumerator
CLM_NONE 
CLM_D 
CLM_ORIGINALD 
CLM_BSPLINESPIRO 
CLM_END 

Definition at line 21 of file lpe-clone-original.h.

◆ DeformationType

Enumerator
DEFORMATION_PERSPECTIVE 
DEFORMATION_ENVELOPE 

Definition at line 37 of file lpe-perspective-envelope.cpp.

◆ DivisionMethod

Enumerator
DM_SEGMENTS 
DM_SIZE 
DM_END 

Definition at line 28 of file lpe-roughen.h.

◆ DynastrokeCappingType

Enumerator
DSCT_SHARP 
DSCT_ROUND 
DSCT_END 

Definition at line 33 of file lpe-dynastroke.h.

◆ DynastrokeMethod

Enumerator
DSM_ELLIPTIC_PEN 
DSM_THICKTHIN_FAST 
DSM_THICKTHIN_SLOW 
DSM_END 

Definition at line 27 of file lpe-dynastroke.h.

◆ EffectType

Enumerator
BEND_PATH 
GEARS 
PATTERN_ALONG_PATH 
CURVE_STITCH 
VONKOCH 
KNOT 
CONSTRUCT_GRID 
SPIRO 
ENVELOPE 
INTERPOLATE 
ROUGH_HATCHES 
SKETCH 
RULER 
POWERSTROKE 
CLONE_ORIGINAL 
SIMPLIFY 
LATTICE2 
PERSPECTIVE_ENVELOPE 
INTERPOLATE_POINTS 
TRANSFORM_2PTS 
SHOW_HANDLES 
ROUGHEN 
BSPLINE 
JOIN_TYPE 
TAPER_STROKE 
MIRROR_SYMMETRY 
COPY_ROTATE 
ATTACH_PATH 
FILL_BETWEEN_MANY 
ELLIPSE_5PTS 
BOUNDING_BOX 
MEASURE_SEGMENTS 
FILLET_CHAMFER 
POWERCLIP 
POWERMASK 
PTS2ELLIPSE 
OFFSET 
DASHED_STROKE 
BOOL_OP 
SLICE 
TILING 
ANGLE_BISECTOR 
CIRCLE_WITH_RADIUS 
CIRCLE_3PTS 
EXTRUDE 
LINE_SEGMENT 
PARALLEL 
PERP_BISECTOR 
TANGENT_TO_CURVE 
FILL_BETWEEN_STROKES 
DOEFFECTSTACK_TEST 
DYNASTROKE 
LATTICE 
PATH_LENGTH 
RECURSIVE_SKELETON 
TEXT_LABEL 
EMBRODERY_STITCH 
INVALID_LPE 

Definition at line 20 of file effect-enum.h.

◆ EllipseMethod

Enumerator
EM_AUTO 
EM_CIRCLE 
EM_ISOMETRIC_CIRCLE 
EM_PERSPECTIVE_CIRCLE 
EM_STEINER_ELLIPSE 
EM_STEINER_INELLIPSE 
EM_END 

Definition at line 31 of file lpe-pts2ellipse.h.

◆ EndType

Enumerator
END_CLOSED 
END_OPEN_INITIAL 
END_OPEN_FINAL 
END_OPEN_BOTH 

Definition at line 24 of file lpe-line_segment.h.

◆ Filletmethod

Enumerator
FM_AUTO 
FM_ARC 
FM_BEZIER 
FM_END 

Definition at line 27 of file lpe-fillet-chamfer.h.

◆ Filllpemethod

Enumerator
FLM_ORIGINALD 
FLM_BSPLINESPIRO 
FLM_D 
FLM_END 

Definition at line 21 of file lpe-fill-between-many.h.

◆ HandlesMethod

Enumerator
HM_ALONG_NODES 
HM_RAND 
HM_RETRACT 
HM_SMOOTH 
HM_END 

Definition at line 34 of file lpe-roughen.h.

◆ LineCapType

Enumerator
LINECAP_BUTT 
LINECAP_SQUARE 
LINECAP_ROUND 
LINECAP_PEAK 
LINECAP_ZERO_WIDTH 

Definition at line 26 of file lpe-powerstroke.h.

◆ LineJoinType

Enumerator
LINEJOIN_BEVEL 
LINEJOIN_ROUND 
LINEJOIN_EXTRP_MITER 
LINEJOIN_MITER 
LINEJOIN_SPIRO 
LINEJOIN_EXTRP_MITER_ARC 

Definition at line 136 of file lpe-powerstroke.cpp.

◆ LPEAction

Enumerator
LPE_NONE 
LPE_ERASE 
LPE_TO_OBJECTS 
LPE_VISIBILITY 
LPE_UPDATE 

Definition at line 50 of file effect.h.

◆ LPECategory

Enumerator
Undefined 
Favorites 
EditTools 
Distort 
Generate 
Convert 
Experimental 

Definition at line 115 of file effect-enum.h.

◆ LPEPathFlashType

Enumerator
SUPPRESS_FLASH 
DEFAULT 

Definition at line 44 of file effect.h.

◆ MarkDirType

Enumerator
MARKDIR_LEFT 
MARKDIR_RIGHT 
MARKDIR_BOTH 

Definition at line 31 of file lpe-ruler.h.

◆ MarkType

Enumerator
MARK_MAJOR 
MARK_MINOR 

Definition at line 26 of file lpe-ruler.h.

◆ ModeType

Enumerator
MT_V 
MT_H 
MT_FREE 
MT_X 
MT_Y 
MT_END 

Definition at line 33 of file lpe-mirror_symmetry.h.

◆ OrientationMethod

Enumerator
OM_HORIZONTAL 
OM_VERTICAL 
OM_PARALLEL 
OM_END 

Definition at line 36 of file lpe-measure-segments.h.

◆ PAPCopyType

Enumerator
PAPCT_SINGLE 
PAPCT_SINGLE_STRETCHED 
PAPCT_REPEATED 
PAPCT_REPEATED_STRETCHED 
PAPCT_END 

Definition at line 31 of file lpe-patternalongpath.h.

◆ ParamType

Enumerator
ARRAY 
BOOL 
COLOR_PICKER 
ENUM 
ENUM_ARRAY 
FONT_BUTTON 
HIDDEN 
MESSAGE 
NODE_SATELLITE_ARRAY 
ORIGINAL_PATH 
ORIGINAL_SATELLITE 
PATH_REFERENCE 
PATH 
PATH_ARRAY 
POINT 
POWERSTROKE_POINT_ARRAY 
RANDOM 
SATELLITE 
SATELLITE_ARRAY 
SCALAR 
SCALAR_ARRAY 
TEXT 
TOGGLE_BUTTON 
TRANSFORMED_POINT 
UNIT 
VECTOR 
INVALID_PARAM 

Definition at line 85 of file effect-enum.h.

◆ RotateMethod

Enumerator
RM_NORMAL 
RM_KALEIDOSCOPE 
RM_FUSE 
RM_END 

Definition at line 31 of file lpe-copy_rotate.h.

◆ TaperShape

Enumerator
TAPER_CENTER 
TAPER_RIGHT 
TAPER_LEFT 
TAPER_CLAMP 
LAST_SHAPE 

Definition at line 86 of file lpe-taperstroke.cpp.

Function Documentation

◆ _circle3()

static void Inkscape::LivePathEffect::_circle3 ( Geom::Point const &  A,
Geom::Point const &  B,
Geom::Point const &  C,
Geom::PathVector path_out 
)
static

Definition at line 34 of file lpe-circle_3pts.cpp.

References c, D, Geom::det(), Geom::L2(), and w.

Referenced by Inkscape::LivePathEffect::LPECircle3Pts::doEffect_path().

◆ align_widgets()

void Inkscape::LivePathEffect::align_widgets ( const std::vector< Gtk::Widget * > &  widgets,
int  spinbutton_chars = 7 
)

◆ are_colinear()

static bool Inkscape::LivePathEffect::are_colinear ( Geom::Point  a,
Geom::Point  b 
)
static

◆ bend()

static Piecewise< D2< SBasis > > Inkscape::LivePathEffect::bend ( Piecewise< D2< SBasis > > const &  f,
Piecewise< SBasis bending 
)
static

◆ BoolOpConverter()

static const Util::EnumDataConverter< LPEBool::bool_op_ex > Inkscape::LivePathEffect::BoolOpConverter ( BoolOpData  ,
sizeof(BoolOpData)/sizeof *  BoolOpData 
)
static

◆ BorderMarkTypeConverter()

static const Util::EnumDataConverter< BorderMarkType > Inkscape::LivePathEffect::BorderMarkTypeConverter ( BorderMarkData  ,
sizeof(BorderMarkData)/sizeof *  BorderMarkData 
)
static

◆ buildUnitCircle()

static auto Inkscape::LivePathEffect::buildUnitCircle ( )
static

◆ calc_delta_angle()

double Inkscape::LivePathEffect::calc_delta_angle ( const double  a0,
const double  a1 
)
inline

Definition at line 120 of file lpe-pts2ellipse.cpp.

References range2pi().

Referenced by Inkscape::LivePathEffect::LPEPts2Ellipse::unit_arc_path().

◆ CapTypeConverter()

static const Util::EnumDataConverter< unsigned > Inkscape::LivePathEffect::CapTypeConverter ( CapTypeData  ,
sizeof(CapTypeData)/sizeof *  CapTypeData 
)
static

◆ cmp_cut_position()

bool Inkscape::LivePathEffect::cmp_cut_position ( const Path::cut_position a,
const Path::cut_position b 
)

Definition at line 125 of file lpe-bool.cpp.

References Path::cut_position::piece, and Path::cut_position::t.

Referenced by sp_pathvector_boolop_slice_intersect().

◆ collectPathsAndWidths()

static void Inkscape::LivePathEffect::collectPathsAndWidths ( SPLPEItem const *  lpeitem,
Geom::PathVector paths,
std::vector< double > &  stroke_widths 
)
static

◆ compare_offsets()

static bool Inkscape::LivePathEffect::compare_offsets ( Geom::Point  first,
Geom::Point  second 
)
static

Definition at line 280 of file lpe-powerstroke.cpp.

References Geom::X.

Referenced by Inkscape::LivePathEffect::LPEPowerStroke::doEffect_path().

◆ complementOf()

static std::vector< Geom::Interval > Inkscape::LivePathEffect::complementOf ( Geom::Interval  I,
std::vector< Geom::Interval domain 
)
static

◆ ConnectMethodConverter()

static const Util::EnumDataConverter< LPEEmbroderyStitch::connect_method > Inkscape::LivePathEffect::ConnectMethodConverter ( ConnectMethodData  ,
sizeof(ConnectMethodData)/sizeof *  ConnectMethodData 
)
static

◆ create_radio_button()

Gtk::ToggleButton * Inkscape::LivePathEffect::create_radio_button ( Gtk::ToggleButton *&  group,
const Glib::ustring &  tooltip,
const Glib::ustring &  icon_name 
)

◆ DeformationTypeConverter()

static const Util::EnumDataConverter< unsigned > Inkscape::LivePathEffect::DeformationTypeConverter ( DeformationTypeData  ,
sizeof(DeformationTypeData)/sizeof *  DeformationTypeData 
)
static

◆ deg2rad()

◆ discontinuities()

static std::vector< double > Inkscape::LivePathEffect::discontinuities ( Piecewise< D2< SBasis > > const &  f)
static

Definition at line 60 of file lpe-rough-hatches.cpp.

References result.

◆ empty_string()

◆ endpoints2angles()

void Inkscape::LivePathEffect::endpoints2angles ( const bool  ccw_wind,
const bool  use_other_arc,
const Geom::Point p0,
const Geom::Point p1,
Geom::Coord a0,
Geom::Coord a1 
)

◆ EndTypeConverter()

static const Util::EnumDataConverter< EndType > Inkscape::LivePathEffect::EndTypeConverter ( EndTypeData  ,
sizeof(EndTypeData)/sizeof *  EndTypeData 
)
static

◆ evalSteinerEllipse()

void Inkscape::LivePathEffect::evalSteinerEllipse ( Geom::Point const &  pCenter,
Geom::Point const &  pCenter_Pt2,
Geom::Point const &  pPt0_Pt1,
const double &  angle,
Geom::Point pRes 
)

◆ extractFirstPoint()

static void Inkscape::LivePathEffect::extractFirstPoint ( Geom::Point dest,
const Glib::ustring &  lpobjid,
const char *const  prefix,
const gint  idx,
SPDocument *const  document 
)
static

◆ FillTypeConverter()

static const Util::EnumDataConverter< FillRule > Inkscape::LivePathEffect::FillTypeConverter ( FillTypeData  ,
sizeof(FillTypeData)/sizeof *  FillTypeData 
)
static

◆ find_cusps()

static std::vector< double > Inkscape::LivePathEffect::find_cusps ( Geom::Piecewise< Geom::D2< Geom::SBasis > > const &  pwd2_in)
static

◆ findShadowedTime()

static Geom::Interval Inkscape::LivePathEffect::findShadowedTime ( Geom::Path const &  patha,
std::vector< Geom::Point > const &  pt_and_dir,
double const  ta,
double const  width 
)
static

◆ get_nearest_point()

◆ getAngle()

double Inkscape::LivePathEffect::getAngle ( Geom::Point  p1,
Geom::Point  p2,
Geom::Point  p3,
bool  flip_side,
double  fix_overlaps 
)

◆ GetFillTyp() [1/2]

◆ GetFillTyp() [2/2]

static FillRule Inkscape::LivePathEffect::GetFillTyp ( SPItem item)
static

◆ getNodes()

std::vector< Point > Inkscape::LivePathEffect::getNodes ( SPItem item,
Geom::Affine  transform,
bool  onbbox,
bool  centers,
bool  bboxonly,
double  angle_projection 
)

◆ InterpolatorTypeConverter() [1/2]

static const Util::EnumDataConverter< unsigned > Inkscape::LivePathEffect::InterpolatorTypeConverter ( InterpolatorTypeData  ,
sizeof(InterpolatorTypeData)/sizeof *  InterpolatorTypeData 
)
static

◆ InterpolatorTypeConverter() [2/2]

static const Util::EnumDataConverter< unsigned > Inkscape::LivePathEffect::InterpolatorTypeConverter ( InterpolatorTypeData  ,
sizeof(InterpolatorTypeData)/sizeof *  InterpolatorTypeData 
)
static

◆ JoinTypeConverter() [1/3]

static const Util::EnumDataConverter< unsigned > Inkscape::LivePathEffect::JoinTypeConverter ( JoinType  ,
sizeof(JoinType)/sizeof *  JoinType 
)
static

◆ JoinTypeConverter() [2/3]

static const Util::EnumDataConverter< unsigned > Inkscape::LivePathEffect::JoinTypeConverter ( JoinTypeData  ,
sizeof(JoinTypeData)/sizeof *  JoinTypeData 
)
static

◆ JoinTypeConverter() [3/3]

static const Util::EnumDataConverter< unsigned > Inkscape::LivePathEffect::JoinTypeConverter ( JoinTypeData  ,
sizeof(JoinTypeData)/sizeof *  JoinTypeData 
)
static

◆ LineCapTypeConverter()

static const Util::EnumDataConverter< unsigned > Inkscape::LivePathEffect::LineCapTypeConverter ( LineCapTypeData  ,
sizeof(LineCapTypeData)/sizeof *  LineCapTypeData 
)
static

◆ LineJoinTypeConverter()

static const Util::EnumDataConverter< unsigned > Inkscape::LivePathEffect::LineJoinTypeConverter ( LineJoinTypeData  ,
sizeof(LineJoinTypeData)/sizeof *  LineJoinTypeData 
)
static

◆ lpe_shape_convert_stroke_and_fill()

void Inkscape::LivePathEffect::lpe_shape_convert_stroke_and_fill ( SPShape shape)

Prepares a SPShape's fill and stroke for use in a path effect by setting the existing stroke properties into the shape's fill, and setting the existing fill properties into a new linked fill item which follows the old shape.

Definition at line 153 of file fill-conversion.cpp.

References convert_fill_color(), convert_fill_server(), convert_stroke_color(), convert_stroke_server(), SPStyle::fill, generate_linked_fill(), has_fill(), has_stroke(), sp_desktop_apply_css_recursive(), sp_repr_css_attr_new(), sp_repr_css_attr_unref(), sp_repr_css_set_property(), SPStyle::stroke, and SPObject::style.

Referenced by Inkscape::LivePathEffect::LPEPowerStroke::applyStyle(), Inkscape::LivePathEffect::LPEJoinType::doOnApply(), and Inkscape::LivePathEffect::LPETaperStroke::doOnApply().

◆ lpe_shape_revert_stroke_and_fill()

void Inkscape::LivePathEffect::lpe_shape_revert_stroke_and_fill ( SPShape shape,
double  width 
)

◆ lpeobjectreference_href_changed()

◆ lpeobjectreference_release_owner()

static void Inkscape::LivePathEffect::lpeobjectreference_release_owner ( SPObject release,
LPEObjectReference lpeobjref 
)
static

◆ lpeobjectreference_release_self()

static void Inkscape::LivePathEffect::lpeobjectreference_release_self ( SPObject release,
LPEObjectReference lpeobjref 
)
static

◆ LPETypeConverter()

const EnumEffectDataConverter< EffectType > Inkscape::LivePathEffect::LPETypeConverter ( LPETypeData  ,
sizeof(LPETypeData)/sizeof *  LPETypeData 
)

◆ MarkDirTypeConverter()

static const Util::EnumDataConverter< MarkDirType > Inkscape::LivePathEffect::MarkDirTypeConverter ( MarkDirData  ,
sizeof(MarkDirData)/sizeof *  MarkDirData 
)
static

◆ operator<<()

std::ostream & Inkscape::LivePathEffect::operator<< ( std::ostream &  os,
LPEItemShapesNumbers const &  lpeitemnumbers 
)
inline

◆ OrderMethodConverter()

static const Util::EnumDataConverter< LPEEmbroderyStitch::order_method > Inkscape::LivePathEffect::OrderMethodConverter ( OrderMethodData  ,
sizeof(OrderMethodData)/sizeof *  OrderMethodData 
)
static

◆ path_from_piecewise_fix_cusps()

static Geom::Path Inkscape::LivePathEffect::path_from_piecewise_fix_cusps ( Geom::Piecewise< Geom::D2< Geom::SBasis > > const &  B,
Geom::Piecewise< Geom::SBasis > const &  y,
LineJoinType  jointype,
double  miter_limit,
double  tol = Geom::EPSILON 
)
static

◆ pointInTriangle()

bool Inkscape::LivePathEffect::pointInTriangle ( Geom::Point const &  p,
std::vector< Geom::Point points 
)

Definition at line 84 of file lpe-perspective-envelope.cpp.

References Geom::X, and Geom::Y.

Referenced by Inkscape::LivePathEffect::LPECopyRotate::split().

◆ rad2deg()

double Inkscape::LivePathEffect::rad2deg ( double  a)
inline

Definition at line 115 of file lpe-pts2ellipse.cpp.

◆ range2pi()

double Inkscape::LivePathEffect::range2pi ( double  a)
inline

◆ return_at_first_cusp()

static Geom::Path Inkscape::LivePathEffect::return_at_first_cusp ( Geom::Path const &  path_in,
double  = 0.05 
)
static

◆ size_nondegenerate()

◆ sp_bbox_without_clip()

Geom::Path Inkscape::LivePathEffect::sp_bbox_without_clip ( SPLPEItem lpeitem)

◆ sp_bspline_do_effect()

◆ sp_bspline_drawHandle()

Geom::Path Inkscape::LivePathEffect::sp_bspline_drawHandle ( Geom::Point  p,
double  helper_size 
)

Definition at line 358 of file lpe-bspline.cpp.

References sp_svg_read_pathv().

Referenced by sp_bspline_do_effect().

◆ sp_calculate_origin()

size_t Inkscape::LivePathEffect::sp_calculate_origin ( size_t  i,
Geom::PathVector  pathv 
)

◆ sp_get_fill_rule()

Glib::ustring Inkscape::LivePathEffect::sp_get_fill_rule ( SPObject obj)

◆ sp_get_recursive_pathvector()

Geom::PathVector Inkscape::LivePathEffect::sp_get_recursive_pathvector ( SPLPEItem item,
Geom::PathVector  res,
bool  dir,
bool  inverse 
)

◆ sp_has_path_data()

bool Inkscape::LivePathEffect::sp_has_path_data ( SPItem item,
bool  originald 
)

Definition at line 165 of file lpe-slice.cpp.

References c, child, item, and sp_has_path_data().

Referenced by Inkscape::LivePathEffect::LPESlice::doAfterEffect(), and sp_has_path_data().

◆ sp_inverse_powerclip()

◆ sp_inverse_powermask()

◆ sp_pathvector_boolop_remove_inner()

Geom::PathVector Inkscape::LivePathEffect::sp_pathvector_boolop_remove_inner ( Geom::PathVector const &  pathva,
FillRule  fra 
)

◆ sp_pathvector_boolop_slice_intersect()

◆ sp_remove_powerclip()

void Inkscape::LivePathEffect::sp_remove_powerclip ( Inkscape::Selection sel)
Todo:
Investigate the cause of this. For example, this happens when copy pasting an object with LPE applied. Probably because the object is pasted while the effect is not yet pasted to defs, and cannot be found.

Definition at line 275 of file lpe-powerclip.cpp.

References LivePathEffectObject::effecttype, Inkscape::ObjectSet::isEmpty(), Inkscape::ObjectSet::items(), and LPETypeConverter.

◆ sp_remove_powermask()

void Inkscape::LivePathEffect::sp_remove_powermask ( Inkscape::Selection sel)
Todo:
Investigate the cause of this. For example, this happens when copy pasting an object with LPE applied. Probably because the object is pasted while the effect is not yet pasted to defs, and cannot be found.

Definition at line 329 of file lpe-powermask.cpp.

References LivePathEffectObject::effecttype, Inkscape::ObjectSet::isEmpty(), Inkscape::ObjectSet::items(), and LPETypeConverter.

◆ sp_spiro_do_effect()

◆ stretch_along()

Piecewise< D2< SBasis > > Inkscape::LivePathEffect::stretch_along ( Piecewise< D2< SBasis > >  pwd2_in,
Geom::Path  pattern,
double  prop_scale 
)

Most of the below function is verbatim from Pattern Along Path.

However, it needed a little tweaking to get it to work right in this case. Also, large portions of the effect have been stripped out as I deemed them unnecessary for the relative simplicity of this effect.

Definition at line 263 of file lpe-taperstroke.cpp.

References Geom::arc_length_parametrization(), Geom::bounds_exact(), Geom::compose(), Geom::Piecewise< T >::concat(), Geom::derivative(), Geom::Piecewise< T >::domain(), Geom::Path::empty(), Geom::GenericInterval< C >::extent(), Geom::force_continuity(), Geom::make_cuts_independent(), Geom::rot90(), Geom::split_at_discontinuities(), and Geom::Path::toPwSb().

Referenced by Inkscape::LivePathEffect::LPETaperStroke::doBeforeEffect().

◆ TaperShapeTypeConverter()

static const Util::EnumDataConverter< unsigned > Inkscape::LivePathEffect::TaperShapeTypeConverter ( TaperShapeType  ,
sizeof(TaperShapeType)/sizeof *  TaperShapeType 
)
static

◆ transformNodes()

std::vector< Point > Inkscape::LivePathEffect::transformNodes ( std::vector< Point nodes,
Geom::Affine  transform 
)

Definition at line 707 of file lpe-measure-segments.cpp.

References node, and result.

Referenced by getNodes().

Variable Documentation

◆ BoolOpData

const Util::EnumData<LPEBool::bool_op_ex> Inkscape::LivePathEffect::BoolOpData[LPEBool::bool_op_ex_count]
static
Initial value:
= {
{LPEBool::bool_op_ex_union, N_("union"), "union"},
{LPEBool::bool_op_ex_inters, N_("intersection"), "inters"},
{LPEBool::bool_op_ex_diff, N_("difference"), "diff"},
{LPEBool::bool_op_ex_symdiff, N_("symmetric difference"), "symdiff"},
{LPEBool::bool_op_ex_cut, N_("division"), "cut"},
{LPEBool::bool_op_ex_cut_both, N_("division both"), "cut-both"},
}

Definition at line 50 of file lpe-bool.cpp.

◆ BorderMarkData

const Util::EnumData<BorderMarkType> Inkscape::LivePathEffect::BorderMarkData[]
static
Initial value:
= {
{BORDERMARK_NONE , NC_("Border mark", "None"), "none"},
{BORDERMARK_START , N_("Start"), "start"},
{BORDERMARK_END , N_("End"), "end"},
{BORDERMARK_BOTH , N_("Both"), "both"},
}

Definition at line 30 of file lpe-ruler.cpp.

◆ BSPLINE_TOL

constexpr double Inkscape::LivePathEffect::BSPLINE_TOL = 0.001
staticconstexpr

◆ CapTypeData

const Util::EnumData<unsigned> Inkscape::LivePathEffect::CapTypeData[]
static
Initial value:
= {
{BUTT_FLAT, N_("Butt"), "butt"},
{BUTT_ROUND, N_("Rounded"), "round"},
{BUTT_SQUARE, N_("Square"), "square"},
{BUTT_PEAK, N_("Peak"), "peak"},
}

Definition at line 42 of file lpe-jointype.cpp.

◆ CLMConverter

const Util::EnumDataConverter< Clonelpemethod > Inkscape::LivePathEffect::CLMConverter(ClonelpemethodData, CLM_END) ( ClonelpemethodData  ,
CLM_END   
)
static

◆ ClonelpemethodData

const Util::EnumData<Clonelpemethod> Inkscape::LivePathEffect::ClonelpemethodData[]
static
Initial value:
= {
{ CLM_NONE, N_("Transformation Only"), "none" },
{ CLM_D, N_("Original Shape + LPEs"), "d" },
{ CLM_ORIGINALD, N_("Original Shape Only"), "originald" },
{ CLM_BSPLINESPIRO, N_("Spiro or BSpline Only"), "bsplinespiro" },
}

Definition at line 42 of file lpe-clone-original.cpp.

◆ ConnectMethodData

const Util::EnumData<LPEEmbroderyStitch::connect_method> Inkscape::LivePathEffect::ConnectMethodData[LPEEmbroderyStitch::connect_method_count]
static
Initial value:
= {
{ LPEEmbroderyStitch::connect_method_line, N_("straight line"), "line" },
{ LPEEmbroderyStitch::connect_method_move_point_from, N_("move to begin"), "move-begin" },
{ LPEEmbroderyStitch::connect_method_move_point_mid, N_("move to middle"), "move-middle" },
{ LPEEmbroderyStitch::connect_method_move_point_to, N_("move to end"), "move-end" }
}

Definition at line 46 of file lpe-embrodery-stitch.cpp.

◆ DEFAULT_END_POWER

constexpr double Inkscape::LivePathEffect::DEFAULT_END_POWER = 2.0 / 3.0
staticconstexpr

Definition at line 29 of file lpe-bspline.cpp.

Referenced by sp_bspline_do_effect().

◆ DEFAULT_START_POWER

constexpr double Inkscape::LivePathEffect::DEFAULT_START_POWER = 1.0 / 3.0
staticconstexpr

◆ DeformationTypeData

const Util::EnumData<unsigned> Inkscape::LivePathEffect::DeformationTypeData[]
static
Initial value:
= {
{DEFORMATION_PERSPECTIVE , N_("Perspective"), "perspective"},
{DEFORMATION_ENVELOPE , N_("Envelope deformation"), "envelope_deformation"}
}

Definition at line 42 of file lpe-perspective-envelope.cpp.

◆ DivisionMethodData

const Util::EnumData<DivisionMethod> Inkscape::LivePathEffect::DivisionMethodData[]
static
Initial value:
= {
{ DM_SEGMENTS, N_("Number of segments"), "segments" },
{ DM_SIZE, N_("Segment size"), "size" }
}

Definition at line 37 of file lpe-roughen.cpp.

◆ DMConverter

const Util::EnumDataConverter< DivisionMethod > Inkscape::LivePathEffect::DMConverter(DivisionMethodData, DM_END) ( DivisionMethodData  ,
DM_END   
)
static

◆ DSCTConverter

const Util::EnumDataConverter< DynastrokeCappingType > Inkscape::LivePathEffect::DSCTConverter(DynastrokeCappingTypeData, DSCT_END) ( DynastrokeCappingTypeData  ,
DSCT_END   
)
static

◆ DSMethodConverter

const Util::EnumDataConverter< DynastrokeMethod > Inkscape::LivePathEffect::DSMethodConverter(DynastrokeMethodData, DSM_END) ( DynastrokeMethodData  ,
DSM_END   
)
static

◆ DynastrokeCappingTypeData

const Util::EnumData<DynastrokeCappingType> Inkscape::LivePathEffect::DynastrokeCappingTypeData[DSCT_END]
static
Initial value:
= {
{DSCT_SHARP, N_("Sharp"), "sharp"},
{DSCT_ROUND, N_("Round"), "round"},
}

Definition at line 37 of file lpe-dynastroke.cpp.

◆ DynastrokeMethodData

const Util::EnumData<DynastrokeMethod> Inkscape::LivePathEffect::DynastrokeMethodData[DSM_END]
static
Initial value:
= {
{DSM_ELLIPTIC_PEN, N_("Elliptic Pen"), "elliptic_pen"},
{DSM_THICKTHIN_FAST, N_("Thick-Thin strokes (fast)"), "thickthin_fast"},
{DSM_THICKTHIN_SLOW, N_("Thick-Thin strokes (slow)"), "thickthin_slow"}
}

Definition at line 30 of file lpe-dynastroke.cpp.

◆ EllipseMethodData

const Util::EnumData<EllipseMethod> Inkscape::LivePathEffect::EllipseMethodData[]
static
Initial value:
= {
{ EM_AUTO, N_("Auto ellipse"), "auto" },
{ EM_CIRCLE, N_("Force circle"), "circle" },
{ EM_ISOMETRIC_CIRCLE, N_("Isometric circle"), "iso_circle" },
{ EM_PERSPECTIVE_CIRCLE, N_("Perspective circle"), "perspective_circle" },
{ EM_STEINER_ELLIPSE, N_("Steiner ellipse"), "steiner_ellipse" },
{ EM_STEINER_INELLIPSE, N_("Steiner inellipse"), "steiner_inellipse" }
}

Definition at line 35 of file lpe-pts2ellipse.cpp.

◆ EMConverter

const Util::EnumDataConverter< EllipseMethod > Inkscape::LivePathEffect::EMConverter(EllipseMethodData, EM_END) ( EllipseMethodData  ,
EM_END   
)
static

◆ EndTypeData

const Util::EnumData<EndType> Inkscape::LivePathEffect::EndTypeData[]
static
Initial value:
= {
{END_CLOSED , N_("Closed"), "closed"},
{END_OPEN_INITIAL , N_("Open start"), "open_start"},
{END_OPEN_FINAL , N_("Open end"), "open_end"},
{END_OPEN_BOTH , N_("Open both"), "open_both"},
}

Definition at line 25 of file lpe-line_segment.cpp.

◆ FilletmethodData

const Util::EnumData<Filletmethod> Inkscape::LivePathEffect::FilletmethodData[]
static
Initial value:
= {
{ FM_AUTO, N_("Auto"), "auto" },
{ FM_ARC, N_("Force arc"), "arc" },
{ FM_BEZIER, N_("Force bezier"), "bezier" }
}

Definition at line 33 of file lpe-fillet-chamfer.cpp.

◆ FilllpemethodData

const Util::EnumData<Filllpemethod> Inkscape::LivePathEffect::FilllpemethodData[]
static
Initial value:
= {
{ FLM_ORIGINALD, N_("Without LPEs"), "originald" },
{ FLM_BSPLINESPIRO, N_("With Spiro or BSpline"), "bsplinespiro" },
{ FLM_D, N_("With all LPEs"), "d" }
}

Definition at line 25 of file lpe-fill-between-many.cpp.

◆ FillTypeData

const Util::EnumData<FillRule> Inkscape::LivePathEffect::FillTypeData[]
static
Initial value:
= {
{ fill_oddEven, N_("even-odd"), "oddeven" },
{ fill_nonZero, N_("non-zero"), "nonzero" },
{ fill_positive, N_("positive"), "positive" },
{ fill_justDont, N_("take from object"), "from-curve" }
}
@ fill_oddEven
Definition LivarotDefs.h:69
@ fill_nonZero
Definition LivarotDefs.h:70
@ fill_justDont
Definition LivarotDefs.h:72
@ fill_positive
Definition LivarotDefs.h:71

Definition at line 69 of file lpe-bool.cpp.

◆ FLMConverter

const Util::EnumDataConverter< Filllpemethod > Inkscape::LivePathEffect::FLMConverter(FilllpemethodData, FLM_END) ( FilllpemethodData  ,
FLM_END   
)
static

◆ FMConverter

const Util::EnumDataConverter< Filletmethod > Inkscape::LivePathEffect::FMConverter(FilletmethodData, FM_END) ( FilletmethodData  ,
FM_END   
)
static

◆ HandlesMethodData

const Util::EnumData<HandlesMethod> Inkscape::LivePathEffect::HandlesMethodData[]
static
Initial value:
= {
{ HM_ALONG_NODES, N_("Along nodes"), "along" },
{ HM_RAND, N_("Random"), "rand" },
{ HM_RETRACT, N_("Retract"), "retract" },
{ HM_SMOOTH, N_("Smooth"), "smooth" }
}

Definition at line 43 of file lpe-roughen.cpp.

◆ HMConverter

const Util::EnumDataConverter< HandlesMethod > Inkscape::LivePathEffect::HMConverter(HandlesMethodData, HM_END) ( HandlesMethodData  ,
HM_END   
)
static

◆ InterpolatorTypeData [1/2]

const Util::EnumData<unsigned> Inkscape::LivePathEffect::InterpolatorTypeData[]
static
Initial value:
= {
{Geom::Interpolate::INTERP_LINEAR , N_("Linear"), "Linear"},
{Geom::Interpolate::INTERP_CUBICBEZIER , N_("CubicBezierFit"), "CubicBezierFit"},
{Geom::Interpolate::INTERP_CUBICBEZIER_JOHAN , N_("CubicBezierJohan"), "CubicBezierJohan"},
{Geom::Interpolate::INTERP_SPIRO , N_("SpiroInterpolator"), "SpiroInterpolator"},
{Geom::Interpolate::INTERP_CENTRIPETAL_CATMULLROM, N_("Centripetal Catmull-Rom"), "CentripetalCatmullRom"}
}

Definition at line 24 of file lpe-interpolate_points.cpp.

◆ InterpolatorTypeData [2/2]

const Util::EnumData<unsigned> Inkscape::LivePathEffect::InterpolatorTypeData[]
static
Initial value:
= {
{Geom::Interpolate::INTERP_CUBICBEZIER_SMOOTH, N_("CubicBezierSmooth"), "CubicBezierSmooth"},
{Geom::Interpolate::INTERP_LINEAR , N_("Linear"), "Linear"},
{Geom::Interpolate::INTERP_CUBICBEZIER , N_("CubicBezierFit"), "CubicBezierFit"},
{Geom::Interpolate::INTERP_CUBICBEZIER_JOHAN , N_("CubicBezierJohan"), "CubicBezierJohan"},
{Geom::Interpolate::INTERP_SPIRO , N_("SpiroInterpolator"), "SpiroInterpolator"},
{Geom::Interpolate::INTERP_CENTRIPETAL_CATMULLROM, N_("Centripetal Catmull-Rom"), "CentripetalCatmullRom"}
}

Definition at line 126 of file lpe-powerstroke.cpp.

◆ JoinType

const Util::EnumData<unsigned> Inkscape::LivePathEffect::JoinType[]
static
Initial value:
= {
{JOIN_BEVEL, N_("Beveled"), "bevel"},
{JOIN_ROUND, N_("Rounded"), "round"},
{JOIN_MITER, N_("Miter"), "miter"},
{JOIN_EXTRAPOLATE, N_("Extrapolated"), "extrapolated"},
}

Definition at line 77 of file lpe-taperstroke.cpp.

◆ JoinTypeData [1/2]

const Util::EnumData<unsigned> Inkscape::LivePathEffect::JoinTypeData[]
static
Initial value:
= {
{JOIN_BEVEL, N_("Beveled"), "bevel"},
{JOIN_ROUND, N_("Rounded"), "round"},
{JOIN_MITER, N_("Miter"), "miter"},
{JOIN_MITER_CLIP, N_("Miter Clip"), "miter-clip"},
{JOIN_EXTRAPOLATE, N_("Extrapolated arc"), "extrp_arc"},
{JOIN_EXTRAPOLATE1, N_("Extrapolated arc Alt1"), "extrp_arc1"},
{JOIN_EXTRAPOLATE2, N_("Extrapolated arc Alt2"), "extrp_arc2"},
{JOIN_EXTRAPOLATE3, N_("Extrapolated arc Alt3"), "extrp_arc3"},
}

Definition at line 29 of file lpe-jointype.cpp.

◆ JoinTypeData [2/2]

const Util::EnumData<unsigned> Inkscape::LivePathEffect::JoinTypeData[]
static
Initial value:
= {
{JOIN_BEVEL, N_("Beveled"), "bevel"},
{JOIN_ROUND, N_("Rounded"), "round"},
{JOIN_MITER, N_("Miter"), "miter"},
{JOIN_MITER_CLIP, N_("Miter Clip"), "miter-clip"},
{JOIN_EXTRAPOLATE, N_("Extrapolated arc"), "extrp_arc"},
{JOIN_EXTRAPOLATE1, N_("Extrapolated arc Alt1"), "extrp_arc1"},
{JOIN_EXTRAPOLATE2, N_("Extrapolated arc Alt2"), "extrp_arc2"},
{JOIN_EXTRAPOLATE3, N_("Extrapolated arc Alt3"), "extrp_arc3"},
}

Definition at line 55 of file lpe-offset.cpp.

◆ LineCapTypeData

const Util::EnumData<unsigned> Inkscape::LivePathEffect::LineCapTypeData[]
static
Initial value:
= { { LINECAP_BUTT, N_("Butt"), "butt" },
{ LINECAP_SQUARE, N_("Square"), "square" },
{ LINECAP_ROUND, N_("Round"), "round" },
{ LINECAP_PEAK, N_("Peak"), "peak" },
{ LINECAP_ZERO_WIDTH, N_("Zero width"), "zerowidth" } }

Definition at line 28 of file lpe-powerstroke.h.

◆ LineJoinTypeData

const Util::EnumData<unsigned> Inkscape::LivePathEffect::LineJoinTypeData[]
static
Initial value:
= {
{LINEJOIN_BEVEL, N_("Beveled"), "bevel"},
{LINEJOIN_ROUND, N_("Rounded"), "round"},
{LINEJOIN_EXTRP_MITER_ARC, N_("Extrapolated arc"), "extrp_arc"},
{LINEJOIN_MITER, N_("Miter"), "miter"},
{LINEJOIN_SPIRO, N_("Spiro"), "spiro"},
}

Definition at line 144 of file lpe-powerstroke.cpp.

◆ LPETypeConverter

◆ LPETypeData

const EnumEffectData< EffectType > Inkscape::LivePathEffect::LPETypeData

Definition at line 97 of file effect.cpp.

◆ MarkDirData

const Util::EnumData<MarkDirType> Inkscape::LivePathEffect::MarkDirData[]
static
Initial value:
= {
{MARKDIR_LEFT , N_("Left"), "left"},
{MARKDIR_RIGHT , N_("Right"), "right"},
{MARKDIR_BOTH , N_("Both"), "both"},
}

Definition at line 23 of file lpe-ruler.cpp.

◆ ModeTypeData

const Util::EnumData<ModeType> Inkscape::LivePathEffect::ModeTypeData[]
static
Initial value:
= {
{ MT_V, N_("Vertical page center"), "vertical" },
{ MT_H, N_("Horizontal page center"), "horizontal" },
{ MT_FREE, N_("Freely defined mirror line"), "free" },
{ MT_X, N_("X coordinate of mirror line midpoint"), "X" },
{ MT_Y, N_("Y coordinate of mirror line midpoint"), "Y" }
}

Definition at line 46 of file lpe-mirror_symmetry.cpp.

◆ MTConverter

const Util::EnumDataConverter< ModeType > Inkscape::LivePathEffect::MTConverter(ModeTypeData, MT_END) ( ModeTypeData  ,
MT_END   
)
static

◆ NO_POWER

constexpr double Inkscape::LivePathEffect::NO_POWER = 0.0
staticconstexpr

◆ OMConverter

const Util::EnumDataConverter< OrientationMethod > Inkscape::LivePathEffect::OMConverter(OrientationMethodData, OM_END) ( OrientationMethodData  ,
OM_END   
)
static

◆ OrderMethodData

const Util::EnumData<LPEEmbroderyStitch::order_method> Inkscape::LivePathEffect::OrderMethodData[LPEEmbroderyStitch::order_method_count]
static
Initial value:
= {
{ LPEEmbroderyStitch::order_method_no_reorder, N_("no reordering"), "no-reorder" },
{ LPEEmbroderyStitch::order_method_zigzag, N_("zig-zag"), "zig-zag" },
{ LPEEmbroderyStitch::order_method_zigzag_rev_first, N_("zig-zag, reverse first"), "zig-zag-rev-first" },
{ LPEEmbroderyStitch::order_method_closest, N_("closest"), "closest" },
{ LPEEmbroderyStitch::order_method_closest_rev_first, N_("closest, reverse first"), "closest-rev-first" },
{ LPEEmbroderyStitch::order_method_tsp_kopt_2, N_("traveling salesman 2-opt (fast, bad)"), "tsp-2opt" },
{ LPEEmbroderyStitch::order_method_tsp_kopt_3, N_("traveling salesman 3-opt (fast, ok)"), "tsp-3opt" },
{ LPEEmbroderyStitch::order_method_tsp_kopt_4, N_("traveling salesman 4-opt (seconds)"), "tsp-4opt" },
{ LPEEmbroderyStitch::order_method_tsp_kopt_5, N_("traveling salesman 5-opt (minutes)"), "tsp-5opt" }
}

Definition at line 29 of file lpe-embrodery-stitch.cpp.

◆ OrientationMethodData

const Util::EnumData<OrientationMethod> Inkscape::LivePathEffect::OrientationMethodData[]
static
Initial value:
= {
{ OM_HORIZONTAL , N_("Horizontal"), "horizontal" },
{ OM_VERTICAL , N_("Vertical") , "vertical" },
{ OM_PARALLEL , N_("Parallel") , "parallel" }
}

Definition at line 64 of file lpe-measure-segments.cpp.

◆ PAPCopyTypeConverter

const Util::EnumDataConverter< PAPCopyType > Inkscape::LivePathEffect::PAPCopyTypeConverter(PAPCopyTypeData, PAPCT_END) ( PAPCopyTypeData  ,
PAPCT_END   
)
static

◆ PAPCopyTypeData

const Util::EnumData<PAPCopyType> Inkscape::LivePathEffect::PAPCopyTypeData[PAPCT_END]
static
Initial value:
= {
{PAPCT_SINGLE, N_("Single"), "single"},
{PAPCT_SINGLE_STRETCHED, N_("Single, stretched"), "single_stretched"},
{PAPCT_REPEATED, N_("Repeated"), "repeated"},
{PAPCT_REPEATED_STRETCHED, N_("Repeated, stretched"), "repeated_stretched"}
}

Definition at line 63 of file lpe-patternalongpath.cpp.

◆ RMConverter

const Util::EnumDataConverter< RotateMethod > Inkscape::LivePathEffect::RMConverter(RotateMethodData, RM_END) ( RotateMethodData  ,
RM_END   
)
static

◆ RotateMethodData

const Util::EnumData<RotateMethod> Inkscape::LivePathEffect::RotateMethodData[RM_END]
static
Initial value:
= {
{ RM_NORMAL, N_("Normal"), "normal" },
{ RM_KALEIDOSCOPE, N_("Kaleidoscope"), "kaleidoskope" },
{ RM_FUSE, N_("Fuse paths"), "fuse_paths" }
}

Definition at line 48 of file lpe-copy_rotate.cpp.

◆ TaperShapeType

const Util::EnumData<unsigned> Inkscape::LivePathEffect::TaperShapeType[]
static
Initial value:
= {
{TAPER_CENTER, N_("Center"), "center"},
{TAPER_LEFT, N_("Left"), "left"},
{TAPER_RIGHT, N_("Right"), "right"},
{TAPER_CLAMP, N_("Clamp"), "clamp"},
}

Definition at line 94 of file lpe-taperstroke.cpp.