61 FaceHandle add_face(std::vector<HalfEdgeHandle> _halfedges,
bool _topologyCheck =
false)
override;
63 FaceHandle add_face(
const std::vector<VertexHandle>& _vertices)
override;
65 CellHandle add_cell(std::vector<HalfFaceHandle> _halffaces,
bool _topologyCheck =
false)
override;
67 CellHandle add_cell(
const std::vector<VertexHandle>& _vertices,
bool _topologyCheck =
false);
71 HalfFaceHandle add_halfface(
const std::vector<HalfEdgeHandle>& _halfedges,
bool _topologyCheck =
false);
76 std::vector<VertexHandle> get_cell_vertices(
CellHandle ch)
const;
78 std::vector<VertexHandle> get_cell_vertices(
HalfFaceHandle hfh)
const;
94 friend class TetVertexIter;
96 typedef class TetVertexIter TetVertexIter;
98 TetVertexIter tv_iter(
CellHandle _ref_h,
int _max_laps = 1)
const {
99 return TetVertexIter(_ref_h,
this, _max_laps);
102 std::pair<TetVertexIter,TetVertexIter> tet_vertices(
CellHandle _ref_h,
int _max_laps = 1)
const {
103 TetVertexIter begin = tv_iter(_ref_h, _max_laps);
104 TetVertexIter end = make_end_circulator(begin);
105 return std::make_pair(begin, end);
112 template <
typename PropIterator,
typename Handle>
113 void swapPropertyElements(PropIterator begin, PropIterator end, Handle source, Handle destination)
115 PropIterator p_iter = begin;
116 for (; p_iter != end; ++p_iter)
117 (*p_iter)->swap_elements(source, destination);