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

#include <lpe-simplify.h>

Inheritance diagram for Inkscape::LivePathEffect::LPESimplify:
Inkscape::LivePathEffect::Effect Inkscape::LivePathEffect::GroupBBoxEffect

Public Member Functions

 LPESimplify (LivePathEffectObject *lpeobject)
 
 ~LPESimplify () override
 
 LPESimplify (const LPESimplify &)=delete
 
LPESimplifyoperator= (const LPESimplify &)=delete
 
void doEffect (Geom::PathVector &curve) override
 
void doBeforeEffect (SPLPEItem const *lpeitem) override
 Is performed each time before the effect is updated.
 
virtual void generateHelperPathAndSmooth (Geom::PathVector &result)
 
void doOnApply (SPLPEItem const *lpeitem) override
 Is performed a single time when the effect is freshly applied to a path.
 
Gtk::Widget * newWidget () override
 This creates a managed widget.
 
virtual void drawNode (Geom::Point p)
 
virtual void drawHandle (Geom::Point p)
 
virtual void drawHandleLine (Geom::Point p, Geom::Point p2)
 
- Public Member Functions inherited from Inkscape::LivePathEffect::Effect
virtual ~Effect ()
 
 Effect (const Effect &)=delete
 
Effectoperator= (const Effect &)=delete
 
EffectType effectType () const
 
void doAfterEffect_impl (SPLPEItem const *lpeitem, Geom::PathVector *curve)
 
void doOnApply_impl (SPLPEItem const *lpeitem)
 
void doBeforeEffect_impl (SPLPEItem const *lpeitem)
 
void doOnOpen_impl ()
 Is performed on document open allow things like fix legacy LPE in a undo insensitive way.
 
void doOnRemove_impl (SPLPEItem const *lpeitem)
 
void transform_multiply_impl (Geom::Affine const &postmul, SPLPEItem *)
 
void doOnBeforeCommit ()
 
void read_from_SVG ()
 
void setCurrentZoom (double cZ)
 
void setSelectedNodePoints (std::vector< Geom::Point > sNP)
 
bool isNodePointSelected (Geom::Point const &nodePoint) const
 
bool isOnClipboard ()
 The lpe is on clipboard.
 
std::vector< SPLPEItem * > getCurrrentLPEItems () const
 
void update_satellites ()
 
virtual void doOnException (SPLPEItem const *lpeitem)
 
virtual void doOnVisibilityToggled (SPLPEItem const *lpeitem)
 
virtual void adjustForNewPath ()
 
void writeParamsToSVG ()
 
std::vector< SPObject * > effect_get_satellites (bool force=true)
 
virtual void acceptParamPath (SPPath const *param_path)
 If the effect expects a path parameter (specified by a number of mouse clicks) before it is applied, this is the method that processes the resulting path.
 
int acceptsNumClicks () const
 
SPShapegetCurrentShape () const
 
void setCurrentShape (SPShape *shape)
 
virtual void processObjects (LPEAction lpe_action)
 
void makeUndoDone (Glib::ustring message)
 
bool isReady () const
 
void setReady (bool ready=true)
 
virtual void resetDefaults (SPItem const *item)
 Sets all parameters to their default values and writes them to SVG.
 
bool providesKnotholder () const
 
virtual LPEPathFlashType pathFlashType () const
 
void addHandles (KnotHolder *knotholder, SPItem *item)
 Add all registered LPE knotholder handles to the knotholder.
 
std::vector< Geom::PathVectorgetCanvasIndicators (SPLPEItem const *lpeitem)
 Return a vector of PathVectors which contain all canvas indicators for this effect.
 
void update_helperpath ()
 Call to a method on nodetool to update the helper path from the effect.
 
bool providesOwnFlashPaths () const
 
bool showOrigPath () const
 
Glib::ustring getName () const
 
Inkscape::XML::NodegetRepr ()
 
SPDocumentgetSPDoc ()
 
LivePathEffectObjectgetLPEObj ()
 
LivePathEffectObject const * getLPEObj () const
 
ParametergetParameter (const char *key)
 
void readallParameters (Inkscape::XML::Node const *repr)
 
void setParameter (const gchar *key, const gchar *new_value)
 
bool isVisible () const
 
void editNextParamOncanvas (SPItem *item, SPDesktop *desktop)
 
void setLPEAction (LPEAction lpe_action)
 
