lpe-angle_bisector.h revision 0f2ec604d5ffc1a033c8ced9bc2ef22f52e145a4
64aee804a6a47424f7994e60558351b8cf2ea4dbcilix#ifndef INKSCAPE_LPE_ANGLE_BISECTOR_H
64aee804a6a47424f7994e60558351b8cf2ea4dbcilix#define INKSCAPE_LPE_ANGLE_BISECTOR_H
64aee804a6a47424f7994e60558351b8cf2ea4dbcilix
64aee804a6a47424f7994e60558351b8cf2ea4dbcilix/** \file
64aee804a6a47424f7994e60558351b8cf2ea4dbcilix * LPE <angle_bisector> implementation, see lpe-angle_bisector.cpp.
64aee804a6a47424f7994e60558351b8cf2ea4dbcilix */
64aee804a6a47424f7994e60558351b8cf2ea4dbcilix
64aee804a6a47424f7994e60558351b8cf2ea4dbcilix/*
64aee804a6a47424f7994e60558351b8cf2ea4dbcilix * Authors:
64aee804a6a47424f7994e60558351b8cf2ea4dbcilix * Johan Engelen
64aee804a6a47424f7994e60558351b8cf2ea4dbcilix *
64aee804a6a47424f7994e60558351b8cf2ea4dbcilix * Copyright (C) Johan Engelen 2007 <j.b.c.engelen@utwente.nl>
64aee804a6a47424f7994e60558351b8cf2ea4dbcilix *
64aee804a6a47424f7994e60558351b8cf2ea4dbcilix * Released under GNU GPL, read the file 'COPYING' for more information
64aee804a6a47424f7994e60558351b8cf2ea4dbcilix */
64aee804a6a47424f7994e60558351b8cf2ea4dbcilix
64aee804a6a47424f7994e60558351b8cf2ea4dbcilix#include "live_effects/effect.h"
64aee804a6a47424f7994e60558351b8cf2ea4dbcilix#include "live_effects/parameter/parameter.h"
64aee804a6a47424f7994e60558351b8cf2ea4dbcilix#include "live_effects/parameter/point.h"
64aee804a6a47424f7994e60558351b8cf2ea4dbcilix
64aee804a6a47424f7994e60558351b8cf2ea4dbcilixnamespace Inkscape {
64aee804a6a47424f7994e60558351b8cf2ea4dbcilixnamespace LivePathEffect {
64aee804a6a47424f7994e60558351b8cf2ea4dbcilix
64aee804a6a47424f7994e60558351b8cf2ea4dbcilixnamespace AB {
64aee804a6a47424f7994e60558351b8cf2ea4dbcilix // we use a separate namespace to avoid clashes with other LPEs
64aee804a6a47424f7994e60558351b8cf2ea4dbcilix class KnotHolderEntityLeftEnd;
64aee804a6a47424f7994e60558351b8cf2ea4dbcilix class KnotHolderEntityRightEnd;
64aee804a6a47424f7994e60558351b8cf2ea4dbcilix}
64aee804a6a47424f7994e60558351b8cf2ea4dbcilix
64aee804a6a47424f7994e60558351b8cf2ea4dbcilixclass LPEAngleBisector : public Effect {
64aee804a6a47424f7994e60558351b8cf2ea4dbcilixpublic:
64aee804a6a47424f7994e60558351b8cf2ea4dbcilix LPEAngleBisector(LivePathEffectObject *lpeobject);
64aee804a6a47424f7994e60558351b8cf2ea4dbcilix virtual ~LPEAngleBisector();
64aee804a6a47424f7994e60558351b8cf2ea4dbcilix
64aee804a6a47424f7994e60558351b8cf2ea4dbcilix virtual std::vector<Geom::Path> doEffect_path (std::vector<Geom::Path> const & path_in);
64aee804a6a47424f7994e60558351b8cf2ea4dbcilix
64aee804a6a47424f7994e60558351b8cf2ea4dbcilix friend class AB::KnotHolderEntityLeftEnd;
64aee804a6a47424f7994e60558351b8cf2ea4dbcilix friend class AB::KnotHolderEntityRightEnd;
64aee804a6a47424f7994e60558351b8cf2ea4dbcilix
0f2ec604d5ffc1a033c8ced9bc2ef22f52e145a4cilix//private:
64aee804a6a47424f7994e60558351b8cf2ea4dbcilix ScalarParam length_left;
64aee804a6a47424f7994e60558351b8cf2ea4dbcilix ScalarParam length_right;
64aee804a6a47424f7994e60558351b8cf2ea4dbcilix
64aee804a6a47424f7994e60558351b8cf2ea4dbcilix Geom::Point ptA;
64aee804a6a47424f7994e60558351b8cf2ea4dbcilix Geom::Point dir;
64aee804a6a47424f7994e60558351b8cf2ea4dbcilix
64aee804a6a47424f7994e60558351b8cf2ea4dbcilix LPEAngleBisector(const LPEAngleBisector&);
64aee804a6a47424f7994e60558351b8cf2ea4dbcilix LPEAngleBisector& operator=(const LPEAngleBisector&);
64aee804a6a47424f7994e60558351b8cf2ea4dbcilix};
64aee804a6a47424f7994e60558351b8cf2ea4dbcilix
64aee804a6a47424f7994e60558351b8cf2ea4dbcilix} //namespace LivePathEffect
64aee804a6a47424f7994e60558351b8cf2ea4dbcilix} //namespace Inkscape
64aee804a6a47424f7994e60558351b8cf2ea4dbcilix
64aee804a6a47424f7994e60558351b8cf2ea4dbcilix#endif
64aee804a6a47424f7994e60558351b8cf2ea4dbcilix
64aee804a6a47424f7994e60558351b8cf2ea4dbcilix/*
64aee804a6a47424f7994e60558351b8cf2ea4dbcilix Local Variables:
64aee804a6a47424f7994e60558351b8cf2ea4dbcilix mode:c++
64aee804a6a47424f7994e60558351b8cf2ea4dbcilix c-file-style:"stroustrup"
64aee804a6a47424f7994e60558351b8cf2ea4dbcilix c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
64aee804a6a47424f7994e60558351b8cf2ea4dbcilix indent-tabs-mode:nil
64aee804a6a47424f7994e60558351b8cf2ea4dbcilix fill-column:99
64aee804a6a47424f7994e60558351b8cf2ea4dbcilix End:
64aee804a6a47424f7994e60558351b8cf2ea4dbcilix*/
64aee804a6a47424f7994e60558351b8cf2ea4dbcilix// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 :