54 edge_pointers_container::iterator
_tbegin;
55 edge_pointers_container::iterator
_tend;
60 edges_container::iterator
_end;
92 edge_pointers_container::iterator end,
93 edge_pointers_container::iterator iter)
102 edges_container::iterator end,
103 edges_container::iterator iter)
169 return !(*
this !=
b);
204 if (tmp2.first == tmp.first) {
215 MEM_CXX_CLASS_ALLOC_FUNCS(
"Freestyle:orientedViewEdgeIterator")
228namespace ViewEdgeInternal {
241 _previous_edge =
nullptr;
242 _next_edge =
nullptr;
248 _vertex = vi._vertex;
250 _previous_edge = vi._previous_edge;
251 _next_edge = vi._next_edge;
259 _previous_edge = prev;
266 _vertex = vi._vertex;
268 _previous_edge = vi._previous_edge;
269 _next_edge = vi._next_edge;
278 return "SVertexIterator";
323 _t += (
float)_next_edge->getLength2D();
324 _vertex = _next_edge->vertexB();
325 _previous_edge = _next_edge;
326 _next_edge = _next_edge->nextEdge();
332 if (!_previous_edge) {
336 if ((!_next_edge) && (!_vertex)) {
337 _vertex = _previous_edge->vertexB();
340 _t -= (
float)_previous_edge->getLength2D();
341 _vertex = _previous_edge->vertexA();
342 _next_edge = _previous_edge;
343 _previous_edge = _previous_edge->previousEdge();
349 return _vertex == _begin;
354 return (!_vertex) || (_vertex == _begin && _previous_edge);
357 virtual float t()
const
362 virtual float u()
const
364 return _t / (
float)_next_edge->viewedge()->getLength2D();
373 return (_vertex == it_exact->_vertex);
384 FEdge *_previous_edge;
388 MEM_CXX_CLASS_ALLOC_FUNCS(
"Freestyle:SVertexIterator")
431 return "ViewEdgeIterator";
505 cerr <<
"Warning: method increment() not implemented" << endl;
527 cerr <<
"Warning: method decrement() not implemented" << endl;
552 return !(*
this == it);
560 MEM_CXX_CLASS_ALLOC_FUNCS(
"Freestyle:ViewEdgeIterator")
Classes to define a View Map (ViewVertex, ViewEdge, etc.).
ATTR_WARN_UNUSED_RESULT const BMVert * v
vector< directedViewEdge > edges_container
vector< directedViewEdge * > edge_pointers_container
virtual ~SVertexIterator()
virtual SVertexIterator & operator--()
virtual SVertex * operator->()
virtual string getExactTypeName() const
SVertexIterator & operator=(const SVertexIterator &vi)
virtual SVertexIterator * copy() const
virtual bool isBegin() const
virtual bool isEnd() const
virtual bool operator==(const Interface0DIteratorNested &it) const
virtual SVertexIterator operator--(int)
virtual SVertexIterator operator++(int)
virtual SVertex & operator*()
SVertexIterator(const SVertexIterator &vi)
SVertexIterator(SVertex *v, SVertex *begin, FEdge *prev, FEdge *next, float t)
virtual SVertexIterator & operator++()
virtual ~ViewEdgeIterator()
virtual ViewEdge * operator*()
virtual ViewEdgeIterator & operator++()
ViewEdge * getCurrentEdge()
virtual bool isBegin() const
ViewEdgeIterator(ViewEdge *begin=nullptr, bool orientation=true)
bool getOrientation() const
void setOrientation(bool orientation)
virtual ViewEdgeIterator & operator--()
virtual ViewEdgeIterator operator++(int)
void setBegin(ViewEdge *begin)
virtual ViewEdge * operator->()
virtual bool operator!=(ViewEdgeIterator &it) const
virtual bool isEnd() const
ViewEdgeIterator(const ViewEdgeIterator &it)
void setCurrentEdge(ViewEdge *edge)
virtual string getExactTypeName() const
virtual bool operator==(ViewEdgeIterator &it) const
virtual ViewEdgeIterator operator--(int)
virtual orientedViewEdgeIterator operator++(int)
edge_pointers_container::iterator _tend
edge_pointers_container::iterator _tvertex_iter
virtual bool isBegin() const
edge_pointers_container::iterator _tbegin
edges_container::iterator _end
virtual bool operator!=(const orientedViewEdgeIterator &b) const
orientedViewEdgeIterator(Nature::VertexNature iNature)
TVertex::edge_pointers_container edge_pointers_container
edges_container::iterator _begin
virtual ViewVertex::directedViewEdge & operator*() const
virtual ViewVertex::directedViewEdge * operator->() const
NonTVertex::edges_container edges_container
edges_container::iterator _nontvertex_iter
orientedViewEdgeIterator()
orientedViewEdgeIterator(edges_container::iterator begin, edges_container::iterator end, edges_container::iterator iter)
orientedViewEdgeIterator(const orientedViewEdgeIterator &iBrother)
virtual orientedViewEdgeIterator & operator++()
orientedViewEdgeIterator(edge_pointers_container::iterator begin, edge_pointers_container::iterator end, edge_pointers_container::iterator iter)
virtual bool isEnd() const
virtual ~orientedViewEdgeIterator()
Nature::VertexNature _Nature
virtual bool operator==(const orientedViewEdgeIterator &b) const
pair< ViewEdge *, bool > directedViewEdge
static const VertexNature T_VERTEX
static const VertexNature NON_T_VERTEX