void setDefaultParameters ()
 Set this LPE defaults.
 
void resetDefaultParameters ()
 Reset this LPE defaults.
 
bool hasDefaultParameters ()
 Get LPE has defaults.
 
virtual bool getHolderRemove ()
 

Public Attributes

ScalarParam threshold
 
- Public Attributes inherited from Inkscape::LivePathEffect::Effect
bool has_exception
 
bool apply_to_clippath_and_mask
 
bool keep_paths
 
bool is_load
 
bool is_applied
 
bool on_remove_all
 
bool refresh_widgets
 
bool finishiddle = false
 
bool satellitestoclipboard = false
 
bool helperLineSatellites = false
 
gint spinbutton_width_chars = 7
 
BoolParam is_visible
 
HiddenParam lpeversion
 
Geom::PathVector pathvector_before_effect
 
Geom::PathVector pathvector_after_effect
 
SPLPEItemsp_lpe_item = nullptr
 
SPShapecurrent_shape
 
std::vector< Parameter * > param_vector
 

Protected Member Functions

void addCanvasIndicators (SPLPEItem const *, std::vector< Geom::PathVector > &hp_vec) override
 Add possible canvas indicators (i.e., helperpaths other than the original path) to hp_vec This function should be overwritten by derived effects if they want to provide their own helperpaths.
 
- Protected Member Functions inherited from Inkscape::LivePathEffect::Effect
 Effect (LivePathEffectObject *lpeobject)
 
virtual Geom::PathVector doEffect_path (Geom::PathVector const &path_in)
 
virtual Geom::Piecewise< Geom::D2< Geom::SBasis > > doEffect_pwd2 (Geom::Piecewise< Geom::D2< Geom::SBasis > > const &pwd2_in)
 
void registerParameter (Parameter *param)
 
ParametergetNextOncanvasEditableParam ()
 
virtual void addKnotHolderEntities (KnotHolder *, SPItem *)
 

Private Member Functions

void setVersioningData ()
 
- Private Member Functions inherited from Inkscape::LivePathEffect::GroupBBoxEffect
Geom::OptRect clip_mask_bbox (SPLPEItem *item, Geom::Affine transform)
 Updates the boundingbox_X and boundingbox_Y values from the geometric bounding box of lpeitem.
 
void original_bbox (SPLPEItem const *lpeitem, bool absolute=false, bool clip_mask=false, Geom::Affine base_transform=Geom::identity())
 

Private Attributes

ScalarParam steps
 
ScalarParam smooth_angles
 
ScalarParam helper_size
 
BoolParam simplify_individual_paths
 
ToggleButtonParam simplify_just_coalesce
 
double radius_helper_nodes
 
Geom::PathVector hp
 
Geom::OptRect bbox
 
- Private Attributes inherited from Inkscape::LivePathEffect::GroupBBoxEffect
Geom::Interval boundingbox_X
 
Geom::Interval boundingbox_Y
 

Additional Inherited Members

- Static Public Member Functions inherited from Inkscape::LivePathEffect::Effect
static EffectNew (EffectType lpenr, LivePathEffectObject *lpeobj)
 
static void createAndApply (const char *name, SPDocument *doc, SPItem *item)
 
static void createAndApply (EffectType type, SPDocument *doc, SPItem *item)
 
static int acceptsNumClicks (EffectType type)
 
- Protected Attributes inherited from Inkscape::LivePathEffect::Effect
bool _adjust_path = false
 
bool _provides_knotholder_entities
 
bool _provides_path_adjustment = false
 
LPEAction _lpe_action = LPE_NONE
 
int oncanvasedit_it
 
bool show_orig_path
 
bool concatenate_before_pwd2
 
double current_zoom
 
std::vector< Geom::PointselectedNodesPoints
 
Inkscape::UI::Widget::Registry wr
 

Detailed Description

Definition at line 18 of file lpe-simplify.h.

Constructor & Destructor Documentation

◆ LPESimplify() [1/2]

◆ ~LPESimplify()

Inkscape::LivePathEffect::LPESimplify::~LPESimplify ( )
overridedefault

◆ LPESimplify() [2/2]

Inkscape::LivePathEffect::LPESimplify::LPESimplify ( const LPESimplify )
delete

Member Function Documentation

◆ addCanvasIndicators()

