49 #ifndef OPENMESH_POLYCONNECTIVITY_HH
50 #define OPENMESH_POLYCONNECTIVITY_HH
52 #include <OpenMesh/Core/Mesh/ArrayKernel.hh>
53 #include <OpenMesh/Core/Mesh/IteratorsT.hh>
54 #include <OpenMesh/Core/Mesh/CirculatorsT.hh>
192 &Iterators::GenericCirculatorBaseT<This>::toHalfedgeHandle>
200 &Iterators::GenericCirculatorBaseT<This>::toHalfedgeHandle,
false>
227 &Iterators::GenericCirculatorBaseT<This>::toVertexHandle>
236 &Iterators::GenericCirculatorBaseT<This>::toVertexHandle,
false>
243 &Iterators::GenericCirculatorBaseT<This>::toHalfedgeHandle>
252 &Iterators::GenericCirculatorBaseT<This>::toHalfedgeHandle,
false>
259 &Iterators::GenericCirculatorBaseT<This>::toEdgeHandle>
268 &Iterators::GenericCirculatorBaseT<This>::toEdgeHandle,
false>
391 inline static bool is_triangles()
405 {
return new_vertex(); }
414 FaceHandle add_face(
const std::vector<VertexHandle>& _vhandles);
467 void delete_vertex(
VertexHandle _vh,
bool _delete_isolated_vertices =
true);
477 void delete_edge(
EdgeHandle _eh,
bool _delete_isolated_vertices=
true);
489 void delete_face(
FaceHandle _fh,
bool _delete_isolated_vertices=
true);
498 VertexIter vertices_begin();
500 ConstVertexIter vertices_begin()
const;
502 VertexIter vertices_end();
504 ConstVertexIter vertices_end()
const;
507 HalfedgeIter halfedges_begin();
509 ConstHalfedgeIter halfedges_begin()
const;
511 HalfedgeIter halfedges_end();
513 ConstHalfedgeIter halfedges_end()
const;
516 EdgeIter edges_begin();
518 ConstEdgeIter edges_begin()
const;
520 EdgeIter edges_end();
522 ConstEdgeIter edges_end()
const;
525 FaceIter faces_begin();
527 ConstFaceIter faces_begin()
const;
529 FaceIter faces_end();
531 ConstFaceIter faces_end()
const;
544 {
return ConstVertexIter(*
this,
VertexHandle(0),
true); }
555 {
return EdgeIter(*
this,
EdgeHandle(0),
true); }
558 {
return ConstEdgeIter(*
this,
EdgeHandle(0),
true); }
562 {
return FaceIter(*
this,
FaceHandle(0),
true); }
565 {
return ConstFaceIter(*
this,
FaceHandle(0),
true); }
580 {
return VertexVertexCWIter(*
this, _vh); }
589 {
return VertexIHalfedgeCWIter(*
this, _vh); }
598 {
return VertexOHalfedgeCWIter(*
this, _vh); }
607 {
return VertexEdgeCWIter(*
this, _vh); }
616 {
return VertexFaceCWIter(*
this, _vh); }
623 {
return ConstVertexVertexIter(*
this, _vh); }
626 {
return ConstVertexVertexCWIter(*
this, _vh); }
629 {
return ConstVertexVertexCCWIter(*
this, _vh); }
632 {
return ConstVertexIHalfedgeIter(*
this, _vh); }
635 {
return ConstVertexIHalfedgeCWIter(*
this, _vh); }
638 {
return ConstVertexIHalfedgeCCWIter(*
this, _vh); }
641 {
return ConstVertexOHalfedgeIter(*
this, _vh); }
644 {
return ConstVertexOHalfedgeCWIter(*
this, _vh); }
647 {
return ConstVertexOHalfedgeCCWIter(*
this, _vh); }
650 {
return ConstVertexEdgeIter(*
this, _vh); }
653 {
return ConstVertexEdgeCWIter(*
this, _vh); }
656 {
return ConstVertexEdgeCCWIter(*
this, _vh); }
659 {
return ConstVertexFaceIter(*
this, _vh); }
662 {
return ConstVertexFaceCWIter(*
this, _vh); }
665 {
return ConstVertexFaceCCWIter(*
this, _vh); }
675 {
return FaceVertexCCWIter(*
this, _fh); }
684 {
return FaceHalfedgeCCWIter(*
this, _fh); }
693 {
return FaceEdgeCCWIter(*
this, _fh); }
702 {
return FaceFaceCCWIter(*
this, _fh); }
706 {
return ConstFaceVertexIter(*
this, _fh); }
709 {
return ConstFaceVertexCWIter(*
this, _fh); }
712 {
return ConstFaceVertexCCWIter(*
this, _fh); }
715 {
return ConstFaceHalfedgeIter(*
this, _fh); }
718 {
return ConstFaceHalfedgeCWIter(*
this, _fh); }
721 {
return ConstFaceHalfedgeCCWIter(*
this, _fh); }
724 {
return ConstFaceEdgeIter(*
this, _fh); }
727 {
return ConstFaceEdgeCWIter(*
this, _fh); }
730 {
return ConstFaceEdgeCCWIter(*
this, _fh); }
733 {
return ConstFaceFaceIter(*
this, _fh); }
736 {
return ConstFaceFaceCWIter(*
this, _fh); }
739 {
return ConstFaceFaceCCWIter(*
this, _fh); }
748 {
return VertexVertexCWIter(*
this, _vh); }
757 {
return VertexIHalfedgeCWIter(*
this, _vh); }
766 {
return VertexOHalfedgeCWIter(*
this, _vh); }
775 {
return VertexEdgeCWIter(*
this, _vh); }
784 {
return VertexFaceCWIter(*
this, _vh); }
792 {
return ConstVertexVertexIter(*
this, _vh); }
795 {
return ConstVertexVertexCWIter(*
this, _vh); }
798 {
return ConstVertexVertexCCWIter(*
this, _vh); }
801 {
return ConstVertexIHalfedgeIter(*
this, _vh); }
804 {
return ConstVertexIHalfedgeCWIter(*
this, _vh); }
807 {
return ConstVertexIHalfedgeCCWIter(*
this, _vh); }
810 {
return ConstVertexOHalfedgeIter(*
this, _vh); }
813 {
return ConstVertexOHalfedgeCWIter(*
this, _vh); }
816 {
return ConstVertexOHalfedgeCCWIter(*
this, _vh); }
819 {
return ConstVertexEdgeIter(*
this, _vh); }
822 {
return ConstVertexEdgeCWIter(*
this, _vh); }
825 {
return ConstVertexEdgeCCWIter(*
this, _vh); }
828 {
return ConstVertexFaceIter(*
this, _vh); }
831 {
return ConstVertexFaceCWIter(*
this, _vh); }
834 {
return ConstVertexFaceCCWIter(*
this, _vh); }
844 {
return FaceVertexCCWIter(*
this, _fh); }
853 {
return FaceHalfedgeCCWIter(*
this, _fh); }
862 {
return FaceEdgeCCWIter(*
this, _fh); }
871 {
return FaceFaceCCWIter(*
this, _fh); }
877 {
return HalfedgeLoopCWIter(*
this, _heh); }
884 {
return ConstFaceVertexIter(*
this, _fh); }
887 {
return ConstFaceVertexCWIter(*
this, _fh); }
890 {
return ConstFaceVertexCCWIter(*
this, _fh); }
893 {
return ConstFaceHalfedgeIter(*
this, _fh); }
896 {
return ConstFaceHalfedgeCWIter(*
this, _fh); }
899 {
return ConstFaceHalfedgeCCWIter(*
this, _fh); }
902 {
return ConstFaceEdgeIter(*
this, _fh); }
905 {
return ConstFaceEdgeCWIter(*
this, _fh); }
908 {
return ConstFaceEdgeCCWIter(*
this, _fh); }
911 {
return ConstFaceFaceIter(*
this, _fh); }
914 {
return ConstFaceFaceCWIter(*
this, _fh); }
917 {
return ConstFaceFaceCCWIter(*
this, _fh); }
920 {
return ConstHalfedgeLoopIter(*
this, _heh); }
923 {
return ConstHalfedgeLoopCWIter(*
this, _heh); }
926 {
return ConstHalfedgeLoopCCWIter(*
this, _heh); }
935 {
return VertexVertexCWIter(*
this, _vh,
true); }
944 {
return VertexIHalfedgeCWIter(*
this, _vh,
true); }
953 {
return VertexOHalfedgeCWIter(*
this, _vh,
true); }
962 {
return VertexEdgeCWIter(*
this, _vh,
true); }
971 {
return VertexFaceCWIter(*
this, _vh,
true); }
978 {
return ConstVertexVertexIter(*
this, _vh,
true); }
981 {
return ConstVertexVertexCWIter(*
this, _vh,
true); }
984 {
return ConstVertexVertexCCWIter(*
this, _vh,
true); }
987 {
return ConstVertexIHalfedgeIter(*
this, _vh,
true); }
990 {
return ConstVertexIHalfedgeCWIter(*
this, _vh,
true); }
993 {
return ConstVertexIHalfedgeCCWIter(*
this, _vh,
true); }
996 {
return ConstVertexOHalfedgeIter(*
this, _vh,
true); }
999 {
return ConstVertexOHalfedgeCWIter(*
this, _vh,
true); }
1002 {
return ConstVertexOHalfedgeCCWIter(*
this, _vh,
true); }
1005 {
return ConstVertexEdgeIter(*
this, _vh,
true); }
1008 {
return ConstVertexEdgeCWIter(*
this, _vh,
true); }
1011 {
return ConstVertexEdgeCCWIter(*
this, _vh,
true); }
1014 {
return ConstVertexFaceIter(*
this, _vh,
true); }
1017 {
return ConstVertexFaceCWIter(*
this, _vh,
true); }
1020 {
return ConstVertexFaceCCWIter(*
this, _vh,
true); }
1030 {
return FaceVertexCCWIter(*
this, _fh,
true); }
1039 {
return FaceHalfedgeCCWIter(*
this, _fh,
true); }
1048 {
return FaceEdgeCCWIter(*
this, _fh,
true); }
1057 {
return FaceFaceCCWIter(*
this, _fh,
true); }
1063 {
return HalfedgeLoopCWIter(*
this, _heh,
true); }
1070 {
return ConstFaceVertexIter(*
this, _fh,
true); }
1073 {
return ConstFaceVertexCWIter(*
this, _fh,
true); }
1076 {
return ConstFaceVertexCCWIter(*
this, _fh,
true); }
1079 {
return ConstFaceHalfedgeIter(*
this, _fh,
true); }
1082 {
return ConstFaceHalfedgeCWIter(*
this, _fh,
true); }
1085 {
return ConstFaceHalfedgeCCWIter(*
this, _fh,
true); }
1088 {
return ConstFaceEdgeIter(*
this, _fh,
true); }
1091 {
return ConstFaceEdgeCWIter(*
this, _fh,
true); }
1094 {
return ConstFaceEdgeCCWIter(*
this, _fh,
true); }
1097 {
return ConstFaceFaceIter(*
this, _fh,
true); }
1100 {
return ConstFaceFaceCWIter(*
this, _fh,
true); }
1103 {
return ConstFaceFaceCCWIter(*
this, _fh,
true); }
1106 {
return ConstHalfedgeLoopIter(*
this, _heh,
true); }
1109 {
return ConstHalfedgeLoopCWIter(*
this, _heh,
true); }
1112 {
return ConstHalfedgeLoopCCWIter(*
this, _heh,
true); }
1120 typename CONTAINER_TYPE,
1122 ITER_TYPE (CONTAINER_TYPE::*begin_fn)()
const,
1123 ITER_TYPE (CONTAINER_TYPE::*end_fn)()
const>
1126 EntityRange(CONTAINER_TYPE &container) : container_(container) {}
1127 ITER_TYPE begin()
const {
return (container_.*begin_fn)(); }
1128 ITER_TYPE end()
const {
return (container_.*end_fn)(); }
1131 CONTAINER_TYPE &container_;
1139 const PolyConnectivity,
1144 const PolyConnectivity,
1149 const PolyConnectivity,
1158 ConstVertexRange
vertices()
const {
return ConstVertexRange(*
this); }
1164 ConstHalfedgeRange
halfedges()
const {
return ConstHalfedgeRange(*
this); }
1170 ConstEdgeRange
edges()
const {
return ConstEdgeRange(*
this); }
1176 ConstFaceRange
faces()
const {
return ConstFaceRange(*
this); }
1180 typename CONTAINER_TYPE,
1182 typename CENTER_ENTITY_TYPE,
1183 ITER_TYPE (CONTAINER_TYPE::*begin_fn)(CENTER_ENTITY_TYPE)
const,
1184 ITER_TYPE (CONTAINER_TYPE::*end_fn)(CENTER_ENTITY_TYPE)
const>
1188 CONTAINER_TYPE &container,
1189 CENTER_ENTITY_TYPE center) :
1190 container_(container), center_(center) {}
1191 ITER_TYPE begin() {
return (container_.*begin_fn)(center_); }
1192 ITER_TYPE end() {
return (container_.*end_fn)(center_); }
1195 CONTAINER_TYPE &container_;
1196 CENTER_ENTITY_TYPE center_;
1200 const PolyConnectivity,
1201 ConstVertexVertexIter,
1206 const PolyConnectivity,
1207 ConstVertexIHalfedgeIter,
1212 const PolyConnectivity,
1213 ConstVertexOHalfedgeIter, VertexHandle,
1217 const PolyConnectivity,
1218 ConstVertexEdgeIter,
1223 const PolyConnectivity,
1224 ConstVertexFaceIter,
1229 const PolyConnectivity,
1230 ConstFaceVertexIter,
1235 const PolyConnectivity,
1236 ConstFaceHalfedgeIter,
1241 const PolyConnectivity,
1247 const PolyConnectivity,
1257 ConstVertexVertexRange
vv_range(VertexHandle _vh)
const {
1258 return ConstVertexVertexRange(*
this, _vh);
1265 ConstVertexIHalfedgeRange
vih_range(VertexHandle _vh)
const {
1266 return ConstVertexIHalfedgeRange(*
this, _vh);
1273 ConstVertexOHalfedgeRange
voh_range(VertexHandle _vh)
const {
1274 return ConstVertexOHalfedgeRange(*
this, _vh);
1281 ConstVertexEdgeRange
ve_range(VertexHandle _vh)
const {
1282 return ConstVertexEdgeRange(*
this, _vh);
1289 ConstVertexFaceRange
vf_range(VertexHandle _vh)
const {
1290 return ConstVertexFaceRange(*
this, _vh);
1298 return ConstFaceVertexRange(*
this, _fh);
1305 ConstFaceHalfedgeRange
fh_range(FaceHandle _fh)
const {
1306 return ConstFaceHalfedgeRange(*
this, _fh);
1314 return ConstFaceEdgeRange(*
this, _fh);
1322 return ConstFaceFaceRange(*
this, _fh);
1352 return (is_boundary(halfedge_handle(_eh, 0)) ||
1353 is_boundary(halfedge_handle(_eh, 1)));
1370 return (!(heh.
is_valid() && face_handle(heh).is_valid()));
1382 bool is_boundary(FaceHandle _fh,
bool _check_vertex=
false)
const;
1394 bool is_manifold(VertexHandle _vh)
const;
1402 {
return face_handle(opposite_halfedge_handle(_heh)); }
1409 void adjust_outgoing_halfedge(VertexHandle _vh);
1412 HalfedgeHandle find_halfedge(VertexHandle _start_vh, VertexHandle _end_vh)
const;
1414 uint valence(VertexHandle _vh)
const;
1416 uint valence(FaceHandle _fh)
const;
1444 bool is_simply_connected(FaceHandle _fh)
const;
1485 void split(FaceHandle _fh, VertexHandle _vh);
1500 void split_copy(FaceHandle _fh, VertexHandle _vh);
1515 void triangulate(FaceHandle _fh);
1531 void split_edge(
EdgeHandle _eh, VertexHandle _vh);
1544 void split_edge_copy(
EdgeHandle _eh, VertexHandle _vh);
1552 const Vertex& deref(VertexHandle _h)
const {
return vertex(_h); }
1554 Vertex&
deref(VertexHandle _h) {
return vertex(_h); }
1559 const Face&
deref(FaceHandle _h)
const {
return face(_h); }
1560 Face&
deref(FaceHandle _h) {
return face(_h); }
1572 struct AddFaceEdgeInfo
1578 std::vector<AddFaceEdgeInfo> edgeData_;
1579 std::vector<std::pair<HalfedgeHandle, HalfedgeHandle> > next_cache_;
1580 uint next_cache_count_;
1586 #endif//OPENMESH_POLYCONNECTIVITY_HH
HalfedgeLoopIter ConstHalfedgeLoopIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:303
FaceFaceCCWIter ConstFaceFaceCCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:298
ConstFaceEdgeCWIter cfe_cwiter(FaceHandle _fh) const
const face - edge circulator cw
Definition: PolyConnectivity.hh:726
bool is_boundary(EdgeHandle _eh) const
Is the edge a boundary edge?
Definition: PolyConnectivity.hh:1350
FaceHalfedgeCCWIter fh_ccwend(FaceHandle _fh)
face - halfedge circulator ccw
Definition: PolyConnectivity.hh:1038
bool is_valid() const
The handle is valid iff the index is not equal to -1.
Definition: Handles.hh:77
ConstHalfedgeLoopIter chl_begin(HalfedgeHandle _heh) const
const halfedge circulator
Definition: PolyConnectivity.hh:919
VertexEdgeCWIter ConstVertexEdgeCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:216
VertexFaceCCWIter vf_ccwiter(VertexHandle _vh)
vertex - face circulator ccw
Definition: PolyConnectivity.hh:618
ConstVertexFaceCCWIter cvf_ccwiter(VertexHandle _vh) const
const vertex - face circulator ccw
Definition: PolyConnectivity.hh:664
ConstVertexVertexCWIter CVVCWIter
Alias typedef.
Definition: PolyConnectivity.hh:358
VertexIHalfedgeCCWIter vih_ccwend(VertexHandle _vh)
vertex - incoming halfedge circulator ccw
Definition: PolyConnectivity.hh:946
FaceEdgeCWIter fe_cwend(FaceHandle _fh)
face - edge circulator cw
Definition: PolyConnectivity.hh:1044
Iterators::GenericCirculatorT< This, This::VertexHandle, This::EdgeHandle,&Iterators::GenericCirculatorBaseT< This >::toEdgeHandle > VertexEdgeCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:180
ConstFaceVertexIter cfv_end(FaceHandle _fh) const
const face - vertex circulator
Definition: PolyConnectivity.hh:1069
ConstHalfedgeLoopIter chl_end(HalfedgeHandle _heh) const
const face - face circulator
Definition: PolyConnectivity.hh:1105
VertexIHalfedgeIter vih_begin(VertexHandle _vh)
vertex - incoming halfedge circulator
Definition: PolyConnectivity.hh:753
Iterators::GenericCirculatorT< This, This::FaceHandle, This::HalfedgeHandle,&Iterators::GenericCirculatorBaseT< This >::toHalfedgeHandle > FaceHalfedgeCCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:246
EntityRange< const PolyConnectivity, PolyConnectivity::ConstVertexIter,&PolyConnectivity::vertices_begin,&PolyConnectivity::vertices_end > ConstVertexRange
Definition: PolyConnectivity.hh:1137
CirculatorRange< const PolyConnectivity, ConstVertexVertexIter, VertexHandle,&PolyConnectivity::cvv_begin,&PolyConnectivity::cvv_end > ConstVertexVertexRange
Definition: PolyConnectivity.hh:1204
VertexOHalfedgeIter ConstVertexOHalfedgeIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:206
ConstVertexOHalfedgeCCWIter cvoh_ccwend(VertexHandle _vh) const
const vertex - outgoing halfedge circulator ccw
Definition: PolyConnectivity.hh:1001
VertexOHalfedgeCCWIter voh_ccwiter(VertexHandle _vh)
vertex - outgoing halfedge circulator ccw
Definition: PolyConnectivity.hh:600
Definition: CirculatorsT.hh:196
ConstHalfedgeLoopCCWIter chl_ccwend(HalfedgeHandle _heh) const
const face - face circulator ccw
Definition: PolyConnectivity.hh:1111
ConstFaceVertexIter CFVIter
Alias typedef.
Definition: PolyConnectivity.hh:372
VertexIHalfedgeCCWIter ConstVertexIHalfedgeCCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:211
ConstVertexFaceIter cvf_end(VertexHandle _vh) const
const vertex - face circulator
Definition: PolyConnectivity.hh:1013
void assign_connectivity(const ArrayKernel &_other)
ArrayKernel uses the default copy constructor and assignment operator, which means that the connectiv...
Definition: ArrayKernel.cc:76
VertexFaceCWIter VFCWIter
Alias typedef.
Definition: PolyConnectivity.hh:344
Iterators::GenericCirculatorT< This, This::FaceHandle, This::VertexHandle,&Iterators::GenericCirculatorBaseT< This >::toVertexHandle, false > FaceVertexCWIter
Enumerate incident vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:237
ConstFaceVertexCWIter CFVCWIter
Alias typedef.
Definition: PolyConnectivity.hh:373
ConstHalfedgeIter halfedges_sbegin() const
Const begin iterator for halfedges.
Definition: PolyConnectivity.hh:550
Iterators::GenericCirculatorT< This, This::VertexHandle, This::HalfedgeHandle,&Iterators::GenericCirculatorBaseT< This >::toOppositeHalfedgeHandle, false > VertexIHalfedgeCCWIter
Enumerates incoming half edges in a counter clockwise fashion.
Definition: PolyConnectivity.hh:155
ConstVertexOHalfedgeIter cvoh_begin(VertexHandle _vh) const
const vertex - outgoing halfedge circulator
Definition: PolyConnectivity.hh:809
ConstFaceVertexCCWIter cfv_ccwiter(FaceHandle _fh) const
const face - vertex circulator ccw
Definition: PolyConnectivity.hh:711
EntityRange< const PolyConnectivity, PolyConnectivity::ConstHalfedgeIter,&PolyConnectivity::halfedges_begin,&PolyConnectivity::halfedges_end > ConstHalfedgeRange
Definition: PolyConnectivity.hh:1142
ConstVertexOHalfedgeIter cvoh_iter(VertexHandle _vh) const
const vertex - outgoing halfedge circulator
Definition: PolyConnectivity.hh:640
static const FaceHandle InvalidFaceHandle
Invalid handle.
Definition: PolyConnectivity.hh:73
ConstFaceHalfedgeCCWIter cfh_ccwiter(FaceHandle _fh) const
const face - halfedge circulator ccw
Definition: PolyConnectivity.hh:720
ConstFaceFaceIter cff_begin(FaceHandle _fh) const
const face - face circulator
Definition: PolyConnectivity.hh:910
Contains all the mesh ingredients like the polygonal mesh, the triangle mesh, different mesh kernels ...
Definition: MeshItems.hh:64
FaceHandle FHandle
Alias typedef.
Definition: PolyConnectivity.hh:319
ConstVertexVertexCCWIter cvv_ccwbegin(VertexHandle _vh) const
const vertex circulator ccw
Definition: PolyConnectivity.hh:797
FaceEdgeCWIter ConstFaceEdgeCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:294
VertexEdgeIter ConstVertexEdgeIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:215
VertexEdgeCWIter ve_cwiter(VertexHandle _vh)
vertex - edge circulator cw
Definition: PolyConnectivity.hh:606
ConstVertexFaceCWIter cvf_cwiter(VertexHandle _vh) const
const vertex - face circulator cw
Definition: PolyConnectivity.hh:661
VertexVertexCCWIter vv_ccwend(VertexHandle _vh)
vertex - vertex circulator ccw
Definition: PolyConnectivity.hh:937
Handle for a edge entity.
Definition: Handles.hh:135
ConstVertexIHalfedgeCCWIter cvih_ccwend(VertexHandle _vh) const
const vertex - incoming halfedge circulator ccw
Definition: PolyConnectivity.hh:992
Halfedge & deref(HalfedgeHandle _h)
Get item from handle.
Definition: PolyConnectivity.hh:1556
const Halfedge & deref(HalfedgeHandle _h) const
Get item from handle.
Definition: PolyConnectivity.hh:1555
VertexIHalfedgeCWIter ConstVertexIHalfedgeCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:210
ConstVertexEdgeIter cve_begin(VertexHandle _vh) const
const vertex - edge circulator
Definition: PolyConnectivity.hh:818
FaceFaceIter ff_end(FaceHandle _fh)
face - face circulator
Definition: PolyConnectivity.hh:1050
CirculatorRange< const PolyConnectivity, ConstVertexOHalfedgeIter, VertexHandle,&PolyConnectivity::cvoh_begin,&PolyConnectivity::cvoh_end > ConstVertexOHalfedgeRange
Definition: PolyConnectivity.hh:1215
VertexFaceCWIter ConstVertexFaceCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:213
VertexIHalfedgeCWIter VIHICWter
Alias typedef.
Definition: PolyConnectivity.hh:338
ConstFaceVertexCWIter cfv_cwiter(FaceHandle _fh) const
const face - vertex circulator cw
Definition: PolyConnectivity.hh:708
VertexIHalfedgeIter ConstVertexIHalfedgeIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:209
ConstVertexEdgeCCWIter cve_ccwiter(VertexHandle _vh) const
const vertex - edge circulator ccw
Definition: PolyConnectivity.hh:655
ConstFaceFaceCWIter cff_cwbegin(FaceHandle _fh) const
const face - face circulator cw
Definition: PolyConnectivity.hh:913
EdgeIter ConstEdgeIter
Linear iterator.
Definition: PolyConnectivity.hh:93
VertexFaceCWIter vf_cwbegin(VertexHandle _vh)
vertex - face circulator cw
Definition: PolyConnectivity.hh:783
FaceHalfedgeIter fh_begin(FaceHandle _fh)
face - halfedge circulator
Definition: PolyConnectivity.hh:846
FaceIter faces_sbegin()
Begin iterator for faces.
Definition: PolyConnectivity.hh:561
Iterators::GenericCirculatorT< This, This::VertexHandle, This::EdgeHandle,&Iterators::GenericCirculatorBaseT< This >::toEdgeHandle, false > VertexEdgeCCWIter
Enumerates incident edges in a counter clockwise fashion.
Definition: PolyConnectivity.hh:186
VertexOHalfedgeCCWIter voh_ccwend(VertexHandle _vh)
vertex - outgoing halfedge circulator ccw
Definition: PolyConnectivity.hh:955
FaceHalfedgeIter fh_iter(FaceHandle _fh)
face - halfedge circulator
Definition: PolyConnectivity.hh:677
ConstVertexFaceCCWIter cvf_ccwend(VertexHandle _vh) const
const vertex - face circulator ccw
Definition: PolyConnectivity.hh:1019
ConstFaceHalfedgeCWIter CFHCWIter
Alias typedef.
Definition: PolyConnectivity.hh:376
FaceVertexIter FVIter
Alias typedef.
Definition: PolyConnectivity.hh:346
EdgeIter edges_sbegin()
Begin iterator for edges.
Definition: PolyConnectivity.hh:554
FaceVertexIter fv_iter(FaceHandle _fh)
face - vertex circulator
Definition: PolyConnectivity.hh:668
Iterators::GenericCirculatorT_DEPRECATED< This, This::VertexHandle, This::FaceHandle,&Iterators::GenericCirculatorBaseT< This >::toFaceHandle > VertexFaceIter
Enumerates incident faces in a clockwise fashion.
Definition: PolyConnectivity.hh:162
ConstVertexRange vertices() const
Definition: PolyConnectivity.hh:1158
ConstFaceEdgeCWIter CFECWIter
Alias typedef.
Definition: PolyConnectivity.hh:379
CirculatorRange< const PolyConnectivity, ConstFaceHalfedgeIter, FaceHandle,&PolyConnectivity::cfh_begin,&PolyConnectivity::cfh_end > ConstFaceHalfedgeRange
Definition: PolyConnectivity.hh:1239
ConstEdgeRange edges() const
Definition: PolyConnectivity.hh:1170
VertexEdgeCCWIter ve_ccwend(VertexHandle _vh)
vertex - edge circulator ccw
Definition: PolyConnectivity.hh:964
ConstVertexVertexIter cvv_iter(VertexHandle _vh) const
const vertex circulator
Definition: PolyConnectivity.hh:622
ConstFaceFaceRange ff_range(FaceHandle _fh) const
Definition: PolyConnectivity.hh:1321
VertexIHalfedgeCCWIter vih_ccwbegin(VertexHandle _vh)
vertex - incoming halfedge circulator ccw
Definition: PolyConnectivity.hh:759
Iterators::GenericCirculatorT< This, This::VertexHandle, This::HalfedgeHandle,&Iterators::GenericCirculatorBaseT< This >::toHalfedgeHandle, false > VertexOHalfedgeCCWIter
Enumerates outgoing half edges in a counter clockwise fashion.
Definition: PolyConnectivity.hh:139
EdgeHandle EHandle
Alias typedef.
Definition: PolyConnectivity.hh:318
VertexVertexIter VVIter
Alias typedef.
Definition: PolyConnectivity.hh:331
FaceHalfedgeCCWIter fh_ccwiter(FaceHandle _fh)
face - halfedge circulator ccw
Definition: PolyConnectivity.hh:683
ConstFaceHalfedgeCWIter cfh_cwiter(FaceHandle _fh) const
const face - halfedge circulator cw
Definition: PolyConnectivity.hh:717
ConstVertexFaceCCWIter CVFCCWIter
Alias typedef.
Definition: PolyConnectivity.hh:371
ConstVertexIHalfedgeCCWIter cvih_ccwiter(VertexHandle _vh) const
const vertex - incoming halfedge circulator ccw
Definition: PolyConnectivity.hh:637
bool is_boundary(VertexHandle _vh) const
Is vertex _vh a boundary vertex ?
Definition: PolyConnectivity.hh:1367
VertexFaceCCWIter VFCCWIter
Alias typedef.
Definition: PolyConnectivity.hh:345
ConstFaceFaceCWIter CFFCWIter
Alias typedef.
Definition: PolyConnectivity.hh:382
HalfedgeIter halfedges_sbegin()
Begin iterator for halfedges.
Definition: PolyConnectivity.hh:547
ConstVertexEdgeIter cve_iter(VertexHandle _vh) const
const vertex - edge circulator
Definition: PolyConnectivity.hh:649
ConstVertexVertexIter CVVIter
Alias typedef.
Definition: PolyConnectivity.hh:357
VertexVertexCWIter VVCWIter
Alias typedef.
Definition: PolyConnectivity.hh:332
FaceHalfedgeCWIter FHCWIter
Alias typedef.
Definition: PolyConnectivity.hh:350
VertexVertexCWIter vv_cwiter(VertexHandle _vh)
vertex - vertex circulator cw
Definition: PolyConnectivity.hh:579
Mesh kernel using arrays for mesh item storage.
Definition: ArrayKernel.hh:92
VertexFaceCCWIter vf_ccwend(VertexHandle _vh)
vertex - face circulator ccw
Definition: PolyConnectivity.hh:973
VertexEdgeCCWIter VECCWIter
Alias typedef.
Definition: PolyConnectivity.hh:342
ConstVertexFaceCWIter CVFCWIter
Alias typedef.
Definition: PolyConnectivity.hh:370
ConstVertexOHalfedgeCWIter cvoh_cwbegin(VertexHandle _vh) const
const vertex - outgoing halfedge circulator cw
Definition: PolyConnectivity.hh:812
Handle for a face entity.
Definition: Handles.hh:142
VertexVertexCCWIter ConstVertexVertexCCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:205
ConstFaceHalfedgeCWIter cfh_cwend(FaceHandle _fh) const
const face - halfedge circulator cw
Definition: PolyConnectivity.hh:1081
ConstVertexIHalfedgeIter cvih_iter(VertexHandle _vh) const
const vertex - incoming halfedge circulator
Definition: PolyConnectivity.hh:631
VertexIter vertices_sbegin()
Begin iterator for vertices.
Definition: PolyConnectivity.hh:540
ConstFaceIter CFIter
Alias typedef.
Definition: PolyConnectivity.hh:329
ConstEdgeIter CEIter
Alias typedef.
Definition: PolyConnectivity.hh:328
FaceHalfedgeCWIter fh_cwbegin(FaceHandle _fh)
face - halfedge circulator cw
Definition: PolyConnectivity.hh:849
FaceVertexIter fv_begin(FaceHandle _fh)
face - vertex circulator
Definition: PolyConnectivity.hh:837
Iterators::GenericCirculatorT_DEPRECATED< This, This::VertexHandle, This::HalfedgeHandle,&Iterators::GenericCirculatorBaseT< This >::toOppositeHalfedgeHandle > VertexIHalfedgeIter
Enumerates incoming half edges in a clockwise fashion.
Definition: PolyConnectivity.hh:146
VertexEdgeCCWIter ve_ccwiter(VertexHandle _vh)
vertex - edge circulator ccw
Definition: PolyConnectivity.hh:609
VertexFaceIter ConstVertexFaceIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:212
Definition: CirculatorsT.hh:428
EntityRange< const PolyConnectivity, PolyConnectivity::ConstFaceIter,&PolyConnectivity::faces_begin,&PolyConnectivity::faces_end > ConstFaceRange
Definition: PolyConnectivity.hh:1152
VertexIHalfedgeIter VIHIter
Alias typedef.
Definition: PolyConnectivity.hh:337
const Face & deref(FaceHandle _h) const
Get item from handle.
Definition: PolyConnectivity.hh:1559
FaceHalfedgeCCWIter fh_ccwbegin(FaceHandle _fh)
face - halfedge circulator ccw
Definition: PolyConnectivity.hh:852
FaceEdgeIter fe_end(FaceHandle _fh)
face - edge circulator
Definition: PolyConnectivity.hh:1041
VertexVertexCWIter vv_cwbegin(VertexHandle _vh)
vertex - vertex circulator cw
Definition: PolyConnectivity.hh:747
EdgeIter edges_begin()
Begin iterator for edges.
Definition: PolyConnectivity.cc:672
ConstVertexIHalfedgeCCWIter CVIHCCWIter
Alias typedef.
Definition: PolyConnectivity.hh:365
FaceEdgeIter fe_iter(FaceHandle _fh)
face - edge circulator
Definition: PolyConnectivity.hh:686
FaceHalfedgeIter fh_end(FaceHandle _fh)
face - halfedge circulator
Definition: PolyConnectivity.hh:1032
VertexVertexCCWIter vv_ccwbegin(VertexHandle _vh)
vertex - vertex circulator ccw
Definition: PolyConnectivity.hh:750
FaceVertexCCWIter fv_ccwiter(FaceHandle _fh)
face - vertex circulator ccw
Definition: PolyConnectivity.hh:674
ConstFaceFaceCCWIter cff_ccwiter(FaceHandle _fh) const
const face - face circulator
Definition: PolyConnectivity.hh:738
HalfedgeLoopCWIter hl_cwbegin(HalfedgeHandle _heh)
halfedge circulator
Definition: PolyConnectivity.hh:876
ConstFaceVertexCWIter cfv_cwbegin(FaceHandle _fh) const
const face - vertex circulator cw
Definition: PolyConnectivity.hh:886
ConstVertexFaceCCWIter cvf_ccwbegin(VertexHandle _vh) const
const vertex - face circulator ccw
Definition: PolyConnectivity.hh:833
VertexEdgeIter ve_begin(VertexHandle _vh)
vertex - edge circulator
Definition: PolyConnectivity.hh:771
ConstVertexEdgeCWIter CVECWIter
Alias typedef.
Definition: PolyConnectivity.hh:367
ConstFaceVertexCCWIter cfv_ccwend(FaceHandle _fh) const
const face - vertex circulator ccw
Definition: PolyConnectivity.hh:1075
FaceEdgeCWIter fe_cwiter(FaceHandle _fh)
face - edge circulator cw
Definition: PolyConnectivity.hh:689
HalfedgeIter ConstHalfedgeIter
Linear iterator.
Definition: PolyConnectivity.hh:92
VertexHandle add_vertex()
Add a new vertex.
Definition: PolyConnectivity.hh:404
static const HalfedgeHandle InvalidHalfedgeHandle
Invalid handle.
Definition: PolyConnectivity.hh:69
ConstVertexOHalfedgeCWIter CVOHCWIter
Alias typedef.
Definition: PolyConnectivity.hh:361
ConstVertexVertexIter cvv_begin(VertexHandle _vh) const
const vertex circulator
Definition: PolyConnectivity.hh:791
VertexOHalfedgeCWIter voh_cwend(VertexHandle _vh)
vertex - outgoing halfedge circulator cw
Definition: PolyConnectivity.hh:952
VertexIHalfedgeCCWIter vih_ccwiter(VertexHandle _vh)
vertex - incoming halfedge circulator ccw
Definition: PolyConnectivity.hh:591
bool is_boundary(HalfedgeHandle _heh) const
Check if the halfedge is at the boundary.
Definition: PolyConnectivity.hh:1339
Handle for a halfedge entity.
Definition: Handles.hh:128
ConstVertexVertexCWIter cvv_cwend(VertexHandle _vh) const
const vertex circulator cw
Definition: PolyConnectivity.hh:980
HalfedgeLoopCCWIter hl_ccwbegin(HalfedgeHandle _heh)
halfedge circulator ccw
Definition: PolyConnectivity.hh:879
const Edge & deref(EdgeHandle _h) const
Get item from handle.
Definition: PolyConnectivity.hh:1557
ConstFaceEdgeIter cfe_end(FaceHandle _fh) const
const face - edge circulator
Definition: PolyConnectivity.hh:1087
Iterators::GenericCirculatorT< This, This::FaceHandle, This::VertexHandle,&Iterators::GenericCirculatorBaseT< This >::toVertexHandle > FaceVertexCCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:230
Iterators::GenericCirculatorT< This, This::FaceHandle, This::FaceHandle,&Iterators::GenericCirculatorBaseT< This >::toOppositeFaceHandle > FaceFaceCCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:278
VertexEdgeIter VEIter
Alias typedef.
Definition: PolyConnectivity.hh:340
ConstVertexEdgeCWIter cve_cwend(VertexHandle _vh) const
const vertex - edge circulator cw
Definition: PolyConnectivity.hh:1007
VertexVertexIter ConstVertexVertexIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:203
VertexIter vertices_begin()
Begin iterator for vertices.
Definition: PolyConnectivity.cc:624
ConstFaceIter faces_sbegin() const
Const begin iterator for faces.
Definition: PolyConnectivity.hh:564
VertexOHalfedgeIter voh_end(VertexHandle _vh)
vertex - outgoing halfedge circulator
Definition: PolyConnectivity.hh:949
VertexFaceCWIter vf_cwiter(VertexHandle _vh)
vertex - face circulator cw
Definition: PolyConnectivity.hh:615
ConstVertexEdgeCCWIter cve_ccwend(VertexHandle _vh) const
const vertex - edge circulator ccw
Definition: PolyConnectivity.hh:1010
VertexIHalfedgeCWIter vih_cwiter(VertexHandle _vh)
vertex - incoming halfedge circulator cw
Definition: PolyConnectivity.hh:588
FaceEdgeCWIter fe_cwbegin(FaceHandle _fh)
face - edge circulator cw
Definition: PolyConnectivity.hh:858
ConstHalfedgeRange halfedges() const
Definition: PolyConnectivity.hh:1164
VertexVertexCCWIter vv_ccwiter(VertexHandle _vh)
vertex - vertex circulator ccw
Definition: PolyConnectivity.hh:582
VertexFaceCCWIter ConstVertexFaceCCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:214
ConstFaceEdgeIter CFEIter
Alias typedef.
Definition: PolyConnectivity.hh:378
CirculatorRange< const PolyConnectivity, ConstVertexEdgeIter, VertexHandle,&PolyConnectivity::cve_begin,&PolyConnectivity::cve_end > ConstVertexEdgeRange
Definition: PolyConnectivity.hh:1221
ConstHalfedgeLoopCWIter chl_cwend(HalfedgeHandle _heh) const
const face - face circulator cw
Definition: PolyConnectivity.hh:1108
FaceVertexCWIter fv_cwiter(FaceHandle _fh)
face - vertex circulator cw
Definition: PolyConnectivity.hh:671
HalfedgeLoopIter hl_end(HalfedgeHandle _heh)
face - face circulator
Definition: PolyConnectivity.hh:1059
FaceVertexCCWIter ConstFaceVertexCCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:289
Iterators::GenericCirculatorT_DEPRECATED< This, This::FaceHandle, This::EdgeHandle,&Iterators::GenericCirculatorBaseT< This >::toEdgeHandle > FaceEdgeIter
Enumerate incident edges in a counter clockwise fashion.
Definition: PolyConnectivity.hh:260
ConstVertexFaceRange vf_range(VertexHandle _vh) const
Definition: PolyConnectivity.hh:1289
FaceIter faces_begin()
Begin iterator for faces.
Definition: PolyConnectivity.cc:696
Face & deref(FaceHandle _h)
Get item from handle.
Definition: PolyConnectivity.hh:1560
ConstFaceFaceIter cff_iter(FaceHandle _fh) const
const face - face circulator
Definition: PolyConnectivity.hh:732
FaceEdgeCWIter FECWIter
Alias typedef.
Definition: PolyConnectivity.hh:353
ConstVertexFaceCWIter cvf_cwbegin(VertexHandle _vh) const
const vertex - face circulator cw
Definition: PolyConnectivity.hh:830
VertexOHalfedgeCWIter ConstVertexOHalfedgeCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:207
EdgeIter EIter
Alias typedef.
Definition: PolyConnectivity.hh:323
VertexIter ConstVertexIter
Linear iterator.
Definition: PolyConnectivity.hh:91
FaceVertexCWIter fv_cwbegin(FaceHandle _fh)
face - vertex circulator cw
Definition: PolyConnectivity.hh:840
ConstFaceRange faces() const
Definition: PolyConnectivity.hh:1176
ConstFaceHalfedgeCCWIter cfh_ccwbegin(FaceHandle _fh) const
const face - halfedge circulator ccw
Definition: PolyConnectivity.hh:898
FaceIter ConstFaceIter
Linear iterator.
Definition: PolyConnectivity.hh:94
ConstFaceEdgeIter cfe_begin(FaceHandle _fh) const
const face - edge circulator
Definition: PolyConnectivity.hh:901
FaceVertexCCWIter FVCCWIter
Alias typedef.
Definition: PolyConnectivity.hh:348
ConstFaceHalfedgeRange fh_range(FaceHandle _fh) const
Definition: PolyConnectivity.hh:1305
VertexEdgeIter ve_end(VertexHandle _vh)
vertex - edge circulator
Definition: PolyConnectivity.hh:958
ConstVertexVertexCCWIter cvv_ccwend(VertexHandle _vh) const
const vertex circulator ccw
Definition: PolyConnectivity.hh:983
Iterators::GenericCirculatorT< This, This::FaceHandle, This::HalfedgeHandle,&Iterators::GenericCirculatorBaseT< This >::toHalfedgeHandle > HalfedgeLoopCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:195
Iterators::GenericCirculatorT_DEPRECATED< This, This::FaceHandle, This::HalfedgeHandle,&Iterators::GenericCirculatorBaseT< This >::toHalfedgeHandle > HalfedgeLoopIter
Identical to FaceHalfedgeIter.
Definition: PolyConnectivity.hh:193
ConstFaceEdgeCCWIter cfe_ccwbegin(FaceHandle _fh) const
const face - edge circulator ccw
Definition: PolyConnectivity.hh:907
FaceVertexIter fv_end(FaceHandle _fh)
face - vertex circulator
Definition: PolyConnectivity.hh:1023
ConstVertexIHalfedgeCWIter cvih_cwiter(VertexHandle _vh) const
const vertex - incoming halfedge circulator cw
Definition: PolyConnectivity.hh:634
ConstVertexVertexRange vv_range(VertexHandle _vh) const
Definition: PolyConnectivity.hh:1257
EntityRange< const PolyConnectivity, PolyConnectivity::ConstEdgeIter,&PolyConnectivity::edges_begin,&PolyConnectivity::edges_end > ConstEdgeRange
Definition: PolyConnectivity.hh:1147
Handle for a vertex entity.
Definition: Handles.hh:121
static const EdgeHandle InvalidEdgeHandle
Invalid handle.
Definition: PolyConnectivity.hh:71
VertexVertexIter vv_iter(VertexHandle _vh)
vertex - vertex circulator
Definition: PolyConnectivity.hh:576
VertexOHalfedgeIter VOHIter
Alias typedef.
Definition: PolyConnectivity.hh:334
ConstVertexIHalfedgeIter CVIHIter
Alias typedef.
Definition: PolyConnectivity.hh:363
FaceHalfedgeCCWIter FHCWWIter
Alias typedef.
Definition: PolyConnectivity.hh:351
ConstVertexEdgeCCWIter CVECCWIter
Alias typedef.
Definition: PolyConnectivity.hh:368
ConstVertexIHalfedgeIter cvih_end(VertexHandle _vh) const
const vertex - incoming halfedge circulator
Definition: PolyConnectivity.hh:986
ConstVertexIHalfedgeCWIter cvih_cwbegin(VertexHandle _vh) const
const vertex - incoming halfedge circulator cw
Definition: PolyConnectivity.hh:803
ConstFaceFaceCWIter cff_cwiter(FaceHandle _fh) const
const face - face circulator cw
Definition: PolyConnectivity.hh:735
FaceFaceIter ConstFaceFaceIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:296
ConstFaceFaceCCWIter cff_ccwbegin(FaceHandle _fh) const
const face - face circulator ccw
Definition: PolyConnectivity.hh:916
VertexEdgeCWIter ve_cwbegin(VertexHandle _vh)
vertex - edge circulator cw
Definition: PolyConnectivity.hh:774
VertexOHalfedgeCWIter voh_cwbegin(VertexHandle _vh)
vertex - outgoing halfedge circulator cw
Definition: PolyConnectivity.hh:765
ConstVertexIHalfedgeIter cvih_begin(VertexHandle _vh) const
const vertex - incoming halfedge circulator
Definition: PolyConnectivity.hh:800
ConstFaceEdgeIter cfe_iter(FaceHandle _fh) const
const face - edge circulator
Definition: PolyConnectivity.hh:723
ConstFaceHalfedgeCCWIter cfh_ccwend(FaceHandle _fh) const
const face - halfedge circulator ccw
Definition: PolyConnectivity.hh:1084
HalfedgeHandle HHandle
Alias typedef.
Definition: PolyConnectivity.hh:317
FaceHalfedgeIter FHIter
Alias typedef.
Definition: PolyConnectivity.hh:349
Iterators::GenericCirculatorT< This, This::FaceHandle, This::FaceHandle,&Iterators::GenericCirculatorBaseT< This >::toOppositeFaceHandle, false > FaceFaceCWIter
Enumerate adjacent faces in a clockwise fashion.
Definition: PolyConnectivity.hh:285
VertexEdgeCWIter VECWIter
Alias typedef.
Definition: PolyConnectivity.hh:341
HalfedgeLoopCWIter hl_cwend(HalfedgeHandle _heh)
face - face circulator cw
Definition: PolyConnectivity.hh:1062
ConstVertexOHalfedgeCCWIter CVOHCCWIter
Alias typedef.
Definition: PolyConnectivity.hh:362
VertexVertexCWIter ConstVertexVertexCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:204
void assign_connectivity(const PolyConnectivity &_other)
assign_connectivity() method.
Definition: PolyConnectivity.hh:396
ConstVertexEdgeRange ve_range(VertexHandle _vh) const
Definition: PolyConnectivity.hh:1281
VertexFaceCCWIter vf_ccwbegin(VertexHandle _vh)
vertex - face circulator ccw
Definition: PolyConnectivity.hh:786
VertexOHalfedgeCWIter VOHCWIter
Alias typedef.
Definition: PolyConnectivity.hh:335
ConstHalfedgeLoopCWIter chl_cwbegin(HalfedgeHandle _heh) const
const halfedge circulator cw
Definition: PolyConnectivity.hh:922
Iterators::GenericIteratorT< This, This::HalfedgeHandle, ArrayKernel,&This::has_halfedge_status,&This::n_halfedges > HalfedgeIter
Linear iterator.
Definition: PolyConnectivity.hh:87
ConstVertexIter vertices_sbegin() const
Const begin iterator for vertices.
Definition: PolyConnectivity.hh:543
VertexIter vertices_end()
End iterator for vertices.
Definition: PolyConnectivity.cc:636
ConstVertexVertexCCWIter cvv_ccwiter(VertexHandle _vh) const
const vertex circulator ccw
Definition: PolyConnectivity.hh:628
FaceFaceCWIter ff_cwbegin(FaceHandle _fh)
face - face circulator cw
Definition: PolyConnectivity.hh:867
Iterators::GenericCirculatorT_DEPRECATED< This, This::FaceHandle, This::FaceHandle,&Iterators::GenericCirculatorBaseT< This >::toOppositeFaceHandle > FaceFaceIter
Enumerate adjacent faces in a counter clockwise fashion.
Definition: PolyConnectivity.hh:276
CirculatorRange< const PolyConnectivity, ConstVertexFaceIter, VertexHandle,&PolyConnectivity::cvf_begin,&PolyConnectivity::cvf_end > ConstVertexFaceRange
Definition: PolyConnectivity.hh:1227
Iterators::GenericCirculatorT_DEPRECATED< This, This::FaceHandle, This::VertexHandle,&Iterators::GenericCirculatorBaseT< This >::toVertexHandle > FaceVertexIter
Enumerate incident vertices in a counter clockwise fashion.
Definition: PolyConnectivity.hh:228
Iterators::GenericCirculatorT_DEPRECATED< This, This::FaceHandle, This::HalfedgeHandle,&Iterators::GenericCirculatorBaseT< This >::toHalfedgeHandle > FaceHalfedgeIter
Enumerate incident half edges in a counter clockwise fashion.
Definition: PolyConnectivity.hh:244
Generic class for vertex/halfedge/edge/face ranges.
Definition: PolyConnectivity.hh:1124
ConstFaceFaceCWIter cff_cwend(FaceHandle _fh) const
const face - face circulator
Definition: PolyConnectivity.hh:1099
CirculatorRange< const PolyConnectivity, ConstFaceFaceIter, FaceHandle,&PolyConnectivity::cff_begin,&PolyConnectivity::cff_end > ConstFaceFaceRange
Definition: PolyConnectivity.hh:1251
ConstFaceFaceIter cff_end(FaceHandle _fh) const
const face - face circulator
Definition: PolyConnectivity.hh:1096
FaceEdgeIter FEIter
Alias typedef.
Definition: PolyConnectivity.hh:352
ConstFaceVertexCWIter cfv_cwend(FaceHandle _fh) const
const face - vertex circulator cw
Definition: PolyConnectivity.hh:1072
VertexOHalfedgeIter voh_begin(VertexHandle _vh)
vertex - outgoing halfedge circulator
Definition: PolyConnectivity.hh:762
VertexEdgeCCWIter ConstVertexEdgeCCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:217
Vertex & deref(VertexHandle _h)
Get item from handle.
Definition: PolyConnectivity.hh:1554
FaceIter faces_end()
End iterator for faces.
Definition: PolyConnectivity.cc:708
ConstFaceHalfedgeIter cfh_end(FaceHandle _fh) const
const face - halfedge circulator
Definition: PolyConnectivity.hh:1078
ConstHalfedgeIter CHIter
Alias typedef.
Definition: PolyConnectivity.hh:327
FaceFaceCWIter ff_cwend(FaceHandle _fh)
face - face circulator cw
Definition: PolyConnectivity.hh:1053
ConstFaceEdgeRange fe_range(FaceHandle _fh) const
Definition: PolyConnectivity.hh:1313
ConstFaceHalfedgeCCWIter CFHCCWIter
Alias typedef.
Definition: PolyConnectivity.hh:377
Iterators::GenericCirculatorT< This, This::VertexHandle, This::VertexHandle,&Iterators::GenericCirculatorBaseT< This >::toVertexHandle > VertexVertexCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:116
VertexIHalfedgeIter vih_iter(VertexHandle _vh)
vertex - incoming halfedge circulator
Definition: PolyConnectivity.hh:585
FaceIter FIter
Alias typedef.
Definition: PolyConnectivity.hh:324
Connectivity Class for polygonal meshes.
Definition: PolyConnectivity.hh:61
VertexFaceIter vf_end(VertexHandle _vh)
vertex - face circulator
Definition: PolyConnectivity.hh:967
ConstVertexEdgeCCWIter cve_ccwbegin(VertexHandle _vh) const
const vertex - edge circulator ccw
Definition: PolyConnectivity.hh:824
VertexIHalfedgeIter vih_end(VertexHandle _vh)
vertex - incoming halfedge circulator
Definition: PolyConnectivity.hh:940
Iterators::GenericCirculatorT_DEPRECATED< This, This::VertexHandle, This::VertexHandle,&Iterators::GenericCirculatorBaseT< This >::toVertexHandle > VertexVertexIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:114
VertexVertexIter vv_end(VertexHandle _vh)
vertex - vertex circulator
Definition: PolyConnectivity.hh:931
ConstVertexVertexCWIter cvv_cwbegin(VertexHandle _vh) const
const vertex circulator cw
Definition: PolyConnectivity.hh:794
VertexOHalfedgeCCWIter voh_ccwbegin(VertexHandle _vh)
vertex - outgoing halfedge circulator ccw
Definition: PolyConnectivity.hh:768
ConstVertexIHalfedgeCWIter CVIHCWIter
Alias typedef.
Definition: PolyConnectivity.hh:364
FaceVertexCWIter fv_cwend(FaceHandle _fh)
face - vertex circulator cw
Definition: PolyConnectivity.hh:1026
VertexIHalfedgeCWIter vih_cwbegin(VertexHandle _vh)
vertex - incoming halfedge circulator cw
Definition: PolyConnectivity.hh:756
Definition: CirculatorsT.hh:258
Iterators::GenericCirculatorT< This, This::VertexHandle, This::HalfedgeHandle,&Iterators::GenericCirculatorBaseT< This >::toOppositeHalfedgeHandle > VertexIHalfedgeCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:148
VertexIHalfedgeCWIter vih_cwend(VertexHandle _vh)
vertex - incoming halfedge circulator cw
Definition: PolyConnectivity.hh:943
FaceHandle opposite_face_handle(HalfedgeHandle _heh) const
returns the face handle of the opposite halfedge
Definition: PolyConnectivity.hh:1401
ConstFaceHalfedgeIter cfh_begin(FaceHandle _fh) const
const face - halfedge circulator
Definition: PolyConnectivity.hh:892
FaceFaceIter FFIter
Alias typedef.
Definition: PolyConnectivity.hh:355
ConstFaceVertexIter cfv_iter(FaceHandle _fh) const
const face - vertex circulator
Definition: PolyConnectivity.hh:705
HalfedgeLoopCWIter ConstHalfedgeLoopCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:304
Iterators::GenericCirculatorT< This, This::FaceHandle, This::EdgeHandle,&Iterators::GenericCirculatorBaseT< This >::toEdgeHandle > FaceEdgeCCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:262
VertexOHalfedgeCCWIter ConstVertexOHalfedgeCCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:208
ConstFaceEdgeCCWIter CFECCWIter
Alias typedef.
Definition: PolyConnectivity.hh:380
HalfedgeLoopCCWIter ConstHalfedgeLoopCCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:305
ConstVertexFaceIter CVFIter
Alias typedef.
Definition: PolyConnectivity.hh:369
FaceEdgeCCWIter fe_ccwend(FaceHandle _fh)
face - edge circulator ccw
Definition: PolyConnectivity.hh:1047
VertexEdgeIter ve_iter(VertexHandle _vh)
vertex - edge circulator
Definition: PolyConnectivity.hh:603
CirculatorRange< const PolyConnectivity, ConstVertexIHalfedgeIter, VertexHandle,&PolyConnectivity::cvih_begin,&PolyConnectivity::cvih_end > ConstVertexIHalfedgeRange
Definition: PolyConnectivity.hh:1210
ConstFaceEdgeCCWIter cfe_ccwiter(FaceHandle _fh) const
const face - edge circulator ccw
Definition: PolyConnectivity.hh:729
Iterators::GenericCirculatorT< This, This::VertexHandle, This::VertexHandle,&Iterators::GenericCirculatorBaseT< This >::toVertexHandle, false > VertexVertexCCWIter
Enumerates 1-ring vertices in a counter clockwise fashion.
Definition: PolyConnectivity.hh:123
HalfedgeIter halfedges_begin()
Begin iterator for halfedges.
Definition: PolyConnectivity.cc:648
Iterators::GenericCirculatorT< This, This::VertexHandle, This::HalfedgeHandle,&Iterators::GenericCirculatorBaseT< This >::toHalfedgeHandle > VertexOHalfedgeCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:132
ConstVertexOHalfedgeCCWIter cvoh_ccwbegin(VertexHandle _vh) const
const vertex - outgoing halfedge circulator ccw
Definition: PolyConnectivity.hh:815
HalfedgeIter halfedges_end()
End iterator for halfedges.
Definition: PolyConnectivity.cc:660
ConstFaceEdgeCCWIter cfe_ccwend(FaceHandle _fh) const
const face - edge circulator ccw
Definition: PolyConnectivity.hh:1093
VertexFaceIter vf_begin(VertexHandle _vh)
vertex - face circulator
Definition: PolyConnectivity.hh:780
ConstVertexEdgeCWIter cve_cwbegin(VertexHandle _vh) const
const vertex - edge circulator cw
Definition: PolyConnectivity.hh:821
ConstFaceHalfedgeIter CFHIter
Alias typedef.
Definition: PolyConnectivity.hh:375
FaceEdgeIter ConstFaceEdgeIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:293
VertexEdgeCCWIter ve_ccwbegin(VertexHandle _vh)
vertex - edge circulator ccw
Definition: PolyConnectivity.hh:777
ConstVertexOHalfedgeRange voh_range(VertexHandle _vh) const
Definition: PolyConnectivity.hh:1273
FaceEdgeCCWIter ConstFaceEdgeCCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:295
FaceFaceIter ff_begin(FaceHandle _fh)
face - face circulator
Definition: PolyConnectivity.hh:864
ConstVertexOHalfedgeCCWIter cvoh_ccwiter(VertexHandle _vh) const
const vertex - outgoing halfedge circulator ccw
Definition: PolyConnectivity.hh:646
FaceHalfedgeCWIter fh_cwiter(FaceHandle _fh)
face - halfedge circulator cw
Definition: PolyConnectivity.hh:680
ConstFaceVertexCCWIter CFVCCWIter
Alias typedef.
Definition: PolyConnectivity.hh:374
EdgeIter edges_end()
End iterator for edges.
Definition: PolyConnectivity.cc:684
ConstVertexIHalfedgeCCWIter cvih_ccwbegin(VertexHandle _vh) const
const vertex - incoming halfedge circulator ccw
Definition: PolyConnectivity.hh:806
VertexEdgeCWIter ve_cwend(VertexHandle _vh)
vertex - edge circulator cw
Definition: PolyConnectivity.hh:961
bool is_boundary(HalfedgeHandle _heh) const
Is halfedge _heh a boundary halfedge (is its face handle invalid) ?
Definition: ArrayKernel.hh:365
Iterators::GenericIteratorT< This, This::FaceHandle, ArrayKernel,&This::has_face_status,&This::n_faces > FaceIter
Linear iterator.
Definition: PolyConnectivity.hh:89
ConstVertexIHalfedgeCWIter cvih_cwend(VertexHandle _vh) const
const vertex - incoming halfedge circulator cw
Definition: PolyConnectivity.hh:989
ConstVertexEdgeIter cve_end(VertexHandle _vh) const
const vertex - edge circulator
Definition: PolyConnectivity.hh:1004
FaceHalfedgeCWIter ConstFaceHalfedgeCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:291
ConstFaceVertexCCWIter cfv_ccwbegin(FaceHandle _fh) const
const face - vertex circulator ccw
Definition: PolyConnectivity.hh:889
HalfedgeIter HIter
Alias typedef.
Definition: PolyConnectivity.hh:322
FaceEdgeCCWIter fe_ccwbegin(FaceHandle _fh)
face - edge circulator ccw
Definition: PolyConnectivity.hh:861
VertexOHalfedgeIter voh_iter(VertexHandle _vh)
vertex - outgoing halfedge circulator
Definition: PolyConnectivity.hh:594
HalfedgeLoopCCWIter hl_ccwend(HalfedgeHandle _heh)
face - face circulator ccw
Definition: PolyConnectivity.hh:1065
VertexVertexIter vv_begin(VertexHandle _vh)
vertex - vertex circulator
Definition: PolyConnectivity.hh:744
ConstVertexFaceIter cvf_iter(VertexHandle _vh) const
const vertex - face circulator
Definition: PolyConnectivity.hh:658
FaceVertexIter ConstFaceVertexIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:287
FaceVertexCWIter FVCWIter
Alias typedef.
Definition: PolyConnectivity.hh:347
Edge & deref(EdgeHandle _h)
Get item from handle.
Definition: PolyConnectivity.hh:1558
CirculatorRange< const PolyConnectivity, ConstFaceVertexIter, FaceHandle,&PolyConnectivity::cfv_begin,&PolyConnectivity::cfv_end > ConstFaceVertexRange
Definition: PolyConnectivity.hh:1233
VertexOHalfedgeCCWIter VOHCCWIter
Alias typedef.
Definition: PolyConnectivity.hh:336
Iterators::GenericCirculatorT< This, This::FaceHandle, This::HalfedgeHandle,&Iterators::GenericCirculatorBaseT< This >::toHalfedgeHandle, false > FaceHalfedgeCWIter
Enumerate incident half edges in a clockwise fashion.
Definition: PolyConnectivity.hh:253
FaceFaceCCWIter ff_ccwiter(FaceHandle _fh)
face - face circulator ccw
Definition: PolyConnectivity.hh:701
FaceFaceCCWIter ff_ccwbegin(FaceHandle _fh)
face - face circulator ccw
Definition: PolyConnectivity.hh:870
ConstFaceEdgeCWIter cfe_cwend(FaceHandle _fh) const
const face - edge circulator cw
Definition: PolyConnectivity.hh:1090
Iterators::GenericCirculatorT_DEPRECATED< This, This::VertexHandle, This::EdgeHandle,&Iterators::GenericCirculatorBaseT< This >::toEdgeHandle > VertexEdgeIter
Enumerates incident edges in a clockwise fashion.
Definition: PolyConnectivity.hh:178
ConstVertexVertexCWIter cvv_cwiter(VertexHandle _vh) const
const vertex circulator cw
Definition: PolyConnectivity.hh:625
ConstFaceVertexRange fv_range(FaceHandle _fh) const
Definition: PolyConnectivity.hh:1297
Iterators::GenericCirculatorT< This, This::FaceHandle, This::EdgeHandle,&Iterators::GenericCirculatorBaseT< This >::toEdgeHandle, false > FaceEdgeCWIter
Enumerate incident edges in a clockwise fashion.
Definition: PolyConnectivity.hh:269
ConstEdgeIter edges_sbegin() const
Const begin iterator for edges.
Definition: PolyConnectivity.hh:557
ConstVertexIter CVIter
Alias typedef.
Definition: PolyConnectivity.hh:326
FaceFaceIter ff_iter(FaceHandle _fh)
face - face circulator
Definition: PolyConnectivity.hh:695
VertexIter VIter
Alias typedef.
Definition: PolyConnectivity.hh:321
VertexOHalfedgeCWIter voh_cwiter(VertexHandle _vh)
vertex - outgoing halfedge circulator cw
Definition: PolyConnectivity.hh:597
ConstVertexOHalfedgeIter cvoh_end(VertexHandle _vh) const
const vertex - outgoing halfedge circulator
Definition: PolyConnectivity.hh:995
FaceFaceCCWIter ff_ccwend(FaceHandle _fh)
face - face circulator ccw
Definition: PolyConnectivity.hh:1056
ConstVertexOHalfedgeCWIter cvoh_cwend(VertexHandle _vh) const
const vertex - outgoing halfedge circulator cw
Definition: PolyConnectivity.hh:998
Iterators::GenericIteratorT< This, This::EdgeHandle, ArrayKernel,&This::has_edge_status,&This::n_edges > EdgeIter
Linear iterator.
Definition: PolyConnectivity.hh:88
ConstVertexOHalfedgeCWIter cvoh_cwiter(VertexHandle _vh) const
const vertex - outgoing halfedge circulator cw
Definition: PolyConnectivity.hh:643
ConstVertexIHalfedgeRange vih_range(VertexHandle _vh) const
Definition: PolyConnectivity.hh:1265
FaceFaceCWIter ConstFaceFaceCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:297
ConstVertexVertexIter cvv_end(VertexHandle _vh) const
const vertex circulator
Definition: PolyConnectivity.hh:977
FaceEdgeCCWIter fe_ccwiter(FaceHandle _fh)
face - edge circulator ccw
Definition: PolyConnectivity.hh:692
FaceEdgeIter fe_begin(FaceHandle _fh)
face - edge circulator
Definition: PolyConnectivity.hh:855
VertexVertexCWIter vv_cwend(VertexHandle _vh)
vertex - vertex circulator cw
Definition: PolyConnectivity.hh:934
HalfedgeLoopIter hl_begin(HalfedgeHandle _heh)
halfedge circulator
Definition: PolyConnectivity.hh:873
ConstFaceFaceCCWIter cff_ccwend(FaceHandle _fh) const
const face - face circulator
Definition: PolyConnectivity.hh:1102
FaceHalfedgeIter ConstFaceHalfedgeIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:290
VertexFaceIter vf_iter(VertexHandle _vh)
vertex - face circulator
Definition: PolyConnectivity.hh:612
VertexFaceIter VFIter
Alias typedef.
Definition: PolyConnectivity.hh:343
ConstVertexVertexCCWIter CVVCCWIter
Alias typedef.
Definition: PolyConnectivity.hh:359
VertexVertexCCWIter VVCCWIter
Alias typedef.
Definition: PolyConnectivity.hh:333
Iterators::GenericCirculatorT< This, This::VertexHandle, This::FaceHandle,&Iterators::GenericCirculatorBaseT< This >::toFaceHandle > VertexFaceCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:164
FaceVertexCCWIter fv_ccwend(FaceHandle _fh)
face - vertex circulator ccw
Definition: PolyConnectivity.hh:1029
ConstVertexOHalfedgeIter CVOHIter
Alias typedef.
Definition: PolyConnectivity.hh:360
Generic class for iterator ranges.
Definition: PolyConnectivity.hh:1185
ConstFaceEdgeCWIter cfe_cwbegin(FaceHandle _fh) const
const face - edge circulator cw
Definition: PolyConnectivity.hh:904
CirculatorRange< const PolyConnectivity, ConstFaceEdgeIter, FaceHandle,&PolyConnectivity::cfe_begin,&PolyConnectivity::cfe_end > ConstFaceEdgeRange
Definition: PolyConnectivity.hh:1245
ConstVertexFaceCWIter cvf_cwend(VertexHandle _vh) const
const vertex - face circulator cw
Definition: PolyConnectivity.hh:1016
VertexFaceCWIter vf_cwend(VertexHandle _vh)
vertex - face circulator cw
Definition: PolyConnectivity.hh:970
Iterators::GenericCirculatorT< This, This::VertexHandle, This::FaceHandle,&Iterators::GenericCirculatorBaseT< This >::toFaceHandle, false > VertexFaceCCWIter
Enumerates incident faces in a counter clockwise fashion.
Definition: PolyConnectivity.hh:171
ConstFaceFaceIter CFFIter
Alias typedef.
Definition: PolyConnectivity.hh:381
Iterators::GenericCirculatorT_DEPRECATED< This, This::VertexHandle, This::HalfedgeHandle,&Iterators::GenericCirculatorBaseT< This >::toHalfedgeHandle > VertexOHalfedgeIter
Enumerates outgoing half edges in a clockwise fashion.
Definition: PolyConnectivity.hh:130
FaceVertexCCWIter fv_ccwbegin(FaceHandle _fh)
face - vertex circulator ccw
Definition: PolyConnectivity.hh:843
FaceHalfedgeCCWIter ConstFaceHalfedgeCCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:292
ConstHalfedgeLoopCCWIter chl_ccwbegin(HalfedgeHandle _heh) const
const halfedge circulator ccw
Definition: PolyConnectivity.hh:925
Iterators::GenericCirculatorT< This, This::FaceHandle, This::HalfedgeHandle,&Iterators::GenericCirculatorBaseT< This >::toHalfedgeHandle, false > HalfedgeLoopCCWIter
Identical to FaceHalfedgeIter.
Definition: PolyConnectivity.hh:201
ConstFaceHalfedgeIter cfh_iter(FaceHandle _fh) const
const face - halfedge circulator
Definition: PolyConnectivity.hh:714
ConstFaceVertexIter cfv_begin(FaceHandle _fh) const
const face - vertex circulator
Definition: PolyConnectivity.hh:883
ConstVertexEdgeCWIter cve_cwiter(VertexHandle _vh) const
const vertex - edge circulator cw
Definition: PolyConnectivity.hh:652
FaceVertexCWIter ConstFaceVertexCWIter
Enumerates 1-ring vertices in a clockwise fashion.
Definition: PolyConnectivity.hh:288
FaceHalfedgeCWIter fh_cwend(FaceHandle _fh)
face - halfedge circulator cw
Definition: PolyConnectivity.hh:1035
ConstVertexEdgeIter CVEIter
Alias typedef.
Definition: PolyConnectivity.hh:366
ConstFaceFaceCCWIter CFFCCWIter
Alias typedef.
Definition: PolyConnectivity.hh:383
ConstFaceHalfedgeCWIter cfh_cwbegin(FaceHandle _fh) const
const face - halfedge circulator cw
Definition: PolyConnectivity.hh:895
ConstVertexFaceIter cvf_begin(VertexHandle _vh) const
const vertex - face circulator
Definition: PolyConnectivity.hh:827
FaceFaceCWIter ff_cwiter(FaceHandle _fh)
face - face circulator cw
Definition: PolyConnectivity.hh:698
Definition: IteratorsT.hh:89
FaceEdgeCCWIter FECWWIter
Alias typedef.
Definition: PolyConnectivity.hh:354
VertexIHalfedgeCCWIter VIHICCWter
Alias typedef.
Definition: PolyConnectivity.hh:339