OpenMesh
PolyConnectivity_inline_impl.hh
1/* ========================================================================= *
2 * *
3 * OpenMesh *
4 * Copyright (c) 2001-2023, 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
50namespace OpenMesh {
51
52
54
60
61inline SmartHalfedgeHandle PolyConnectivity::s_halfedge_handle(SmartEdgeHandle _eh, unsigned int _i) { return make_smart(ArrayKernel::s_halfedge_handle(EdgeHandle(_eh), _i), _eh.mesh()); }
62inline SmartEdgeHandle PolyConnectivity::s_edge_handle(SmartHalfedgeHandle _heh) { return make_smart(ArrayKernel::s_edge_handle(HalfedgeHandle(_heh)), _heh.mesh()); }
63
64inline SmartHalfedgeHandle PolyConnectivity::halfedge_handle(SmartEdgeHandle _eh, unsigned int _i) const { return make_smart(halfedge_handle(EdgeHandle(_eh), _i), *this); }
68
70
72
73
75template <typename RangeTraitT>
76class 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
90template <typename CirculatorRangeTraitT>
91//class CirculatorRange : public SmartRangeT<CirculatorRange<CirculatorRangeTraitT>, decltype (make_smart(std::declval<typename CirculatorRangeTraitT::TO_ENTITYE_TYPE>(), std::declval<PolyConnectivity>()))>{
92class 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
132template <> inline PolyConnectivity::ConstVertexRangeSkipping PolyConnectivity::elements<VertexHandle>() const { return vertices(); }
133template <> inline PolyConnectivity::ConstVertexRange PolyConnectivity::all_elements<VertexHandle>() const { return all_vertices(); }
134template <> inline PolyConnectivity::ConstHalfedgeRangeSkipping PolyConnectivity::elements<HalfedgeHandle>() const { return halfedges(); }
135template <> inline PolyConnectivity::ConstHalfedgeRange PolyConnectivity::all_elements<HalfedgeHandle>() const { return all_halfedges(); }
136template <> inline PolyConnectivity::ConstEdgeRangeSkipping PolyConnectivity::elements<EdgeHandle>() const { return edges(); }
137template <> inline PolyConnectivity::ConstEdgeRange PolyConnectivity::all_elements<EdgeHandle>() const { return all_edges(); }
138template <> inline PolyConnectivity::ConstFaceRangeSkipping PolyConnectivity::elements<FaceHandle>() const { return faces(); }
139template <> 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
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 ConstEdgeVertexRange(*this, _eh);
188}
189
191 return ConstEdgeHalfedgeRange(*this, _eh);
192}
193
195 return ConstEdgeHalfedgeRange(*this, _heh, 1);
196}
197
199 return ConstEdgeFaceRange(*this, _eh);
200}
201
203 return ConstHalfedgeLoopRange(*this, _heh);
204}
205
206
208 return ConstVertexVertexCWRange(*this, _vh);
209}
210
212 return ConstVertexIHalfedgeCWRange(*this, _vh);
213}
214
217}
218
220 return ConstVertexOHalfedgeCWRange(*this, _vh);
221}
222
224 return ConstVertexOHalfedgeCWRange(*this, _heh, 1);
225}
226
228 return ConstVertexEdgeCWRange(*this, _vh);
229}
230
232 return ConstVertexFaceCWRange(*this, _vh);
233}
234
236 return ConstFaceVertexCWRange(*this, _fh);
237}
238
240 return ConstFaceHalfedgeCWRange(*this, _fh);
241}
242
244 return ConstFaceEdgeCWRange(*this, _fh);
245}
246
248 return ConstFaceFaceCWRange(*this, _fh);
249}
250
252 return ConstHalfedgeLoopCWRange(*this, _heh);
253}
254
255
256
258 return ConstVertexVertexCCWRange(*this, _vh);
259}
260
262 return ConstVertexIHalfedgeCCWRange(*this, _vh);
263}
264
267}
268
270 return ConstVertexOHalfedgeCCWRange(*this, _vh);
271}
272
274 return ConstVertexOHalfedgeCCWRange(*this, _heh, 1);
275}
276
278 return ConstVertexEdgeCCWRange(*this, _vh);
279}
280
282 return ConstVertexFaceCCWRange(*this, _vh);
283}
284
286 return ConstFaceVertexCCWRange(*this, _fh);
287}
288
290 return ConstFaceHalfedgeCCWRange(*this, _fh);
291}
292
294 return ConstFaceEdgeCCWRange(*this, _fh);
295}
296
298 return ConstFaceFaceCCWRange(*this, _fh);
299}
300
301
303 return ConstHalfedgeLoopCCWRange(*this, _heh);
304}
305
306
307
309{ return VertexIter(*this, VertexHandle(0)); }
310
312{ return ConstVertexIter(*this, VertexHandle(0)); }
313
315{ return VertexIter(*this, VertexHandle( int(n_vertices() ) )); }
316
318{ return ConstVertexIter(*this, VertexHandle( int(n_vertices()) )); }
319
321{ return HalfedgeIter(*this, HalfedgeHandle(0)); }
322
324{ return ConstHalfedgeIter(*this, HalfedgeHandle(0)); }
325
327{ return HalfedgeIter(*this, HalfedgeHandle(int(n_halfedges()))); }
328
330{ return ConstHalfedgeIter(*this, HalfedgeHandle(int(n_halfedges()))); }
331
333{ return EdgeIter(*this, EdgeHandle(0)); }
334
336{ return ConstEdgeIter(*this, EdgeHandle(0)); }
337
339{ return EdgeIter(*this, EdgeHandle(int(n_edges()))); }
340
342{ return ConstEdgeIter(*this, EdgeHandle(int(n_edges()))); }
343
345{ return FaceIter(*this, FaceHandle(0)); }
346
348{ return ConstFaceIter(*this, FaceHandle(0)); }
349
351{ return FaceIter(*this, FaceHandle(int(n_faces()))); }
352
353
355{ return ConstFaceIter(*this, FaceHandle(int(n_faces()))); }
356
358{ return VertexIter(*this, VertexHandle(0), true); }
359
361{ return ConstVertexIter(*this, VertexHandle(0), true); }
362
364{ return HalfedgeIter(*this, HalfedgeHandle(0), true); }
365
367{ return ConstHalfedgeIter(*this, HalfedgeHandle(0), true); }
368
370{ return EdgeIter(*this, EdgeHandle(0), true); }
371
373{ return ConstEdgeIter(*this, EdgeHandle(0), true); }
374
376{ return FaceIter(*this, FaceHandle(0), true); }
377
379{ return ConstFaceIter(*this, FaceHandle(0), true); }
380
382{ return VertexVertexIter(*this, _vh); }
383
385{ return VertexVertexCWIter(*this, _vh); }
386
388{ return VertexVertexCCWIter(*this, _vh); }
389
391{ return VertexIHalfedgeIter(*this, _vh); }
392
394{ return VertexIHalfedgeCWIter(*this, _vh); }
395
397{ return VertexIHalfedgeCCWIter(*this, _vh); }
398
400{ return VertexOHalfedgeIter(*this, _vh); }
401
403{ return VertexOHalfedgeCWIter(*this, _vh); }
404
406{ return VertexOHalfedgeCCWIter(*this, _vh); }
407
409{ return VertexEdgeIter(*this, _vh); }
410
412{ return VertexEdgeCWIter(*this, _vh); }
413
415{ return VertexEdgeCCWIter(*this, _vh); }
416
418{ return VertexFaceIter(*this, _vh); }
419
421{ return VertexFaceCWIter(*this, _vh); }
422
424{ return VertexFaceCCWIter(*this, _vh); }
425
427{ return ConstVertexVertexIter(*this, _vh); }
428
430{ return ConstVertexVertexCWIter(*this, _vh); }
431
433{ return ConstVertexVertexCCWIter(*this, _vh); }
434
436{ return ConstVertexIHalfedgeIter(*this, _vh); }
437
439{ return ConstVertexIHalfedgeCWIter(*this, _vh); }
440
442{ return ConstVertexIHalfedgeCCWIter(*this, _vh); }
443
445{ return ConstVertexOHalfedgeIter(*this, _vh); }
446
448{ return ConstVertexOHalfedgeCWIter(*this, _vh); }
449
451{ return ConstVertexOHalfedgeCCWIter(*this, _vh); }
452
454{ return ConstVertexEdgeIter(*this, _vh); }
455
457{ return ConstVertexEdgeCWIter(*this, _vh); }
458
460{ return ConstVertexEdgeCCWIter(*this, _vh); }
461
463{ return ConstVertexFaceIter(*this, _vh); }
464
466{ return ConstVertexFaceCWIter(*this, _vh); }
467
469{ return ConstVertexFaceCCWIter(*this, _vh); }
470
472{ return FaceVertexIter(*this, _fh); }
473
475{ return FaceVertexCWIter(*this, _fh); }
476
478{ return FaceVertexCCWIter(*this, _fh); }
479
481{ return FaceHalfedgeIter(*this, _fh); }
482
484{ return FaceHalfedgeCWIter(*this, _fh); }
485
487{ return FaceHalfedgeCCWIter(*this, _fh); }
488
490{ return FaceEdgeIter(*this, _fh); }
491
493{ return FaceEdgeCWIter(*this, _fh); }
494
496{ return FaceEdgeCCWIter(*this, _fh); }
497
499{ return FaceFaceIter(*this, _fh); }
500
502{ return FaceFaceCWIter(*this, _fh); }
503
505{ return FaceFaceCCWIter(*this, _fh); }
506
508{ return ConstFaceVertexIter(*this, _fh); }
509
511{ return ConstFaceVertexCWIter(*this, _fh); }
512
514{ return ConstFaceVertexCCWIter(*this, _fh); }
515
517{ return ConstFaceHalfedgeIter(*this, _fh); }
518
520{ return ConstFaceHalfedgeCWIter(*this, _fh); }
521
523{ return ConstFaceHalfedgeCCWIter(*this, _fh); }
524
526{ return ConstFaceEdgeIter(*this, _fh); }
527
529{ return ConstFaceEdgeCWIter(*this, _fh); }
530
532{ return ConstFaceEdgeCCWIter(*this, _fh); }
533
535{ return ConstFaceFaceIter(*this, _fh); }
536
538{ return ConstFaceFaceCWIter(*this, _fh); }
539
541{ return ConstFaceFaceCCWIter(*this, _fh); }
542
544{ return EdgeVertexIter(*this, _eh); }
545
547{ return EdgeHalfedgeIter(*this, _eh); }
548
550{ return EdgeFaceIter(*this, _eh); }
551
553{ return ConstEdgeVertexIter(*this, _eh); }
554
556{ return ConstEdgeHalfedgeIter(*this, _eh); }
557
559{ return ConstEdgeFaceIter(*this, _eh); }
560
561
563{ return VertexVertexIter(*this, _vh); }
564
566{ return VertexVertexCWIter(*this, _vh); }
567
569{ return VertexVertexCCWIter(*this, _vh); }
570
572{ return VertexIHalfedgeIter(*this, _vh); }
573
575{ return VertexIHalfedgeCWIter(*this, _vh); }
576
578{ return VertexIHalfedgeCCWIter(*this, _vh); }
579
581{ return VertexOHalfedgeIter(*this, _vh); }
582
584{ return VertexOHalfedgeCWIter(*this, _vh); }
585
587{ return VertexOHalfedgeCCWIter(*this, _vh); }
588
590{ return VertexEdgeIter(*this, _vh); }
591
593{ return VertexEdgeCWIter(*this, _vh); }
594
596{ return VertexEdgeCCWIter(*this, _vh); }
597
599{ return VertexFaceIter(*this, _vh); }
600
602{ return VertexFaceCWIter(*this, _vh); }
603
605{ return VertexFaceCCWIter(*this, _vh); }
606
607
609{ return ConstVertexVertexIter(*this, _vh); }
610
612{ return ConstVertexVertexCWIter(*this, _vh); }
613
615{ return ConstVertexVertexCCWIter(*this, _vh); }
616
618{ return ConstVertexIHalfedgeIter(*this, _vh); }
619
621{ return ConstVertexIHalfedgeCWIter(*this, _vh); }
622
624{ return ConstVertexIHalfedgeCCWIter(*this, _vh); }
625
627{ return ConstVertexOHalfedgeIter(*this, _vh); }
628
630{ return ConstVertexOHalfedgeCWIter(*this, _vh); }
631
633{ return ConstVertexOHalfedgeCCWIter(*this, _vh); }
634
636{ return ConstVertexEdgeIter(*this, _vh); }
637
639{ return ConstVertexEdgeCWIter(*this, _vh); }
640
642{ return ConstVertexEdgeCCWIter(*this, _vh); }
643
645{ return ConstVertexFaceIter(*this, _vh); }
646
648{ return ConstVertexFaceCWIter(*this, _vh); }
649
651{ return ConstVertexFaceCCWIter(*this, _vh); }
652
653
655{ return FaceVertexIter(*this, _fh); }
656
658{ return FaceVertexCWIter(*this, _fh); }
659
661{ return FaceVertexCCWIter(*this, _fh); }
662
664{ return FaceHalfedgeIter(*this, _fh); }
665
667{ return FaceHalfedgeCWIter(*this, _fh); }
668
670{ return FaceHalfedgeCCWIter(*this, _fh); }
671
673{ return FaceEdgeIter(*this, _fh); }
674
676{ return FaceEdgeCWIter(*this, _fh); }
677
679{ return FaceEdgeCCWIter(*this, _fh); }
680
682{ return FaceFaceIter(*this, _fh); }
683
685{ return FaceFaceCWIter(*this, _fh); }
686
688{ return FaceFaceCCWIter(*this, _fh); }
689
691{ return HalfedgeLoopIter(*this, _heh); }
692
694{ return HalfedgeLoopCWIter(*this, _heh); }
695
697{ return HalfedgeLoopCCWIter(*this, _heh); }
698
699
701{ return ConstFaceVertexIter(*this, _fh); }
702
704{ return ConstFaceVertexCWIter(*this, _fh); }
705
707{ return ConstFaceVertexCCWIter(*this, _fh); }
708
710{ return ConstFaceHalfedgeIter(*this, _fh); }
711
713{ return ConstFaceHalfedgeCWIter(*this, _fh); }
714
716{ return ConstFaceHalfedgeCCWIter(*this, _fh); }
717
719{ return ConstFaceEdgeIter(*this, _fh); }
720
722{ return ConstFaceEdgeCWIter(*this, _fh); }
723
725{ return ConstFaceEdgeCCWIter(*this, _fh); }
726
728{ return ConstFaceFaceIter(*this, _fh); }
729
731{ return ConstFaceFaceCWIter(*this, _fh); }
732
734{ return ConstFaceFaceCCWIter(*this, _fh); }
735
737{ return ConstHalfedgeLoopIter(*this, _heh); }
738
740{ return ConstHalfedgeLoopCWIter(*this, _heh); }
741
743{ return ConstHalfedgeLoopCCWIter(*this, _heh); }
744
745
747{ return EdgeVertexIter(*this, _eh); }
748
750{ return EdgeHalfedgeIter(*this, _eh); }
751
753{ return EdgeFaceIter(*this, _eh); }
754
755
757{ return ConstEdgeVertexIter(*this, _eh); }
758
760{ return ConstEdgeHalfedgeIter(*this, _eh); }
761
763{ return ConstEdgeFaceIter(*this, _eh); }
764
765
766// 'end' circulators
767
769{ return VertexVertexIter(*this, _vh, true); }
770
772{ return VertexVertexCWIter(*this, _vh, true); }
773
775{ return VertexVertexCCWIter(*this, _vh, true); }
776
778{ return VertexIHalfedgeIter(*this, _vh, true); }
779
781{ return VertexIHalfedgeCWIter(*this, _vh, true); }
782
784{ return VertexIHalfedgeCCWIter(*this, _vh, true); }
785
787{ return VertexOHalfedgeIter(*this, _vh, true); }
788
790{ return VertexOHalfedgeCWIter(*this, _vh, true); }
791
793{ return VertexOHalfedgeCCWIter(*this, _vh, true); }
794
796{ return VertexEdgeIter(*this, _vh, true); }
797
799{ return VertexEdgeCWIter(*this, _vh, true); }
800
802{ return VertexEdgeCCWIter(*this, _vh, true); }
803
805{ return VertexFaceIter(*this, _vh, true); }
806
808{ return VertexFaceCWIter(*this, _vh, true); }
809
811{ return VertexFaceCCWIter(*this, _vh, true); }
812
813
815{ return ConstVertexVertexIter(*this, _vh, true); }
816
818{ return ConstVertexVertexCWIter(*this, _vh, true); }
819
821{ return ConstVertexVertexCCWIter(*this, _vh, true); }
822
824{ return ConstVertexIHalfedgeIter(*this, _vh, true); }
825
827{ return ConstVertexIHalfedgeCWIter(*this, _vh, true); }
828
830{ return ConstVertexIHalfedgeCCWIter(*this, _vh, true); }
831
833{ return ConstVertexOHalfedgeIter(*this, _vh, true); }
834
836{ return ConstVertexOHalfedgeCWIter(*this, _vh, true); }
837
839{ return ConstVertexOHalfedgeCCWIter(*this, _vh, true); }
840
842{ return ConstVertexEdgeIter(*this, _vh, true); }
843
845{ return ConstVertexEdgeCWIter(*this, _vh, true); }
846
848{ return ConstVertexEdgeCCWIter(*this, _vh, true); }
849
851{ return ConstVertexFaceIter(*this, _vh, true); }
852
854{ return ConstVertexFaceCWIter(*this, _vh, true); }
855
857{ return ConstVertexFaceCCWIter(*this, _vh, true); }
858
859
861{ return FaceVertexIter(*this, _fh, true); }
862
864{ return FaceVertexCWIter(*this, _fh, true); }
865
867{ return FaceVertexCCWIter(*this, _fh, true); }
868
870{ return FaceHalfedgeIter(*this, _fh, true); }
871
873{ return FaceHalfedgeCWIter(*this, _fh, true); }
874
876{ return FaceHalfedgeCCWIter(*this, _fh, true); }
877
879{ return FaceEdgeIter(*this, _fh, true); }
880
882{ return FaceEdgeCWIter(*this, _fh, true); }
883
885{ return FaceEdgeCCWIter(*this, _fh, true); }
886
888{ return FaceFaceIter(*this, _fh, true); }
889
891{ return FaceFaceCWIter(*this, _fh, true); }
892
894{ return FaceFaceCCWIter(*this, _fh, true); }
895
897{ return HalfedgeLoopIter(*this, _heh, true); }
898
900{ return HalfedgeLoopCWIter(*this, _heh, true); }
901
903{ return HalfedgeLoopCCWIter(*this, _heh, true); }
904
905
907{ return ConstFaceVertexIter(*this, _fh, true); }
908
910{ return ConstFaceVertexCWIter(*this, _fh, true); }
911
913{ return ConstFaceVertexCCWIter(*this, _fh, true); }
914
916{ return ConstFaceHalfedgeIter(*this, _fh, true); }
917
919{ return ConstFaceHalfedgeCWIter(*this, _fh, true); }
920
922{ return ConstFaceHalfedgeCCWIter(*this, _fh, true); }
923
925{ return ConstFaceEdgeIter(*this, _fh, true); }
926
928{ return ConstFaceEdgeCWIter(*this, _fh, true); }
929
931{ return ConstFaceEdgeCCWIter(*this, _fh, true); }
932
934{ return ConstFaceFaceIter(*this, _fh, true); }
935
937{ return ConstFaceFaceCWIter(*this, _fh, true); }
938
940{ return ConstFaceFaceCCWIter(*this, _fh, true); }
941
943{ return ConstHalfedgeLoopIter(*this, _heh, true); }
944
946{ return ConstHalfedgeLoopCWIter(*this, _heh, true); }
947
949{ return ConstHalfedgeLoopCCWIter(*this, _heh, true); }
950
951
953{ return EdgeVertexIter(*this, _eh, true); }
954
956{ return EdgeHalfedgeIter(*this, _eh, true); }
957
959{ return EdgeFaceIter(*this, _eh, true); }
960
961
963{ return ConstEdgeVertexIter(*this, _eh, true); }
964
966{ return ConstEdgeHalfedgeIter(*this, _eh, true); }
967
969{ return ConstEdgeFaceIter(*this, _eh, true); }
970
971
972inline PolyConnectivity::ConstVertexFaceRange SmartVertexHandle::faces() const { assert(mesh() != nullptr); return mesh()->vf_range (*this); }
973inline PolyConnectivity::ConstVertexFaceCWRange SmartVertexHandle::faces_cw() const { assert(mesh() != nullptr); return mesh()->vf_cw_range (*this); }
974inline PolyConnectivity::ConstVertexFaceCCWRange SmartVertexHandle::faces_ccw() const { assert(mesh() != nullptr); return mesh()->vf_ccw_range(*this); }
975
976inline PolyConnectivity::ConstVertexEdgeRange SmartVertexHandle::edges() const { assert(mesh() != nullptr); return mesh()->ve_range (*this); }
977inline PolyConnectivity::ConstVertexEdgeCWRange SmartVertexHandle::edges_cw() const { assert(mesh() != nullptr); return mesh()->ve_cw_range (*this); }
978inline PolyConnectivity::ConstVertexEdgeCCWRange SmartVertexHandle::edges_ccw() const { assert(mesh() != nullptr); return mesh()->ve_ccw_range(*this); }
979
980inline PolyConnectivity::ConstVertexVertexRange SmartVertexHandle::vertices() const { assert(mesh() != nullptr); return mesh()->vv_range (*this); }
981inline PolyConnectivity::ConstVertexVertexCWRange SmartVertexHandle::vertices_cw() const { assert(mesh() != nullptr); return mesh()->vv_cw_range (*this); }
983
987
991
995
999
1000
1001inline PolyConnectivity::ConstHalfedgeLoopRange SmartHalfedgeHandle::loop() const { assert(mesh() != nullptr); return mesh()->hl_range (*this); }
1002inline PolyConnectivity::ConstHalfedgeLoopCWRange SmartHalfedgeHandle::loop_cw() const { assert(mesh() != nullptr); return mesh()->hl_cw_range (*this); }
1004
1005
1006inline PolyConnectivity::ConstFaceVertexRange SmartFaceHandle::vertices() const { assert(mesh() != nullptr); return mesh()->fv_range (*this); }
1007inline PolyConnectivity::ConstFaceVertexCWRange SmartFaceHandle::vertices_cw() const { assert(mesh() != nullptr); return mesh()->fv_cw_range (*this); }
1009
1010inline PolyConnectivity::ConstFaceHalfedgeRange SmartFaceHandle::halfedges() const { assert(mesh() != nullptr); return mesh()->fh_range (*this); }
1011inline PolyConnectivity::ConstFaceHalfedgeCWRange SmartFaceHandle::halfedges_cw() const { assert(mesh() != nullptr); return mesh()->fh_cw_range (*this); }
1013
1014inline PolyConnectivity::ConstFaceEdgeRange SmartFaceHandle::edges() const { assert(mesh() != nullptr); return mesh()->fe_range (*this); }
1015inline PolyConnectivity::ConstFaceEdgeCWRange SmartFaceHandle::edges_cw() const { assert(mesh() != nullptr); return mesh()->fe_cw_range (*this); }
1016inline PolyConnectivity::ConstFaceEdgeCCWRange SmartFaceHandle::edges_ccw() const { assert(mesh() != nullptr); return mesh()->fe_ccw_range(*this); }
1017
1018inline PolyConnectivity::ConstFaceFaceRange SmartFaceHandle::faces() const { assert(mesh() != nullptr); return mesh()->ff_range (*this); }
1019inline PolyConnectivity::ConstFaceFaceCWRange SmartFaceHandle::faces_cw() const { assert(mesh() != nullptr); return mesh()->ff_cw_range (*this); }
1020inline PolyConnectivity::ConstFaceFaceCCWRange SmartFaceHandle::faces_ccw() const { assert(mesh() != nullptr); return mesh()->ff_ccw_range(*this); }
1021
1022
1023inline PolyConnectivity::ConstEdgeVertexRange SmartEdgeHandle::vertices() const { assert(mesh() != nullptr); return mesh()->ev_range (*this); }
1024
1025inline PolyConnectivity::ConstEdgeHalfedgeRange SmartEdgeHandle::halfedges() const { assert(mesh() != nullptr); return mesh()->eh_range (*this); }
1026
1027inline PolyConnectivity::ConstEdgeHalfedgeRange SmartEdgeHandle::halfedges(HalfedgeHandle _heh) const { assert(mesh() != nullptr); return mesh()->eh_range (_heh); }
1028
1029inline PolyConnectivity::ConstEdgeFaceRange SmartEdgeHandle::faces() const { assert(mesh() != nullptr); return mesh()->ef_range (*this); }
1030
1031}//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:265
size_t n_vertices() const override
You should not use this function directly.
Definition: ArrayKernel.hh:345
size_t n_edges() const override
You should not use this function directly.
Definition: ArrayKernel.hh:347
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:348
size_t n_halfedges() const override
You should not use this function directly.
Definition: ArrayKernel.hh:346
Generic class for iterator ranges.
Definition: PolyConnectivity_inline_impl.hh:92
Definition: CirculatorsT.hh:305
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:239
ConstVertexVertexCWIter cvv_cwbegin(VertexHandle _vh) const
const vertex circulator cw
Definition: PolyConnectivity_inline_impl.hh:611
FaceHalfedgeCWIter fh_cwiter(FaceHandle _fh)
face - halfedge circulator cw
Definition: PolyConnectivity_inline_impl.hh:483
CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstVertexVertexIter, VertexHandle, VertexHandle, &PolyConnectivity::cvv_begin, &PolyConnectivity::cvv_end > > ConstVertexVertexRange
Definition: PolyConnectivity.hh:1268
EdgeIter edges_end()
End iterator for edges.
Definition: PolyConnectivity_inline_impl.hh:338
CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstFaceVertexIter, FaceHandle, VertexHandle, &PolyConnectivity::cfv_begin, &PolyConnectivity::cfv_end > > ConstFaceVertexRange
Definition: PolyConnectivity.hh:1273
CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstFaceHalfedgeCWIter, FaceHandle, HalfedgeHandle, &PolyConnectivity::cfh_cwbegin, &PolyConnectivity::cfh_cwend > > ConstFaceHalfedgeCWRange
Definition: PolyConnectivity.hh:1288
VertexVertexIter vv_begin(VertexHandle _vh)
vertex - vertex circulator
Definition: PolyConnectivity_inline_impl.hh:562
EdgeIter ConstEdgeIter
Linear iterator.
Definition: PolyConnectivity.hh:146
ConstFaceFaceCCWIter cff_ccwend(FaceHandle _fh) const
const face - face circulator
Definition: PolyConnectivity_inline_impl.hh:939
VertexVertexCCWIter vv_ccwiter(VertexHandle _vh)
vertex - vertex circulator ccw
Definition: PolyConnectivity_inline_impl.hh:387
VertexVertexIter vv_end(VertexHandle _vh)
vertex - vertex circulator
Definition: PolyConnectivity_inline_impl.hh:768
Iterators::GenericCirculatorT< VertexEdgeTraits, false > VertexEdgeCCWIter
Enumerates incident edges in a counter clockwise fashion.
Definition: PolyConnectivity.hh:258
FaceEdgeCWIter fe_cwiter(FaceHandle _fh)
face - edge circulator cw
Definition: PolyConnectivity_inline_impl.hh:492
HalfedgeLoopCWIter ConstHalfedgeLoopCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:433
FaceFaceCCWIter ff_ccwiter(FaceHandle _fh)
face - face circulator ccw
Definition: PolyConnectivity_inline_impl.hh:504
EdgeVertexIter ev_begin(EdgeHandle _eh)
edge - vertex circulator
Definition: PolyConnectivity_inline_impl.hh:746
CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstFaceFaceCWIter, FaceHandle, FaceHandle, &PolyConnectivity::cff_cwbegin, &PolyConnectivity::cff_cwend > > ConstFaceFaceCWRange
Definition: PolyConnectivity.hh:1290
HalfedgeIter halfedges_end()
End iterator for halfedges.
Definition: PolyConnectivity_inline_impl.hh:326
VertexFaceIter vf_begin(VertexHandle _vh)
vertex - face circulator
Definition: PolyConnectivity_inline_impl.hh:598
ConstFaceEdgeCWIter cfe_cwend(FaceHandle _fh) const
const face - edge circulator cw
Definition: PolyConnectivity_inline_impl.hh:927
ConstFaceFaceIter cff_end(FaceHandle _fh) const
const face - face circulator
Definition: PolyConnectivity_inline_impl.hh:933
ConstEdgeFaceRange ef_range(EdgeHandle _eh) const
Definition: PolyConnectivity_inline_impl.hh:198
FaceFaceCWIter ff_cwiter(FaceHandle _fh)
face - face circulator cw
Definition: PolyConnectivity_inline_impl.hh:501
VertexIHalfedgeCCWIter vih_ccwend(VertexHandle _vh)
vertex - incoming halfedge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:783
ConstHalfedgeLoopRange hl_range(HalfedgeHandle _heh) const
Definition: PolyConnectivity_inline_impl.hh:202
VertexFaceCWIter vf_cwbegin(VertexHandle _vh)
vertex - face circulator cw
Definition: PolyConnectivity_inline_impl.hh:601
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:678
ConstVertexVertexCWRange vv_cw_range(VertexHandle _vh) const
Definition: PolyConnectivity_inline_impl.hh:207
ConstVertexVertexIter cvv_iter(VertexHandle _vh) const
const vertex circulator
Definition: PolyConnectivity_inline_impl.hh:426
CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstFaceHalfedgeCCWIter, FaceHandle, HalfedgeHandle, &PolyConnectivity::cfh_ccwbegin, &PolyConnectivity::cfh_ccwend > > ConstFaceHalfedgeCCWRange
Definition: PolyConnectivity.hh:1299
CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstVertexVertexCCWIter, VertexHandle, VertexHandle, &PolyConnectivity::cvv_ccwbegin, &PolyConnectivity::cvv_ccwend > > ConstVertexVertexCCWRange
Definition: PolyConnectivity.hh:1293
FaceHalfedgeCWIter fh_cwend(FaceHandle _fh)
face - halfedge circulator cw
Definition: PolyConnectivity_inline_impl.hh:872
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:924
VertexEdgeCWIter ve_cwbegin(VertexHandle _vh)
vertex - edge circulator cw
Definition: PolyConnectivity_inline_impl.hh:592
ConstVertexIHalfedgeCCWIter cvih_ccwiter(VertexHandle _vh) const
const vertex - incoming halfedge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:441
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
VertexIter vertices_sbegin()
Begin iterator for vertices.
Definition: PolyConnectivity_inline_impl.hh:357
FaceHalfedgeIter fh_end(FaceHandle _fh)
face - halfedge circulator
Definition: PolyConnectivity_inline_impl.hh:869
VertexFaceCWIter vf_cwiter(VertexHandle _vh)
vertex - face circulator cw
Definition: PolyConnectivity_inline_impl.hh:420
ConstEdgeFaceIter cef_begin(EdgeHandle _eh) const
const edge - face circulator
Definition: PolyConnectivity_inline_impl.hh:762
HalfedgeIter halfedges_sbegin()
Begin iterator for halfedges.
Definition: PolyConnectivity_inline_impl.hh:363
ConstFaceHalfedgeIter cfh_end(FaceHandle _fh) const
const face - halfedge circulator
Definition: PolyConnectivity_inline_impl.hh:915
ConstFaceFaceCWIter cff_cwend(FaceHandle _fh) const
const face - face circulator
Definition: PolyConnectivity_inline_impl.hh:936
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:669
HalfedgeLoopCCWIter hl_ccwbegin(HalfedgeHandle _heh)
halfedge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:696
HalfedgeIter halfedges_begin()
Begin iterator for halfedges.
Definition: PolyConnectivity_inline_impl.hh:320
SmartHalfedgeHandle opposite_halfedge_handle(SmartHalfedgeHandle _heh) const
returns the face handle of the opposite halfedge
Definition: PolyConnectivity_inline_impl.hh:57
ConstFaceHalfedgeIter cfh_iter(FaceHandle _fh) const
const face - halfedge circulator
Definition: PolyConnectivity_inline_impl.hh:516
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:733
ConstFaceHalfedgeCWIter cfh_cwiter(FaceHandle _fh) const
const face - halfedge circulator cw
Definition: PolyConnectivity_inline_impl.hh:519
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:369
CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstVertexVertexCWIter, VertexHandle, VertexHandle, &PolyConnectivity::cvv_cwbegin, &PolyConnectivity::cvv_cwend > > ConstVertexVertexCWRange
Definition: PolyConnectivity.hh:1282
CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstVertexOHalfedgeCCWIter, VertexHandle, HalfedgeHandle, &PolyConnectivity::cvoh_ccwbegin, &PolyConnectivity::cvoh_ccwend > > ConstVertexOHalfedgeCCWRange
Definition: PolyConnectivity.hh:1295
EntityRange< RangeTraitT< const PolyConnectivity, PolyConnectivity::ConstEdgeIter, &PolyConnectivity::edges_sbegin, &PolyConnectivity::edges_end > > ConstEdgeRangeSkipping
Definition: PolyConnectivity.hh:1189
VertexIHalfedgeCWIter vih_cwend(VertexHandle _vh)
vertex - incoming halfedge circulator cw
Definition: PolyConnectivity_inline_impl.hh:780
EdgeIter edges_begin()
Begin iterator for edges.
Definition: PolyConnectivity_inline_impl.hh:332
FaceVertexCWIter fv_cwiter(FaceHandle _fh)
face - vertex circulator cw
Definition: PolyConnectivity_inline_impl.hh:474
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:826
static SmartEdgeHandle s_edge_handle(SmartHalfedgeHandle _heh)
returns the face handle of the opposite halfedge
Definition: PolyConnectivity_inline_impl.hh:62
ConstVertexEdgeCCWIter cve_ccwbegin(VertexHandle _vh) const
const vertex - edge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:641
ConstVertexVertexCWIter cvv_cwend(VertexHandle _vh) const
const vertex circulator cw
Definition: PolyConnectivity_inline_impl.hh:817
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:1302
FaceVertexIter fv_begin(FaceHandle _fh)
face - vertex circulator
Definition: PolyConnectivity_inline_impl.hh:654
CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstFaceVertexCWIter, FaceHandle, VertexHandle, &PolyConnectivity::cfv_cwbegin, &PolyConnectivity::cfv_cwend > > ConstFaceVertexCWRange
Definition: PolyConnectivity.hh:1287
VertexEdgeCWIter ve_cwend(VertexHandle _vh)
vertex - edge circulator cw
Definition: PolyConnectivity_inline_impl.hh:798
FaceVertexCCWIter fv_ccwiter(FaceHandle _fh)
face - vertex circulator ccw
Definition: PolyConnectivity_inline_impl.hh:477
ConstVertexVertexCCWIter cvv_ccwbegin(VertexHandle _vh) const
const vertex circulator ccw
Definition: PolyConnectivity_inline_impl.hh:614
EdgeVertexIter ev_iter(EdgeHandle _eh)
edge - vertex circulator
Definition: PolyConnectivity_inline_impl.hh:543
ConstEdgeVertexIter cev_begin(EdgeHandle _eh) const
const edge - vertex circulator
Definition: PolyConnectivity_inline_impl.hh:756
HalfedgeLoopCWIter hl_cwbegin(HalfedgeHandle _heh)
halfedge circulator
Definition: PolyConnectivity_inline_impl.hh:693
FaceFaceCWIter ff_cwend(FaceHandle _fh)
face - face circulator cw
Definition: PolyConnectivity_inline_impl.hh:890
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:1269
FaceFaceIter ff_iter(FaceHandle _fh)
face - face circulator
Definition: PolyConnectivity_inline_impl.hh:498
ConstHalfedgeLoopIter chl_end(HalfedgeHandle _heh) const
const face - face circulator
Definition: PolyConnectivity_inline_impl.hh:942
FaceVertexCWIter fv_cwend(FaceHandle _fh)
face - vertex circulator cw
Definition: PolyConnectivity_inline_impl.hh:863
ConstHalfedgeLoopCWIter chl_cwend(HalfedgeHandle _heh) const
const face - face circulator cw
Definition: PolyConnectivity_inline_impl.hh:945
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:1194
VertexOHalfedgeCWIter voh_cwiter(VertexHandle _vh)
vertex - outgoing halfedge circulator cw
Definition: PolyConnectivity_inline_impl.hh:402
ConstHalfedgeLoopCCWIter chl_ccwend(HalfedgeHandle _heh) const
const face - face circulator ccw
Definition: PolyConnectivity_inline_impl.hh:948
CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstFaceFaceCCWIter, FaceHandle, FaceHandle, &PolyConnectivity::cff_ccwbegin, &PolyConnectivity::cff_ccwend > > ConstFaceFaceCCWRange
Definition: PolyConnectivity.hh:1301
CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstVertexIHalfedgeCWIter, VertexHandle, HalfedgeHandle, &PolyConnectivity::cvih_cwbegin, &PolyConnectivity::cvih_cwend > > ConstVertexIHalfedgeCWRange
Definition: PolyConnectivity.hh:1283
ConstHalfedgeLoopCCWRange hl_ccw_range(HalfedgeHandle _heh) const
Definition: PolyConnectivity_inline_impl.hh:302
ConstFaceHalfedgeCCWIter cfh_ccwbegin(FaceHandle _fh) const
const face - halfedge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:715
HalfedgeLoopIter hl_begin(HalfedgeHandle _heh)
halfedge circulator
Definition: PolyConnectivity_inline_impl.hh:690
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:1164
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:405
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:1284
ConstFaceEdgeCWIter cfe_cwiter(FaceHandle _fh) const
const face - edge circulator cw
Definition: PolyConnectivity_inline_impl.hh:528
HalfedgeLoopCCWIter ConstHalfedgeLoopCCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:434
SmartHalfedgeHandle prev_halfedge_handle(SmartHalfedgeHandle _heh) const
returns the face handle of the opposite halfedge
Definition: PolyConnectivity_inline_impl.hh:56
ConstVertexFaceCWIter cvf_cwiter(VertexHandle _vh) const
const vertex - face circulator cw
Definition: PolyConnectivity_inline_impl.hh:465
FaceVertexCCWIter fv_ccwbegin(FaceHandle _fh)
face - vertex circulator ccw
Definition: PolyConnectivity_inline_impl.hh:660
ConstFaceVertexIter cfv_iter(FaceHandle _fh) const
const face - vertex circulator
Definition: PolyConnectivity_inline_impl.hh:507
VertexOHalfedgeIter voh_begin(VertexHandle _vh)
vertex - outgoing halfedge circulator
Definition: PolyConnectivity_inline_impl.hh:580
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:1275
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:930
ConstFaceHalfedgeIter cfh_begin(FaceHandle _fh) const
const face - halfedge circulator
Definition: PolyConnectivity_inline_impl.hh:709
ConstFaceFaceCWRange ff_cw_range(FaceHandle _fh) const
Definition: PolyConnectivity_inline_impl.hh:247
HalfedgeLoopIter ConstHalfedgeLoopIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:432
ConstVertexIHalfedgeCWRange vih_cw_range(VertexHandle _vh) const
Definition: PolyConnectivity_inline_impl.hh:211
ConstFaceFaceIter cff_iter(FaceHandle _fh) const
const face - face circulator
Definition: PolyConnectivity_inline_impl.hh:534
ConstVertexFaceCCWIter cvf_ccwbegin(VertexHandle _vh) const
const vertex - face circulator ccw
Definition: PolyConnectivity_inline_impl.hh:650
ConstEdgeHalfedgeIter ceh_end(EdgeHandle _eh) const
const edge - halfedge circulator
Definition: PolyConnectivity_inline_impl.hh:965
ConstFaceVertexCCWIter cfv_ccwiter(FaceHandle _fh) const
const face - vertex circulator ccw
Definition: PolyConnectivity_inline_impl.hh:513
CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstHalfedgeLoopIter, HalfedgeHandle, HalfedgeHandle, &PolyConnectivity::chl_begin, &PolyConnectivity::chl_end > > ConstHalfedgeLoopRange
Definition: PolyConnectivity.hh:1280
ConstVertexEdgeCCWRange ve_ccw_range(VertexHandle _vh) const
Definition: PolyConnectivity_inline_impl.hh:277
EdgeVertexIter ConstEdgeVertexIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:425
ConstEdgeHalfedgeIter ceh_begin(EdgeHandle _eh) const
const edge - halfedge circulator
Definition: PolyConnectivity_inline_impl.hh:759
ConstVertexOHalfedgeCCWIter cvoh_ccwiter(VertexHandle _vh) const
const vertex - outgoing halfedge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:450
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:1285
EdgeFaceIter ef_begin(EdgeHandle _eh)
edge - face circulator
Definition: PolyConnectivity_inline_impl.hh:752
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:1296
VertexVertexCWIter vv_cwbegin(VertexHandle _vh)
vertex - vertex circulator cw
Definition: PolyConnectivity_inline_impl.hh:565
VertexIter ConstVertexIter
Linear iterator.
Definition: PolyConnectivity.hh:144
ConstVertexVertexCCWIter cvv_ccwiter(VertexHandle _vh) const
const vertex circulator ccw
Definition: PolyConnectivity_inline_impl.hh:432
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:381
ConstVertexOHalfedgeCWIter cvoh_cwbegin(VertexHandle _vh) const
const vertex - outgoing halfedge circulator cw
Definition: PolyConnectivity_inline_impl.hh:629
ConstVertexIHalfedgeCCWIter cvih_ccwbegin(VertexHandle _vh) const
const vertex - incoming halfedge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:623
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:1289
EdgeVertexIter ev_end(EdgeHandle _eh)
edge - vertex circulator
Definition: PolyConnectivity_inline_impl.hh:952
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
ConstVertexFaceCWRange vf_cw_range(VertexHandle _vh) const
Definition: PolyConnectivity_inline_impl.hh:231
VertexIHalfedgeCWIter vih_cwbegin(VertexHandle _vh)
vertex - incoming halfedge circulator cw
Definition: PolyConnectivity_inline_impl.hh:574
CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstVertexEdgeIter, VertexHandle, EdgeHandle, &PolyConnectivity::cve_begin, &PolyConnectivity::cve_end > > ConstVertexEdgeRange
Definition: PolyConnectivity.hh:1271
ConstEdgeFaceIter cef_end(EdgeHandle _eh) const
const edge - face circulator
Definition: PolyConnectivity_inline_impl.hh:968
VertexIHalfedgeIter vih_end(VertexHandle _vh)
vertex - incoming halfedge circulator
Definition: PolyConnectivity_inline_impl.hh:777
ConstVertexEdgeRange ve_range(VertexHandle _vh) const
Definition: PolyConnectivity_inline_impl.hh:162
EdgeFaceIter ConstEdgeFaceIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:427
ConstVertexOHalfedgeCWRange voh_cw_range(VertexHandle _vh) const
Definition: PolyConnectivity_inline_impl.hh:219
Iterators::GenericCirculatorT_DEPRECATED< EdgeHalfedgeTraits > EdgeHalfedgeIter
Enumerate the halfedges of an edge.
Definition: PolyConnectivity.hh:410
ConstFaceEdgeCCWIter cfe_ccwbegin(FaceHandle _fh) const
const face - edge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:724
ConstVertexFaceCCWIter cvf_ccwiter(VertexHandle _vh) const
const vertex - face circulator ccw
Definition: PolyConnectivity_inline_impl.hh:468
ConstFaceEdgeCCWRange fe_ccw_range(FaceHandle _fh) const
Definition: PolyConnectivity_inline_impl.hh:293
VertexEdgeCCWIter ve_ccwiter(VertexHandle _vh)
vertex - edge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:414
ConstEdgeRange all_edges() const
Definition: PolyConnectivity_inline_impl.hh:128
VertexEdgeCCWIter ve_ccwend(VertexHandle _vh)
vertex - edge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:801
static SmartHalfedgeHandle s_halfedge_handle(SmartEdgeHandle _eh, unsigned int _i=0)
returns the face handle of the opposite halfedge
Definition: PolyConnectivity_inline_impl.hh:61
VertexEdgeIter ve_end(VertexHandle _vh)
vertex - edge circulator
Definition: PolyConnectivity_inline_impl.hh:795
ConstFaceEdgeCWRange fe_cw_range(FaceHandle _fh) const
Definition: PolyConnectivity_inline_impl.hh:243
ConstHalfedgeLoopCWRange hl_cw_range(HalfedgeHandle _heh) const
Definition: PolyConnectivity_inline_impl.hh:251
FaceIter faces_sbegin()
Begin iterator for faces.
Definition: PolyConnectivity_inline_impl.hh:375
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:860
VertexFaceCCWIter vf_ccwend(VertexHandle _vh)
vertex - face circulator ccw
Definition: PolyConnectivity_inline_impl.hh:810
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
ConstEdgeVertexRange ev_range(EdgeHandle _eh) const
Definition: PolyConnectivity_inline_impl.hh:186
ConstVertexIHalfedgeCCWRange vih_ccw_range(VertexHandle _vh) const
Definition: PolyConnectivity_inline_impl.hh:261
ConstFaceVertexIter cfv_begin(FaceHandle _fh) const
const face - vertex circulator
Definition: PolyConnectivity_inline_impl.hh:700
SmartHalfedgeHandle next_halfedge_handle(SmartHalfedgeHandle _heh) const
returns the face handle of the opposite halfedge
Definition: PolyConnectivity_inline_impl.hh:55
EdgeHalfedgeIter ConstEdgeHalfedgeIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:426
ConstVertexEdgeIter cve_iter(VertexHandle _vh) const
const vertex - edge circulator
Definition: PolyConnectivity_inline_impl.hh:453
ConstFaceFaceCWIter cff_cwiter(FaceHandle _fh) const
const face - face circulator cw
Definition: PolyConnectivity_inline_impl.hh:537
VertexFaceCWIter vf_cwend(VertexHandle _vh)
vertex - face circulator cw
Definition: PolyConnectivity_inline_impl.hh:807
ConstEdgeVertexIter cev_end(EdgeHandle _eh) const
const edge - vertex circulator
Definition: PolyConnectivity_inline_impl.hh:962
ConstFaceEdgeIter cfe_iter(FaceHandle _fh) const
const face - edge circulator
Definition: PolyConnectivity_inline_impl.hh:525
ConstFaceVertexCCWIter cfv_ccwend(FaceHandle _fh) const
const face - vertex circulator ccw
Definition: PolyConnectivity_inline_impl.hh:912
FaceEdgeCWIter fe_cwbegin(FaceHandle _fh)
face - edge circulator cw
Definition: PolyConnectivity_inline_impl.hh:675
VertexIHalfedgeCWIter vih_cwiter(VertexHandle _vh)
vertex - incoming halfedge circulator cw
Definition: PolyConnectivity_inline_impl.hh:393
FaceHalfedgeCCWIter fh_ccwiter(FaceHandle _fh)
face - halfedge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:486
ConstFaceEdgeIter cfe_begin(FaceHandle _fh) const
const face - edge circulator
Definition: PolyConnectivity_inline_impl.hh:718
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:684
Iterators::GenericCirculatorT< FaceFaceTraits, true > FaceFaceCCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:362
SmartHalfedgeHandle ccw_rotated_halfedge_handle(SmartHalfedgeHandle _heh) const
returns the face handle of the opposite halfedge
Definition: PolyConnectivity_inline_impl.hh:58
ConstFaceFaceCCWIter cff_ccwiter(FaceHandle _fh) const
const face - face circulator
Definition: PolyConnectivity_inline_impl.hh:540
HalfedgeLoopIter hl_end(HalfedgeHandle _heh)
face - face circulator
Definition: PolyConnectivity_inline_impl.hh:896
FaceEdgeCCWIter ConstFaceEdgeCCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:377
EdgeHalfedgeIter eh_begin(EdgeHandle _eh)
edge - halfedge circulator
Definition: PolyConnectivity_inline_impl.hh:749
ConstVertexFaceCCWRange vf_ccw_range(VertexHandle _vh) const
Definition: PolyConnectivity_inline_impl.hh:281
VertexOHalfedgeCCWIter voh_ccwend(VertexHandle _vh)
vertex - outgoing halfedge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:792
ConstVertexEdgeCWIter cve_cwiter(VertexHandle _vh) const
const vertex - edge circulator cw
Definition: PolyConnectivity_inline_impl.hh:456
VertexEdgeCCWIter ve_ccwbegin(VertexHandle _vh)
vertex - edge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:595
VertexOHalfedgeIter voh_iter(VertexHandle _vh)
vertex - outgoing halfedge circulator
Definition: PolyConnectivity_inline_impl.hh:399
ConstFaceVertexCWIter cfv_cwiter(FaceHandle _fh) const
const face - vertex circulator cw
Definition: PolyConnectivity_inline_impl.hh:510
ConstVertexOHalfedgeCCWIter cvoh_ccwbegin(VertexHandle _vh) const
const vertex - outgoing halfedge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:632
ConstHalfedgeRangeSkipping halfedges() const
Definition: PolyConnectivity_inline_impl.hh:125
ConstVertexEdgeCWRange ve_cw_range(VertexHandle _vh) const
Definition: PolyConnectivity_inline_impl.hh:227
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:1184
FaceEdgeIter fe_begin(FaceHandle _fh)
face - edge circulator
Definition: PolyConnectivity_inline_impl.hh:672
VertexOHalfedgeCWIter voh_cwbegin(VertexHandle _vh)
vertex - outgoing halfedge circulator cw
Definition: PolyConnectivity_inline_impl.hh:583
EdgeFaceIter ef_iter(EdgeHandle _eh)
edge - face circulator
Definition: PolyConnectivity_inline_impl.hh:549
CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstFaceEdgeCCWIter, FaceHandle, EdgeHandle, &PolyConnectivity::cfe_ccwbegin, &PolyConnectivity::cfe_ccwend > > ConstFaceEdgeCCWRange
Definition: PolyConnectivity.hh:1300
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:878
FaceFaceIter ff_end(FaceHandle _fh)
face - face circulator
Definition: PolyConnectivity_inline_impl.hh:887
EntityRange< RangeTraitT< const PolyConnectivity, PolyConnectivity::ConstHalfedgeIter, &PolyConnectivity::halfedges_sbegin, &PolyConnectivity::halfedges_end > > ConstHalfedgeRangeSkipping
Definition: PolyConnectivity.hh:1179
SmartFaceHandle face_handle(SmartHalfedgeHandle _heh) const
returns the face handle of the opposite halfedge
Definition: PolyConnectivity_inline_impl.hh:69
ConstFaceFaceIter cff_begin(FaceHandle _fh) const
const face - face circulator
Definition: PolyConnectivity_inline_impl.hh:727
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:856
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:820
VertexOHalfedgeIter voh_end(VertexHandle _vh)
vertex - outgoing halfedge circulator
Definition: PolyConnectivity_inline_impl.hh:786
FaceEdgeIter fe_iter(FaceHandle _fh)
face - edge circulator
Definition: PolyConnectivity_inline_impl.hh:489
VertexIter vertices_begin()
Begin iterator for vertices.
Definition: PolyConnectivity_inline_impl.hh:308
CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstVertexFaceCWIter, VertexHandle, FaceHandle, &PolyConnectivity::cvf_cwbegin, &PolyConnectivity::cvf_cwend > > ConstVertexFaceCWRange
Definition: PolyConnectivity.hh:1286
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:847
ConstEdgeFaceIter cef_iter(EdgeHandle _eh) const
const edge - face circulator
Definition: PolyConnectivity_inline_impl.hh:558
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:823
ConstVertexOHalfedgeCWIter cvoh_cwiter(VertexHandle _vh) const
const vertex - outgoing halfedge circulator cw
Definition: PolyConnectivity_inline_impl.hh:447
ConstVertexFaceIter cvf_iter(VertexHandle _vh) const
const vertex - face circulator
Definition: PolyConnectivity_inline_impl.hh:462
ConstFaceFaceCWIter cff_cwbegin(FaceHandle _fh) const
const face - face circulator cw
Definition: PolyConnectivity_inline_impl.hh:730
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:1270
CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstEdgeHalfedgeIter, EdgeHandle, HalfedgeHandle, &PolyConnectivity::ceh_begin, &PolyConnectivity::ceh_end > > ConstEdgeHalfedgeRange
Definition: PolyConnectivity.hh:1278
ConstFaceHalfedgeCCWIter cfh_ccwiter(FaceHandle _fh) const
const face - halfedge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:522
EntityRange< RangeTraitT< const PolyConnectivity, PolyConnectivity::ConstVertexIter, &PolyConnectivity::vertices_sbegin, &PolyConnectivity::vertices_end > > ConstVertexRangeSkipping
Definition: PolyConnectivity.hh:1169
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
EdgeHalfedgeIter eh_end(EdgeHandle _eh)
edge - halfedge circulator
Definition: PolyConnectivity_inline_impl.hh:955
ConstVertexVertexIter cvv_end(VertexHandle _vh) const
const vertex circulator
Definition: PolyConnectivity_inline_impl.hh:814
VertexVertexCCWIter vv_ccwend(VertexHandle _vh)
vertex - vertex circulator ccw
Definition: PolyConnectivity_inline_impl.hh:774
ConstFaceFaceCCWRange ff_ccw_range(FaceHandle _fh) const
Definition: PolyConnectivity_inline_impl.hh:297
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:644
ConstEdgeVertexIter cev_iter(EdgeHandle _eh) const
const edge - vertex circulator
Definition: PolyConnectivity_inline_impl.hh:552
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:459
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:350
CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstVertexFaceIter, VertexHandle, FaceHandle, &PolyConnectivity::cvf_begin, &PolyConnectivity::cvf_end > > ConstVertexFaceRange
Definition: PolyConnectivity.hh:1272
FaceVertexCWIter fv_cwbegin(FaceHandle _fh)
face - vertex circulator cw
Definition: PolyConnectivity_inline_impl.hh:657
ConstFaceHalfedgeCWIter cfh_cwend(FaceHandle _fh) const
const face - halfedge circulator cw
Definition: PolyConnectivity_inline_impl.hh:918
FaceEdgeCCWIter fe_ccwiter(FaceHandle _fh)
face - edge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:495
ConstVertexIHalfedgeCWIter cvih_cwbegin(VertexHandle _vh) const
const vertex - incoming halfedge circulator cw
Definition: PolyConnectivity_inline_impl.hh:620
CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstVertexIHalfedgeCCWIter, VertexHandle, HalfedgeHandle, &PolyConnectivity::cvih_ccwbegin, &PolyConnectivity::cvih_ccwend > > ConstVertexIHalfedgeCCWRange
Definition: PolyConnectivity.hh:1294
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:736
FaceHalfedgeCCWIter fh_ccwend(FaceHandle _fh)
face - halfedge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:875
ConstVertexOHalfedgeIter cvoh_iter(VertexHandle _vh) const
const vertex - outgoing halfedge circulator
Definition: PolyConnectivity_inline_impl.hh:444
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:721
ConstVertexVertexCCWRange vv_ccw_range(VertexHandle _vh) const
Definition: PolyConnectivity_inline_impl.hh:257
ConstFaceRangeSkipping faces() const
Definition: PolyConnectivity_inline_impl.hh:129
FaceFaceIter ff_begin(FaceHandle _fh)
face - face circulator
Definition: PolyConnectivity_inline_impl.hh:681
ConstVertexIHalfedgeIter cvih_begin(VertexHandle _vh) const
const vertex - incoming halfedge circulator
Definition: PolyConnectivity_inline_impl.hh:617
ConstVertexOHalfedgeIter cvoh_begin(VertexHandle _vh) const
const vertex - outgoing halfedge circulator
Definition: PolyConnectivity_inline_impl.hh:626
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:568
VertexFaceCCWIter vf_ccwbegin(VertexHandle _vh)
vertex - face circulator ccw
Definition: PolyConnectivity_inline_impl.hh:604
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:866
ConstVertexFaceCWIter cvf_cwbegin(VertexHandle _vh) const
const vertex - face circulator cw
Definition: PolyConnectivity_inline_impl.hh:647
ConstVertexVertexCWIter cvv_cwiter(VertexHandle _vh) const
const vertex circulator cw
Definition: PolyConnectivity_inline_impl.hh:429
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
CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstEdgeFaceIter, EdgeHandle, FaceHandle, &PolyConnectivity::cef_begin, &PolyConnectivity::cef_end > > ConstEdgeFaceRange
Definition: PolyConnectivity.hh:1279
SmartEdgeHandle edge_handle(SmartHalfedgeHandle _heh) const
returns the face handle of the opposite halfedge
Definition: PolyConnectivity_inline_impl.hh:65
VertexFaceCCWIter vf_ccwiter(VertexHandle _vh)
vertex - face circulator ccw
Definition: PolyConnectivity_inline_impl.hh:423
VertexVertexCWIter vv_cwiter(VertexHandle _vh)
vertex - vertex circulator cw
Definition: PolyConnectivity_inline_impl.hh:384
ConstVertexOHalfedgeCCWIter cvoh_ccwend(VertexHandle _vh) const
const vertex - outgoing halfedge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:838
ConstVertexOHalfedgeIter cvoh_end(VertexHandle _vh) const
const vertex - outgoing halfedge circulator
Definition: PolyConnectivity_inline_impl.hh:832
VertexEdgeIter ve_begin(VertexHandle _vh)
vertex - edge circulator
Definition: PolyConnectivity_inline_impl.hh:589
EntityRange< RangeTraitT< const PolyConnectivity, PolyConnectivity::ConstHalfedgeIter, &PolyConnectivity::halfedges_begin, &PolyConnectivity::halfedges_end > > ConstHalfedgeRange
Definition: PolyConnectivity.hh:1174
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:739
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:638
ConstHalfedgeLoopCCWIter chl_ccwbegin(HalfedgeHandle _heh) const
const halfedge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:742
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:706
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:269
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:893
ConstVertexOHalfedgeCWIter cvoh_cwend(VertexHandle _vh) const
const vertex - outgoing halfedge circulator cw
Definition: PolyConnectivity_inline_impl.hh:835
Iterators::GenericCirculatorT_DEPRECATED< FaceFaceTraits > FaceFaceIter
Enumerate adjacent faces in a counter clockwise fashion.
Definition: PolyConnectivity.hh:361
SmartHalfedgeHandle cw_rotated_halfedge_handle(SmartHalfedgeHandle _heh) const
returns the face handle of the opposite halfedge
Definition: PolyConnectivity_inline_impl.hh:59
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:1274
Iterators::GenericCirculatorT_DEPRECATED< EdgeFaceTraits > EdgeFaceIter
Enumerate faces incident to an edge.
Definition: PolyConnectivity.hh:423
HalfedgeLoopCWIter hl_cwend(HalfedgeHandle _heh)
face - face circulator cw
Definition: PolyConnectivity_inline_impl.hh:899
FaceEdgeCCWIter fe_ccwend(FaceHandle _fh)
face - edge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:884
CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstEdgeVertexIter, EdgeHandle, VertexHandle, &PolyConnectivity::cev_begin, &PolyConnectivity::cev_end > > ConstEdgeVertexRange
Definition: PolyConnectivity.hh:1277
ConstFaceHalfedgeCCWRange fh_ccw_range(FaceHandle _fh) const
Definition: PolyConnectivity_inline_impl.hh:289
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:909
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:396
FaceFaceCCWIter ff_ccwbegin(FaceHandle _fh)
face - face circulator ccw
Definition: PolyConnectivity_inline_impl.hh:687
VertexIHalfedgeIter vih_iter(VertexHandle _vh)
vertex - incoming halfedge circulator
Definition: PolyConnectivity_inline_impl.hh:390
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:608
VertexIter vertices_end()
End iterator for vertices.
Definition: PolyConnectivity_inline_impl.hh:314
Iterators::GenericCirculatorT< FaceEdgeTraits, false > FaceEdgeCWIter
Enumerate incident edges in a clockwise fashion.
Definition: PolyConnectivity.hh:347
ConstEdgeHalfedgeIter ceh_iter(EdgeHandle _eh) const
const edge - halfedge circulator
Definition: PolyConnectivity_inline_impl.hh:555
Iterators::GenericCirculatorT_DEPRECATED< EdgeVertexTraits > EdgeVertexIter
Enumerate vertices incident to an edge.
Definition: PolyConnectivity.hh:397
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:480
FaceHalfedgeCWIter fh_cwbegin(FaceHandle _fh)
face - halfedge circulator cw
Definition: PolyConnectivity_inline_impl.hh:666
ConstVertexFaceIter cvf_end(VertexHandle _vh) const
const vertex - face circulator
Definition: PolyConnectivity_inline_impl.hh:850
VertexEdgeIter ve_iter(VertexHandle _vh)
vertex - edge circulator
Definition: PolyConnectivity_inline_impl.hh:408
CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstFaceFaceIter, FaceHandle, FaceHandle, &PolyConnectivity::cff_begin, &PolyConnectivity::cff_end > > ConstFaceFaceRange
Definition: PolyConnectivity.hh:1276
FaceIter faces_begin()
Begin iterator for faces.
Definition: PolyConnectivity_inline_impl.hh:344
CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstHalfedgeLoopCWIter, HalfedgeHandle, HalfedgeHandle, &PolyConnectivity::chl_cwbegin, &PolyConnectivity::chl_cwend > > ConstHalfedgeLoopCWRange
Definition: PolyConnectivity.hh:1291
ConstFaceVertexIter cfv_end(FaceHandle _fh) const
const face - vertex circulator
Definition: PolyConnectivity_inline_impl.hh:906
VertexOHalfedgeCCWIter voh_ccwbegin(VertexHandle _vh)
vertex - outgoing halfedge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:586
ConstEdgeHalfedgeRange eh_range(EdgeHandle _eh) const
Definition: PolyConnectivity_inline_impl.hh:190
FaceHalfedgeIter fh_begin(FaceHandle _fh)
face - halfedge circulator
Definition: PolyConnectivity_inline_impl.hh:663
ConstVertexEdgeIter cve_begin(VertexHandle _vh) const
const vertex - edge circulator
Definition: PolyConnectivity_inline_impl.hh:635
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:531
ConstFaceHalfedgeCWIter cfh_cwbegin(FaceHandle _fh) const
const face - halfedge circulator cw
Definition: PolyConnectivity_inline_impl.hh:712
ConstFaceVertexCWRange fv_cw_range(FaceHandle _fh) const
Definition: PolyConnectivity_inline_impl.hh:235
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:902
CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstVertexFaceCCWIter, VertexHandle, FaceHandle, &PolyConnectivity::cvf_ccwbegin, &PolyConnectivity::cvf_ccwend > > ConstVertexFaceCCWRange
Definition: PolyConnectivity.hh:1297
ConstFaceVertexCWIter cfv_cwbegin(FaceHandle _fh) const
const face - vertex circulator cw
Definition: PolyConnectivity_inline_impl.hh:703
FaceVertexIter fv_iter(FaceHandle _fh)
face - vertex circulator
Definition: PolyConnectivity_inline_impl.hh:471
VertexEdgeCWIter ve_cwiter(VertexHandle _vh)
vertex - edge circulator cw
Definition: PolyConnectivity_inline_impl.hh:411
ConstFaceHalfedgeCCWIter cfh_ccwend(FaceHandle _fh) const
const face - halfedge circulator ccw
Definition: PolyConnectivity_inline_impl.hh:921
VertexOHalfedgeCWIter voh_cwend(VertexHandle _vh)
vertex - outgoing halfedge circulator cw
Definition: PolyConnectivity_inline_impl.hh:789
ConstVertexIHalfedgeCWIter cvih_cwiter(VertexHandle _vh) const
const vertex - incoming halfedge circulator cw
Definition: PolyConnectivity_inline_impl.hh:438
ConstVertexFaceCWIter cvf_cwend(VertexHandle _vh) const
const vertex - face circulator cw
Definition: PolyConnectivity_inline_impl.hh:853
FaceEdgeCWIter fe_cwend(FaceHandle _fh)
face - edge circulator cw
Definition: PolyConnectivity_inline_impl.hh:881
ConstVertexIHalfedgeIter cvih_iter(VertexHandle _vh) const
const vertex - incoming halfedge circulator
Definition: PolyConnectivity_inline_impl.hh:435
EdgeHalfedgeIter eh_iter(EdgeHandle _eh)
edge - halfedge circulator
Definition: PolyConnectivity_inline_impl.hh:546
EdgeFaceIter ef_end(EdgeHandle _eh)
edge - face circulator
Definition: PolyConnectivity_inline_impl.hh:958
EntityRange< RangeTraitT< const PolyConnectivity, PolyConnectivity::ConstFaceIter, &PolyConnectivity::faces_sbegin, &PolyConnectivity::faces_end > > ConstFaceRangeSkipping
Definition: PolyConnectivity.hh:1199
VertexIHalfedgeIter vih_begin(VertexHandle _vh)
vertex - incoming halfedge circulator
Definition: PolyConnectivity_inline_impl.hh:571
VertexFaceIter vf_end(VertexHandle _vh)
vertex - face circulator
Definition: PolyConnectivity_inline_impl.hh:804
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:577
SmartHalfedgeHandle halfedge_handle(SmartEdgeHandle _eh, unsigned int _i=0) const
returns the face handle of the opposite halfedge
Definition: PolyConnectivity_inline_impl.hh:64
CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstFaceVertexCCWIter, FaceHandle, VertexHandle, &PolyConnectivity::cfv_ccwbegin, &PolyConnectivity::cfv_ccwend > > ConstFaceVertexCCWRange
Definition: PolyConnectivity.hh:1298
VertexVertexCWIter vv_cwend(VertexHandle _vh)
vertex - vertex circulator cw
Definition: PolyConnectivity_inline_impl.hh:771
VertexFaceIter vf_iter(VertexHandle _vh)
vertex - face circulator
Definition: PolyConnectivity_inline_impl.hh:417
ConstFaceVertexCCWRange fv_ccw_range(FaceHandle _fh) const
Definition: PolyConnectivity_inline_impl.hh:285
ConstVertexEdgeCWIter cve_cwend(VertexHandle _vh) const
const vertex - edge circulator cw
Definition: PolyConnectivity_inline_impl.hh:844
ConstVertexEdgeIter cve_end(VertexHandle _vh) const
const vertex - edge circulator
Definition: PolyConnectivity_inline_impl.hh:841
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:829
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:977
PolyConnectivity::ConstVertexFaceCWRange faces_cw() const
Returns a range of faces incident to the vertex (PolyConnectivity::vf_cw_range())
Definition: PolyConnectivity_inline_impl.hh:973
PolyConnectivity::ConstVertexIHalfedgeRange incoming_halfedges() const
Returns a range of outgoing halfedges incident to the vertex (PolyConnectivity::voh_range())
Definition: PolyConnectivity_inline_impl.hh:984
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:985
PolyConnectivity::ConstVertexVertexCCWRange vertices_ccw() const
Returns a range of vertices adjacent to the vertex (PolyConnectivity::vv_ccw_range())
Definition: PolyConnectivity_inline_impl.hh:982
PolyConnectivity::ConstVertexVertexCWRange vertices_cw() const
Returns a range of vertices adjacent to the vertex (PolyConnectivity::vv_cw_range())
Definition: PolyConnectivity_inline_impl.hh:981
PolyConnectivity::ConstVertexVertexRange vertices() const
Returns a range of vertices adjacent to the vertex (PolyConnectivity::vv_range())
Definition: PolyConnectivity_inline_impl.hh:980
PolyConnectivity::ConstVertexEdgeCCWRange edges_ccw() const
Returns a range of edges incident to the vertex (PolyConnectivity::ve_ccw_range())
Definition: PolyConnectivity_inline_impl.hh:978
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:986
PolyConnectivity::ConstVertexFaceRange faces() const
Returns a range of faces incident to the vertex (PolyConnectivity::vf_range())
Definition: PolyConnectivity_inline_impl.hh:972
PolyConnectivity::ConstVertexOHalfedgeRange outgoing_halfedges() const
Returns a range of incoming halfedges incident to the vertex (PolyConnectivity::voh_range())
Definition: PolyConnectivity_inline_impl.hh:992
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:993
PolyConnectivity::ConstVertexFaceCCWRange faces_ccw() const
Returns a range of faces incident to the vertex (PolyConnectivity::vf_ccw_range())
Definition: PolyConnectivity_inline_impl.hh:974
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:994
PolyConnectivity::ConstVertexEdgeRange edges() const
Returns a range of edges incident to the vertex (PolyConnectivity::ve_range())
Definition: PolyConnectivity_inline_impl.hh:976
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:1001
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:1003
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:1002
Definition: SmartHandles.hh:197
PolyConnectivity::ConstEdgeHalfedgeRange halfedges() const
Returns a range of halfedges of the edge (PolyConnectivity::eh_range())
Definition: PolyConnectivity_inline_impl.hh:1025
PolyConnectivity::ConstEdgeFaceRange faces() const
Returns a range of faces incident to the edge (PolyConnectivity::ef_range())
Definition: PolyConnectivity_inline_impl.hh:1029
PolyConnectivity::ConstEdgeVertexRange vertices() const
Returns a range of vertices incident to the edge (PolyConnectivity::ev_range())
Definition: PolyConnectivity_inline_impl.hh:1023
Definition: SmartHandles.hh:228
PolyConnectivity::ConstFaceFaceCWRange faces_cw() const
Returns a range adjacent faces of the face (PolyConnectivity::ff_cw_range())
Definition: PolyConnectivity_inline_impl.hh:1019
PolyConnectivity::ConstFaceEdgeRange edges() const
Returns a range of edges of the face (PolyConnectivity::fv_range())
Definition: PolyConnectivity_inline_impl.hh:1014
PolyConnectivity::ConstFaceHalfedgeCWRange halfedges_cw() const
Returns a range of halfedges of the face (PolyConnectivity::fh_cw_range())
Definition: PolyConnectivity_inline_impl.hh:1011
PolyConnectivity::ConstFaceFaceRange faces() const
Returns a range adjacent faces of the face (PolyConnectivity::ff_range())
Definition: PolyConnectivity_inline_impl.hh:1018
PolyConnectivity::ConstFaceVertexRange vertices() const
Returns a range of vertices incident to the face (PolyConnectivity::fv_range())
Definition: PolyConnectivity_inline_impl.hh:1006
PolyConnectivity::ConstFaceFaceCCWRange faces_ccw() const
Returns a range adjacent faces of the face (PolyConnectivity::ff_ccw_range())
Definition: PolyConnectivity_inline_impl.hh:1020
PolyConnectivity::ConstFaceEdgeCCWRange edges_ccw() const
Returns a range of edges of the face (PolyConnectivity::fv_ccw_range())
Definition: PolyConnectivity_inline_impl.hh:1016
PolyConnectivity::ConstFaceEdgeCWRange edges_cw() const
Returns a range of edges of the face (PolyConnectivity::fv_cw_range())
Definition: PolyConnectivity_inline_impl.hh:1015
PolyConnectivity::ConstFaceHalfedgeCCWRange halfedges_ccw() const
Returns a range of halfedges of the face (PolyConnectivity::fh_ccw_range())
Definition: PolyConnectivity_inline_impl.hh:1012
PolyConnectivity::ConstFaceHalfedgeRange halfedges() const
Returns a range of halfedges of the face (PolyConnectivity::fh_range())
Definition: PolyConnectivity_inline_impl.hh:1010
PolyConnectivity::ConstFaceVertexCWRange vertices_cw() const
Returns a range of vertices incident to the face (PolyConnectivity::fv_cw_range())
Definition: PolyConnectivity_inline_impl.hh:1007
PolyConnectivity::ConstFaceVertexCCWRange vertices_ccw() const
Returns a range of vertices incident to the face (PolyConnectivity::fv_ccw_range())
Definition: PolyConnectivity_inline_impl.hh:1008
Base class for all smart range types.
Definition: SmartRange.hh:74

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