1 #ifndef INKSCAPE_HELPER_GEOM_NODETYPE_H
2 #define INKSCAPE_HELPER_GEOM_NODETYPE_H
4 /**
5 * Specific nodetype geometry functions for Inkscape, not provided my lib2geom.
6 *
7 * Author:
8 * Johan Engelen <goejendaagh@zonnet.nl>
9 *
10 * Copyright (C) 2008 Johan Engelen
11 *
12 * Released under GNU GPL
13 */
15 #include <2geom/forward.h>
17 namespace Geom {
19 /**
20 * What kind of node is this? This is the value for the node->type
21 * field. NodeType indicates the degree of continuity required for
22 * the node. I think that the corresponding integer indicates which
23 * derivate is connected. (Thus 2 means that the node is continuous
24 * to the second derivative, i.e. has matching endpoints and tangents)
25 */
26 typedef enum {
27 /** Discontinuous node, usually either start or endpoint of a path */
28 NODE_NONE,
29 /** This node continuously joins two segments, but the unit tangent is discontinuous.*/
30 NODE_CUSP,
31 /** This node continuously joins two segments, with continuous *unit* tangent. */
32 NODE_SMOOTH,
33 /** This node is symmetric. I.e. continously joins two segments with continuous derivative */
34 NODE_SYMM
35 } NodeType;
38 NodeType get_nodetype(Curve const &c_incoming, Curve const &c_outgoing);
41 } // namespace Geom
43 #endif // INKSCAPE_HELPER_GEOM_NODETYPE_H
45 /*
46 Local Variables:
47 mode:c++
48 c-file-style:"stroustrup"
49 c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
50 indent-tabs-mode:nil
51 fill-column:99
52 End:
53 */
54 // vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :