12 #include "../system/Iterator.h"
32 namespace ViewVertexInternal {
52 edge_pointers_container::iterator
_tbegin;
53 edge_pointers_container::iterator
_tend;
58 edges_container::iterator
_end;
94 edge_pointers_container::iterator end,
95 edge_pointers_container::iterator iter)
104 edges_container::iterator end,
105 edges_container::iterator iter)
171 return !(*
this !=
b);
206 if (tmp2.first == tmp.first) {
217 #ifdef WITH_CXX_GUARDEDALLOC
218 MEM_CXX_CLASS_ALLOC_FUNCS(
"Freestyle:orientedViewEdgeIterator")
232 namespace ViewEdgeInternal {
245 _previous_edge =
NULL;
252 _vertex = vi._vertex;
254 _previous_edge = vi._previous_edge;
255 _next_edge = vi._next_edge;
263 _previous_edge =
prev;
270 _vertex = vi._vertex;
272 _previous_edge = vi._previous_edge;
273 _next_edge = vi._next_edge;
284 return "SVertexIterator";
330 _vertex = _next_edge->
vertexB();
331 _previous_edge = _next_edge;
332 _next_edge = _next_edge->
nextEdge();
338 if (!_previous_edge) {
342 if ((!_next_edge) && (!_vertex)) {
343 _vertex = _previous_edge->
vertexB();
347 _vertex = _previous_edge->
vertexA();
348 _next_edge = _previous_edge;
355 return _vertex == _begin;
360 return (!_vertex) || (_vertex == _begin && _previous_edge);
363 virtual float t()
const
368 virtual float u()
const
379 return (_vertex == it_exact->_vertex);
390 FEdge *_previous_edge;
394 #ifdef WITH_CXX_GUARDEDALLOC
395 MEM_CXX_CLASS_ALLOC_FUNCS(
"Freestyle:SVertexIterator")
441 return "ViewEdgeIterator";
515 cerr <<
"Warning: method increment() not implemented" << endl;
537 cerr <<
"Warning: method decrement() not implemented" << endl;
562 return !(*
this == it);
570 #ifdef WITH_CXX_GUARDEDALLOC
571 MEM_CXX_CLASS_ALLOC_FUNCS(
"Freestyle:ViewEdgeIterator")
typedef float(TangentPoint)[2]
Classes to define a View Map (ViewVertex, ViewEdge, etc.)
ATTR_WARN_UNUSED_RESULT const BMVert * v
ViewEdge * viewedge() const
virtual real getLength2D() const
vector< directedViewEdge > edges_container
vector< directedViewEdge * > edge_pointers_container
virtual ~SVertexIterator()
virtual SVertexIterator & operator--()
virtual string getExactTypeName() const
virtual SVertexIterator & operator++()
virtual bool isBegin() const
virtual bool isEnd() const
virtual bool operator==(const Interface0DIteratorNested &it) const
virtual SVertexIterator operator--(int)
virtual SVertexIterator operator++(int)
virtual SVertexIterator * copy() const
SVertexIterator(const SVertexIterator &vi)
SVertexIterator & operator=(const SVertexIterator &vi)
virtual SVertex * operator->()
SVertexIterator(SVertex *v, SVertex *begin, FEdge *prev, FEdge *next, float t)
virtual SVertex & operator*()
virtual ~ViewEdgeIterator()
virtual bool isBegin() const
bool getOrientation() const
void setOrientation(bool orientation)
ViewEdgeIterator(ViewEdge *begin=NULL, bool orientation=true)
virtual ViewEdgeIterator operator++(int)
void setBegin(ViewEdge *begin)
virtual bool operator!=(ViewEdgeIterator &it) const
virtual ViewEdge * operator->()
virtual bool isEnd() const
ViewEdgeIterator(const ViewEdgeIterator &it)
void setCurrentEdge(ViewEdge *edge)
virtual ViewEdgeIterator & operator++()
virtual string getExactTypeName() const
virtual ViewEdgeIterator & operator--()
virtual ViewEdge * operator*()
virtual bool operator==(ViewEdgeIterator &it) const
ViewEdge * getCurrentEdge()
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
virtual ViewVertex::directedViewEdge & operator*() const
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
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)
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 orientedViewEdgeIterator & operator++()
virtual ViewVertex::directedViewEdge * operator->() const
virtual bool operator==(const orientedViewEdgeIterator &b) const
pair< ViewEdge *, bool > directedViewEdge
unsigned short VertexNature
static const VertexNature T_VERTEX
static const VertexNature NON_T_VERTEX
SymEdge< T > * prev(const SymEdge< T > *se)
static const pxr::TfToken b("b", pxr::TfToken::Immortal)