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

#include <lpe-perspective-envelope.h>

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

Public Member Functions

 LPEPerspectiveEnvelope (LivePathEffectObject *lpeobject)
 
 ~LPEPerspectiveEnvelope () override
 
void doEffect (Geom::PathVector &curve) override
 
virtual Geom::Point projectPoint (Geom::Point p)
 
void transform_multiply (Geom::Affine const &postmul, bool set) override
 Overridden function to apply transforms for example to powerstroke, jointtype or tapperstroke.
 
virtual Geom::Point projectPoint (Geom::Point p, double m[][3])
 
virtual Geom::Point pointAtRatio (Geom::Coord ratio, Geom::Point A, Geom::Point B)
 
void resetDefaults (SPItem const *item) override
 Sets all parameters to their default values and writes them to SVG.
 
virtual void vertical (PointParam &paramA, PointParam &paramB, Geom::Line vert)
 
virtual void horizontal (PointParam &paramA, PointParam &paramB, Geom::Line horiz)
 
void doBeforeEffect (SPLPEItem const *lpeitem) override
 Is performed each time before the effect is updated.
 
Gtk::Widget * newWidget () override
 This creates a managed widget.
 
virtual void setDefaults ()
 
virtual void resetGrid ()
 
- 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)
 
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 ()
 

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

 LPEPerspectiveEnvelope (const LPEPerspectiveEnvelope &)=delete
 
LPEPerspectiveEnvelopeoperator= (const LPEPerspectiveEnvelope &)=delete
 
- 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

BoolParam horizontal_mirror
 
BoolParam vertical_mirror
 
BoolParam overflow_perspective
 
EnumParam< unsigned > deform_type
 
PointParam up_left_point
 
PointParam up_right_point
 
PointParam down_left_point
 
PointParam down_right_point
 
std::vector< Geom::Pointhandles
 
- 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)
 
- 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 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 29 of file lpe-perspective-envelope.h.

Constructor & Destructor Documentation

◆ LPEPerspectiveEnvelope() [1/2]

◆ ~LPEPerspectiveEnvelope()

Inkscape::LivePathEffect::LPEPerspectiveEnvelope::~LPEPerspectiveEnvelope ( )
overridedefault

◆ LPEPerspectiveEnvelope() [2/2]

Inkscape::LivePathEffect::LPEPerspectiveEnvelope::LPEPerspectiveEnvelope ( const LPEPerspectiveEnvelope )
privatedelete

Member Function Documentation

◆ addCanvasIndicators()

void Inkscape::LivePathEffect::LPEPerspectiveEnvelope::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 553 of file lpe-perspective-envelope.cpp.

References c, down_left_point, down_right_point, Geom::Path::start(), up_left_point, and up_right_point.

◆ doBeforeEffect()

◆ doEffect()

◆ horizontal()

void Inkscape::LivePathEffect::LPEPerspectiveEnvelope::horizontal ( PointParam paramA,
PointParam paramB,
Geom::Line  horiz 
)
virtual

◆ newWidget()

Gtk::Widget * Inkscape::LivePathEffect::LPEPerspectiveEnvelope::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 263 of file lpe-perspective-envelope.cpp.

References Inkscape::UI::expand_padding, Inkscape::UI::expand_widget, Inkscape::UI::get_children(), handles, Inkscape::UI::pack_start(), Inkscape::LivePathEffect::Effect::param_vector, and resetGrid().

◆ operator=()

LPEPerspectiveEnvelope & Inkscape::LivePathEffect::LPEPerspectiveEnvelope::operator= ( const LPEPerspectiveEnvelope )
privatedelete

◆ pointAtRatio()

Geom::Point Inkscape::LivePathEffect::LPEPerspectiveEnvelope::pointAtRatio ( Geom::Coord  ratio,
Geom::Point  A,
Geom::Point  B 
)
virtual

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

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

Referenced by projectPoint().

◆ projectPoint() [1/2]

◆ projectPoint() [2/2]

Geom::Point Inkscape::LivePathEffect::LPEPerspectiveEnvelope::projectPoint ( Geom::Point  p,
double  m[][3] 
)
virtual

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

◆ resetDefaults()

void Inkscape::LivePathEffect::LPEPerspectiveEnvelope::resetDefaults ( SPItem const *  item)
overridevirtual

Sets all parameters to their default values and writes them to SVG.

Reimplemented from Inkscape::LivePathEffect::Effect.

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

References item, Inkscape::LivePathEffect::GroupBBoxEffect::original_bbox(), Inkscape::LivePathEffect::Effect::resetDefaults(), resetGrid(), and setDefaults().

◆ resetGrid()

void Inkscape::LivePathEffect::LPEPerspectiveEnvelope::resetGrid ( )
virtual

◆ setDefaults()

◆ transform_multiply()

void Inkscape::LivePathEffect::LPEPerspectiveEnvelope::transform_multiply ( Geom::Affine const &  postmul,
bool  set 
)
overridevirtual

◆ vertical()

void Inkscape::LivePathEffect::LPEPerspectiveEnvelope::vertical ( PointParam paramA,
PointParam paramB,
Geom::Line  vert 
)
virtual

Member Data Documentation

◆ deform_type

EnumParam<unsigned> Inkscape::LivePathEffect::LPEPerspectiveEnvelope::deform_type
private

Definition at line 67 of file lpe-perspective-envelope.h.

Referenced by doBeforeEffect(), doEffect(), and LPEPerspectiveEnvelope().

◆ down_left_point

PointParam Inkscape::LivePathEffect::LPEPerspectiveEnvelope::down_left_point
private

◆ down_right_point

PointParam Inkscape::LivePathEffect::LPEPerspectiveEnvelope::down_right_point
private

◆ handles

std::vector<Geom::Point> Inkscape::LivePathEffect::LPEPerspectiveEnvelope::handles
private

Definition at line 72 of file lpe-perspective-envelope.h.

Referenced by doBeforeEffect(), doEffect(), and newWidget().

◆ horizontal_mirror

BoolParam Inkscape::LivePathEffect::LPEPerspectiveEnvelope::horizontal_mirror
private

Definition at line 64 of file lpe-perspective-envelope.h.

Referenced by doBeforeEffect(), and LPEPerspectiveEnvelope().

◆ overflow_perspective

BoolParam Inkscape::LivePathEffect::LPEPerspectiveEnvelope::overflow_perspective
private

Definition at line 66 of file lpe-perspective-envelope.h.

Referenced by doBeforeEffect(), and LPEPerspectiveEnvelope().

◆ up_left_point

PointParam Inkscape::LivePathEffect::LPEPerspectiveEnvelope::up_left_point
private

◆ up_right_point

PointParam Inkscape::LivePathEffect::LPEPerspectiveEnvelope::up_right_point
private

◆ vertical_mirror

BoolParam Inkscape::LivePathEffect::LPEPerspectiveEnvelope::vertical_mirror
private

Definition at line 65 of file lpe-perspective-envelope.h.

Referenced by doBeforeEffect(), and LPEPerspectiveEnvelope().


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