OpenMesh
PolyConnectivity_inline_impl.hh
1 /* ========================================================================= *
2  * *
3  * OpenMesh *
4  * Copyright (c) 2001-2015, RWTH-Aachen University *
5  * Department of Computer Graphics and Multimedia *
6  * All rights reserved. *
7  * www.openmesh.org *
8  * *
9  *---------------------------------------------------------------------------*
10  * This file is part of OpenMesh. *
11  *---------------------------------------------------------------------------*
12  * *
13  * Redistribution and use in source and binary forms, with or without *
14  * modification, are permitted provided that the following conditions *
15  * are met: *
16  * *
17  * 1. Redistributions of source code must retain the above copyright notice, *
18  * this list of conditions and the following disclaimer. *
19  * *
20  * 2. Redistributions in binary form must reproduce the above copyright *
21  * notice, this list of conditions and the following disclaimer in the *
22  * documentation and/or other materials provided with the distribution. *
23  * *
24  * 3. Neither the name of the copyright holder nor the names of its *
25  * contributors may be used to endorse or promote products derived from *
26  * this software without specific prior written permission. *
27  * *
28  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS *
29  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED *
30  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A *
31  * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER *
32  * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, *
33  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, *
34  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR *
35  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF *
36  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING *
37  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS *
38  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
39  * *
40  * ========================================================================= */
41 
42 #ifndef OPENMESH_POLYCONNECTIVITY_INLINE_IMPL_HH
43 #define OPENMESH_POLYCONNECTIVITY_INLINE_IMPL_HH
44 
45 #include <OpenMesh/Core/Mesh/PolyConnectivity.hh>
46 #include <OpenMesh/Core/Mesh/IteratorsT.hh>
47 #include <OpenMesh/Core/Mesh/CirculatorsT.hh>
48 #include <OpenMesh/Core/Mesh/SmartHandles.hh>
49 
50 namespace OpenMesh {
51 
52 
54 
60 
61 inline SmartHalfedgeHandle PolyConnectivity::s_halfedge_handle(SmartEdgeHandle _eh, unsigned int _i) { return make_smart(ArrayKernel::s_halfedge_handle(EdgeHandle(_eh), _i), _eh.mesh()); }
62 inline SmartEdgeHandle PolyConnectivity::s_edge_handle(SmartHalfedgeHandle _heh) { return make_smart(ArrayKernel::s_edge_handle(HalfedgeHandle(_heh)), _heh.mesh()); }
63 
64 inline SmartHalfedgeHandle PolyConnectivity::halfedge_handle(SmartEdgeHandle _eh, unsigned int _i) const { return make_smart(halfedge_handle(EdgeHandle(_eh), _i), *this); }
68 
70 
72 
73 
75 template <typename RangeTraitT>
76 class EntityRange : public SmartRangeT<EntityRange<RangeTraitT>, typename RangeTraitT::ITER_TYPE::SmartHandle> {
77  public:
78  typedef typename RangeTraitT::ITER_TYPE iterator;
79  typedef typename RangeTraitT::ITER_TYPE const_iterator;
80 
81  explicit EntityRange(typename RangeTraitT::CONTAINER_TYPE &container) : container_(container) {}
82  typename RangeTraitT::ITER_TYPE begin() const { return RangeTraitT::begin(container_); }
83  typename RangeTraitT::ITER_TYPE end() const { return RangeTraitT::end(container_); }
84 
85  private:
86  typename RangeTraitT::CONTAINER_TYPE &container_;
87 };
88 
90 template <typename CirculatorRangeTraitT>
91 //class CirculatorRange : public SmartRangeT<CirculatorRange<CirculatorRangeTraitT>, decltype (make_smart(std::declval<typename CirculatorRangeTraitT::TO_ENTITYE_TYPE>(), std::declval<PolyConnectivity>()))>{
92 class CirculatorRange : public SmartRangeT<CirculatorRange<CirculatorRangeTraitT>, typename SmartHandle<typename CirculatorRangeTraitT::TO_ENTITYE_TYPE>::type>{
93  public:
94  typedef typename CirculatorRangeTraitT::ITER_TYPE ITER_TYPE;
95  typedef typename CirculatorRangeTraitT::CENTER_ENTITY_TYPE CENTER_ENTITY_TYPE;
96  typedef typename CirculatorRangeTraitT::CONTAINER_TYPE CONTAINER_TYPE;
97  typedef ITER_TYPE iterator;
98  typedef ITER_TYPE const_iterator;
99 
101  const CONTAINER_TYPE &container,
102  CENTER_ENTITY_TYPE center) :
103  container_(container), center_(center) {}
104  ITER_TYPE begin() const { return CirculatorRangeTraitT::begin(container_, center_); }
105  ITER_TYPE end() const { return CirculatorRangeTraitT::end(container_, center_); }
106 
107  private:
108  const CONTAINER_TYPE &container_;
109  CENTER_ENTITY_TYPE center_;
110 };
111 
112 
121 
122 template <> inline PolyConnectivity::ConstVertexRangeSkipping PolyConnectivity::elements<VertexHandle>() const { return vertices(); }
123 template <> inline PolyConnectivity::ConstVertexRange PolyConnectivity::all_elements<VertexHandle>() const { return all_vertices(); }
124 template <> inline PolyConnectivity::ConstHalfedgeRangeSkipping PolyConnectivity::elements<HalfedgeHandle>() const { return halfedges(); }
125 template <> inline PolyConnectivity::ConstHalfedgeRange PolyConnectivity::all_elements<HalfedgeHandle>() const { return all_halfedges(); }
126 template <> inline PolyConnectivity::ConstEdgeRangeSkipping PolyConnectivity::elements<EdgeHandle>() const { return edges(); }
127 template <> inline PolyConnectivity::ConstEdgeRange PolyConnectivity::all_elements<EdgeHandle>() const { return all_edges(); }
128 template <> inline PolyConnectivity::ConstFaceRangeSkipping PolyConnectivity::elements<FaceHandle>() const { return faces(); }
129 template <> inline PolyConnectivity::ConstFaceRange PolyConnectivity::all_elements<FaceHandle>() const { return all_faces(); }
130 
131 
133  return ConstVertexVertexRange(*this, _vh);
134 }
135 
137  return ConstVertexIHalfedgeRange(*this, _vh);
138 }
139 
141  return ConstVertexOHalfedgeRange(*this, _vh);
142 }
143 
145  return ConstVertexEdgeRange(*this, _vh);
146 }
147 
149  return ConstVertexFaceRange(*this, _vh);
150 }
151 
153  return ConstFaceVertexRange(*this, _fh);
154 }
155 
157  return ConstFaceHalfedgeRange(*this, _fh);
158 }
159 
161  return ConstFaceEdgeRange(*this, _fh);
162 }
163 
165  return ConstFaceFaceRange(*this, _fh);
166 }
167 
168 
169 
171 { return VertexIter(*this, VertexHandle(0)); }
172 
174 { return ConstVertexIter(*this, VertexHandle(0)); }
175 
177 { return VertexIter(*this, VertexHandle( int(n_vertices() ) )); }
178 
180 { return ConstVertexIter(*this, VertexHandle( int(n_vertices()) )); }
181 
183 { return HalfedgeIter(*this, HalfedgeHandle(0)); }
184 
186 { return ConstHalfedgeIter(*this, HalfedgeHandle(0)); }
187 
189 { return HalfedgeIter(*this, HalfedgeHandle(int(n_halfedges()))); }
190 
192 { return ConstHalfedgeIter(*this, HalfedgeHandle(int(n_halfedges()))); }
193 
195 { return EdgeIter(*this, EdgeHandle(0)); }
196 
198 { return ConstEdgeIter(*this, EdgeHandle(0)); }
199 
201 { return EdgeIter(*this, EdgeHandle(int(n_edges()))); }
202 
204 { return ConstEdgeIter(*this, EdgeHandle(int(n_edges()))); }
205 
207 { return FaceIter(*this, FaceHandle(0)); }
208 
210 { return ConstFaceIter(*this, FaceHandle(0)); }
211 
213 { return FaceIter(*this, FaceHandle(int(n_faces()))); }
214 
215 
217 { return ConstFaceIter(*this, FaceHandle(int(n_faces()))); }
218 
220 { return VertexIter(*this, VertexHandle(0), true); }
221 
223 { return ConstVertexIter(*this, VertexHandle(0), true); }
224 
226 { return HalfedgeIter(*this, HalfedgeHandle(0), true); }
227 
229 { return ConstHalfedgeIter(*this, HalfedgeHandle(0), true); }
230 
232 { return EdgeIter(*this, EdgeHandle(0), true); }
233 
235 { return ConstEdgeIter(*this, EdgeHandle(0), true); }
236 
238 { return FaceIter(*this, FaceHandle(0), true); }
239 
241 { return ConstFaceIter(*this, FaceHandle(0), true); }
242 
244 { return VertexVertexIter(*this, _vh); }
245 
247 { return VertexVertexCWIter(*this, _vh); }
248 
250 { return VertexVertexCCWIter(*this, _vh); }
251 
253 { return VertexIHalfedgeIter(*this, _vh); }
254 
256 { return VertexIHalfedgeCWIter(*this, _vh); }
257 
259 { return VertexIHalfedgeCCWIter(*this, _vh); }
260 
262 { return VertexOHalfedgeIter(*this, _vh); }
263 
265 { return VertexOHalfedgeCWIter(*this, _vh); }
266 
268 { return VertexOHalfedgeCCWIter(*this, _vh); }
269 
271 { return VertexEdgeIter(*this, _vh); }
272 
274 { return VertexEdgeCWIter(*this, _vh); }
275 
277 { return VertexEdgeCCWIter(*this, _vh); }
278 
280 { return VertexFaceIter(*this, _vh); }
281 
283 { return VertexFaceCWIter(*this, _vh); }
284 
286 { return VertexFaceCCWIter(*this, _vh); }
287 
289 { return ConstVertexVertexIter(*this, _vh); }
290 
292 { return ConstVertexVertexCWIter(*this, _vh); }
293 
295 { return ConstVertexVertexCCWIter(*this, _vh); }
296 
298 { return ConstVertexIHalfedgeIter(*this, _vh); }
299 
301 { return ConstVertexIHalfedgeCWIter(*this, _vh); }
302 
304 { return ConstVertexIHalfedgeCCWIter(*this, _vh); }
305 
307 { return ConstVertexOHalfedgeIter(*this, _vh); }
308 
310 { return ConstVertexOHalfedgeCWIter(*this, _vh); }
311 
313 { return ConstVertexOHalfedgeCCWIter(*this, _vh); }
314 
316 { return ConstVertexEdgeIter(*this, _vh); }
317 
319 { return ConstVertexEdgeCWIter(*this, _vh); }
320 
322 { return ConstVertexEdgeCCWIter(*this, _vh); }
323 
325 { return ConstVertexFaceIter(*this, _vh); }
326 
328 { return ConstVertexFaceCWIter(*this, _vh); }
329 
331 { return ConstVertexFaceCCWIter(*this, _vh); }
332 
334 { return FaceVertexIter(*this, _fh); }
335 
337 { return FaceVertexCWIter(*this, _fh); }
338 
340 { return FaceVertexCCWIter(*this, _fh); }
341 
343 { return FaceHalfedgeIter(*this, _fh); }
344 
346 { return FaceHalfedgeCWIter(*this, _fh); }
347 
349 { return FaceHalfedgeCCWIter(*this, _fh); }
350 
352 { return FaceEdgeIter(*this, _fh); }
353 
355 { return FaceEdgeCWIter(*this, _fh); }
356 
358 { return FaceEdgeCCWIter(*this, _fh); }
359 
361 { return FaceFaceIter(*this, _fh); }
362 
364 { return FaceFaceCWIter(*this, _fh); }
365 
367 { return FaceFaceCCWIter(*this, _fh); }
368 
370 { return ConstFaceVertexIter(*this, _fh); }
371 
373 { return ConstFaceVertexCWIter(*this, _fh); }
374 
376 { return ConstFaceVertexCCWIter(*this, _fh); }
377 
379 { return ConstFaceHalfedgeIter(*this, _fh); }
380 
382 { return ConstFaceHalfedgeCWIter(*this, _fh); }
383 
385 { return ConstFaceHalfedgeCCWIter(*this, _fh); }
386 
388 { return ConstFaceEdgeIter(*this, _fh); }
389 
391 { return ConstFaceEdgeCWIter(*this, _fh); }
392 
394 { return ConstFaceEdgeCCWIter(*this, _fh); }
395 
397 { return ConstFaceFaceIter(*this, _fh); }
398 
400 { return ConstFaceFaceCWIter(*this, _fh); }
401 
403 { return ConstFaceFaceCCWIter(*this, _fh); }
404 
405 
407 { return VertexVertexIter(*this, _vh); }
408 
410 { return VertexVertexCWIter(*this, _vh); }
411 
413 { return VertexVertexCCWIter(*this, _vh); }
414 
416 { return VertexIHalfedgeIter(*this, _vh); }
417 
419 { return VertexIHalfedgeCWIter(*this, _vh); }
420 
422 { return VertexIHalfedgeCCWIter(*this, _vh); }
423 
425 { return VertexOHalfedgeIter(*this, _vh); }
426 
428 { return VertexOHalfedgeCWIter(*this, _vh); }
429 
431 { return VertexOHalfedgeCCWIter(*this, _vh); }
432 
434 { return VertexEdgeIter(*this, _vh); }
435 
437 { return VertexEdgeCWIter(*this, _vh); }
438 
440 { return VertexEdgeCCWIter(*this, _vh); }
441 
443 { return VertexFaceIter(*this, _vh); }
444 
446 { return VertexFaceCWIter(*this, _vh); }
447 
449 { return VertexFaceCCWIter(*this, _vh); }
450 
451 
453 { return ConstVertexVertexIter(*this, _vh); }
454 
456 { return ConstVertexVertexCWIter(*this, _vh); }
457 
459 { return ConstVertexVertexCCWIter(*this, _vh); }
460 
462 { return ConstVertexIHalfedgeIter(*this, _vh); }
463 
465 { return ConstVertexIHalfedgeCWIter(*this, _vh); }
466 
468 { return ConstVertexIHalfedgeCCWIter(*this, _vh); }
469 
471 { return ConstVertexOHalfedgeIter(*this, _vh); }
472 
474 { return ConstVertexOHalfedgeCWIter(*this, _vh); }
475 
477 { return ConstVertexOHalfedgeCCWIter(*this, _vh); }
478 
480 { return ConstVertexEdgeIter(*this, _vh); }
481 
483 { return ConstVertexEdgeCWIter(*this, _vh); }
484 
486 { return ConstVertexEdgeCCWIter(*this, _vh); }
487 
489 { return ConstVertexFaceIter(*this, _vh); }
490 
492 { return ConstVertexFaceCWIter(*this, _vh); }
493 
495 { return ConstVertexFaceCCWIter(*this, _vh); }
496 
497 
499 { return FaceVertexIter(*this, _fh); }
500 
502 { return FaceVertexCWIter(*this, _fh); }
503 
505 { return FaceVertexCCWIter(*this, _fh); }
506 
508 { return FaceHalfedgeIter(*this, _fh); }
509 
511 { return FaceHalfedgeCWIter(*this, _fh); }
512 
514 { return FaceHalfedgeCCWIter(*this, _fh); }
515 
517 { return FaceEdgeIter(*this, _fh); }
518 
520 { return FaceEdgeCWIter(*this, _fh); }
521 
523 { return FaceEdgeCCWIter(*this, _fh); }
524 
526 { return FaceFaceIter(*this, _fh); }
527 
529 { return FaceFaceCWIter(*this, _fh); }
530 
532 { return FaceFaceCCWIter(*this, _fh); }
533 
535 { return HalfedgeLoopIter(*this, _heh); }
536 
538 { return HalfedgeLoopCWIter(*this, _heh); }
539 
541 { return HalfedgeLoopCCWIter(*this, _heh); }
542 
543 
545 { return ConstFaceVertexIter(*this, _fh); }
546 
548 { return ConstFaceVertexCWIter(*this, _fh); }
549 
551 { return ConstFaceVertexCCWIter(*this, _fh); }
552 
554 { return ConstFaceHalfedgeIter(*this, _fh); }
555 
557 { return ConstFaceHalfedgeCWIter(*this, _fh); }
558 
560 { return ConstFaceHalfedgeCCWIter(*this, _fh); }
561 
563 { return ConstFaceEdgeIter(*this, _fh); }
564 
566 { return ConstFaceEdgeCWIter(*this, _fh); }
567 
569 { return ConstFaceEdgeCCWIter(*this, _fh); }
570 
572 { return ConstFaceFaceIter(*this, _fh); }
573 
575 { return ConstFaceFaceCWIter(*this, _fh); }
576 
578 { return ConstFaceFaceCCWIter(*this, _fh); }
579 
581 { return ConstHalfedgeLoopIter(*this, _heh); }
582 
584 { return ConstHalfedgeLoopCWIter(*this, _heh); }
585 
587 { return ConstHalfedgeLoopCCWIter(*this, _heh); }
588 
589 // 'end' circulators
590 
592 { return VertexVertexIter(*this, _vh, true); }
593 
595 { return VertexVertexCWIter(*this, _vh, true); }
596 
598 { return VertexVertexCCWIter(*this, _vh, true); }
599 
601 { return VertexIHalfedgeIter(*this, _vh, true); }
602 
604 { return VertexIHalfedgeCWIter(*this, _vh, true); }
605 
607 { return VertexIHalfedgeCCWIter(*this, _vh, true); }
608 
610 { return VertexOHalfedgeIter(*this, _vh, true); }
611 
613 { return VertexOHalfedgeCWIter(*this, _vh, true); }
614 
616 { return VertexOHalfedgeCCWIter(*this, _vh, true); }
617 
619 { return VertexEdgeIter(*this, _vh, true); }
620 
622 { return VertexEdgeCWIter(*this, _vh, true); }
623 
625 { return VertexEdgeCCWIter(*this, _vh, true); }
626 
628 { return VertexFaceIter(*this, _vh, true); }
629 
631 { return VertexFaceCWIter(*this, _vh, true); }
632 
634 { return VertexFaceCCWIter(*this, _vh, true); }
635 
636 
638 { return ConstVertexVertexIter(*this, _vh, true); }
639 
641 { return ConstVertexVertexCWIter(*this, _vh, true); }
642 
644 { return ConstVertexVertexCCWIter(*this, _vh, true); }
645 
647 { return ConstVertexIHalfedgeIter(*this, _vh, true); }
648 
650 { return ConstVertexIHalfedgeCWIter(*this, _vh, true); }
651 
653 { return ConstVertexIHalfedgeCCWIter(*this, _vh, true); }
654 
656 { return ConstVertexOHalfedgeIter(*this, _vh, true); }
657 
659 { return ConstVertexOHalfedgeCWIter(*this, _vh, true); }
660 
662 { return ConstVertexOHalfedgeCCWIter(*this, _vh, true); }
663 
665 { return ConstVertexEdgeIter(*this, _vh, true); }
666 
668 { return ConstVertexEdgeCWIter(*this, _vh, true); }
669 
671 { return ConstVertexEdgeCCWIter(*this, _vh, true); }
672 
674 { return ConstVertexFaceIter(*this, _vh, true); }
675 
677 { return ConstVertexFaceCWIter(*this, _vh, true); }
678 
680 { return ConstVertexFaceCCWIter(*this, _vh, true); }
681 
682 
684 { return FaceVertexIter(*this, _fh, true); }
685 
687 { return FaceVertexCWIter(*this, _fh, true); }
688 
690 { return FaceVertexCCWIter(*this, _fh, true); }
691 
693 { return FaceHalfedgeIter(*this, _fh, true); }
694 
696 { return FaceHalfedgeCWIter(*this, _fh, true); }
697 
699 { return FaceHalfedgeCCWIter(*this, _fh, true); }
700 
702 { return FaceEdgeIter(*this, _fh, true); }
703 
705 { return FaceEdgeCWIter(*this, _fh, true); }
706 
708 { return FaceEdgeCCWIter(*this, _fh, true); }
709 
711 { return FaceFaceIter(*this, _fh, true); }
712 
714 { return FaceFaceCWIter(*this, _fh, true); }
715 
717 { return FaceFaceCCWIter(*this, _fh, true); }
718 
720 { return HalfedgeLoopIter(*this, _heh, true); }
721 
723 { return HalfedgeLoopCWIter(*this, _heh, true); }
724 
726 { return HalfedgeLoopCCWIter(*this, _heh, true); }
727 
728 
730 { return ConstFaceVertexIter(*this, _fh, true); }
731 
733 { return ConstFaceVertexCWIter(*this, _fh, true); }
734 
736 { return ConstFaceVertexCCWIter(*this, _fh, true); }
737 
739 { return ConstFaceHalfedgeIter(*this, _fh, true); }
740 
742 { return ConstFaceHalfedgeCWIter(*this, _fh, true); }
743 
745 { return ConstFaceHalfedgeCCWIter(*this, _fh, true); }
746 
748 { return ConstFaceEdgeIter(*this, _fh, true); }
749 
751 { return ConstFaceEdgeCWIter(*this, _fh, true); }
752 
754 { return ConstFaceEdgeCCWIter(*this, _fh, true); }
755 
757 { return ConstFaceFaceIter(*this, _fh, true); }
758 
760 { return ConstFaceFaceCWIter(*this, _fh, true); }
761 
763 { return ConstFaceFaceCCWIter(*this, _fh, true); }
764 
766 { return ConstHalfedgeLoopIter(*this, _heh, true); }
767 
769 { return ConstHalfedgeLoopCWIter(*this, _heh, true); }
770 
772 { return ConstHalfedgeLoopCCWIter(*this, _heh, true); }
773 
774 
775 }//namespace OpenMesh
776 
777 #endif // OPENMESH_POLYCONNECTIVITY_INLINE_IMPL_HH
778 
FaceVertexIter fv_begin(FaceHandle _fh)
face - vertex circulator
Definition: PolyConnectivity_inline_impl.hh:498
ConstVertexIHalfedgeIter cvih_end(VertexHandle _vh) const
const vertex - incoming halfedge circulator
Definition: PolyConnectivity_inline_impl.hh:646
VertexOHalfedgeCWIter voh_cwend(VertexHandle _vh)
vertex - outgoing halfedge circulator cw
Definition: PolyConnectivity_inline_impl.hh:612
ConstVertexIHalfedgeCWIter cvih_cwiter(VertexHandle _vh) const
const vertex - incoming halfedge circulator cw
Definition: PolyConnectivity_inline_impl.hh:300
VertexFaceIter ConstVertexFaceIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:286
HalfedgeIter halfedges_begin()
Begin iterator for halfedges.
Definition: PolyConnectivity_inline_impl.hh:182
ConstVertexVertexCWIter cvv_cwbegin(VertexHandle _vh) const
const vertex circulator cw
Definition: PolyConnectivity_inline_impl.hh:455
FaceEdgeCWIter fe_cwbegin(FaceHandle _fh)
face - edge circulator cw
Definition: PolyConnectivity_inline_impl.hh:519
VertexIHalfedgeIter vih_begin(VertexHandle _vh)
vertex - incoming halfedge circulator
Definition: PolyConnectivity_inline_impl.hh:415
Handle for a face entity.
Definition: Handles.hh:141
ConstFaceFaceRange ff_range(FaceHandle _fh) const
Definition: PolyConnectivity_inline_impl.hh:164
HalfedgeIter halfedges_sbegin()
Begin iterator for halfedges.
Definition: PolyConnectivity_inline_impl.hh:225
VertexFaceCWIter vf_cwend(VertexHandle _vh)
vertex - face circulator cw
Definition: PolyConnectivity_inline_impl.hh:630
ConstVertexFaceCCWIter cvf_ccwend(VertexHandle _vh) const
const vertex - face circulator ccw
Definition: PolyConnectivity_inline_impl.hh:679
FaceFaceCCWIter ff_ccwbegin(FaceHandle _fh)
face - face circulator ccw
Definition: PolyConnectivity_inline_impl.hh:531
VertexEdgeIter ve_begin(VertexHandle _vh)
vertex - edge circulator
Definition: PolyConnectivity_inline_impl.hh:433
VertexVertexCWIter ConstVertexVertexCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:278
CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstFaceVertexIter, FaceHandle, VertexHandle, &PolyConnectivity::cfv_begin, &PolyConnectivity::cfv_end > > ConstFaceVertexRange
Definition: PolyConnectivity.hh:1211
FaceHalfedgeCWIter fh_cwend(FaceHandle _fh)
face - halfedge circulator cw
Definition: PolyConnectivity_inline_impl.hh:695
ConstFaceVertexCCWIter cfv_ccwiter(FaceHandle _fh) const
const face - vertex circulator ccw
Definition: PolyConnectivity_inline_impl.hh:375
SmartFaceHandle opposite_face_handle(HalfedgeHandle _heh) const
returns the face handle of the opposite halfedge
Definition: PolyConnectivity_inline_impl.hh:71
ConstFaceVertexIter cfv_iter(FaceHandle _fh) const
const face - vertex circulator
Definition: PolyConnectivity_inline_impl.hh:369
Iterators::GenericCirculatorT_DEPRECATED< FaceHalfedgeTraits > HalfedgeLoopIter
Identical to FaceHalfedgeIter.
Definition: PolyConnectivity.hh:270
ConstFaceHalfedgeCWIter cfh_cwend(FaceHandle _fh) const
const face - halfedge circulator cw
Definition: PolyConnectivity_inline_impl.hh:741
Generic class for vertex/halfedge/edge/face ranges.
Definition: PolyConnectivity.hh:69
VertexEdgeCCWIter ConstVertexEdgeCCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:291
Iterators::GenericCirculatorT< VertexHalfedgeTraits, true > VertexOHalfedgeCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:193
ConstFaceEdgeIter cfe_iter(FaceHandle _fh) const
const face - edge circulator
Definition: PolyConnectivity_inline_impl.hh:387
HalfedgeIter halfedges_end()
End iterator for halfedges.
Definition: PolyConnectivity_inline_impl.hh:188
VertexFaceCCWIter vf_ccwend(VertexHandle _vh)
vertex - face circulator ccw
Definition: PolyConnectivity_inline_impl.hh:633
EdgeIter ConstEdgeIter
Linear iterator.
Definition: PolyConnectivity.hh:144
Definition: CirculatorsT.hh:254
ConstVertexIHalfedgeIter cvih_iter(VertexHandle _vh) const
const vertex - incoming halfedge circulator
Definition: PolyConnectivity_inline_impl.hh:297
VertexEdgeIter ConstVertexEdgeIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:289
ConstEdgeRangeSkipping edges() const
Definition: PolyConnectivity_inline_impl.hh:117
ConstVertexVertexCCWIter cvv_ccwiter(VertexHandle _vh) const
const vertex circulator ccw
Definition: PolyConnectivity_inline_impl.hh:294
ConstVertexEdgeCCWIter cve_ccwiter(VertexHandle _vh) const
const vertex - edge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:321
VertexFaceIter vf_iter(VertexHandle _vh)
vertex - face circulator
Definition: PolyConnectivity_inline_impl.hh:279
VertexFaceCCWIter vf_ccwbegin(VertexHandle _vh)
vertex - face circulator ccw
Definition: PolyConnectivity_inline_impl.hh:448
FaceFaceCCWIter ff_ccwend(FaceHandle _fh)
face - face circulator ccw
Definition: PolyConnectivity_inline_impl.hh:716
FaceVertexIter fv_end(FaceHandle _fh)
face - vertex circulator
Definition: PolyConnectivity_inline_impl.hh:683
ConstVertexOHalfedgeCCWIter cvoh_ccwbegin(VertexHandle _vh) const
const vertex - outgoing halfedge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:476
ConstVertexVertexIter cvv_end(VertexHandle _vh) const
const vertex circulator
Definition: PolyConnectivity_inline_impl.hh:637
VertexFaceCWIter ConstVertexFaceCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:287
FaceVertexIter ConstFaceVertexIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:367
SmartHalfedgeHandle prev_halfedge_handle(SmartHalfedgeHandle _heh) const
returns the face handle of the opposite halfedge
Definition: PolyConnectivity_inline_impl.hh:56
VertexEdgeCCWIter ve_ccwbegin(VertexHandle _vh)
vertex - edge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:439
Iterators::GenericCirculatorT< VertexEdgeTraits, false > VertexEdgeCCWIter
Enumerates incident edges in a counter clockwise fashion.
Definition: PolyConnectivity.hh:256
ConstFaceHalfedgeCCWIter cfh_ccwbegin(FaceHandle _fh) const
const face - halfedge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:559
ConstFaceEdgeCWIter cfe_cwend(FaceHandle _fh) const
const face - edge circulator cw
Definition: PolyConnectivity_inline_impl.hh:750
Iterators::GenericCirculatorT< VertexOppositeHalfedgeTraits, true > VertexIHalfedgeCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:212
ConstVertexFaceIter cvf_iter(VertexHandle _vh) const
const vertex - face circulator
Definition: PolyConnectivity_inline_impl.hh:324
SmartHalfedgeHandle next_halfedge_handle(SmartHalfedgeHandle _heh) const
returns the face handle of the opposite halfedge
Definition: PolyConnectivity_inline_impl.hh:55
ConstHalfedgeRangeSkipping halfedges() const
Definition: PolyConnectivity_inline_impl.hh:115
Iterators::GenericCirculatorT< FaceHalfedgeTraits, false > FaceHalfedgeCWIter
Enumerate incident half edges in a clockwise fashion.
Definition: PolyConnectivity.hh:325
FaceHalfedgeCWIter ConstFaceHalfedgeCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:371
HalfedgeLoopCWIter hl_cwend(HalfedgeHandle _heh)
face - face circulator cw
Definition: PolyConnectivity_inline_impl.hh:722
ConstVertexEdgeIter cve_iter(VertexHandle _vh) const
const vertex - edge circulator
Definition: PolyConnectivity_inline_impl.hh:315
Definition: IteratorsT.hh:83
ConstVertexEdgeCCWIter cve_ccwend(VertexHandle _vh) const
const vertex - edge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:670
ConstVertexIHalfedgeIter cvih_begin(VertexHandle _vh) const
const vertex - incoming halfedge circulator
Definition: PolyConnectivity_inline_impl.hh:461
Iterators::GenericCirculatorT< FaceHalfedgeTraits, false > HalfedgeLoopCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:271
ConstVertexFaceIter cvf_begin(VertexHandle _vh) const
const vertex - face circulator
Definition: PolyConnectivity_inline_impl.hh:488
Iterators::GenericIteratorT< This, This::FaceHandle, ArrayKernel, &ArrayKernel::has_face_status, &ArrayKernel::n_faces > FaceIter
Linear iterator.
Definition: PolyConnectivity.hh:140
VertexVertexCCWIter ConstVertexVertexCCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:279
FaceVertexCCWIter fv_ccwiter(FaceHandle _fh)
face - vertex circulator ccw
Definition: PolyConnectivity_inline_impl.hh:339
VertexFaceCWIter vf_cwbegin(VertexHandle _vh)
vertex - face circulator cw
Definition: PolyConnectivity_inline_impl.hh:445
EntityRange< RangeTraitT< const PolyConnectivity, PolyConnectivity::ConstHalfedgeIter, &PolyConnectivity::halfedges_sbegin, &PolyConnectivity::halfedges_end > > ConstHalfedgeRangeSkipping
Definition: PolyConnectivity.hh:1081
FaceVertexCWIter fv_cwbegin(FaceHandle _fh)
face - vertex circulator cw
Definition: PolyConnectivity_inline_impl.hh:501
ConstHalfedgeLoopCWIter chl_cwend(HalfedgeHandle _heh) const
const face - face circulator cw
Definition: PolyConnectivity_inline_impl.hh:768
ConstVertexFaceIter cvf_end(VertexHandle _vh) const
const vertex - face circulator
Definition: PolyConnectivity_inline_impl.hh:673
ConstFaceFaceCWIter cff_cwend(FaceHandle _fh) const
const face - face circulator
Definition: PolyConnectivity_inline_impl.hh:759
FaceFaceCWIter ff_cwend(FaceHandle _fh)
face - face circulator cw
Definition: PolyConnectivity_inline_impl.hh:713
ConstFaceEdgeCWIter cfe_cwbegin(FaceHandle _fh) const
const face - edge circulator cw
Definition: PolyConnectivity_inline_impl.hh:565
VertexIter vertices_sbegin()
Begin iterator for vertices.
Definition: PolyConnectivity_inline_impl.hh:219
ConstFaceVertexCCWIter cfv_ccwbegin(FaceHandle _fh) const
const face - vertex circulator ccw
Definition: PolyConnectivity_inline_impl.hh:550
ConstVertexEdgeCWIter cve_cwend(VertexHandle _vh) const
const vertex - edge circulator cw
Definition: PolyConnectivity_inline_impl.hh:667
EntityRange< RangeTraitT< const PolyConnectivity, PolyConnectivity::ConstVertexIter, &PolyConnectivity::vertices_begin, &PolyConnectivity::vertices_end > > ConstVertexRange
Definition: PolyConnectivity.hh:1066
VertexVertexCCWIter vv_ccwend(VertexHandle _vh)
vertex - vertex circulator ccw
Definition: PolyConnectivity_inline_impl.hh:597
FaceVertexCCWIter ConstFaceVertexCCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:369
VertexVertexIter vv_end(VertexHandle _vh)
vertex - vertex circulator
Definition: PolyConnectivity_inline_impl.hh:591
FaceVertexIter fv_iter(FaceHandle _fh)
face - vertex circulator
Definition: PolyConnectivity_inline_impl.hh:333
VertexFaceCWIter vf_cwiter(VertexHandle _vh)
vertex - face circulator cw
Definition: PolyConnectivity_inline_impl.hh:282
ConstVertexRangeSkipping vertices() const
Definition: PolyConnectivity_inline_impl.hh:113
ConstHalfedgeLoopIter chl_end(HalfedgeHandle _heh) const
const face - face circulator
Definition: PolyConnectivity_inline_impl.hh:765
CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstVertexIHalfedgeIter, VertexHandle, HalfedgeHandle, &PolyConnectivity::cvih_begin, &PolyConnectivity::cvih_end > > ConstVertexIHalfedgeRange
Definition: PolyConnectivity.hh:1183
const PolyConnectivity * mesh() const
Get the underlying mesh of this handle.
Definition: SmartHandles.hh:74
HalfedgeLoopCWIter hl_cwbegin(HalfedgeHandle _heh)
halfedge circulator
Definition: PolyConnectivity_inline_impl.hh:537
FaceHalfedgeCCWIter fh_ccwend(FaceHandle _fh)
face - halfedge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:698
ConstFaceEdgeCWIter cfe_cwiter(FaceHandle _fh) const
const face - edge circulator cw
Definition: PolyConnectivity_inline_impl.hh:390
VertexEdgeCWIter ve_cwend(VertexHandle _vh)
vertex - edge circulator cw
Definition: PolyConnectivity_inline_impl.hh:621
ConstVertexVertexCCWIter cvv_ccwbegin(VertexHandle _vh) const
const vertex circulator ccw
Definition: PolyConnectivity_inline_impl.hh:458
ConstVertexEdgeIter cve_end(VertexHandle _vh) const
const vertex - edge circulator
Definition: PolyConnectivity_inline_impl.hh:664
ConstFaceVertexCWIter cfv_cwbegin(FaceHandle _fh) const
const face - vertex circulator cw
Definition: PolyConnectivity_inline_impl.hh:547
ConstVertexFaceCWIter cvf_cwbegin(VertexHandle _vh) const
const vertex - face circulator cw
Definition: PolyConnectivity_inline_impl.hh:491
VertexVertexCWIter vv_cwiter(VertexHandle _vh)
vertex - vertex circulator cw
Definition: PolyConnectivity_inline_impl.hh:246
Iterators::GenericCirculatorT< FaceFaceTraits, true > FaceFaceCCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:360
VertexIter ConstVertexIter
Linear iterator.
Definition: PolyConnectivity.hh:142
ConstFaceEdgeCCWIter cfe_ccwiter(FaceHandle _fh) const
const face - edge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:393
ConstHalfedgeLoopCWIter chl_cwbegin(HalfedgeHandle _heh) const
const halfedge circulator cw
Definition: PolyConnectivity_inline_impl.hh:583
FaceHalfedgeIter fh_end(FaceHandle _fh)
face - halfedge circulator
Definition: PolyConnectivity_inline_impl.hh:692
VertexIHalfedgeIter vih_iter(VertexHandle _vh)
vertex - incoming halfedge circulator
Definition: PolyConnectivity_inline_impl.hh:252
VertexEdgeCCWIter ve_ccwend(VertexHandle _vh)
vertex - edge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:624
ConstVertexIHalfedgeCWIter cvih_cwbegin(VertexHandle _vh) const
const vertex - incoming halfedge circulator cw
Definition: PolyConnectivity_inline_impl.hh:464
HalfedgeLoopCCWIter hl_ccwend(HalfedgeHandle _heh)
face - face circulator ccw
Definition: PolyConnectivity_inline_impl.hh:725
ConstFaceFaceIter cff_end(FaceHandle _fh) const
const face - face circulator
Definition: PolyConnectivity_inline_impl.hh:756
ConstVertexVertexCWIter cvv_cwend(VertexHandle _vh) const
const vertex circulator cw
Definition: PolyConnectivity_inline_impl.hh:640
CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstVertexFaceIter, VertexHandle, FaceHandle, &PolyConnectivity::cvf_begin, &PolyConnectivity::cvf_end > > ConstVertexFaceRange
Definition: PolyConnectivity.hh:1204
Iterators::GenericCirculatorT< VertexEdgeTraits, true > VertexEdgeCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:252
ConstFaceEdgeCCWIter cfe_ccwbegin(FaceHandle _fh) const
const face - edge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:568
ConstFaceFaceIter cff_begin(FaceHandle _fh) const
const face - face circulator
Definition: PolyConnectivity_inline_impl.hh:571
VertexFaceCCWIter vf_ccwiter(VertexHandle _vh)
vertex - face circulator ccw
Definition: PolyConnectivity_inline_impl.hh:285
ConstFaceVertexIter cfv_begin(FaceHandle _fh) const
const face - vertex circulator
Definition: PolyConnectivity_inline_impl.hh:544
Iterators::GenericCirculatorT< VertexVertexTraits, false > VertexVertexCCWIter
Enumerates 1-ring vertices in a counter clockwise fashion.
Definition: PolyConnectivity.hh:178
VertexOHalfedgeCCWIter voh_ccwend(VertexHandle _vh)
vertex - outgoing halfedge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:615
ConstFaceEdgeIter cfe_end(FaceHandle _fh) const
const face - edge circulator
Definition: PolyConnectivity_inline_impl.hh:747
VertexEdgeCCWIter ve_ccwiter(VertexHandle _vh)
vertex - edge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:276
FaceVertexCCWIter fv_ccwbegin(FaceHandle _fh)
face - vertex circulator ccw
Definition: PolyConnectivity_inline_impl.hh:504
ConstFaceFaceCCWIter cff_ccwbegin(FaceHandle _fh) const
const face - face circulator ccw
Definition: PolyConnectivity_inline_impl.hh:577
VertexOHalfedgeIter ConstVertexOHalfedgeIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:280
ConstFaceFaceCCWIter cff_ccwiter(FaceHandle _fh) const
const face - face circulator
Definition: PolyConnectivity_inline_impl.hh:402
static SmartEdgeHandle s_edge_handle(SmartHalfedgeHandle _heh)
returns the face handle of the opposite halfedge
Definition: PolyConnectivity_inline_impl.hh:62
FaceEdgeCWIter ConstFaceEdgeCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:374
FaceEdgeCCWIter fe_ccwbegin(FaceHandle _fh)
face - edge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:522
VertexEdgeCWIter ve_cwbegin(VertexHandle _vh)
vertex - edge circulator cw
Definition: PolyConnectivity_inline_impl.hh:436
VertexIHalfedgeIter vih_end(VertexHandle _vh)
vertex - incoming halfedge circulator
Definition: PolyConnectivity_inline_impl.hh:600
VertexIHalfedgeCWIter vih_cwiter(VertexHandle _vh)
vertex - incoming halfedge circulator cw
Definition: PolyConnectivity_inline_impl.hh:255
ConstVertexFaceCCWIter cvf_ccwbegin(VertexHandle _vh) const
const vertex - face circulator ccw
Definition: PolyConnectivity_inline_impl.hh:494
ConstVertexOHalfedgeCWIter cvoh_cwiter(VertexHandle _vh) const
const vertex - outgoing halfedge circulator cw
Definition: PolyConnectivity_inline_impl.hh:309
ConstVertexEdgeCCWIter cve_ccwbegin(VertexHandle _vh) const
const vertex - edge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:485
HalfedgeLoopIter hl_begin(HalfedgeHandle _heh)
halfedge circulator
Definition: PolyConnectivity_inline_impl.hh:534
ConstEdgeRange all_edges() const
Definition: PolyConnectivity_inline_impl.hh:118
ConstFaceHalfedgeCCWIter cfh_ccwend(FaceHandle _fh) const
const face - halfedge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:744
VertexOHalfedgeCWIter voh_cwbegin(VertexHandle _vh)
vertex - outgoing halfedge circulator cw
Definition: PolyConnectivity_inline_impl.hh:427
ConstFaceHalfedgeCWIter cfh_cwiter(FaceHandle _fh) const
const face - halfedge circulator cw
Definition: PolyConnectivity_inline_impl.hh:381
VertexOHalfedgeCWIter voh_cwiter(VertexHandle _vh)
vertex - outgoing halfedge circulator cw
Definition: PolyConnectivity_inline_impl.hh:264
ConstVertexVertexIter cvv_iter(VertexHandle _vh) const
const vertex circulator
Definition: PolyConnectivity_inline_impl.hh:288
ConstVertexFaceCWIter cvf_cwend(VertexHandle _vh) const
const vertex - face circulator cw
Definition: PolyConnectivity_inline_impl.hh:676
VertexIHalfedgeCCWIter vih_ccwbegin(VertexHandle _vh)
vertex - incoming halfedge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:421
ConstFaceEdgeIter cfe_begin(FaceHandle _fh) const
const face - edge circulator
Definition: PolyConnectivity_inline_impl.hh:562
FaceHalfedgeIter fh_iter(FaceHandle _fh)
face - halfedge circulator
Definition: PolyConnectivity_inline_impl.hh:342
ConstVertexVertexCCWIter cvv_ccwend(VertexHandle _vh) const
const vertex circulator ccw
Definition: PolyConnectivity_inline_impl.hh:643
ConstFaceFaceCWIter cff_cwbegin(FaceHandle _fh) const
const face - face circulator cw
Definition: PolyConnectivity_inline_impl.hh:574
VertexIHalfedgeIter ConstVertexIHalfedgeIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:283
Handle for a vertex entity.
Definition: Handles.hh:120
VertexOHalfedgeIter voh_iter(VertexHandle _vh)
vertex - outgoing halfedge circulator
Definition: PolyConnectivity_inline_impl.hh:261
VertexFaceIter vf_begin(VertexHandle _vh)
vertex - face circulator
Definition: PolyConnectivity_inline_impl.hh:442
Iterators::GenericCirculatorT_DEPRECATED< VertexHalfedgeTraits > VertexOHalfedgeIter
Enumerates outgoing half edges in a clockwise fashion.
Definition: PolyConnectivity.hh:192
Iterators::GenericCirculatorT< FaceEdgeTraits, false > FaceEdgeCWIter
Enumerate incident edges in a clockwise fashion.
Definition: PolyConnectivity.hh:345
ConstVertexFaceCWIter cvf_cwiter(VertexHandle _vh) const
const vertex - face circulator cw
Definition: PolyConnectivity_inline_impl.hh:327
HalfedgeIter ConstHalfedgeIter
Linear iterator.
Definition: PolyConnectivity.hh:143
ConstFaceEdgeCCWIter cfe_ccwend(FaceHandle _fh) const
const face - edge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:753
ConstFaceFaceCCWIter cff_ccwend(FaceHandle _fh) const
const face - face circulator
Definition: PolyConnectivity_inline_impl.hh:762
CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstVertexVertexCWIter, VertexHandle, VertexHandle, &PolyConnectivity::cvv_cwbegin, &PolyConnectivity::cvv_cwend > > ConstVertexVertexRange
Definition: PolyConnectivity.hh:1176
Iterators::GenericIteratorT< This, This::EdgeHandle, ArrayKernel, &ArrayKernel::has_edge_status, &ArrayKernel::n_edges > EdgeIter
Linear iterator.
Definition: PolyConnectivity.hh:139
EntityRange< RangeTraitT< const PolyConnectivity, PolyConnectivity::ConstFaceIter, &PolyConnectivity::faces_sbegin, &PolyConnectivity::faces_end > > ConstFaceRangeSkipping
Definition: PolyConnectivity.hh:1101
Iterators::GenericCirculatorT_DEPRECATED< FaceVertexTraits > FaceVertexIter
Enumerate incident vertices in a counter clockwise fashion.
Definition: PolyConnectivity.hh:308
ConstFaceRangeSkipping faces() const
Definition: PolyConnectivity_inline_impl.hh:119
EntityRange< RangeTraitT< const PolyConnectivity, PolyConnectivity::ConstVertexIter, &PolyConnectivity::vertices_sbegin, &PolyConnectivity::vertices_end > > ConstVertexRangeSkipping
Definition: PolyConnectivity.hh:1071
Iterators::GenericCirculatorT< VertexHalfedgeTraits, false > VertexOHalfedgeCCWIter
Enumerates outgoing half edges in a counter clockwise fashion.
Definition: PolyConnectivity.hh:198
VertexFaceIter vf_end(VertexHandle _vh)
vertex - face circulator
Definition: PolyConnectivity_inline_impl.hh:627
EdgeIter edges_end()
End iterator for edges.
Definition: PolyConnectivity_inline_impl.hh:200
FaceEdgeIter fe_end(FaceHandle _fh)
face - edge circulator
Definition: PolyConnectivity_inline_impl.hh:701
FaceEdgeIter fe_iter(FaceHandle _fh)
face - edge circulator
Definition: PolyConnectivity_inline_impl.hh:351
ConstVertexIHalfedgeCCWIter cvih_ccwiter(VertexHandle _vh) const
const vertex - incoming halfedge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:303
FaceFaceCCWIter ConstFaceFaceCCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:378
Iterators::GenericIteratorT< This, This::HalfedgeHandle, ArrayKernel, &ArrayKernel::has_halfedge_status, &ArrayKernel::n_halfedges > HalfedgeIter
Linear iterator.
Definition: PolyConnectivity.hh:138
Iterators::GenericCirculatorT_DEPRECATED< VertexEdgeTraits > VertexEdgeIter
Enumerates incident edges in a clockwise fashion.
Definition: PolyConnectivity.hh:251
ConstVertexEdgeCWIter cve_cwiter(VertexHandle _vh) const
const vertex - edge circulator cw
Definition: PolyConnectivity_inline_impl.hh:318
FaceIter ConstFaceIter
Linear iterator.
Definition: PolyConnectivity.hh:145
VertexIHalfedgeCWIter vih_cwbegin(VertexHandle _vh)
vertex - incoming halfedge circulator cw
Definition: PolyConnectivity_inline_impl.hh:418
ConstFaceHalfedgeRange fh_range(FaceHandle _fh) const
Definition: PolyConnectivity_inline_impl.hh:156
VertexVertexCCWIter vv_ccwbegin(VertexHandle _vh)
vertex - vertex circulator ccw
Definition: PolyConnectivity_inline_impl.hh:412
SmartFaceHandle face_handle(SmartHalfedgeHandle _heh) const
returns the face handle of the opposite halfedge
Definition: PolyConnectivity_inline_impl.hh:69
Definition: SmartHandles.hh:114
FaceFaceCWIter ff_cwiter(FaceHandle _fh)
face - face circulator cw
Definition: PolyConnectivity_inline_impl.hh:363
FaceVertexCWIter fv_cwiter(FaceHandle _fh)
face - vertex circulator cw
Definition: PolyConnectivity_inline_impl.hh:336
FaceHalfedgeIter ConstFaceHalfedgeIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:370
VertexIter vertices_begin()
Begin iterator for vertices.
Definition: PolyConnectivity_inline_impl.hh:170
ConstFaceFaceCWIter cff_cwiter(FaceHandle _fh) const
const face - face circulator cw
Definition: PolyConnectivity_inline_impl.hh:399
Iterators::GenericCirculatorT< FaceHalfedgeTraits, true > HalfedgeLoopCCWIter
Identical to FaceHalfedgeIter.
Definition: PolyConnectivity.hh:275
ConstFaceHalfedgeIter cfh_iter(FaceHandle _fh) const
const face - halfedge circulator
Definition: PolyConnectivity_inline_impl.hh:378
ConstVertexOHalfedgeRange voh_range(VertexHandle _vh) const
Definition: PolyConnectivity_inline_impl.hh:140
FaceHalfedgeCCWIter ConstFaceHalfedgeCCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:372
ConstVertexVertexRange vv_range(VertexHandle _vh) const
Definition: PolyConnectivity_inline_impl.hh:132
VertexVertexIter vv_iter(VertexHandle _vh)
vertex - vertex circulator
Definition: PolyConnectivity_inline_impl.hh:243
SmartHalfedgeHandle ccw_rotated_halfedge_handle(SmartHalfedgeHandle _heh) const
returns the face handle of the opposite halfedge
Definition: PolyConnectivity_inline_impl.hh:58
Iterators::GenericCirculatorT< FaceVertexTraits, false > FaceVertexCWIter
Enumerate incident vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:314
EntityRange< RangeTraitT< const PolyConnectivity, PolyConnectivity::ConstFaceIter, &PolyConnectivity::faces_begin, &PolyConnectivity::faces_end > > ConstFaceRange
Definition: PolyConnectivity.hh:1096
FaceVertexCCWIter fv_ccwend(FaceHandle _fh)
face - vertex circulator ccw
Definition: PolyConnectivity_inline_impl.hh:689
ConstVertexFaceCCWIter cvf_ccwiter(VertexHandle _vh) const
const vertex - face circulator ccw
Definition: PolyConnectivity_inline_impl.hh:330
FaceEdgeCWIter fe_cwiter(FaceHandle _fh)
face - edge circulator cw
Definition: PolyConnectivity_inline_impl.hh:354
ConstFaceEdgeRange fe_range(FaceHandle _fh) const
Definition: PolyConnectivity_inline_impl.hh:160
VertexOHalfedgeIter voh_end(VertexHandle _vh)
vertex - outgoing halfedge circulator
Definition: PolyConnectivity_inline_impl.hh:609
VertexOHalfedgeCCWIter ConstVertexOHalfedgeCCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:282
Iterators::GenericCirculatorT_DEPRECATED< FaceFaceTraits > FaceFaceIter
Enumerate adjacent faces in a counter clockwise fashion.
Definition: PolyConnectivity.hh:359
EdgeIter edges_begin()
Begin iterator for edges.
Definition: PolyConnectivity_inline_impl.hh:194
FaceFaceCWIter ff_cwbegin(FaceHandle _fh)
face - face circulator cw
Definition: PolyConnectivity_inline_impl.hh:528
ConstFaceVertexRange fv_range(FaceHandle _fh) const
Definition: PolyConnectivity_inline_impl.hh:152
ConstFaceVertexIter cfv_end(FaceHandle _fh) const
const face - vertex circulator
Definition: PolyConnectivity_inline_impl.hh:729
FaceEdgeCWIter fe_cwend(FaceHandle _fh)
face - edge circulator cw
Definition: PolyConnectivity_inline_impl.hh:704
Iterators::GenericCirculatorT< VertexFaceTraits, true > VertexFaceCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:232
VertexEdgeIter ve_end(VertexHandle _vh)
vertex - edge circulator
Definition: PolyConnectivity_inline_impl.hh:618
SmartEdgeHandle edge_handle(SmartHalfedgeHandle _heh) const
returns the face handle of the opposite halfedge
Definition: PolyConnectivity_inline_impl.hh:65
VertexOHalfedgeIter voh_begin(VertexHandle _vh)
vertex - outgoing halfedge circulator
Definition: PolyConnectivity_inline_impl.hh:424
VertexFaceCCWIter ConstVertexFaceCCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:288
EntityRange< RangeTraitT< const PolyConnectivity, PolyConnectivity::ConstEdgeIter, &PolyConnectivity::edges_sbegin, &PolyConnectivity::edges_end > > ConstEdgeRangeSkipping
Definition: PolyConnectivity.hh:1091
Iterators::GenericCirculatorT< VertexVertexTraits, true > VertexVertexCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:173
ConstVertexRange all_vertices() const
Definition: PolyConnectivity_inline_impl.hh:114
VertexVertexIter vv_begin(VertexHandle _vh)
vertex - vertex circulator
Definition: PolyConnectivity_inline_impl.hh:406
EntityRange< RangeTraitT< const PolyConnectivity, PolyConnectivity::ConstEdgeIter, &PolyConnectivity::edges_begin, &PolyConnectivity::edges_end > > ConstEdgeRange
Definition: PolyConnectivity.hh:1086
VertexVertexCWIter vv_cwend(VertexHandle _vh)
vertex - vertex circulator cw
Definition: PolyConnectivity_inline_impl.hh:594
HalfedgeLoopIter ConstHalfedgeLoopIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:383
ConstVertexFaceRange vf_range(VertexHandle _vh) const
Definition: PolyConnectivity_inline_impl.hh:148
Definition: SmartHandles.hh:162
Iterators::GenericIteratorT< This, This::VertexHandle, ArrayKernel, &ArrayKernel::has_vertex_status, &ArrayKernel::n_vertices > VertexIter
Linear iterator.
Definition: PolyConnectivity.hh:137
SmartHalfedgeHandle halfedge_handle(SmartEdgeHandle _eh, unsigned int _i) const
returns the face handle of the opposite halfedge
Definition: PolyConnectivity_inline_impl.hh:64
FaceEdgeCCWIter fe_ccwiter(FaceHandle _fh)
face - edge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:357
FaceIter faces_end()
End iterator for faces.
Definition: PolyConnectivity_inline_impl.hh:212
FaceFaceIter ff_iter(FaceHandle _fh)
face - face circulator
Definition: PolyConnectivity_inline_impl.hh:360
FaceHalfedgeIter fh_begin(FaceHandle _fh)
face - halfedge circulator
Definition: PolyConnectivity_inline_impl.hh:507
ConstVertexVertexIter cvv_begin(VertexHandle _vh) const
const vertex circulator
Definition: PolyConnectivity_inline_impl.hh:452
FaceHalfedgeCCWIter fh_ccwbegin(FaceHandle _fh)
face - halfedge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:513
Smart version of VertexHandle contains a pointer to the corresponding mesh and allows easier access t...
Definition: SmartHandles.hh:84
VertexIHalfedgeCCWIter vih_ccwiter(VertexHandle _vh)
vertex - incoming halfedge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:258
Generic class for iterator ranges.
Definition: PolyConnectivity.hh:86
FaceHalfedgeCWIter fh_cwiter(FaceHandle _fh)
face - halfedge circulator cw
Definition: PolyConnectivity_inline_impl.hh:345
ConstFaceHalfedgeIter cfh_end(FaceHandle _fh) const
const face - halfedge circulator
Definition: PolyConnectivity_inline_impl.hh:738
VertexOHalfedgeCCWIter voh_ccwiter(VertexHandle _vh)
vertex - outgoing halfedge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:267
Iterators::GenericCirculatorT< VertexFaceTraits, false > VertexFaceCCWIter
Enumerates incident faces in a counter clockwise fashion.
Definition: PolyConnectivity.hh:237
Iterators::GenericCirculatorT< FaceFaceTraits, false > FaceFaceCWIter
Enumerate adjacent faces in a clockwise fashion.
Definition: PolyConnectivity.hh:365
FaceFaceCWIter ConstFaceFaceCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:377
ConstVertexVertexCWIter cvv_cwiter(VertexHandle _vh) const
const vertex circulator cw
Definition: PolyConnectivity_inline_impl.hh:291
VertexIHalfedgeCCWIter vih_ccwend(VertexHandle _vh)
vertex - incoming halfedge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:606
ConstVertexEdgeIter cve_begin(VertexHandle _vh) const
const vertex - edge circulator
Definition: PolyConnectivity_inline_impl.hh:479
ConstFaceRange all_faces() const
Definition: PolyConnectivity_inline_impl.hh:120
FaceIter faces_sbegin()
Begin iterator for faces.
Definition: PolyConnectivity_inline_impl.hh:237
ConstFaceHalfedgeIter cfh_begin(FaceHandle _fh) const
const face - halfedge circulator
Definition: PolyConnectivity_inline_impl.hh:553
Iterators::GenericCirculatorT_DEPRECATED< VertexOppositeHalfedgeTraits > VertexIHalfedgeIter
Enumerates incoming half edges in a clockwise fashion.
Definition: PolyConnectivity.hh:211
HalfedgeLoopCCWIter ConstHalfedgeLoopCCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:385
VertexVertexCWIter vv_cwbegin(VertexHandle _vh)
vertex - vertex circulator cw
Definition: PolyConnectivity_inline_impl.hh:409
FaceVertexCWIter fv_cwend(FaceHandle _fh)
face - vertex circulator cw
Definition: PolyConnectivity_inline_impl.hh:686
ConstFaceVertexCWIter cfv_cwiter(FaceHandle _fh) const
const face - vertex circulator cw
Definition: PolyConnectivity_inline_impl.hh:372
Base class for all smart range types.
Definition: SmartRange.hh:73
Handle for a edge entity.
Definition: Handles.hh:134
ConstVertexOHalfedgeCWIter cvoh_cwbegin(VertexHandle _vh) const
const vertex - outgoing halfedge circulator cw
Definition: PolyConnectivity_inline_impl.hh:473
HalfedgeLoopIter hl_end(HalfedgeHandle _heh)
face - face circulator
Definition: PolyConnectivity_inline_impl.hh:719
ConstVertexOHalfedgeCCWIter cvoh_ccwend(VertexHandle _vh) const
const vertex - outgoing halfedge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:661
Iterators::GenericCirculatorT< FaceVertexTraits, true > FaceVertexCCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:309
SmartVertexHandle make_smart(VertexHandle _vh, const PolyConnectivity *_mesh)
Creats a SmartVertexHandle from a VertexHandle and a Mesh.
Definition: SmartHandles.hh:186
VertexEdgeCWIter ve_cwiter(VertexHandle _vh)
vertex - edge circulator cw
Definition: PolyConnectivity_inline_impl.hh:273
ConstHalfedgeLoopIter chl_begin(HalfedgeHandle _heh) const
const halfedge circulator
Definition: PolyConnectivity_inline_impl.hh:580
ConstHalfedgeRange all_halfedges() const
Definition: PolyConnectivity_inline_impl.hh:116
ConstVertexEdgeRange ve_range(VertexHandle _vh) const
Definition: PolyConnectivity_inline_impl.hh:144
ConstHalfedgeLoopCCWIter chl_ccwbegin(HalfedgeHandle _heh) const
const halfedge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:586
FaceFaceIter ff_end(FaceHandle _fh)
face - face circulator
Definition: PolyConnectivity_inline_impl.hh:710
Iterators::GenericCirculatorT< VertexOppositeHalfedgeTraits, false > VertexIHalfedgeCCWIter
Enumerates incoming half edges in a counter clockwise fashion.
Definition: PolyConnectivity.hh:217
FaceIter faces_begin()
Begin iterator for faces.
Definition: PolyConnectivity_inline_impl.hh:206
FaceHalfedgeCWIter fh_cwbegin(FaceHandle _fh)
face - halfedge circulator cw
Definition: PolyConnectivity_inline_impl.hh:510
Iterators::GenericCirculatorT< FaceHalfedgeTraits, true > FaceHalfedgeCCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:320
CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstFaceEdgeIter, FaceHandle, EdgeHandle, &PolyConnectivity::cfe_begin, &PolyConnectivity::cfe_end > > ConstFaceEdgeRange
Definition: PolyConnectivity.hh:1225
Iterators::GenericCirculatorT_DEPRECATED< VertexVertexTraits > VertexVertexIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:172
ConstVertexIHalfedgeRange vih_range(VertexHandle _vh) const
Definition: PolyConnectivity_inline_impl.hh:136
ConstVertexOHalfedgeCCWIter cvoh_ccwiter(VertexHandle _vh) const
const vertex - outgoing halfedge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:312
Definition: SmartHandles.hh:137
VertexOHalfedgeCCWIter voh_ccwbegin(VertexHandle _vh)
vertex - outgoing halfedge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:430
ConstFaceVertexCCWIter cfv_ccwend(FaceHandle _fh) const
const face - vertex circulator ccw
Definition: PolyConnectivity_inline_impl.hh:735
VertexVertexIter ConstVertexVertexIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:277
SmartHalfedgeHandle cw_rotated_halfedge_handle(SmartHalfedgeHandle _heh) const
returns the face handle of the opposite halfedge
Definition: PolyConnectivity_inline_impl.hh:59
static SmartHalfedgeHandle s_halfedge_handle(SmartEdgeHandle _eh, unsigned int _i)
returns the face handle of the opposite halfedge
Definition: PolyConnectivity_inline_impl.hh:61
ConstFaceHalfedgeCWIter cfh_cwbegin(FaceHandle _fh) const
const face - halfedge circulator cw
Definition: PolyConnectivity_inline_impl.hh:556
FaceFaceIter ConstFaceFaceIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:376
FaceFaceIter ff_begin(FaceHandle _fh)
face - face circulator
Definition: PolyConnectivity_inline_impl.hh:525
VertexIter vertices_end()
End iterator for vertices.
Definition: PolyConnectivity_inline_impl.hh:176
EntityRange< RangeTraitT< const PolyConnectivity, PolyConnectivity::ConstHalfedgeIter, &PolyConnectivity::halfedges_begin, &PolyConnectivity::halfedges_end > > ConstHalfedgeRange
Definition: PolyConnectivity.hh:1076
ConstVertexIHalfedgeCCWIter cvih_ccwbegin(VertexHandle _vh) const
const vertex - incoming halfedge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:467
VertexEdgeIter ve_iter(VertexHandle _vh)
vertex - edge circulator
Definition: PolyConnectivity_inline_impl.hh:270
VertexEdgeCWIter ConstVertexEdgeCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:290
Iterators::GenericCirculatorT_DEPRECATED< VertexFaceTraits > VertexFaceIter
Enumerates incident faces in a clockwise fashion.
Definition: PolyConnectivity.hh:231
ConstVertexOHalfedgeIter cvoh_begin(VertexHandle _vh) const
const vertex - outgoing halfedge circulator
Definition: PolyConnectivity_inline_impl.hh:470
Iterators::GenericCirculatorT_DEPRECATED< FaceHalfedgeTraits > FaceHalfedgeIter
Enumerate incident half edges in a counter clockwise fashion.
Definition: PolyConnectivity.hh:319
VertexVertexCCWIter vv_ccwiter(VertexHandle _vh)
vertex - vertex circulator ccw
Definition: PolyConnectivity_inline_impl.hh:249
CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstFaceHalfedgeIter, FaceHandle, HalfedgeHandle, &PolyConnectivity::cfh_begin, &PolyConnectivity::cfh_end > > ConstFaceHalfedgeRange
Definition: PolyConnectivity.hh:1218
ConstFaceHalfedgeCCWIter cfh_ccwiter(FaceHandle _fh) const
const face - halfedge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:384
ConstVertexOHalfedgeCWIter cvoh_cwend(VertexHandle _vh) const
const vertex - outgoing halfedge circulator cw
Definition: PolyConnectivity_inline_impl.hh:658
Contains all the mesh ingredients like the polygonal mesh, the triangle mesh, different mesh kernels ...
Definition: MeshItems.hh:59
VertexIHalfedgeCWIter vih_cwend(VertexHandle _vh)
vertex - incoming halfedge circulator cw
Definition: PolyConnectivity_inline_impl.hh:603
ConstHalfedgeLoopCCWIter chl_ccwend(HalfedgeHandle _heh) const
const face - face circulator ccw
Definition: PolyConnectivity_inline_impl.hh:771
Handle for a halfedge entity.
Definition: Handles.hh:127
EdgeIter edges_sbegin()
Begin iterator for edges.
Definition: PolyConnectivity_inline_impl.hh:231
ConstVertexOHalfedgeIter cvoh_end(VertexHandle _vh) const
const vertex - outgoing halfedge circulator
Definition: PolyConnectivity_inline_impl.hh:655
CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstVertexOHalfedgeIter, VertexHandle, HalfedgeHandle, &PolyConnectivity::cvoh_begin, &PolyConnectivity::cvoh_end > > ConstVertexOHalfedgeRange
Definition: PolyConnectivity.hh:1190
CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstFaceFaceIter, FaceHandle, FaceHandle, &PolyConnectivity::cff_begin, &PolyConnectivity::cff_end > > ConstFaceFaceRange
Definition: PolyConnectivity.hh:1232
ConstFaceFaceIter cff_iter(FaceHandle _fh) const
const face - face circulator
Definition: PolyConnectivity_inline_impl.hh:396
HalfedgeLoopCCWIter hl_ccwbegin(HalfedgeHandle _heh)
halfedge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:540
FaceEdgeCCWIter fe_ccwend(FaceHandle _fh)
face - edge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:707
Iterators::GenericCirculatorT_DEPRECATED< FaceEdgeTraits > FaceEdgeIter
Enumerate incident edges in a counter clockwise fashion.
Definition: PolyConnectivity.hh:339
FaceEdgeCCWIter ConstFaceEdgeCCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:375
ConstVertexIHalfedgeCWIter cvih_cwend(VertexHandle _vh) const
const vertex - incoming halfedge circulator cw
Definition: PolyConnectivity_inline_impl.hh:649
Iterators::GenericCirculatorT< FaceEdgeTraits, true > FaceEdgeCCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:340
VertexIHalfedgeCCWIter ConstVertexIHalfedgeCCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:285
VertexIHalfedgeCWIter ConstVertexIHalfedgeCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:284
ConstVertexOHalfedgeIter cvoh_iter(VertexHandle _vh) const
const vertex - outgoing halfedge circulator
Definition: PolyConnectivity_inline_impl.hh:306
SmartHalfedgeHandle opposite_halfedge_handle(SmartHalfedgeHandle _heh) const
returns the face handle of the opposite halfedge
Definition: PolyConnectivity_inline_impl.hh:57
FaceFaceCCWIter ff_ccwiter(FaceHandle _fh)
face - face circulator ccw
Definition: PolyConnectivity_inline_impl.hh:366
VertexOHalfedgeCWIter ConstVertexOHalfedgeCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:281
SmartVertexHandle add_vertex()
Add a new vertex.
Definition: PolyConnectivity_inline_impl.hh:53
FaceEdgeIter ConstFaceEdgeIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:373
ConstVertexIHalfedgeCCWIter cvih_ccwend(VertexHandle _vh) const
const vertex - incoming halfedge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:652
HalfedgeLoopCWIter ConstHalfedgeLoopCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:384
ConstFaceVertexCWIter cfv_cwend(FaceHandle _fh) const
const face - vertex circulator cw
Definition: PolyConnectivity_inline_impl.hh:732
CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstVertexEdgeIter, VertexHandle, EdgeHandle, &PolyConnectivity::cve_begin, &PolyConnectivity::cve_end > > ConstVertexEdgeRange
Definition: PolyConnectivity.hh:1197
FaceHalfedgeCCWIter fh_ccwiter(FaceHandle _fh)
face - halfedge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:348
VertexHandle new_vertex()
Add a new vertex.
Definition: ArrayKernel.hh:216
ConstVertexEdgeCWIter cve_cwbegin(VertexHandle _vh) const
const vertex - edge circulator cw
Definition: PolyConnectivity_inline_impl.hh:482
FaceEdgeIter fe_begin(FaceHandle _fh)
face - edge circulator
Definition: PolyConnectivity_inline_impl.hh:516
FaceVertexCWIter ConstFaceVertexCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:368

Project OpenMesh, ©  Computer Graphics Group, RWTH Aachen. Documentation generated using doxygen .