Inkscape
Vector Graphics Editor
Loading...
Searching...
No Matches
lpe-tangent_to_curve.h
Go to the documentation of this file.
1// SPDX-License-Identifier: GPL-2.0-or-later
2#ifndef INKSCAPE_LPE_TANGENT_TO_CURVE_H
3#define INKSCAPE_LPE_TANGENT_TO_CURVE_H
4
9/*
10 * Authors:
11 * Johan Engelen
12 * Maximilian Albert
13 *
14 * Copyright (C) Johan Engelen 2007 <j.b.c.engelen@utwente.nl>
15 * Copyright (C) Maximilian Albert 2008 <maximilian.albert@gmail.com>
16 *
17 * Released under GNU GPL v2+, read the file 'COPYING' for more information.
18 */
19
20#include "live_effects/effect.h"
23
24namespace Inkscape {
25namespace LivePathEffect {
26
27namespace TtC {
28 // we need a separate namespace to avoid clashes with LPEPerpBisector
29 class KnotHolderEntityLeftEnd;
30 class KnotHolderEntityRightEnd;
31 class KnotHolderEntityAttachPt;
32}
33
34class LPETangentToCurve : public Effect {
35public:
39 doEffect_pwd2 (Geom::Piecewise<Geom::D2<Geom::SBasis> > const & pwd2_in) override;
40
41 /* the knotholder entity classes must be declared friends */
45 void addKnotHolderEntities(KnotHolder * knotholder, SPItem * item) override;
46
47private:
49
53
54 Geom::Point ptA; // point of attachment to the curve
56
57 Geom::Point C; // left end of tangent
58 Geom::Point D; // right end of tangent
59
62};
63
64} //namespace LivePathEffect
65} //namespace Inkscape
66
67#endif
Adaptor that creates 2D functions from 1D ones.
Definition d2.h:55
Function defined as discrete pieces.
Definition piecewise.h:71
Two-dimensional point that doubles as a vector.
Definition point.h:66
LPETangentToCurve(const LPETangentToCurve &)=delete
LPETangentToCurve & operator=(const LPETangentToCurve &)=delete
Geom::Piecewise< Geom::D2< Geom::SBasis > > doEffect_pwd2(Geom::Piecewise< Geom::D2< Geom::SBasis > > const &pwd2_in) override
void addKnotHolderEntities(KnotHolder *knotholder, SPItem *item) override
Base class for visual SVG elements.
Definition sp-item.h:109
SPItem * item
Helper class to stream background task notifications as a series of messages.