OpenMesh
PolyConnectivity_inline_impl.hh
1 /* ========================================================================= *
2  * *
3  * OpenMesh *
4  * Copyright (c) 2001-2022, 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_INTERFACE_INCLUDE
43 #error Do not include this directly, include instead PolyConnectivity.hh
44 #endif // OPENMESH_POLYCONNECTIVITY_INTERFACE_INCLUDE
45 
46 #include <OpenMesh/Core/Mesh/PolyConnectivity.hh> // To help some IDEs
47 #include <OpenMesh/Core/Mesh/IteratorsT.hh>
48 #include <OpenMesh/Core/Mesh/CirculatorsT.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), heh_()
104  {
105  auto it = CirculatorRangeTraitT::begin(container_, center);
106  heh_ = it.heh_;
107  }
108 
110  const CONTAINER_TYPE &container,
111  HalfedgeHandle heh, int) :
112  container_(container), heh_(heh) {}
113 
114  ITER_TYPE begin() const { return CirculatorRangeTraitT::begin(container_, heh_, 1); }
115  ITER_TYPE end() const { return CirculatorRangeTraitT::end(container_, heh_, 1); }
116 
117  private:
118  const CONTAINER_TYPE &container_;
119  HalfedgeHandle heh_;
120 };
121 
122 
131 
132 template <> inline PolyConnectivity::ConstVertexRangeSkipping PolyConnectivity::elements<VertexHandle>() const { return vertices(); }
133 template <> inline PolyConnectivity::ConstVertexRange PolyConnectivity::all_elements<VertexHandle>() const { return all_vertices(); }
134 template <> inline PolyConnectivity::ConstHalfedgeRangeSkipping PolyConnectivity::elements<HalfedgeHandle>() const { return halfedges(); }
135 template <> inline PolyConnectivity::ConstHalfedgeRange PolyConnectivity::all_elements<HalfedgeHandle>() const { return all_halfedges(); }
136 template <> inline PolyConnectivity::ConstEdgeRangeSkipping PolyConnectivity::elements<EdgeHandle>() const { return edges(); }
137 template <> inline PolyConnectivity::ConstEdgeRange PolyConnectivity::all_elements<EdgeHandle>() const { return all_edges(); }
138 template <> inline PolyConnectivity::ConstFaceRangeSkipping PolyConnectivity::elements<FaceHandle>() const { return faces(); }
139 template <> inline PolyConnectivity::ConstFaceRange PolyConnectivity::all_elements<FaceHandle>() const { return all_faces(); }
140 
141 
143  return ConstVertexVertexRange(*this, _vh);
144 }
145 
147  return ConstVertexIHalfedgeRange(*this, _vh);
148 }
149 
151  return ConstVertexIHalfedgeRange(*this, opposite_halfedge_handle(_heh), 1);
152 }
153 
155  return ConstVertexOHalfedgeRange(*this, _vh);
156 }
157 
159  return ConstVertexOHalfedgeRange(*this, _heh, 1);
160 }
161 
163  return ConstVertexEdgeRange(*this, _vh);
164 }
165 
167  return ConstVertexFaceRange(*this, _vh);
168 }
169 
171  return ConstFaceVertexRange(*this, _fh);
172 }
173 
175  return ConstFaceHalfedgeRange(*this, _fh);
176 }
177 
179  return ConstFaceEdgeRange(*this, _fh);
180 }
181 
183  return ConstFaceFaceRange(*this, _fh);
184 }
185 
187  return ConstHalfedgeLoopRange(*this, _heh);
188 }
189 
190 
192  return ConstVertexVertexCWRange(*this, _vh);
193 }
194 
196  return ConstVertexIHalfedgeCWRange(*this, _vh);
197 }
198 
201 }
202 
204  return ConstVertexOHalfedgeCWRange(*this, _vh);
205 }
206 
208  return ConstVertexOHalfedgeCWRange(*this, _heh, 1);
209 }
210 
212  return ConstVertexEdgeCWRange(*this, _vh);
213 }
214 
216  return ConstVertexFaceCWRange(*this, _vh);
217 }
218 
220  return ConstFaceVertexCWRange(*this, _fh);
221 }
222 
224  return ConstFaceHalfedgeCWRange(*this, _fh);
225 }
226 
228  return ConstFaceEdgeCWRange(*this, _fh);
229 }
230 
232  return ConstFaceFaceCWRange(*this, _fh);
233 }
234 
236  return ConstHalfedgeLoopCWRange(*this, _heh);
237 }
238 
239 
240 
242  return ConstVertexVertexCCWRange(*this, _vh);
243 }
244 
246  return ConstVertexIHalfedgeCCWRange(*this, _vh);
247 }
248 
251 }
252 
254  return ConstVertexOHalfedgeCCWRange(*this, _vh);
255 }
256 
258  return ConstVertexOHalfedgeCCWRange(*this, _heh, 1);
259 }
260 
262  return ConstVertexEdgeCCWRange(*this, _vh);
263 }
264 
266  return ConstVertexFaceCCWRange(*this, _vh);
267 }
268 
270  return ConstFaceVertexCCWRange(*this, _fh);
271 }
272 
274  return ConstFaceHalfedgeCCWRange(*this, _fh);
275 }
276 
278  return ConstFaceEdgeCCWRange(*this, _fh);
279 }
280 
282  return ConstFaceFaceCCWRange(*this, _fh);
283 }
284 
286  return ConstHalfedgeLoopCCWRange(*this, _heh);
287 }
288 
289 
290 
292 { return VertexIter(*this, VertexHandle(0)); }
293 
295 { return ConstVertexIter(*this, VertexHandle(0)); }
296 
298 { return VertexIter(*this, VertexHandle( int(n_vertices() ) )); }
299 
301 { return ConstVertexIter(*this, VertexHandle( int(n_vertices()) )); }
302 
304 { return HalfedgeIter(*this, HalfedgeHandle(0)); }
305 
307 { return ConstHalfedgeIter(*this, HalfedgeHandle(0)); }
308 
310 { return HalfedgeIter(*this, HalfedgeHandle(int(n_halfedges()))); }
311 
313 { return ConstHalfedgeIter(*this, HalfedgeHandle(int(n_halfedges()))); }
314 
316 { return EdgeIter(*this, EdgeHandle(0)); }
317 
319 { return ConstEdgeIter(*this, EdgeHandle(0)); }
320 
322 { return EdgeIter(*this, EdgeHandle(int(n_edges()))); }
323 
325 { return ConstEdgeIter(*this, EdgeHandle(int(n_edges()))); }
326 
328 { return FaceIter(*this, FaceHandle(0)); }
329 
331 { return ConstFaceIter(*this, FaceHandle(0)); }
332 
334 { return FaceIter(*this, FaceHandle(int(n_faces()))); }
335 
336 
338 { return ConstFaceIter(*this, FaceHandle(int(n_faces()))); }
339 
341 { return VertexIter(*this, VertexHandle(0), true); }
342 
344 { return ConstVertexIter(*this, VertexHandle(0), true); }
345 
347 { return HalfedgeIter(*this, HalfedgeHandle(0), true); }
348 
350 { return ConstHalfedgeIter(*this, HalfedgeHandle(0), true); }
351 
353 { return EdgeIter(*this, EdgeHandle(0), true); }
354 
356 { return ConstEdgeIter(*this, EdgeHandle(0), true); }
357 
359 { return FaceIter(*this, FaceHandle(0), true); }
360 
362 { return ConstFaceIter(*this, FaceHandle(0), true); }
363 
365 { return VertexVertexIter(*this, _vh); }
366 
368 { return VertexVertexCWIter(*this, _vh); }
369 
371 { return VertexVertexCCWIter(*this, _vh); }
372 
374 { return VertexIHalfedgeIter(*this, _vh); }
375 
377 { return VertexIHalfedgeCWIter(*this, _vh); }
378 
380 { return VertexIHalfedgeCCWIter(*this, _vh); }
381 
383 { return VertexOHalfedgeIter(*this, _vh); }
384 
386 { return VertexOHalfedgeCWIter(*this, _vh); }
387 
389 { return VertexOHalfedgeCCWIter(*this, _vh); }
390 
392 { return VertexEdgeIter(*this, _vh); }
393 
395 { return VertexEdgeCWIter(*this, _vh); }
396 
398 { return VertexEdgeCCWIter(*this, _vh); }
399 
401 { return VertexFaceIter(*this, _vh); }
402 
404 { return VertexFaceCWIter(*this, _vh); }
405 
407 { return VertexFaceCCWIter(*this, _vh); }
408 
410 { return ConstVertexVertexIter(*this, _vh); }
411 
413 { return ConstVertexVertexCWIter(*this, _vh); }
414 
416 { return ConstVertexVertexCCWIter(*this, _vh); }
417 
419 { return ConstVertexIHalfedgeIter(*this, _vh); }
420 
422 { return ConstVertexIHalfedgeCWIter(*this, _vh); }
423 
425 { return ConstVertexIHalfedgeCCWIter(*this, _vh); }
426 
428 { return ConstVertexOHalfedgeIter(*this, _vh); }
429 
431 { return ConstVertexOHalfedgeCWIter(*this, _vh); }
432 
434 { return ConstVertexOHalfedgeCCWIter(*this, _vh); }
435 
437 { return ConstVertexEdgeIter(*this, _vh); }
438 
440 { return ConstVertexEdgeCWIter(*this, _vh); }
441 
443 { return ConstVertexEdgeCCWIter(*this, _vh); }
444 
446 { return ConstVertexFaceIter(*this, _vh); }
447 
449 { return ConstVertexFaceCWIter(*this, _vh); }
450 
452 { return ConstVertexFaceCCWIter(*this, _vh); }
453 
455 { return FaceVertexIter(*this, _fh); }
456 
458 { return FaceVertexCWIter(*this, _fh); }
459 
461 { return FaceVertexCCWIter(*this, _fh); }
462 
464 { return FaceHalfedgeIter(*this, _fh); }
465 
467 { return FaceHalfedgeCWIter(*this, _fh); }
468 
470 { return FaceHalfedgeCCWIter(*this, _fh); }
471 
473 { return FaceEdgeIter(*this, _fh); }
474 
476 { return FaceEdgeCWIter(*this, _fh); }
477 
479 { return FaceEdgeCCWIter(*this, _fh); }
480 
482 { return FaceFaceIter(*this, _fh); }
483 
485 { return FaceFaceCWIter(*this, _fh); }
486 
488 { return FaceFaceCCWIter(*this, _fh); }
489 
491 { return ConstFaceVertexIter(*this, _fh); }
492 
494 { return ConstFaceVertexCWIter(*this, _fh); }
495 
497 { return ConstFaceVertexCCWIter(*this, _fh); }
498 
500 { return ConstFaceHalfedgeIter(*this, _fh); }
501 
503 { return ConstFaceHalfedgeCWIter(*this, _fh); }
504 
506 { return ConstFaceHalfedgeCCWIter(*this, _fh); }
507 
509 { return ConstFaceEdgeIter(*this, _fh); }
510 
512 { return ConstFaceEdgeCWIter(*this, _fh); }
513 
515 { return ConstFaceEdgeCCWIter(*this, _fh); }
516 
518 { return ConstFaceFaceIter(*this, _fh); }
519 
521 { return ConstFaceFaceCWIter(*this, _fh); }
522 
524 { return ConstFaceFaceCCWIter(*this, _fh); }
525 
526 
528 { return VertexVertexIter(*this, _vh); }
529 
531 { return VertexVertexCWIter(*this, _vh); }
532 
534 { return VertexVertexCCWIter(*this, _vh); }
535 
537 { return VertexIHalfedgeIter(*this, _vh); }
538 
540 { return VertexIHalfedgeCWIter(*this, _vh); }
541 
543 { return VertexIHalfedgeCCWIter(*this, _vh); }
544 
546 { return VertexOHalfedgeIter(*this, _vh); }
547 
549 { return VertexOHalfedgeCWIter(*this, _vh); }
550 
552 { return VertexOHalfedgeCCWIter(*this, _vh); }
553 
555 { return VertexEdgeIter(*this, _vh); }
556 
558 { return VertexEdgeCWIter(*this, _vh); }
559 
561 { return VertexEdgeCCWIter(*this, _vh); }
562 
564 { return VertexFaceIter(*this, _vh); }
565 
567 { return VertexFaceCWIter(*this, _vh); }
568 
570 { return VertexFaceCCWIter(*this, _vh); }
571 
572 
574 { return ConstVertexVertexIter(*this, _vh); }
575 
577 { return ConstVertexVertexCWIter(*this, _vh); }
578 
580 { return ConstVertexVertexCCWIter(*this, _vh); }
581 
583 { return ConstVertexIHalfedgeIter(*this, _vh); }
584 
586 { return ConstVertexIHalfedgeCWIter(*this, _vh); }
587 
589 { return ConstVertexIHalfedgeCCWIter(*this, _vh); }
590 
592 { return ConstVertexOHalfedgeIter(*this, _vh); }
593 
595 { return ConstVertexOHalfedgeCWIter(*this, _vh); }
596 
598 { return ConstVertexOHalfedgeCCWIter(*this, _vh); }
599 
601 { return ConstVertexEdgeIter(*this, _vh); }
602 
604 { return ConstVertexEdgeCWIter(*this, _vh); }
605 
607 { return ConstVertexEdgeCCWIter(*this, _vh); }
608 
610 { return ConstVertexFaceIter(*this, _vh); }
611 
613 { return ConstVertexFaceCWIter(*this, _vh); }
614 
616 { return ConstVertexFaceCCWIter(*this, _vh); }
617 
618 
620 { return FaceVertexIter(*this, _fh); }
621 
623 { return FaceVertexCWIter(*this, _fh); }
624 
626 { return FaceVertexCCWIter(*this, _fh); }
627 
629 { return FaceHalfedgeIter(*this, _fh); }
630 
632 { return FaceHalfedgeCWIter(*this, _fh); }
633 
635 { return FaceHalfedgeCCWIter(*this, _fh); }
636 
638 { return FaceEdgeIter(*this, _fh); }
639 
641 { return FaceEdgeCWIter(*this, _fh); }
642 
644 { return FaceEdgeCCWIter(*this, _fh); }
645 
647 { return FaceFaceIter(*this, _fh); }
648 
650 { return FaceFaceCWIter(*this, _fh); }
651 
653 { return FaceFaceCCWIter(*this, _fh); }
654 
656 { return HalfedgeLoopIter(*this, _heh); }
657 
659 { return HalfedgeLoopCWIter(*this, _heh); }
660 
662 { return HalfedgeLoopCCWIter(*this, _heh); }
663 
664 
666 { return ConstFaceVertexIter(*this, _fh); }
667 
669 { return ConstFaceVertexCWIter(*this, _fh); }
670 
672 { return ConstFaceVertexCCWIter(*this, _fh); }
673 
675 { return ConstFaceHalfedgeIter(*this, _fh); }
676 
678 { return ConstFaceHalfedgeCWIter(*this, _fh); }
679 
681 { return ConstFaceHalfedgeCCWIter(*this, _fh); }
682 
684 { return ConstFaceEdgeIter(*this, _fh); }
685 
687 { return ConstFaceEdgeCWIter(*this, _fh); }
688 
690 { return ConstFaceEdgeCCWIter(*this, _fh); }
691 
693 { return ConstFaceFaceIter(*this, _fh); }
694 
696 { return ConstFaceFaceCWIter(*this, _fh); }
697 
699 { return ConstFaceFaceCCWIter(*this, _fh); }
700 
702 { return ConstHalfedgeLoopIter(*this, _heh); }
703 
705 { return ConstHalfedgeLoopCWIter(*this, _heh); }
706 
708 { return ConstHalfedgeLoopCCWIter(*this, _heh); }
709 
710 // 'end' circulators
711 
713 { return VertexVertexIter(*this, _vh, true); }
714 
716 { return VertexVertexCWIter(*this, _vh, true); }
717 
719 { return VertexVertexCCWIter(*this, _vh, true); }
720 
722 { return VertexIHalfedgeIter(*this, _vh, true); }
723 
725 { return VertexIHalfedgeCWIter(*this, _vh, true); }
726 
728 { return VertexIHalfedgeCCWIter(*this, _vh, true); }
729 
731 { return VertexOHalfedgeIter(*this, _vh, true); }
732 
734 { return VertexOHalfedgeCWIter(*this, _vh, true); }
735 
737 { return VertexOHalfedgeCCWIter(*this, _vh, true); }
738 
740 { return VertexEdgeIter(*this, _vh, true); }
741 
743 { return VertexEdgeCWIter(*this, _vh, true); }
744 
746 { return VertexEdgeCCWIter(*this, _vh, true); }
747 
749 { return VertexFaceIter(*this, _vh, true); }
750 
752 { return VertexFaceCWIter(*this, _vh, true); }
753 
755 { return VertexFaceCCWIter(*this, _vh, true); }
756 
757 
759 { return ConstVertexVertexIter(*this, _vh, true); }
760 
762 { return ConstVertexVertexCWIter(*this, _vh, true); }
763 
765 { return ConstVertexVertexCCWIter(*this, _vh, true); }
766 
768 { return ConstVertexIHalfedgeIter(*this, _vh, true); }
769 
771 { return ConstVertexIHalfedgeCWIter(*this, _vh, true); }
772 
774 { return ConstVertexIHalfedgeCCWIter(*this, _vh, true); }
775 
777 { return ConstVertexOHalfedgeIter(*this, _vh, true); }
778 
780 { return ConstVertexOHalfedgeCWIter(*this, _vh, true); }
781 
783 { return ConstVertexOHalfedgeCCWIter(*this, _vh, true); }
784 
786 { return ConstVertexEdgeIter(*this, _vh, true); }
787 
789 { return ConstVertexEdgeCWIter(*this, _vh, true); }
790 
792 { return ConstVertexEdgeCCWIter(*this, _vh, true); }
793 
795 { return ConstVertexFaceIter(*this, _vh, true); }
796 
798 { return ConstVertexFaceCWIter(*this, _vh, true); }
799 
801 { return ConstVertexFaceCCWIter(*this, _vh, true); }
802 
803 
805 { return FaceVertexIter(*this, _fh, true); }
806 
808 { return FaceVertexCWIter(*this, _fh, true); }
809 
811 { return FaceVertexCCWIter(*this, _fh, true); }
812 
814 { return FaceHalfedgeIter(*this, _fh, true); }
815 
817 { return FaceHalfedgeCWIter(*this, _fh, true); }
818 
820 { return FaceHalfedgeCCWIter(*this, _fh, true); }
821 
823 { return FaceEdgeIter(*this, _fh, true); }
824 
826 { return FaceEdgeCWIter(*this, _fh, true); }
827 
829 { return FaceEdgeCCWIter(*this, _fh, true); }
830 
832 { return FaceFaceIter(*this, _fh, true); }
833 
835 { return FaceFaceCWIter(*this, _fh, true); }
836 
838 { return FaceFaceCCWIter(*this, _fh, true); }
839 
841 { return HalfedgeLoopIter(*this, _heh, true); }
842 
844 { return HalfedgeLoopCWIter(*this, _heh, true); }
845 
847 { return HalfedgeLoopCCWIter(*this, _heh, true); }
848 
849 
851 { return ConstFaceVertexIter(*this, _fh, true); }
852 
854 { return ConstFaceVertexCWIter(*this, _fh, true); }
855 
857 { return ConstFaceVertexCCWIter(*this, _fh, true); }
858 
860 { return ConstFaceHalfedgeIter(*this, _fh, true); }
861 
863 { return ConstFaceHalfedgeCWIter(*this, _fh, true); }
864 
866 { return ConstFaceHalfedgeCCWIter(*this, _fh, true); }
867 
869 { return ConstFaceEdgeIter(*this, _fh, true); }
870 
872 { return ConstFaceEdgeCWIter(*this, _fh, true); }
873 
875 { return ConstFaceEdgeCCWIter(*this, _fh, true); }
876 
878 { return ConstFaceFaceIter(*this, _fh, true); }
879 
881 { return ConstFaceFaceCWIter(*this, _fh, true); }
882 
884 { return ConstFaceFaceCCWIter(*this, _fh, true); }
885 
887 { return ConstHalfedgeLoopIter(*this, _heh, true); }
888 
890 { return ConstHalfedgeLoopCWIter(*this, _heh, true); }
891 
893 { return ConstHalfedgeLoopCCWIter(*this, _heh, true); }
894 
895 
896 inline PolyConnectivity::ConstVertexFaceRange SmartVertexHandle::faces() const { assert(mesh() != nullptr); return mesh()->vf_range (*this); }
897 inline PolyConnectivity::ConstVertexFaceCWRange SmartVertexHandle::faces_cw() const { assert(mesh() != nullptr); return mesh()->vf_cw_range (*this); }
898 inline PolyConnectivity::ConstVertexFaceCCWRange SmartVertexHandle::faces_ccw() const { assert(mesh() != nullptr); return mesh()->vf_ccw_range(*this); }
899 
900 inline PolyConnectivity::ConstVertexEdgeRange SmartVertexHandle::edges() const { assert(mesh() != nullptr); return mesh()->ve_range (*this); }
901 inline PolyConnectivity::ConstVertexEdgeCWRange SmartVertexHandle::edges_cw() const { assert(mesh() != nullptr); return mesh()->ve_cw_range (*this); }
902 inline PolyConnectivity::ConstVertexEdgeCCWRange SmartVertexHandle::edges_ccw() const { assert(mesh() != nullptr); return mesh()->ve_ccw_range(*this); }
903 
904 inline PolyConnectivity::ConstVertexVertexRange SmartVertexHandle::vertices() const { assert(mesh() != nullptr); return mesh()->vv_range (*this); }
905 inline PolyConnectivity::ConstVertexVertexCWRange SmartVertexHandle::vertices_cw() const { assert(mesh() != nullptr); return mesh()->vv_cw_range (*this); }
906 inline PolyConnectivity::ConstVertexVertexCCWRange SmartVertexHandle::vertices_ccw() const { assert(mesh() != nullptr); return mesh()->vv_ccw_range (*this); }
907 
911 
915 
919 
923 
924 
925 inline PolyConnectivity::ConstHalfedgeLoopRange SmartHalfedgeHandle::loop() const { assert(mesh() != nullptr); return mesh()->hl_range (*this); }
926 inline PolyConnectivity::ConstHalfedgeLoopCWRange SmartHalfedgeHandle::loop_cw() const { assert(mesh() != nullptr); return mesh()->hl_cw_range (*this); }
927 inline PolyConnectivity::ConstHalfedgeLoopCCWRange SmartHalfedgeHandle::loop_ccw() const { assert(mesh() != nullptr); return mesh()->hl_ccw_range (*this); }
928 
929 
930 inline PolyConnectivity::ConstFaceVertexRange SmartFaceHandle::vertices() const { assert(mesh() != nullptr); return mesh()->fv_range (*this); }
931 inline PolyConnectivity::ConstFaceVertexCWRange SmartFaceHandle::vertices_cw() const { assert(mesh() != nullptr); return mesh()->fv_cw_range (*this); }
932 inline PolyConnectivity::ConstFaceVertexCCWRange SmartFaceHandle::vertices_ccw() const { assert(mesh() != nullptr); return mesh()->fv_ccw_range(*this); }
933 
934 inline PolyConnectivity::ConstFaceHalfedgeRange SmartFaceHandle::halfedges() const { assert(mesh() != nullptr); return mesh()->fh_range (*this); }
935 inline PolyConnectivity::ConstFaceHalfedgeCWRange SmartFaceHandle::halfedges_cw() const { assert(mesh() != nullptr); return mesh()->fh_cw_range (*this); }
936 inline PolyConnectivity::ConstFaceHalfedgeCCWRange SmartFaceHandle::halfedges_ccw() const { assert(mesh() != nullptr); return mesh()->fh_ccw_range(*this); }
937 
938 inline PolyConnectivity::ConstFaceEdgeRange SmartFaceHandle::edges() const { assert(mesh() != nullptr); return mesh()->fe_range (*this); }
939 inline PolyConnectivity::ConstFaceEdgeCWRange SmartFaceHandle::edges_cw() const { assert(mesh() != nullptr); return mesh()->fe_cw_range (*this); }
940 inline PolyConnectivity::ConstFaceEdgeCCWRange SmartFaceHandle::edges_ccw() const { assert(mesh() != nullptr); return mesh()->fe_ccw_range(*this); }
941 
942 inline PolyConnectivity::ConstFaceFaceRange SmartFaceHandle::faces() const { assert(mesh() != nullptr); return mesh()->ff_range (*this); }
943 inline PolyConnectivity::ConstFaceFaceCWRange SmartFaceHandle::faces_cw() const { assert(mesh() != nullptr); return mesh()->ff_cw_range (*this); }
944 inline PolyConnectivity::ConstFaceFaceCCWRange SmartFaceHandle::faces_ccw() const { assert(mesh() != nullptr); return mesh()->ff_ccw_range(*this); }
945 
946 }//namespace OpenMesh
Contains all the mesh ingredients like the polygonal mesh, the triangle mesh, different mesh kernels ...
Definition: MeshItems.hh:59
SmartVertexHandle make_smart(VertexHandle _vh, const PolyConnectivity *_mesh)
Creats a SmartVertexHandle from a VertexHandle and a Mesh.
Definition: SmartHandles.hh:256
size_t n_vertices() const override
You should not use this function directly.
Definition: ArrayKernel.hh:343
size_t n_edges() const override
You should not use this function directly.
Definition: ArrayKernel.hh:345
VertexHandle new_vertex()
Add a new vertex.
Definition: ArrayKernel.hh:216
size_t n_faces() const override
You should not use this function directly.
Definition: ArrayKernel.hh:346
size_t n_halfedges() const override
You should not use this function directly.
Definition: ArrayKernel.hh:344
Generic class for iterator ranges.
Definition: PolyConnectivity_inline_impl.hh:92
Definition: CirculatorsT.hh:284
Handle for a vertex entity.
Definition: Handles.hh:121
Handle for a halfedge entity.
Definition: Handles.hh:128
Handle for a edge entity.
Definition: Handles.hh:135
Handle for a face entity.
Definition: Handles.hh:142
Definition: IteratorsT.hh:82
Generic class for vertex/halfedge/edge/face ranges.
Definition: PolyConnectivity_inline_impl.hh:76
ConstFaceHalfedgeCWRange fh_cw_range(FaceHandle _fh) const
Definition: PolyConnectivity_inline_impl.hh:223
ConstVertexVertexCWIter cvv_cwbegin(VertexHandle _vh) const
const vertex circulator cw
Definition: PolyConnectivity_inline_impl.hh:576
FaceHalfedgeCWIter fh_cwiter(FaceHandle _fh)
face - halfedge circulator cw
Definition: PolyConnectivity_inline_impl.hh:466
CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstVertexVertexIter, VertexHandle, VertexHandle, &PolyConnectivity::cvv_begin, &PolyConnectivity::cvv_end > > ConstVertexVertexRange
Definition: PolyConnectivity.hh:1172
EdgeIter edges_end()
End iterator for edges.
Definition: PolyConnectivity_inline_impl.hh:321
HalfedgeHandle next_halfedge_handle(HalfedgeHandle _heh) const
returns the face handle of the opposite halfedge
Definition: ArrayKernel.hh:401
CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstFaceVertexIter, FaceHandle, VertexHandle, &PolyConnectivity::cfv_begin, &PolyConnectivity::cfv_end > > ConstFaceVertexRange
Definition: PolyConnectivity.hh:1177
CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstFaceHalfedgeCWIter, FaceHandle, HalfedgeHandle, &PolyConnectivity::cfh_cwbegin, &PolyConnectivity::cfh_cwend > > ConstFaceHalfedgeCWRange
Definition: PolyConnectivity.hh:1189
VertexVertexIter vv_begin(VertexHandle _vh)
vertex - vertex circulator
Definition: PolyConnectivity_inline_impl.hh:527
EdgeIter ConstEdgeIter
Linear iterator.
Definition: PolyConnectivity.hh:146
ConstFaceFaceCCWIter cff_ccwend(FaceHandle _fh) const
const face - face circulator
Definition: PolyConnectivity_inline_impl.hh:883
VertexVertexCCWIter vv_ccwiter(VertexHandle _vh)
vertex - vertex circulator ccw
Definition: PolyConnectivity_inline_impl.hh:370
VertexVertexIter vv_end(VertexHandle _vh)
vertex - vertex circulator
Definition: PolyConnectivity_inline_impl.hh:712
Iterators::GenericCirculatorT< VertexEdgeTraits, false > VertexEdgeCCWIter
Enumerates incident edges in a counter clockwise fashion.
Definition: PolyConnectivity.hh:258
HalfedgeHandle halfedge_handle(unsigned int _i) const
returns the face handle of the opposite halfedge
Definition: ArrayKernel.hh:193
FaceEdgeCWIter fe_cwiter(FaceHandle _fh)
face - edge circulator cw
Definition: PolyConnectivity_inline_impl.hh:475
HalfedgeLoopCWIter ConstHalfedgeLoopCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:386
FaceFaceCCWIter ff_ccwiter(FaceHandle _fh)
face - face circulator ccw
Definition: PolyConnectivity_inline_impl.hh:487
CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstFaceFaceCWIter, FaceHandle, FaceHandle, &PolyConnectivity::cff_cwbegin, &PolyConnectivity::cff_cwend > > ConstFaceFaceCWRange
Definition: PolyConnectivity.hh:1191
HalfedgeIter halfedges_end()
End iterator for halfedges.
Definition: PolyConnectivity_inline_impl.hh:309
VertexFaceIter vf_begin(VertexHandle _vh)
vertex - face circulator
Definition: PolyConnectivity_inline_impl.hh:563
ConstFaceEdgeCWIter cfe_cwend(FaceHandle _fh) const
const face - edge circulator cw
Definition: PolyConnectivity_inline_impl.hh:871
ConstFaceFaceIter cff_end(FaceHandle _fh) const
const face - face circulator
Definition: PolyConnectivity_inline_impl.hh:877
FaceFaceCWIter ff_cwiter(FaceHandle _fh)
face - face circulator cw
Definition: PolyConnectivity_inline_impl.hh:484
VertexIHalfedgeCCWIter vih_ccwend(VertexHandle _vh)
vertex - incoming halfedge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:727
ConstHalfedgeLoopRange hl_range(HalfedgeHandle _heh) const
Definition: PolyConnectivity_inline_impl.hh:186
VertexFaceCWIter vf_cwbegin(VertexHandle _vh)
vertex - face circulator cw
Definition: PolyConnectivity_inline_impl.hh:566
Iterators::GenericIteratorT< This, This::HalfedgeHandle, ArrayKernel, &ArrayKernel::has_halfedge_status, &ArrayKernel::n_halfedges > HalfedgeIter
Linear iterator.
Definition: PolyConnectivity.hh:140
FaceEdgeCCWIter fe_ccwbegin(FaceHandle _fh)
face - edge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:643
ConstVertexVertexCWRange vv_cw_range(VertexHandle _vh) const
Definition: PolyConnectivity_inline_impl.hh:191
ConstVertexVertexIter cvv_iter(VertexHandle _vh) const
const vertex circulator
Definition: PolyConnectivity_inline_impl.hh:409
CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstFaceHalfedgeCCWIter, FaceHandle, HalfedgeHandle, &PolyConnectivity::cfh_ccwbegin, &PolyConnectivity::cfh_ccwend > > ConstFaceHalfedgeCCWRange
Definition: PolyConnectivity.hh:1200
CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstVertexVertexCCWIter, VertexHandle, VertexHandle, &PolyConnectivity::cvv_ccwbegin, &PolyConnectivity::cvv_ccwend > > ConstVertexVertexCCWRange
Definition: PolyConnectivity.hh:1194
FaceHalfedgeCWIter fh_cwend(FaceHandle _fh)
face - halfedge circulator cw
Definition: PolyConnectivity_inline_impl.hh:816
VertexIHalfedgeIter ConstVertexIHalfedgeIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:285
ConstFaceEdgeIter cfe_end(FaceHandle _fh) const
const face - edge circulator
Definition: PolyConnectivity_inline_impl.hh:868
VertexEdgeCWIter ve_cwbegin(VertexHandle _vh)
vertex - edge circulator cw
Definition: PolyConnectivity_inline_impl.hh:557
ConstVertexIHalfedgeCCWIter cvih_ccwiter(VertexHandle _vh) const
const vertex - incoming halfedge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:424
FaceFaceIter ConstFaceFaceIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:378
Iterators::GenericCirculatorT< VertexVertexTraits, false > VertexVertexCCWIter
Enumerates 1-ring vertices in a counter clockwise fashion.
Definition: PolyConnectivity.hh:180
static EdgeHandle s_edge_handle(HalfedgeHandle _heh)
returns the face handle of the opposite halfedge
Definition: ArrayKernel.hh:478
VertexIter vertices_sbegin()
Begin iterator for vertices.
Definition: PolyConnectivity_inline_impl.hh:340
FaceHalfedgeIter fh_end(FaceHandle _fh)
face - halfedge circulator
Definition: PolyConnectivity_inline_impl.hh:813
VertexFaceCWIter vf_cwiter(VertexHandle _vh)
vertex - face circulator cw
Definition: PolyConnectivity_inline_impl.hh:403
HalfedgeIter halfedges_sbegin()
Begin iterator for halfedges.
Definition: PolyConnectivity_inline_impl.hh:346
ConstFaceHalfedgeIter cfh_end(FaceHandle _fh) const
const face - halfedge circulator
Definition: PolyConnectivity_inline_impl.hh:859
ConstFaceFaceCWIter cff_cwend(FaceHandle _fh) const
const face - face circulator
Definition: PolyConnectivity_inline_impl.hh:880
Iterators::GenericCirculatorT< FaceVertexTraits, false > FaceVertexCWIter
Enumerate incident vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:316
FaceHalfedgeCCWIter fh_ccwbegin(FaceHandle _fh)
face - halfedge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:634
HalfedgeLoopCCWIter hl_ccwbegin(HalfedgeHandle _heh)
halfedge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:661
HalfedgeIter halfedges_begin()
Begin iterator for halfedges.
Definition: PolyConnectivity_inline_impl.hh:303
ConstFaceHalfedgeIter cfh_iter(FaceHandle _fh) const
const face - halfedge circulator
Definition: PolyConnectivity_inline_impl.hh:499
FaceFaceCWIter ConstFaceFaceCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:379
ConstFaceFaceCCWIter cff_ccwbegin(FaceHandle _fh) const
const face - face circulator ccw
Definition: PolyConnectivity_inline_impl.hh:698
ConstFaceHalfedgeCWIter cfh_cwiter(FaceHandle _fh) const
const face - halfedge circulator cw
Definition: PolyConnectivity_inline_impl.hh:502
FaceHalfedgeCCWIter ConstFaceHalfedgeCCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:374
EdgeIter edges_sbegin()
Begin iterator for edges.
Definition: PolyConnectivity_inline_impl.hh:352
CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstVertexVertexCWIter, VertexHandle, VertexHandle, &PolyConnectivity::cvv_cwbegin, &PolyConnectivity::cvv_cwend > > ConstVertexVertexCWRange
Definition: PolyConnectivity.hh:1183
CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstVertexOHalfedgeCCWIter, VertexHandle, HalfedgeHandle, &PolyConnectivity::cvoh_ccwbegin, &PolyConnectivity::cvoh_ccwend > > ConstVertexOHalfedgeCCWRange
Definition: PolyConnectivity.hh:1196
EntityRange< RangeTraitT< const PolyConnectivity, PolyConnectivity::ConstEdgeIter, &PolyConnectivity::edges_sbegin, &PolyConnectivity::edges_end > > ConstEdgeRangeSkipping
Definition: PolyConnectivity.hh:1093
VertexIHalfedgeCWIter vih_cwend(VertexHandle _vh)
vertex - incoming halfedge circulator cw
Definition: PolyConnectivity_inline_impl.hh:724
EdgeIter edges_begin()
Begin iterator for edges.
Definition: PolyConnectivity_inline_impl.hh:315
FaceVertexCWIter fv_cwiter(FaceHandle _fh)
face - vertex circulator cw
Definition: PolyConnectivity_inline_impl.hh:457
ConstFaceFaceRange ff_range(FaceHandle _fh) const
Definition: PolyConnectivity_inline_impl.hh:182
ConstVertexIHalfedgeCWIter cvih_cwend(VertexHandle _vh) const
const vertex - incoming halfedge circulator cw
Definition: PolyConnectivity_inline_impl.hh:770
ConstVertexEdgeCCWIter cve_ccwbegin(VertexHandle _vh) const
const vertex - edge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:606
ConstVertexVertexCWIter cvv_cwend(VertexHandle _vh) const
const vertex circulator cw
Definition: PolyConnectivity_inline_impl.hh:761
ConstVertexOHalfedgeRange voh_range(VertexHandle _vh) const
Definition: PolyConnectivity_inline_impl.hh:154
CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstHalfedgeLoopCCWIter, HalfedgeHandle, HalfedgeHandle, &PolyConnectivity::chl_ccwbegin, &PolyConnectivity::chl_ccwend > > ConstHalfedgeLoopCCWRange
Definition: PolyConnectivity.hh:1203
HalfedgeHandle ccw_rotated_halfedge_handle(HalfedgeHandle _heh) const
returns the face handle of the opposite halfedge
Definition: ArrayKernel.hh:464
FaceVertexIter fv_begin(FaceHandle _fh)
face - vertex circulator
Definition: PolyConnectivity_inline_impl.hh:619
CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstFaceVertexCWIter, FaceHandle, VertexHandle, &PolyConnectivity::cfv_cwbegin, &PolyConnectivity::cfv_cwend > > ConstFaceVertexCWRange
Definition: PolyConnectivity.hh:1188
VertexEdgeCWIter ve_cwend(VertexHandle _vh)
vertex - edge circulator cw
Definition: PolyConnectivity_inline_impl.hh:742
FaceVertexCCWIter fv_ccwiter(FaceHandle _fh)
face - vertex circulator ccw
Definition: PolyConnectivity_inline_impl.hh:460
ConstVertexVertexCCWIter cvv_ccwbegin(VertexHandle _vh) const
const vertex circulator ccw
Definition: PolyConnectivity_inline_impl.hh:579
HalfedgeLoopCWIter hl_cwbegin(HalfedgeHandle _heh)
halfedge circulator
Definition: PolyConnectivity_inline_impl.hh:658
FaceFaceCWIter ff_cwend(FaceHandle _fh)
face - face circulator cw
Definition: PolyConnectivity_inline_impl.hh:834
VertexVertexCCWIter ConstVertexVertexCCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:281
CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstVertexIHalfedgeIter, VertexHandle, HalfedgeHandle, &PolyConnectivity::cvih_begin, &PolyConnectivity::cvih_end > > ConstVertexIHalfedgeRange
Definition: PolyConnectivity.hh:1173
FaceFaceIter ff_iter(FaceHandle _fh)
face - face circulator
Definition: PolyConnectivity_inline_impl.hh:481
ConstHalfedgeLoopIter chl_end(HalfedgeHandle _heh) const
const face - face circulator
Definition: PolyConnectivity_inline_impl.hh:886
FaceVertexCWIter fv_cwend(FaceHandle _fh)
face - vertex circulator cw
Definition: PolyConnectivity_inline_impl.hh:807
ConstHalfedgeLoopCWIter chl_cwend(HalfedgeHandle _heh) const
const face - face circulator cw
Definition: PolyConnectivity_inline_impl.hh:889
Iterators::GenericIteratorT< This, This::VertexHandle, ArrayKernel, &ArrayKernel::has_vertex_status, &ArrayKernel::n_vertices > VertexIter
Linear iterator.
Definition: PolyConnectivity.hh:139
EntityRange< RangeTraitT< const PolyConnectivity, PolyConnectivity::ConstFaceIter, &PolyConnectivity::faces_begin, &PolyConnectivity::faces_end > > ConstFaceRange
Definition: PolyConnectivity.hh:1098
VertexOHalfedgeCWIter voh_cwiter(VertexHandle _vh)
vertex - outgoing halfedge circulator cw
Definition: PolyConnectivity_inline_impl.hh:385
ConstHalfedgeLoopCCWIter chl_ccwend(HalfedgeHandle _heh) const
const face - face circulator ccw
Definition: PolyConnectivity_inline_impl.hh:892
CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstFaceFaceCCWIter, FaceHandle, FaceHandle, &PolyConnectivity::cff_ccwbegin, &PolyConnectivity::cff_ccwend > > ConstFaceFaceCCWRange
Definition: PolyConnectivity.hh:1202
CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstVertexIHalfedgeCWIter, VertexHandle, HalfedgeHandle, &PolyConnectivity::cvih_cwbegin, &PolyConnectivity::cvih_cwend > > ConstVertexIHalfedgeCWRange
Definition: PolyConnectivity.hh:1184
ConstHalfedgeLoopCCWRange hl_ccw_range(HalfedgeHandle _heh) const
Definition: PolyConnectivity_inline_impl.hh:285
ConstFaceHalfedgeCCWIter cfh_ccwbegin(FaceHandle _fh) const
const face - halfedge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:680
HalfedgeLoopIter hl_begin(HalfedgeHandle _heh)
halfedge circulator
Definition: PolyConnectivity_inline_impl.hh:655
Iterators::GenericCirculatorT_DEPRECATED< VertexOppositeHalfedgeTraits > VertexIHalfedgeIter
Enumerates incoming half edges in a clockwise fashion.
Definition: PolyConnectivity.hh:213
EntityRange< RangeTraitT< const PolyConnectivity, PolyConnectivity::ConstVertexIter, &PolyConnectivity::vertices_begin, &PolyConnectivity::vertices_end > > ConstVertexRange
Definition: PolyConnectivity.hh:1068
FaceFaceCCWIter ConstFaceFaceCCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:380
VertexOHalfedgeCWIter ConstVertexOHalfedgeCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:283
FaceEdgeCWIter ConstFaceEdgeCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:376
ConstFaceEdgeRange fe_range(FaceHandle _fh) const
Definition: PolyConnectivity_inline_impl.hh:178
VertexOHalfedgeCCWIter voh_ccwiter(VertexHandle _vh)
vertex - outgoing halfedge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:388
Iterators::GenericCirculatorT_DEPRECATED< VertexVertexTraits > VertexVertexIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:174
CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstVertexOHalfedgeCWIter, VertexHandle, HalfedgeHandle, &PolyConnectivity::cvoh_cwbegin, &PolyConnectivity::cvoh_cwend > > ConstVertexOHalfedgeCWRange
Definition: PolyConnectivity.hh:1185
ConstFaceEdgeCWIter cfe_cwiter(FaceHandle _fh) const
const face - edge circulator cw
Definition: PolyConnectivity_inline_impl.hh:511
HalfedgeLoopCCWIter ConstHalfedgeLoopCCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:387
ConstVertexFaceCWIter cvf_cwiter(VertexHandle _vh) const
const vertex - face circulator cw
Definition: PolyConnectivity_inline_impl.hh:448
FaceVertexCCWIter fv_ccwbegin(FaceHandle _fh)
face - vertex circulator ccw
Definition: PolyConnectivity_inline_impl.hh:625
ConstFaceVertexIter cfv_iter(FaceHandle _fh) const
const face - vertex circulator
Definition: PolyConnectivity_inline_impl.hh:490
VertexOHalfedgeIter voh_begin(VertexHandle _vh)
vertex - outgoing halfedge circulator
Definition: PolyConnectivity_inline_impl.hh:545
VertexEdgeIter ConstVertexEdgeIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:291
Iterators::GenericCirculatorT_DEPRECATED< FaceHalfedgeTraits > FaceHalfedgeIter
Enumerate incident half edges in a counter clockwise fashion.
Definition: PolyConnectivity.hh:321
CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstFaceEdgeIter, FaceHandle, EdgeHandle, &PolyConnectivity::cfe_begin, &PolyConnectivity::cfe_end > > ConstFaceEdgeRange
Definition: PolyConnectivity.hh:1179
HalfedgeHandle prev_halfedge_handle(HalfedgeHandle _heh) const
returns the face handle of the opposite halfedge
Definition: ArrayKernel.hh:427
Iterators::GenericCirculatorT_DEPRECATED< VertexHalfedgeTraits > VertexOHalfedgeIter
Enumerates outgoing half edges in a clockwise fashion.
Definition: PolyConnectivity.hh:194
ConstFaceEdgeCCWIter cfe_ccwend(FaceHandle _fh) const
const face - edge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:874
ConstFaceHalfedgeIter cfh_begin(FaceHandle _fh) const
const face - halfedge circulator
Definition: PolyConnectivity_inline_impl.hh:674
ConstFaceFaceCWRange ff_cw_range(FaceHandle _fh) const
Definition: PolyConnectivity_inline_impl.hh:231
HalfedgeLoopIter ConstHalfedgeLoopIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:385
ConstVertexIHalfedgeCWRange vih_cw_range(VertexHandle _vh) const
Definition: PolyConnectivity_inline_impl.hh:195
ConstFaceFaceIter cff_iter(FaceHandle _fh) const
const face - face circulator
Definition: PolyConnectivity_inline_impl.hh:517
ConstVertexFaceCCWIter cvf_ccwbegin(VertexHandle _vh) const
const vertex - face circulator ccw
Definition: PolyConnectivity_inline_impl.hh:615
ConstFaceVertexCCWIter cfv_ccwiter(FaceHandle _fh) const
const face - vertex circulator ccw
Definition: PolyConnectivity_inline_impl.hh:496
CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstHalfedgeLoopIter, HalfedgeHandle, HalfedgeHandle, &PolyConnectivity::chl_begin, &PolyConnectivity::chl_end > > ConstHalfedgeLoopRange
Definition: PolyConnectivity.hh:1181
ConstVertexEdgeCCWRange ve_ccw_range(VertexHandle _vh) const
Definition: PolyConnectivity_inline_impl.hh:261
ConstVertexOHalfedgeCCWIter cvoh_ccwiter(VertexHandle _vh) const
const vertex - outgoing halfedge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:433
VertexFaceIter ConstVertexFaceIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:288
CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstVertexEdgeCWIter, VertexHandle, EdgeHandle, &PolyConnectivity::cve_cwbegin, &PolyConnectivity::cve_cwend > > ConstVertexEdgeCWRange
Definition: PolyConnectivity.hh:1186
ConstHalfedgeRange all_halfedges() const
Definition: PolyConnectivity_inline_impl.hh:126
CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstVertexEdgeCCWIter, VertexHandle, EdgeHandle, &PolyConnectivity::cve_ccwbegin, &PolyConnectivity::cve_ccwend > > ConstVertexEdgeCCWRange
Definition: PolyConnectivity.hh:1197
VertexVertexCWIter vv_cwbegin(VertexHandle _vh)
vertex - vertex circulator cw
Definition: PolyConnectivity_inline_impl.hh:530
VertexIter ConstVertexIter
Linear iterator.
Definition: PolyConnectivity.hh:144
ConstVertexVertexCCWIter cvv_ccwiter(VertexHandle _vh) const
const vertex circulator ccw
Definition: PolyConnectivity_inline_impl.hh:415
Iterators::GenericIteratorT< This, This::FaceHandle, ArrayKernel, &ArrayKernel::has_face_status, &ArrayKernel::n_faces > FaceIter
Linear iterator.
Definition: PolyConnectivity.hh:142
Iterators::GenericCirculatorT_DEPRECATED< VertexEdgeTraits > VertexEdgeIter
Enumerates incident edges in a clockwise fashion.
Definition: PolyConnectivity.hh:253
FaceVertexIter ConstFaceVertexIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:369
VertexVertexIter vv_iter(VertexHandle _vh)
vertex - vertex circulator
Definition: PolyConnectivity_inline_impl.hh:364
ConstVertexOHalfedgeCWIter cvoh_cwbegin(VertexHandle _vh) const
const vertex - outgoing halfedge circulator cw
Definition: PolyConnectivity_inline_impl.hh:594
ConstVertexIHalfedgeCCWIter cvih_ccwbegin(VertexHandle _vh) const
const vertex - incoming halfedge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:588
ConstEdgeRangeSkipping edges() const
Definition: PolyConnectivity_inline_impl.hh:127
CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstFaceEdgeCWIter, FaceHandle, EdgeHandle, &PolyConnectivity::cfe_cwbegin, &PolyConnectivity::cfe_cwend > > ConstFaceEdgeCWRange
Definition: PolyConnectivity.hh:1190
VertexIHalfedgeCCWIter ConstVertexIHalfedgeCCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:287
VertexFaceCWIter ConstVertexFaceCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:289
static HalfedgeHandle s_halfedge_handle(EdgeHandle _eh, unsigned int _i)
returns the face handle of the opposite halfedge
Definition: ArrayKernel.hh:472
ConstVertexFaceCWRange vf_cw_range(VertexHandle _vh) const
Definition: PolyConnectivity_inline_impl.hh:215
VertexIHalfedgeCWIter vih_cwbegin(VertexHandle _vh)
vertex - incoming halfedge circulator cw
Definition: PolyConnectivity_inline_impl.hh:539
CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstVertexEdgeIter, VertexHandle, EdgeHandle, &PolyConnectivity::cve_begin, &PolyConnectivity::cve_end > > ConstVertexEdgeRange
Definition: PolyConnectivity.hh:1175
VertexIHalfedgeIter vih_end(VertexHandle _vh)
vertex - incoming halfedge circulator
Definition: PolyConnectivity_inline_impl.hh:721
ConstVertexEdgeRange ve_range(VertexHandle _vh) const
Definition: PolyConnectivity_inline_impl.hh:162
ConstVertexOHalfedgeCWRange voh_cw_range(VertexHandle _vh) const
Definition: PolyConnectivity_inline_impl.hh:203
ConstFaceEdgeCCWIter cfe_ccwbegin(FaceHandle _fh) const
const face - edge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:689
ConstVertexFaceCCWIter cvf_ccwiter(VertexHandle _vh) const
const vertex - face circulator ccw
Definition: PolyConnectivity_inline_impl.hh:451
ConstFaceEdgeCCWRange fe_ccw_range(FaceHandle _fh) const
Definition: PolyConnectivity_inline_impl.hh:277
VertexEdgeCCWIter ve_ccwiter(VertexHandle _vh)
vertex - edge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:397
ConstEdgeRange all_edges() const
Definition: PolyConnectivity_inline_impl.hh:128
VertexEdgeCCWIter ve_ccwend(VertexHandle _vh)
vertex - edge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:745
VertexEdgeIter ve_end(VertexHandle _vh)
vertex - edge circulator
Definition: PolyConnectivity_inline_impl.hh:739
ConstFaceEdgeCWRange fe_cw_range(FaceHandle _fh) const
Definition: PolyConnectivity_inline_impl.hh:227
ConstHalfedgeLoopCWRange hl_cw_range(HalfedgeHandle _heh) const
Definition: PolyConnectivity_inline_impl.hh:235
FaceIter faces_sbegin()
Begin iterator for faces.
Definition: PolyConnectivity_inline_impl.hh:358
EdgeHandle edge_handle(unsigned int _i) const
returns the face handle of the opposite halfedge
Definition: ArrayKernel.hh:199
Iterators::GenericCirculatorT< VertexHalfedgeTraits, false > VertexOHalfedgeCCWIter
Enumerates outgoing half edges in a counter clockwise fashion.
Definition: PolyConnectivity.hh:200
FaceVertexIter fv_end(FaceHandle _fh)
face - vertex circulator
Definition: PolyConnectivity_inline_impl.hh:804
VertexFaceCCWIter vf_ccwend(VertexHandle _vh)
vertex - face circulator ccw
Definition: PolyConnectivity_inline_impl.hh:754
Iterators::GenericCirculatorT_DEPRECATED< VertexFaceTraits > VertexFaceIter
Enumerates incident faces in a clockwise fashion.
Definition: PolyConnectivity.hh:233
Iterators::GenericIteratorT< This, This::EdgeHandle, ArrayKernel, &ArrayKernel::has_edge_status, &ArrayKernel::n_edges > EdgeIter
Linear iterator.
Definition: PolyConnectivity.hh:141
ConstVertexIHalfedgeCCWRange vih_ccw_range(VertexHandle _vh) const
Definition: PolyConnectivity_inline_impl.hh:245
ConstFaceVertexIter cfv_begin(FaceHandle _fh) const
const face - vertex circulator
Definition: PolyConnectivity_inline_impl.hh:665
ConstVertexEdgeIter cve_iter(VertexHandle _vh) const
const vertex - edge circulator
Definition: PolyConnectivity_inline_impl.hh:436
ConstFaceFaceCWIter cff_cwiter(FaceHandle _fh) const
const face - face circulator cw
Definition: PolyConnectivity_inline_impl.hh:520
VertexFaceCWIter vf_cwend(VertexHandle _vh)
vertex - face circulator cw
Definition: PolyConnectivity_inline_impl.hh:751
ConstFaceEdgeIter cfe_iter(FaceHandle _fh) const
const face - edge circulator
Definition: PolyConnectivity_inline_impl.hh:508
ConstFaceVertexCCWIter cfv_ccwend(FaceHandle _fh) const
const face - vertex circulator ccw
Definition: PolyConnectivity_inline_impl.hh:856
FaceEdgeCWIter fe_cwbegin(FaceHandle _fh)
face - edge circulator cw
Definition: PolyConnectivity_inline_impl.hh:640
HalfedgeHandle cw_rotated_halfedge_handle(HalfedgeHandle _heh) const
returns the face handle of the opposite halfedge
Definition: ArrayKernel.hh:468
VertexIHalfedgeCWIter vih_cwiter(VertexHandle _vh)
vertex - incoming halfedge circulator cw
Definition: PolyConnectivity_inline_impl.hh:376
FaceHalfedgeCCWIter fh_ccwiter(FaceHandle _fh)
face - halfedge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:469
ConstFaceEdgeIter cfe_begin(FaceHandle _fh) const
const face - edge circulator
Definition: PolyConnectivity_inline_impl.hh:683
Iterators::GenericCirculatorT< FaceHalfedgeTraits, true > HalfedgeLoopCCWIter
Identical to FaceHalfedgeIter.
Definition: PolyConnectivity.hh:277
FaceFaceCWIter ff_cwbegin(FaceHandle _fh)
face - face circulator cw
Definition: PolyConnectivity_inline_impl.hh:649
Iterators::GenericCirculatorT< FaceFaceTraits, true > FaceFaceCCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:362
ConstFaceFaceCCWIter cff_ccwiter(FaceHandle _fh) const
const face - face circulator
Definition: PolyConnectivity_inline_impl.hh:523
HalfedgeLoopIter hl_end(HalfedgeHandle _heh)
face - face circulator
Definition: PolyConnectivity_inline_impl.hh:840
FaceEdgeCCWIter ConstFaceEdgeCCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:377
ConstVertexFaceCCWRange vf_ccw_range(VertexHandle _vh) const
Definition: PolyConnectivity_inline_impl.hh:265
VertexOHalfedgeCCWIter voh_ccwend(VertexHandle _vh)
vertex - outgoing halfedge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:736
ConstVertexEdgeCWIter cve_cwiter(VertexHandle _vh) const
const vertex - edge circulator cw
Definition: PolyConnectivity_inline_impl.hh:439
VertexEdgeCCWIter ve_ccwbegin(VertexHandle _vh)
vertex - edge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:560
VertexOHalfedgeIter voh_iter(VertexHandle _vh)
vertex - outgoing halfedge circulator
Definition: PolyConnectivity_inline_impl.hh:382
ConstFaceVertexCWIter cfv_cwiter(FaceHandle _fh) const
const face - vertex circulator cw
Definition: PolyConnectivity_inline_impl.hh:493
ConstVertexOHalfedgeCCWIter cvoh_ccwbegin(VertexHandle _vh) const
const vertex - outgoing halfedge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:597
ConstHalfedgeRangeSkipping halfedges() const
Definition: PolyConnectivity_inline_impl.hh:125
ConstVertexEdgeCWRange ve_cw_range(VertexHandle _vh) const
Definition: PolyConnectivity_inline_impl.hh:211
Iterators::GenericCirculatorT_DEPRECATED< FaceHalfedgeTraits > HalfedgeLoopIter
Identical to FaceHalfedgeIter.
Definition: PolyConnectivity.hh:272
EntityRange< RangeTraitT< const PolyConnectivity, PolyConnectivity::ConstEdgeIter, &PolyConnectivity::edges_begin, &PolyConnectivity::edges_end > > ConstEdgeRange
Definition: PolyConnectivity.hh:1088
FaceEdgeIter fe_begin(FaceHandle _fh)
face - edge circulator
Definition: PolyConnectivity_inline_impl.hh:637
VertexOHalfedgeCWIter voh_cwbegin(VertexHandle _vh)
vertex - outgoing halfedge circulator cw
Definition: PolyConnectivity_inline_impl.hh:548
CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstFaceEdgeCCWIter, FaceHandle, EdgeHandle, &PolyConnectivity::cfe_ccwbegin, &PolyConnectivity::cfe_ccwend > > ConstFaceEdgeCCWRange
Definition: PolyConnectivity.hh:1201
VertexOHalfedgeCCWIter ConstVertexOHalfedgeCCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:284
FaceEdgeIter fe_end(FaceHandle _fh)
face - edge circulator
Definition: PolyConnectivity_inline_impl.hh:822
FaceFaceIter ff_end(FaceHandle _fh)
face - face circulator
Definition: PolyConnectivity_inline_impl.hh:831
EntityRange< RangeTraitT< const PolyConnectivity, PolyConnectivity::ConstHalfedgeIter, &PolyConnectivity::halfedges_sbegin, &PolyConnectivity::halfedges_end > > ConstHalfedgeRangeSkipping
Definition: PolyConnectivity.hh:1083
ConstFaceFaceIter cff_begin(FaceHandle _fh) const
const face - face circulator
Definition: PolyConnectivity_inline_impl.hh:692
FaceHalfedgeIter ConstFaceHalfedgeIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:372
ConstVertexFaceCCWIter cvf_ccwend(VertexHandle _vh) const
const vertex - face circulator ccw
Definition: PolyConnectivity_inline_impl.hh:800
Iterators::GenericCirculatorT_DEPRECATED< FaceVertexTraits > FaceVertexIter
Enumerate incident vertices in a counter clockwise fashion.
Definition: PolyConnectivity.hh:310
ConstVertexVertexCCWIter cvv_ccwend(VertexHandle _vh) const
const vertex circulator ccw
Definition: PolyConnectivity_inline_impl.hh:764
VertexOHalfedgeIter voh_end(VertexHandle _vh)
vertex - outgoing halfedge circulator
Definition: PolyConnectivity_inline_impl.hh:730
FaceEdgeIter fe_iter(FaceHandle _fh)
face - edge circulator
Definition: PolyConnectivity_inline_impl.hh:472
VertexIter vertices_begin()
Begin iterator for vertices.
Definition: PolyConnectivity_inline_impl.hh:291
CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstVertexFaceCWIter, VertexHandle, FaceHandle, &PolyConnectivity::cvf_cwbegin, &PolyConnectivity::cvf_cwend > > ConstVertexFaceCWRange
Definition: PolyConnectivity.hh:1187
Iterators::GenericCirculatorT< VertexFaceTraits, true > VertexFaceCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:234
HalfedgeIter ConstHalfedgeIter
Linear iterator.
Definition: PolyConnectivity.hh:145
ConstVertexEdgeCCWIter cve_ccwend(VertexHandle _vh) const
const vertex - edge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:791
ConstFaceVertexRange fv_range(FaceHandle _fh) const
Definition: PolyConnectivity_inline_impl.hh:170
ConstVertexIHalfedgeIter cvih_end(VertexHandle _vh) const
const vertex - incoming halfedge circulator
Definition: PolyConnectivity_inline_impl.hh:767
ConstVertexOHalfedgeCWIter cvoh_cwiter(VertexHandle _vh) const
const vertex - outgoing halfedge circulator cw
Definition: PolyConnectivity_inline_impl.hh:430
ConstVertexFaceIter cvf_iter(VertexHandle _vh) const
const vertex - face circulator
Definition: PolyConnectivity_inline_impl.hh:445
ConstFaceFaceCWIter cff_cwbegin(FaceHandle _fh) const
const face - face circulator cw
Definition: PolyConnectivity_inline_impl.hh:695
Iterators::GenericCirculatorT< VertexOppositeHalfedgeTraits, false > VertexIHalfedgeCCWIter
Enumerates incoming half edges in a counter clockwise fashion.
Definition: PolyConnectivity.hh:219
FaceVertexCCWIter ConstFaceVertexCCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:371
CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstVertexOHalfedgeIter, VertexHandle, HalfedgeHandle, &PolyConnectivity::cvoh_begin, &PolyConnectivity::cvoh_end > > ConstVertexOHalfedgeRange
Definition: PolyConnectivity.hh:1174
ConstFaceHalfedgeCCWIter cfh_ccwiter(FaceHandle _fh) const
const face - halfedge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:505
EntityRange< RangeTraitT< const PolyConnectivity, PolyConnectivity::ConstVertexIter, &PolyConnectivity::vertices_sbegin, &PolyConnectivity::vertices_end > > ConstVertexRangeSkipping
Definition: PolyConnectivity.hh:1073
ConstVertexRange all_vertices() const
Definition: PolyConnectivity_inline_impl.hh:124
Iterators::GenericCirculatorT< VertexEdgeTraits, true > VertexEdgeCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:254
ConstVertexVertexIter cvv_end(VertexHandle _vh) const
const vertex circulator
Definition: PolyConnectivity_inline_impl.hh:758
VertexVertexCCWIter vv_ccwend(VertexHandle _vh)
vertex - vertex circulator ccw
Definition: PolyConnectivity_inline_impl.hh:718
ConstFaceFaceCCWRange ff_ccw_range(FaceHandle _fh) const
Definition: PolyConnectivity_inline_impl.hh:281
ConstVertexIHalfedgeRange vih_range(VertexHandle _vh) const
Definition: PolyConnectivity_inline_impl.hh:146
FaceEdgeIter ConstFaceEdgeIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:375
SmartVertexHandle add_vertex()
Add a new vertex.
Definition: PolyConnectivity_inline_impl.hh:53
ConstVertexFaceIter cvf_begin(VertexHandle _vh) const
const vertex - face circulator
Definition: PolyConnectivity_inline_impl.hh:609
Iterators::GenericCirculatorT< FaceHalfedgeTraits, true > FaceHalfedgeCCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:322
ConstVertexEdgeCCWIter cve_ccwiter(VertexHandle _vh) const
const vertex - edge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:442
Iterators::GenericCirculatorT< VertexOppositeHalfedgeTraits, true > VertexIHalfedgeCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:214
FaceIter faces_end()
End iterator for faces.
Definition: PolyConnectivity_inline_impl.hh:333
CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstVertexFaceIter, VertexHandle, FaceHandle, &PolyConnectivity::cvf_begin, &PolyConnectivity::cvf_end > > ConstVertexFaceRange
Definition: PolyConnectivity.hh:1176
FaceVertexCWIter fv_cwbegin(FaceHandle _fh)
face - vertex circulator cw
Definition: PolyConnectivity_inline_impl.hh:622
ConstFaceHalfedgeCWIter cfh_cwend(FaceHandle _fh) const
const face - halfedge circulator cw
Definition: PolyConnectivity_inline_impl.hh:862
FaceEdgeCCWIter fe_ccwiter(FaceHandle _fh)
face - edge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:478
ConstVertexIHalfedgeCWIter cvih_cwbegin(VertexHandle _vh) const
const vertex - incoming halfedge circulator cw
Definition: PolyConnectivity_inline_impl.hh:585
CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstVertexIHalfedgeCCWIter, VertexHandle, HalfedgeHandle, &PolyConnectivity::cvih_ccwbegin, &PolyConnectivity::cvih_ccwend > > ConstVertexIHalfedgeCCWRange
Definition: PolyConnectivity.hh:1195
Iterators::GenericCirculatorT< FaceVertexTraits, true > FaceVertexCCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:311
ConstHalfedgeLoopIter chl_begin(HalfedgeHandle _heh) const
const halfedge circulator
Definition: PolyConnectivity_inline_impl.hh:701
FaceHalfedgeCCWIter fh_ccwend(FaceHandle _fh)
face - halfedge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:819
ConstVertexOHalfedgeIter cvoh_iter(VertexHandle _vh) const
const vertex - outgoing halfedge circulator
Definition: PolyConnectivity_inline_impl.hh:427
VertexFaceCCWIter ConstVertexFaceCCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:290
ConstFaceEdgeCWIter cfe_cwbegin(FaceHandle _fh) const
const face - edge circulator cw
Definition: PolyConnectivity_inline_impl.hh:686
ConstVertexVertexCCWRange vv_ccw_range(VertexHandle _vh) const
Definition: PolyConnectivity_inline_impl.hh:241
ConstFaceRangeSkipping faces() const
Definition: PolyConnectivity_inline_impl.hh:129
FaceFaceIter ff_begin(FaceHandle _fh)
face - face circulator
Definition: PolyConnectivity_inline_impl.hh:646
ConstVertexIHalfedgeIter cvih_begin(VertexHandle _vh) const
const vertex - incoming halfedge circulator
Definition: PolyConnectivity_inline_impl.hh:582
ConstVertexOHalfedgeIter cvoh_begin(VertexHandle _vh) const
const vertex - outgoing halfedge circulator
Definition: PolyConnectivity_inline_impl.hh:591
VertexOHalfedgeIter ConstVertexOHalfedgeIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:282
VertexVertexCCWIter vv_ccwbegin(VertexHandle _vh)
vertex - vertex circulator ccw
Definition: PolyConnectivity_inline_impl.hh:533
VertexFaceCCWIter vf_ccwbegin(VertexHandle _vh)
vertex - face circulator ccw
Definition: PolyConnectivity_inline_impl.hh:569
FaceIter ConstFaceIter
Linear iterator.
Definition: PolyConnectivity.hh:147
ConstVertexRangeSkipping vertices() const
Definition: PolyConnectivity_inline_impl.hh:123
FaceVertexCCWIter fv_ccwend(FaceHandle _fh)
face - vertex circulator ccw
Definition: PolyConnectivity_inline_impl.hh:810
ConstVertexFaceCWIter cvf_cwbegin(VertexHandle _vh) const
const vertex - face circulator cw
Definition: PolyConnectivity_inline_impl.hh:612
ConstVertexVertexCWIter cvv_cwiter(VertexHandle _vh) const
const vertex circulator cw
Definition: PolyConnectivity_inline_impl.hh:412
VertexIHalfedgeCWIter ConstVertexIHalfedgeCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:286
VertexEdgeCWIter ConstVertexEdgeCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:292
Iterators::GenericCirculatorT< VertexVertexTraits, true > VertexVertexCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:175
VertexFaceCCWIter vf_ccwiter(VertexHandle _vh)
vertex - face circulator ccw
Definition: PolyConnectivity_inline_impl.hh:406
VertexVertexCWIter vv_cwiter(VertexHandle _vh)
vertex - vertex circulator cw
Definition: PolyConnectivity_inline_impl.hh:367
ConstVertexOHalfedgeCCWIter cvoh_ccwend(VertexHandle _vh) const
const vertex - outgoing halfedge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:782
ConstVertexOHalfedgeIter cvoh_end(VertexHandle _vh) const
const vertex - outgoing halfedge circulator
Definition: PolyConnectivity_inline_impl.hh:776
VertexEdgeIter ve_begin(VertexHandle _vh)
vertex - edge circulator
Definition: PolyConnectivity_inline_impl.hh:554
EntityRange< RangeTraitT< const PolyConnectivity, PolyConnectivity::ConstHalfedgeIter, &PolyConnectivity::halfedges_begin, &PolyConnectivity::halfedges_end > > ConstHalfedgeRange
Definition: PolyConnectivity.hh:1078
Iterators::GenericCirculatorT< FaceHalfedgeTraits, false > FaceHalfedgeCWIter
Enumerate incident half edges in a clockwise fashion.
Definition: PolyConnectivity.hh:327
ConstHalfedgeLoopCWIter chl_cwbegin(HalfedgeHandle _heh) const
const halfedge circulator cw
Definition: PolyConnectivity_inline_impl.hh:704
VertexVertexCWIter ConstVertexVertexCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:280
ConstFaceHalfedgeRange fh_range(FaceHandle _fh) const
Definition: PolyConnectivity_inline_impl.hh:174
ConstVertexEdgeCWIter cve_cwbegin(VertexHandle _vh) const
const vertex - edge circulator cw
Definition: PolyConnectivity_inline_impl.hh:603
ConstHalfedgeLoopCCWIter chl_ccwbegin(HalfedgeHandle _heh) const
const halfedge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:707
VertexEdgeCCWIter ConstVertexEdgeCCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:293
ConstFaceVertexCCWIter cfv_ccwbegin(FaceHandle _fh) const
const face - vertex circulator ccw
Definition: PolyConnectivity_inline_impl.hh:671
VertexVertexIter ConstVertexVertexIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:279
ConstVertexOHalfedgeCCWRange voh_ccw_range(VertexHandle _vh) const
Definition: PolyConnectivity_inline_impl.hh:253
SmartFaceHandle opposite_face_handle(HalfedgeHandle _heh) const
returns the face handle of the opposite halfedge
Definition: PolyConnectivity_inline_impl.hh:71
FaceFaceCCWIter ff_ccwend(FaceHandle _fh)
face - face circulator ccw
Definition: PolyConnectivity_inline_impl.hh:837
ConstVertexOHalfedgeCWIter cvoh_cwend(VertexHandle _vh) const
const vertex - outgoing halfedge circulator cw
Definition: PolyConnectivity_inline_impl.hh:779
Iterators::GenericCirculatorT_DEPRECATED< FaceFaceTraits > FaceFaceIter
Enumerate adjacent faces in a counter clockwise fashion.
Definition: PolyConnectivity.hh:361
HalfedgeHandle opposite_halfedge_handle(HalfedgeHandle _heh) const
returns the face handle of the opposite halfedge
Definition: ArrayKernel.hh:460
FaceHalfedgeCWIter ConstFaceHalfedgeCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:373
CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstFaceHalfedgeIter, FaceHandle, HalfedgeHandle, &PolyConnectivity::cfh_begin, &PolyConnectivity::cfh_end > > ConstFaceHalfedgeRange
Definition: PolyConnectivity.hh:1178
HalfedgeLoopCWIter hl_cwend(HalfedgeHandle _heh)
face - face circulator cw
Definition: PolyConnectivity_inline_impl.hh:843
FaceEdgeCCWIter fe_ccwend(FaceHandle _fh)
face - edge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:828
ConstFaceHalfedgeCCWRange fh_ccw_range(FaceHandle _fh) const
Definition: PolyConnectivity_inline_impl.hh:273
Iterators::GenericCirculatorT< FaceHalfedgeTraits, false > HalfedgeLoopCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:273
ConstFaceVertexCWIter cfv_cwend(FaceHandle _fh) const
const face - vertex circulator cw
Definition: PolyConnectivity_inline_impl.hh:853
Iterators::GenericCirculatorT< FaceFaceTraits, false > FaceFaceCWIter
Enumerate adjacent faces in a clockwise fashion.
Definition: PolyConnectivity.hh:367
VertexIHalfedgeCCWIter vih_ccwiter(VertexHandle _vh)
vertex - incoming halfedge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:379
FaceFaceCCWIter ff_ccwbegin(FaceHandle _fh)
face - face circulator ccw
Definition: PolyConnectivity_inline_impl.hh:652
VertexIHalfedgeIter vih_iter(VertexHandle _vh)
vertex - incoming halfedge circulator
Definition: PolyConnectivity_inline_impl.hh:373
Iterators::GenericCirculatorT_DEPRECATED< FaceEdgeTraits > FaceEdgeIter
Enumerate incident edges in a counter clockwise fashion.
Definition: PolyConnectivity.hh:341
ConstVertexVertexIter cvv_begin(VertexHandle _vh) const
const vertex circulator
Definition: PolyConnectivity_inline_impl.hh:573
VertexIter vertices_end()
End iterator for vertices.
Definition: PolyConnectivity_inline_impl.hh:297
Iterators::GenericCirculatorT< FaceEdgeTraits, false > FaceEdgeCWIter
Enumerate incident edges in a clockwise fashion.
Definition: PolyConnectivity.hh:347
Iterators::GenericCirculatorT< VertexFaceTraits, false > VertexFaceCCWIter
Enumerates incident faces in a counter clockwise fashion.
Definition: PolyConnectivity.hh:239
FaceHalfedgeIter fh_iter(FaceHandle _fh)
face - halfedge circulator
Definition: PolyConnectivity_inline_impl.hh:463
FaceHalfedgeCWIter fh_cwbegin(FaceHandle _fh)
face - halfedge circulator cw
Definition: PolyConnectivity_inline_impl.hh:631
ConstVertexFaceIter cvf_end(VertexHandle _vh) const
const vertex - face circulator
Definition: PolyConnectivity_inline_impl.hh:794
VertexEdgeIter ve_iter(VertexHandle _vh)
vertex - edge circulator
Definition: PolyConnectivity_inline_impl.hh:391
CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstFaceFaceIter, FaceHandle, FaceHandle, &PolyConnectivity::cff_begin, &PolyConnectivity::cff_end > > ConstFaceFaceRange
Definition: PolyConnectivity.hh:1180
FaceIter faces_begin()
Begin iterator for faces.
Definition: PolyConnectivity_inline_impl.hh:327
CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstHalfedgeLoopCWIter, HalfedgeHandle, HalfedgeHandle, &PolyConnectivity::chl_cwbegin, &PolyConnectivity::chl_cwend > > ConstHalfedgeLoopCWRange
Definition: PolyConnectivity.hh:1192
ConstFaceVertexIter cfv_end(FaceHandle _fh) const
const face - vertex circulator
Definition: PolyConnectivity_inline_impl.hh:850
VertexOHalfedgeCCWIter voh_ccwbegin(VertexHandle _vh)
vertex - outgoing halfedge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:551
FaceHalfedgeIter fh_begin(FaceHandle _fh)
face - halfedge circulator
Definition: PolyConnectivity_inline_impl.hh:628
ConstVertexEdgeIter cve_begin(VertexHandle _vh) const
const vertex - edge circulator
Definition: PolyConnectivity_inline_impl.hh:600
Iterators::GenericCirculatorT< FaceEdgeTraits, true > FaceEdgeCCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:342
ConstFaceEdgeCCWIter cfe_ccwiter(FaceHandle _fh) const
const face - edge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:514
ConstFaceHalfedgeCWIter cfh_cwbegin(FaceHandle _fh) const
const face - halfedge circulator cw
Definition: PolyConnectivity_inline_impl.hh:677
ConstFaceVertexCWRange fv_cw_range(FaceHandle _fh) const
Definition: PolyConnectivity_inline_impl.hh:219
ConstVertexVertexRange vv_range(VertexHandle _vh) const
Definition: PolyConnectivity_inline_impl.hh:142
HalfedgeLoopCCWIter hl_ccwend(HalfedgeHandle _heh)
face - face circulator ccw
Definition: PolyConnectivity_inline_impl.hh:846
CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstVertexFaceCCWIter, VertexHandle, FaceHandle, &PolyConnectivity::cvf_ccwbegin, &PolyConnectivity::cvf_ccwend > > ConstVertexFaceCCWRange
Definition: PolyConnectivity.hh:1198
ConstFaceVertexCWIter cfv_cwbegin(FaceHandle _fh) const
const face - vertex circulator cw
Definition: PolyConnectivity_inline_impl.hh:668
FaceVertexIter fv_iter(FaceHandle _fh)
face - vertex circulator
Definition: PolyConnectivity_inline_impl.hh:454
VertexEdgeCWIter ve_cwiter(VertexHandle _vh)
vertex - edge circulator cw
Definition: PolyConnectivity_inline_impl.hh:394
ConstFaceHalfedgeCCWIter cfh_ccwend(FaceHandle _fh) const
const face - halfedge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:865
VertexOHalfedgeCWIter voh_cwend(VertexHandle _vh)
vertex - outgoing halfedge circulator cw
Definition: PolyConnectivity_inline_impl.hh:733
ConstVertexIHalfedgeCWIter cvih_cwiter(VertexHandle _vh) const
const vertex - incoming halfedge circulator cw
Definition: PolyConnectivity_inline_impl.hh:421
ConstVertexFaceCWIter cvf_cwend(VertexHandle _vh) const
const vertex - face circulator cw
Definition: PolyConnectivity_inline_impl.hh:797
FaceEdgeCWIter fe_cwend(FaceHandle _fh)
face - edge circulator cw
Definition: PolyConnectivity_inline_impl.hh:825
ConstVertexIHalfedgeIter cvih_iter(VertexHandle _vh) const
const vertex - incoming halfedge circulator
Definition: PolyConnectivity_inline_impl.hh:418
EntityRange< RangeTraitT< const PolyConnectivity, PolyConnectivity::ConstFaceIter, &PolyConnectivity::faces_sbegin, &PolyConnectivity::faces_end > > ConstFaceRangeSkipping
Definition: PolyConnectivity.hh:1103
VertexIHalfedgeIter vih_begin(VertexHandle _vh)
vertex - incoming halfedge circulator
Definition: PolyConnectivity_inline_impl.hh:536
VertexFaceIter vf_end(VertexHandle _vh)
vertex - face circulator
Definition: PolyConnectivity_inline_impl.hh:748
ConstFaceRange all_faces() const
Definition: PolyConnectivity_inline_impl.hh:130
VertexIHalfedgeCCWIter vih_ccwbegin(VertexHandle _vh)
vertex - incoming halfedge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:542
CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstFaceVertexCCWIter, FaceHandle, VertexHandle, &PolyConnectivity::cfv_ccwbegin, &PolyConnectivity::cfv_ccwend > > ConstFaceVertexCCWRange
Definition: PolyConnectivity.hh:1199
VertexVertexCWIter vv_cwend(VertexHandle _vh)
vertex - vertex circulator cw
Definition: PolyConnectivity_inline_impl.hh:715
FaceHandle face_handle(unsigned int _i) const
returns the face handle of the opposite halfedge
Definition: ArrayKernel.hh:202
VertexFaceIter vf_iter(VertexHandle _vh)
vertex - face circulator
Definition: PolyConnectivity_inline_impl.hh:400
ConstFaceVertexCCWRange fv_ccw_range(FaceHandle _fh) const
Definition: PolyConnectivity_inline_impl.hh:269
ConstVertexEdgeCWIter cve_cwend(VertexHandle _vh) const
const vertex - edge circulator cw
Definition: PolyConnectivity_inline_impl.hh:788
ConstVertexEdgeIter cve_end(VertexHandle _vh) const
const vertex - edge circulator
Definition: PolyConnectivity_inline_impl.hh:785
FaceVertexCWIter ConstFaceVertexCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:370
Iterators::GenericCirculatorT< VertexHalfedgeTraits, true > VertexOHalfedgeCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:195
ConstVertexIHalfedgeCCWIter cvih_ccwend(VertexHandle _vh) const
const vertex - incoming halfedge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:773
ConstVertexFaceRange vf_range(VertexHandle _vh) const
Definition: PolyConnectivity_inline_impl.hh:166
const PolyConnectivity * mesh() const
Get the underlying mesh of this handle.
Definition: SmartHandles.hh:69
Smart version of VertexHandle contains a pointer to the corresponding mesh and allows easier access t...
Definition: SmartHandles.hh:110
PolyConnectivity::ConstVertexEdgeCWRange edges_cw() const
Returns a range of edges incident to the vertex (PolyConnectivity::ve_cw_range())
Definition: PolyConnectivity_inline_impl.hh:901
PolyConnectivity::ConstVertexFaceCWRange faces_cw() const
Returns a range of faces incident to the vertex (PolyConnectivity::vf_cw_range())
Definition: PolyConnectivity_inline_impl.hh:897
PolyConnectivity::ConstVertexIHalfedgeRange incoming_halfedges() const
Returns a range of outgoing halfedges incident to the vertex (PolyConnectivity::voh_range())
Definition: PolyConnectivity_inline_impl.hh:908
PolyConnectivity::ConstVertexIHalfedgeCWRange incoming_halfedges_cw() const
Returns a range of outgoing halfedges incident to the vertex (PolyConnectivity::voh_cw_range())
Definition: PolyConnectivity_inline_impl.hh:909
PolyConnectivity::ConstVertexVertexCCWRange vertices_ccw() const
Returns a range of vertices adjacent to the vertex (PolyConnectivity::vv_ccw_range())
Definition: PolyConnectivity_inline_impl.hh:906
PolyConnectivity::ConstVertexVertexCWRange vertices_cw() const
Returns a range of vertices adjacent to the vertex (PolyConnectivity::vv_cw_range())
Definition: PolyConnectivity_inline_impl.hh:905
PolyConnectivity::ConstVertexVertexRange vertices() const
Returns a range of vertices adjacent to the vertex (PolyConnectivity::vv_range())
Definition: PolyConnectivity_inline_impl.hh:904
PolyConnectivity::ConstVertexEdgeCCWRange edges_ccw() const
Returns a range of edges incident to the vertex (PolyConnectivity::ve_ccw_range())
Definition: PolyConnectivity_inline_impl.hh:902
PolyConnectivity::ConstVertexIHalfedgeCCWRange incoming_halfedges_ccw() const
Returns a range of outgoing halfedges incident to the vertex (PolyConnectivity::voh_ccw_range())
Definition: PolyConnectivity_inline_impl.hh:910
PolyConnectivity::ConstVertexFaceRange faces() const
Returns a range of faces incident to the vertex (PolyConnectivity::vf_range())
Definition: PolyConnectivity_inline_impl.hh:896
PolyConnectivity::ConstVertexOHalfedgeRange outgoing_halfedges() const
Returns a range of incoming halfedges incident to the vertex (PolyConnectivity::voh_range())
Definition: PolyConnectivity_inline_impl.hh:916
PolyConnectivity::ConstVertexOHalfedgeCWRange outgoing_halfedges_cw() const
Returns a range of incoming halfedges incident to the vertex (PolyConnectivity::voh_cw_range())
Definition: PolyConnectivity_inline_impl.hh:917
PolyConnectivity::ConstVertexFaceCCWRange faces_ccw() const
Returns a range of faces incident to the vertex (PolyConnectivity::vf_ccw_range())
Definition: PolyConnectivity_inline_impl.hh:898
PolyConnectivity::ConstVertexOHalfedgeCCWRange outgoing_halfedges_ccw() const
Returns a range of incoming halfedges incident to the vertex (PolyConnectivity::voh_ccw_range())
Definition: PolyConnectivity_inline_impl.hh:918
PolyConnectivity::ConstVertexEdgeRange edges() const
Returns a range of edges incident to the vertex (PolyConnectivity::ve_range())
Definition: PolyConnectivity_inline_impl.hh:900
Definition: SmartHandles.hh:170
PolyConnectivity::ConstHalfedgeLoopRange loop() const
Returns a range of halfedges in the face of the halfedge (or along the boundary) (PolyConnectivity::h...
Definition: PolyConnectivity_inline_impl.hh:925
PolyConnectivity::ConstHalfedgeLoopCCWRange loop_ccw() const
Returns a range of halfedges in the face of the halfedge (or along the boundary) (PolyConnectivity::h...
Definition: PolyConnectivity_inline_impl.hh:927
PolyConnectivity::ConstHalfedgeLoopCWRange loop_cw() const
Returns a range of halfedges in the face of the halfedge (or along the boundary) (PolyConnectivity::h...
Definition: PolyConnectivity_inline_impl.hh:926
Definition: SmartHandles.hh:197
Definition: SmartHandles.hh:219
PolyConnectivity::ConstFaceFaceCWRange faces_cw() const
Returns a range adjacent faces of the face (PolyConnectivity::ff_cw_range())
Definition: PolyConnectivity_inline_impl.hh:943
PolyConnectivity::ConstFaceEdgeRange edges() const
Returns a range of edges of the face (PolyConnectivity::fv_range())
Definition: PolyConnectivity_inline_impl.hh:938
PolyConnectivity::ConstFaceHalfedgeCWRange halfedges_cw() const
Returns a range of halfedges of the face (PolyConnectivity::fh_cw_range())
Definition: PolyConnectivity_inline_impl.hh:935
PolyConnectivity::ConstFaceFaceRange faces() const
Returns a range adjacent faces of the face (PolyConnectivity::ff_range())
Definition: PolyConnectivity_inline_impl.hh:942
PolyConnectivity::ConstFaceVertexRange vertices() const
Returns a range of vertices incident to the face (PolyConnectivity::fv_range())
Definition: PolyConnectivity_inline_impl.hh:930
PolyConnectivity::ConstFaceFaceCCWRange faces_ccw() const
Returns a range adjacent faces of the face (PolyConnectivity::ff_ccw_range())
Definition: PolyConnectivity_inline_impl.hh:944
PolyConnectivity::ConstFaceEdgeCCWRange edges_ccw() const
Returns a range of edges of the face (PolyConnectivity::fv_ccw_range())
Definition: PolyConnectivity_inline_impl.hh:940
PolyConnectivity::ConstFaceEdgeCWRange edges_cw() const
Returns a range of edges of the face (PolyConnectivity::fv_cw_range())
Definition: PolyConnectivity_inline_impl.hh:939
PolyConnectivity::ConstFaceHalfedgeCCWRange halfedges_ccw() const
Returns a range of halfedges of the face (PolyConnectivity::fh_ccw_range())
Definition: PolyConnectivity_inline_impl.hh:936
PolyConnectivity::ConstFaceHalfedgeRange halfedges() const
Returns a range of halfedges of the face (PolyConnectivity::fh_range())
Definition: PolyConnectivity_inline_impl.hh:934
PolyConnectivity::ConstFaceVertexCWRange vertices_cw() const
Returns a range of vertices incident to the face (PolyConnectivity::fv_cw_range())
Definition: PolyConnectivity_inline_impl.hh:931
PolyConnectivity::ConstFaceVertexCCWRange vertices_ccw() const
Returns a range of vertices incident to the face (PolyConnectivity::fv_ccw_range())
Definition: PolyConnectivity_inline_impl.hh:932
Base class for all smart range types.
Definition: SmartRange.hh:74

Project OpenMesh, ©  Visual Computing Institute, RWTH Aachen. Documentation generated using doxygen .