void Inkscape::LivePathEffect::LPESimplify::addCanvasIndicators ( SPLPEItem const *  lpeitem,
std::vector< Geom::PathVector > &  hp_vec 
)
overrideprotectedvirtual

Add possible canvas indicators (i.e., helperpaths other than the original path) to hp_vec This function should be overwritten by derived effects if they want to provide their own helperpaths.

Reimplemented from Inkscape::LivePathEffect::Effect.

Definition at line 311 of file lpe-simplify.cpp.

References hp.

◆ doBeforeEffect()

void Inkscape::LivePathEffect::LPESimplify::doBeforeEffect ( SPLPEItem const *  lpeitem)
overridevirtual

Is performed each time before the effect is updated.

Reimplemented from Inkscape::LivePathEffect::Effect.

Definition at line 67 of file lpe-simplify.cpp.

References bbox, Geom::PathVector::clear(), Geom::PathVector::empty(), helper_size, hp, radius_helper_nodes, and SPItem::visualBounds().

◆ doEffect()

◆ doOnApply()

void Inkscape::LivePathEffect::LPESimplify::doOnApply ( SPLPEItem const *  lpeitem)
overridevirtual

Is performed a single time when the effect is freshly applied to a path.

Reimplemented from Inkscape::LivePathEffect::Effect.

Definition at line 98 of file lpe-simplify.cpp.

References Inkscape::LivePathEffect::Effect::lpeversion, Inkscape::LivePathEffect::HiddenParam::param_setValue(), and setVersioningData().

◆ drawHandle()

void Inkscape::LivePathEffect::LPESimplify::drawHandle ( Geom::Point  p)
virtual

◆ drawHandleLine()

void Inkscape::LivePathEffect::LPESimplify::drawHandleLine ( Geom::Point  p,
Geom::Point  p2 
)
virtual

◆ drawNode()

void Inkscape::LivePathEffect::LPESimplify::drawNode ( Geom::Point  p)
virtual

◆ generateHelperPathAndSmooth()

◆ newWidget()

Gtk::Widget * Inkscape::LivePathEffect::LPESimplify::newWidget ( )
overridevirtual

This creates a managed widget.

Deletion should be done by the eventual parent, or otherwise the caller.

Reimplemented from Inkscape::LivePathEffect::Effect.

Definition at line 105 of file lpe-simplify.cpp.

References Inkscape::UI::Widget::Scalar::getSpinButton(), Inkscape::UI::pack_start(), and Inkscape::LivePathEffect::Effect::param_vector.

◆ operator=()

LPESimplify & Inkscape::LivePathEffect::LPESimplify::operator= ( const LPESimplify )
delete

◆ setVersioningData()

Member Data Documentation

◆ bbox

Geom::OptRect Inkscape::LivePathEffect::LPESimplify::bbox
private

Definition at line 56 of file lpe-simplify.h.

Referenced by doBeforeEffect(), and doEffect().

◆ helper_size

ScalarParam Inkscape::LivePathEffect::LPESimplify::helper_size
private

◆ hp

Geom::PathVector Inkscape::LivePathEffect::LPESimplify::hp
private

◆ radius_helper_nodes

double Inkscape::LivePathEffect::LPESimplify::radius_helper_nodes
private

Definition at line 54 of file lpe-simplify.h.

Referenced by doBeforeEffect(), drawHandle(), drawHandleLine(), drawNode(), and LPESimplify().

◆ simplify_individual_paths

BoolParam Inkscape::LivePathEffect::LPESimplify::simplify_individual_paths
private

Definition at line 51 of file lpe-simplify.h.

Referenced by doEffect(), and LPESimplify().

◆ simplify_just_coalesce

ToggleButtonParam Inkscape::LivePathEffect::LPESimplify::simplify_just_coalesce
private

Definition at line 52 of file lpe-simplify.h.

Referenced by doEffect(), and LPESimplify().

◆ smooth_angles

ScalarParam Inkscape::LivePathEffect::LPESimplify::smooth_angles
private

Definition at line 49 of file lpe-simplify.h.

Referenced by generateHelperPathAndSmooth(), LPESimplify(), and setVersioningData().

◆ steps

ScalarParam Inkscape::LivePathEffect::LPESimplify::steps
private

Definition at line 48 of file lpe-simplify.h.

Referenced by doEffect(), generateHelperPathAndSmooth(), and LPESimplify().

◆ threshold

ScalarParam Inkscape::LivePathEffect::LPESimplify::threshold

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