Inkscape
Vector Graphics Editor
|
#include <lpe-fillet-chamfer.h>
Public Member Functions | |
LPEFilletChamfer (LivePathEffectObject *lpeobject) | |
void | doBeforeEffect (SPLPEItem const *lpeItem) override |
Is performed each time before the effect is updated. | |
Geom::PathVector | doEffect_path (Geom::PathVector const &path_in) override |
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. | |
void | adjustForNewPath () override |
Geom::Ray | getRay (Geom::Point start, Geom::Point end, Geom::Curve *curve, bool reverse) |
void | addChamferSteps (Geom::Path &tmp_path, Geom::Path path_chamfer, Geom::Point end_arc_point, size_t steps) |
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. | |
void | updateNodeSatelliteType (NodeSatelliteType nodesatellitetype) |
void | setSelected (PathVectorNodeSatellites *_pathvector_nodesatellites) |
void | updateChamferSteps () |
void | updateAmount () |
![]() | |
virtual | ~Effect () |
Effect (const Effect &)=delete | |
Effect & | operator= (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) |
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 |
SPShape * | getCurrentShape () 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 | doEffect (Geom::PathVector &curve) |
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::PathVector > | getCanvasIndicators (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::Node * | getRepr () |
SPDocument * | getSPDoc () |
LivePathEffectObject * | getLPEObj () |
LivePathEffectObject const * | getLPEObj () const |
Parameter * | getParameter (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 | |
bool | helperpath |
NodeSatelliteArrayParam | nodesatellites_param |
![]() | |
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 |
SPLPEItem * | sp_lpe_item = nullptr |
SPShape * | current_shape |
std::vector< Parameter * > | param_vector |
Private Member Functions | |
LPEFilletChamfer (const LPEFilletChamfer &) | |
LPEFilletChamfer & | operator= (const LPEFilletChamfer &) |
Definition at line 34 of file lpe-fillet-chamfer.h.
Inkscape::LivePathEffect::LPEFilletChamfer::LPEFilletChamfer | ( | LivePathEffectObject * | lpeobject | ) |
Definition at line 39 of file lpe-fillet-chamfer.cpp.
References Inkscape::LivePathEffect::Effect::_provides_knotholder_entities, Inkscape::LivePathEffect::Effect::_provides_path_adjustment, apply_no_radius, apply_with_radius, chamfer_steps, flexible, SPObject::getAttribute(), Inkscape::LivePathEffect::Effect::getLPEObj(), helperpath, hide_knots, method, mode, nodesatellites_param, only_selected, Inkscape::LivePathEffect::ScalarParam::param_make_integer(), Inkscape::LivePathEffect::ScalarParam::param_set_digits(), Inkscape::LivePathEffect::ScalarParam::param_set_increments(), Inkscape::LivePathEffect::ScalarParam::param_set_range(), previous_unit, radius, Inkscape::LivePathEffect::Effect::registerParameter(), SPObject::setAttribute(), unit, and use_knot_distance.
|
private |
|
overridevirtual |
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 383 of file lpe-fillet-chamfer.cpp.
References _hp.
void Inkscape::LivePathEffect::LPEFilletChamfer::addChamferSteps | ( | Geom::Path & | tmp_path, |
Geom::Path | path_chamfer, | ||
Geom::Point | end_arc_point, | ||
size_t | steps | ||
) |
Definition at line 389 of file lpe-fillet-chamfer.cpp.
References _pathvector_nodesatellites, Geom::Path::appendNew(), Geom::Path::pointAt(), and setSelected().
Referenced by doEffect_path().
|
overridevirtual |
Reimplemented from Inkscape::LivePathEffect::Effect.
Definition at line 378 of file lpe-fillet-chamfer.cpp.
References Inkscape::LivePathEffect::Effect::_adjust_path.
|
overridevirtual |
Is performed each time before the effect is updated.
Reimplemented from Inkscape::LivePathEffect::Effect.
Definition at line 295 of file lpe-fillet-chamfer.cpp.
References Inkscape::LivePathEffect::Effect::_adjust_path, _pathvector_nodesatellites, arcLengthAt(), CHAMFER, chamfer_steps, Inkscape::Util::Quantity::convert(), count_path_curves(), Inkscape::LivePathEffect::Effect::current_zoom, Inkscape::LivePathEffect::ArrayParam< StorageType >::data(), doOnApply(), Inkscape::LivePathEffect::Effect::effectType(), Geom::PathVector::empty(), FILLET, flexible, Inkscape::LivePathEffect::UnitParam::get_abbreviation(), SPDocument::getDocumentScale(), Inkscape::LivePathEffect::Effect::getSPDoc(), hide_knots, Geom::Curve::initialPoint(), INVALID_SATELLITE, INVERSE_CHAMFER, INVERSE_FILLET, Inkscape::LivePathEffect::Effect::is_load, Inkscape::LivePathEffect::Effect::isNodePointSelected(), mode, nodesatellites_param, only_selected, Inkscape::LivePathEffect::HiddenParam::param_getSVGValue(), pathv_to_linear_and_cubic_beziers(), Inkscape::LivePathEffect::Effect::pathvector_before_effect, radius, PathVectorNodeSatellites::recalculateForNewPathVector(), Inkscape::LivePathEffect::NodeSatelliteArrayParam::reloadKnots(), NodeSatellite::setAmount(), Inkscape::LivePathEffect::NodeSatelliteArrayParam::setCurrentZoom(), Inkscape::LivePathEffect::NodeSatelliteArrayParam::setEffectType(), NodeSatellite::setHasMirror(), NodeSatellite::setHidden(), NodeSatellite::setIsTime(), PathVectorNodeSatellites::setNodeSatellites(), PathVectorNodeSatellites::setPathVector(), Inkscape::LivePathEffect::NodeSatelliteArrayParam::setPathVectorNodeSatellites(), NodeSatellite::setSteps(), Inkscape::LivePathEffect::NodeSatelliteArrayParam::setUseDistance(), Geom::PathVector::size(), Inkscape::size, timeAtArcLength(), unit, use_knot_distance, and Geom::X.
|
overridevirtual |
Reimplemented from Inkscape::LivePathEffect::Effect.
Definition at line 401 of file lpe-fillet-chamfer.cpp.
References _hp, _pathvector_nodesatellites, addChamferSteps(), Geom::Ray::angle(), Geom::angle_between(), Geom::Path::append(), Geom::Path::appendNew(), NodeSatellite::arcDistance(), Geom::are_near(), Geom::Path::at(), Geom::PathVector::at(), CHAMFER, Geom::PathVector::clear(), Geom::Path::close(), count_path_curves(), Geom::cross(), Geom::distance(), Geom::Path::finalPoint(), Geom::Curve::finalPoint(), Inkscape::LivePathEffect::FM_ARC, Inkscape::LivePathEffect::FM_BEZIER, PathVectorNodeSatellites::getNodeSatellites(), PathVectorNodeSatellites::getPathVector(), helperpath, Geom::Curve::initialPoint(), INVERSE_CHAMFER, INVERSE_FILLET, is_straight_curve(), Geom::Curve::isDegenerate(), K, method, Geom::middle_point(), NodeSatellite::nodesatellite_type, Inkscape::LivePathEffect::Effect::pathvector_after_effect, Geom::Curve::pointAt(), Geom::Curve::portion(), Geom::PathVector::push_back(), radius, Geom::Curve::setInitial(), Geom::Ray::setPoints(), Geom::sin(), Geom::sqrt(), Geom::Path::start(), NodeSatellite::steps, and NodeSatellite::time().
|
overridevirtual |
Is performed a single time when the effect is freshly applied to a path.
Reimplemented from Inkscape::LivePathEffect::Effect.
Definition at line 96 of file lpe-fillet-chamfer.cpp.
References _pathvector_nodesatellites, Geom::are_near(), CHAMFER, chamfer_steps, Inkscape::Util::Quantity::convert(), FILLET, flexible, Inkscape::LivePathEffect::UnitParam::get_abbreviation(), SPDocument::getDocumentScale(), Inkscape::LivePathEffect::Effect::getSPDoc(), hide_knots, INVALID_SATELLITE, Geom::Affine::inverse(), INVERSE_CHAMFER, INVERSE_FILLET, item, mode, nodesatellites_param, Inkscape::LivePathEffect::HiddenParam::param_getSVGValue(), Inkscape::LivePathEffect::UnitParam::param_set_value(), Inkscape::LivePathEffect::ScalarParam::param_set_value(), Inkscape::LivePathEffect::BoolParam::param_setValue(), pathv_to_linear_and_cubic_beziers(), radius, PathVectorNodeSatellites::recalculateForNewPathVector(), NodeSatellite::setAmount(), NodeSatellite::setHasMirror(), NodeSatellite::setHidden(), NodeSatellite::setIsTime(), Inkscape::LivePathEffect::NodeSatelliteArrayParam::setPathVectorNodeSatellites(), NodeSatellite::setSteps(), SPItem::transform, unit, and Geom::X.
Referenced by doBeforeEffect().
Geom::Ray Inkscape::LivePathEffect::LPEFilletChamfer::getRay | ( | Geom::Point | start, |
Geom::Point | end, | ||
Geom::Curve * | curve, | ||
bool | reverse | ||
) |
|
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 158 of file lpe-fillet-chamfer.cpp.
References CHAMFER, FILLET, INVERSE_CHAMFER, INVERSE_FILLET, Inkscape::UI::pack_start(), Inkscape::LivePathEffect::Effect::param_vector, Inkscape::UI::Widget::Scalar::signal_value_changed(), updateAmount(), updateChamferSteps(), and updateNodeSatelliteType().
|
private |
void Inkscape::LivePathEffect::LPEFilletChamfer::setSelected | ( | PathVectorNodeSatellites * | _pathvector_nodesatellites | ) |
Definition at line 267 of file lpe-fillet-chamfer.cpp.
References _pathvector_nodesatellites, Inkscape::LivePathEffect::Effect::getCurrrentLPEItems(), PathVectorNodeSatellites::getNodeSatellites(), PathVectorNodeSatellites::getPathVector(), Geom::Curve::initialPoint(), Inkscape::LivePathEffect::Effect::isNodePointSelected(), only_selected, PathVectorNodeSatellites::setNodeSatellites(), Inkscape::LivePathEffect::Effect::sp_lpe_item, and sp_lpe_item_update_patheffect().
Referenced by addChamferSteps(), updateAmount(), updateChamferSteps(), and updateNodeSatelliteType().
void Inkscape::LivePathEffect::LPEFilletChamfer::updateAmount | ( | ) |
Definition at line 222 of file lpe-fillet-chamfer.cpp.
References _pathvector_nodesatellites, apply_no_radius, apply_with_radius, Inkscape::Util::Quantity::convert(), flexible, Inkscape::LivePathEffect::UnitParam::get_abbreviation(), Inkscape::LivePathEffect::Effect::getCurrrentLPEItems(), SPDocument::getDocumentScale(), Inkscape::LivePathEffect::Effect::getSPDoc(), Geom::Affine::inverse(), nodesatellites_param, only_selected, radius, Inkscape::LivePathEffect::NodeSatelliteArrayParam::setPathVectorNodeSatellites(), setSelected(), Inkscape::LivePathEffect::Effect::sp_lpe_item, SPItem::transform, unit, PathVectorNodeSatellites::updateAmount(), use_knot_distance, and Geom::X.
Referenced by newWidget().
void Inkscape::LivePathEffect::LPEFilletChamfer::updateChamferSteps | ( | ) |
Definition at line 243 of file lpe-fillet-chamfer.cpp.
References _pathvector_nodesatellites, apply_no_radius, apply_with_radius, chamfer_steps, nodesatellites_param, only_selected, Inkscape::LivePathEffect::NodeSatelliteArrayParam::setPathVectorNodeSatellites(), setSelected(), and PathVectorNodeSatellites::updateSteps().
Referenced by newWidget().
void Inkscape::LivePathEffect::LPEFilletChamfer::updateNodeSatelliteType | ( | NodeSatelliteType | nodesatellitetype | ) |
Definition at line 253 of file lpe-fillet-chamfer.cpp.
References _pathvector_nodesatellites, apply_no_radius, apply_with_radius, CHAMFER, FILLET, INVALID_SATELLITE, INVERSE_CHAMFER, INVERSE_FILLET, mode, nodesatellites_param, only_selected, Inkscape::LivePathEffect::HiddenParam::param_setValue(), Inkscape::LivePathEffect::NodeSatelliteArrayParam::setPathVectorNodeSatellites(), setSelected(), and PathVectorNodeSatellites::updateNodeSatelliteType().
Referenced by newWidget().
|
private |
Definition at line 66 of file lpe-fillet-chamfer.h.
Referenced by addCanvasIndicators(), and doEffect_path().
|
private |
Definition at line 65 of file lpe-fillet-chamfer.h.
Referenced by addChamferSteps(), doBeforeEffect(), doEffect_path(), doOnApply(), setSelected(), updateAmount(), updateChamferSteps(), and updateNodeSatelliteType().
|
private |
Definition at line 63 of file lpe-fillet-chamfer.h.
Referenced by LPEFilletChamfer(), updateAmount(), updateChamferSteps(), and updateNodeSatelliteType().
|
private |
Definition at line 64 of file lpe-fillet-chamfer.h.
Referenced by LPEFilletChamfer(), updateAmount(), updateChamferSteps(), and updateNodeSatelliteType().
|
private |
Definition at line 57 of file lpe-fillet-chamfer.h.
Referenced by doBeforeEffect(), doOnApply(), LPEFilletChamfer(), and updateChamferSteps().
|
private |
Definition at line 58 of file lpe-fillet-chamfer.h.
Referenced by doBeforeEffect(), doOnApply(), LPEFilletChamfer(), and updateAmount().
bool Inkscape::LivePathEffect::LPEFilletChamfer::helperpath |
Definition at line 50 of file lpe-fillet-chamfer.h.
Referenced by doEffect_path(), Inkscape::LivePathEffect::FilletChamferKnotHolderEntity::knot_set(), Inkscape::LivePathEffect::FilletChamferKnotHolderEntity::knot_ungrabbed(), and LPEFilletChamfer().
|
private |
Definition at line 62 of file lpe-fillet-chamfer.h.
Referenced by doBeforeEffect(), doOnApply(), and LPEFilletChamfer().
|
private |
Definition at line 55 of file lpe-fillet-chamfer.h.
Referenced by doEffect_path(), and LPEFilletChamfer().
|
private |
Definition at line 59 of file lpe-fillet-chamfer.h.
Referenced by doBeforeEffect(), doOnApply(), LPEFilletChamfer(), and updateNodeSatelliteType().
NodeSatelliteArrayParam Inkscape::LivePathEffect::LPEFilletChamfer::nodesatellites_param |
Definition at line 51 of file lpe-fillet-chamfer.h.
Referenced by doBeforeEffect(), doOnApply(), LPEFilletChamfer(), updateAmount(), updateChamferSteps(), and updateNodeSatelliteType().
|
private |
Definition at line 60 of file lpe-fillet-chamfer.h.
Referenced by doBeforeEffect(), LPEFilletChamfer(), setSelected(), updateAmount(), updateChamferSteps(), and updateNodeSatelliteType().
|
private |
Definition at line 67 of file lpe-fillet-chamfer.h.
Referenced by LPEFilletChamfer().
|
private |
Definition at line 56 of file lpe-fillet-chamfer.h.
Referenced by doBeforeEffect(), doEffect_path(), doOnApply(), LPEFilletChamfer(), and updateAmount().
|
private |
Definition at line 54 of file lpe-fillet-chamfer.h.
Referenced by doBeforeEffect(), doOnApply(), LPEFilletChamfer(), and updateAmount().
|
private |
Definition at line 61 of file lpe-fillet-chamfer.h.
Referenced by doBeforeEffect(), LPEFilletChamfer(), and updateAmount().