Inkscape
Vector Graphics Editor
|
#include <node.h>
Public Types | |
using | size_type = std::size_t |
using | reference = Node & |
using | const_reference = Node const & |
using | pointer = Node * |
using | const_pointer = Node const * |
using | value_type = Node |
using | iterator = NodeIterator< value_type > |
using | const_iterator = NodeIterator< value_type const > |
Public Member Functions | |
NodeList (SubpathList &_list) | |
An editable list of nodes representing a subpath. | |
~NodeList () | |
iterator | begin () |
iterator | end () |
const_iterator | begin () const |
const_iterator | end () const |
bool | empty () const |
size_type | size () const |
bool | closed () const |
bool | degenerate () const |
A subpath is degenerate if it has no segments - either one node in an open path or no nodes in a closed path. | |
void | setClosed (bool c) |
iterator | before (double t, double *fracpart=nullptr) |
iterator | before (Geom::PathTime const &pvp) |
const_iterator | before (double t, double *fracpart=nullptr) const |
const_iterator | before (Geom::PathTime const &pvp) const |
iterator | insert (iterator pos, Node *x) |
insert a node before pos. | |
template<class InputIterator > | |
void | insert (iterator pos, InputIterator first, InputIterator last) |
void | splice (iterator pos, NodeList &list) |
void | splice (iterator pos, NodeList &list, iterator i) |
void | splice (iterator pos, NodeList &list, iterator first, iterator last) |
void | reverse () |
void | shift (int n) |
void | push_front (Node *x) |
void | pop_front () |
void | push_back (Node *x) |
void | pop_back () |
void | clear () |
iterator | erase (iterator pos) |
iterator | erase (iterator first, iterator last) |
Node & | front () |
Node & | back () |
void | kill () |
SubpathList const & | subpathList () const |
SubpathList & | subpathList () |
Static Public Member Functions | |
static iterator | get_iterator (Node *n) |
static const_iterator | get_iterator (Node const *n) |
static NodeList & | get (Node *n) |
static NodeList & | get (iterator const &i) |
Private Attributes | |
SubpathList & | _list |
bool | _closed = false |
![]() | |
ListNode * | ln_next |
ListNode * | ln_prev |
NodeList * | ln_list |
Friends | |
class | Node |
class | Handle |
class | NodeIterator< Node > |
class | NodeIterator< Node const > |
using Inkscape::UI::NodeList::const_iterator = NodeIterator<value_type const> |
using Inkscape::UI::NodeList::const_pointer = Node const * |
using Inkscape::UI::NodeList::const_reference = Node const & |
using Inkscape::UI::NodeList::pointer = Node * |
using Inkscape::UI::NodeList::reference = Node & |
using Inkscape::UI::NodeList::size_type = std::size_t |
Inkscape::UI::NodeList::NodeList | ( | SubpathList & | _list | ) |
An editable list of nodes representing a subpath.
It can optionally be cyclic to represent a closed path. The list has iterators that act like plain node iterators, but can also be used to obtain shared pointers to nodes.
Definition at line 1736 of file node.cpp.
References Inkscape::UI::ListNode::ln_list, Inkscape::UI::ListNode::ln_next, and Inkscape::UI::ListNode::ln_prev.
|
inline |
Definition at line 414 of file node.h.
References Inkscape::UI::ListNode::ln_prev.
NodeList::iterator Inkscape::UI::NodeList::before | ( | double | t, |
double * | fracpart = nullptr |
||
) |
|
inline |
Definition at line 379 of file node.h.
References Inkscape::UI::NodeIterator< N >::_node, and before().
NodeList::iterator Inkscape::UI::NodeList::before | ( | Geom::PathTime const & | pvp | ) |
Definition at line 1778 of file node.cpp.
References begin(), and Geom::PathTime::curve_index.
|
inline |
Definition at line 382 of file node.h.
References Inkscape::UI::NodeIterator< N >::_node, and before().
|
inline |
Definition at line 358 of file node.h.
References Inkscape::UI::ListNode::ln_next.
Referenced by before(), before(), clear(), degenerate(), pop_front(), push_front(), and splice().
|
inline |
Definition at line 360 of file node.h.
References Inkscape::UI::ListNode::ln_next.
void Inkscape::UI::NodeList::clear | ( | ) |
Definition at line 1857 of file node.cpp.
References Inkscape::UI::SelectableControlPoint::_selection, begin(), end(), erase(), and node.
Referenced by ~NodeList().
|
inline |
Definition at line 368 of file node.h.
References _closed.
Referenced by Inkscape::UI::PathManipulator::_nodeClicked(), and degenerate().
bool Inkscape::UI::NodeList::degenerate | ( | ) | const |
bool Inkscape::UI::NodeList::empty | ( | ) | const |
Definition at line 1749 of file node.cpp.
References Inkscape::UI::ListNode::ln_next.
Referenced by degenerate().
|
inline |
Definition at line 359 of file node.h.
Referenced by clear(), degenerate(), Inkscape::UI::MultiPathManipulator::joinNodes(), Inkscape::UI::MultiPathManipulator::joinSegments(), pop_back(), push_back(), and splice().
|
inline |
NodeList::iterator Inkscape::UI::NodeList::erase | ( | iterator | pos | ) |
Definition at line 1892 of file node.cpp.
References Inkscape::UI::NodeIterator< N >::_node, Inkscape::UI::ListNode::ln_next, and Inkscape::UI::ListNode::ln_prev.
Referenced by Inkscape::UI::PathManipulator::_deleteStretch(), clear(), erase(), Inkscape::UI::MultiPathManipulator::joinNodes(), pop_back(), and pop_front().
|
inline |
Definition at line 413 of file node.h.
References Inkscape::UI::ListNode::ln_next.
Definition at line 1921 of file node.cpp.
References Inkscape::UI::NodeIterator< N >::_node, and Inkscape::UI::ListNode::ln_list.
Definition at line 1917 of file node.cpp.
Referenced by Inkscape::UI::MultiPathManipulator::joinNodes(), Inkscape::UI::MultiPathManipulator::joinSegments(), and Inkscape::UI::PathManipulator::subdivideSegment().
Definition at line 422 of file node.h.
Referenced by Inkscape::UI::PathManipulator::_chooseHandle(), Inkscape::UI::Node::_linearGrow(), Inkscape::UI::Node::_next(), Inkscape::UI::PathManipulator::_nodeClicked(), Inkscape::UI::Node::_prev(), Inkscape::UI::PathManipulator::_selectionChanged(), and Inkscape::UI::MultiPathManipulator::joinNodes().
|
inlinestatic |
|
inline |
NodeList::iterator Inkscape::UI::NodeList::insert | ( | iterator | pos, |
Node * | x | ||
) |
insert a node before pos.
Definition at line 1785 of file node.cpp.
References Inkscape::UI::NodeIterator< N >::_node, Inkscape::UI::ListNode::ln_list, Inkscape::UI::ListNode::ln_next, and Inkscape::UI::ListNode::ln_prev.
Referenced by insert(), push_back(), push_front(), and Inkscape::UI::PathManipulator::subdivideSegment().
void Inkscape::UI::NodeList::kill | ( | ) |
Definition at line 1907 of file node.cpp.
References _list.
Referenced by Inkscape::UI::PathManipulator::_nodeClicked(), Inkscape::UI::MultiPathManipulator::joinNodes(), and Inkscape::UI::MultiPathManipulator::joinSegments().
|
inline |
|
inline |
|
inline |
|
inline |
void Inkscape::UI::NodeList::reverse | ( | ) |
Definition at line 1845 of file node.cpp.
References Inkscape::UI::ListNode::ln_next, Inkscape::UI::ListNode::ln_prev, node, Inkscape::XML::Node::position(), and Inkscape::XML::Node::setPosition().
|
inline |
Definition at line 376 of file node.h.
Referenced by Inkscape::UI::MultiPathManipulator::joinNodes(), and Inkscape::UI::MultiPathManipulator::joinSegments().
void Inkscape::UI::NodeList::shift | ( | int | n | ) |
Definition at line 1824 of file node.cpp.
References Inkscape::UI::ListNode::ln_next, and Inkscape::UI::ListNode::ln_prev.
NodeList::size_type Inkscape::UI::NodeList::size | ( | ) | const |
Definition at line 1754 of file node.cpp.
References Inkscape::UI::ListNode::ln_next.
Referenced by Inkscape::UI::PathManipulator::_nodeClicked().
Definition at line 1796 of file node.cpp.
References begin(), end(), and splice().
Referenced by Inkscape::UI::MultiPathManipulator::joinNodes(), Inkscape::UI::MultiPathManipulator::joinSegments(), splice(), and splice().
void Inkscape::UI::NodeList::splice | ( | iterator | pos, |
NodeList & | list, | ||
iterator | first, | ||
iterator | last | ||
) |
Definition at line 1808 of file node.cpp.
References Inkscape::UI::NodeIterator< N >::_node, Inkscape::UI::ListNode::ln_list, Inkscape::UI::ListNode::ln_next, and Inkscape::UI::ListNode::ln_prev.
|
inline |
|
inline |
Definition at line 419 of file node.h.
References _list.
Referenced by Inkscape::UI::Node::_pm(), and Inkscape::UI::Node::_pm().
|
friend |
|
friend |
|
private |
Definition at line 429 of file node.h.
Referenced by closed(), and setClosed().
|
private |
Definition at line 428 of file node.h.
Referenced by kill(), subpathList(), and subpathList().