50 #include "OpenVolumeMeshHandle.hh"
62 typedef std::bidirectional_iterator_tag iterator_category;
63 typedef int difference_type;
64 typedef const OH value_type;
65 typedef const OH* pointer;
66 typedef const OH& reference;
70 valid_(
true), cur_handle_(_ch), mesh_(_mesh) {}
73 valid_(
true), mesh_(_mesh) {}
79 return (this->cur_handle_ == _c.cur_handle() &&
80 this->valid_ == _c.valid() &&
81 this->mesh_ == _c.mesh());
84 return !this->operator==(_c);
87 pointer operator->()
const {
91 reference operator*()
const {
96 return cur_handle_.idx() < _c.cur_handle_.idx();
100 this->valid_ = _c.valid();
101 this->cur_handle_ = _c.cur_handle();
102 this->mesh_ = _c.mesh();
106 operator bool()
const {
110 void valid(
bool _valid) {
116 void cur_handle(
const OH& _h) {
119 reference cur_handle()
const {
142 BaseIter(_mesh, _oh),
144 max_laps_(_max_laps),
149 BaseIter(_mesh, OH()),
151 max_laps_(_max_laps),
165 return (BaseIter::operator==(_c) &&
166 this->lap() == _c.lap() &&
167 this->ref_handle() == _c.ref_handle());
170 return !this->operator==(_c);
175 return BaseIter::operator<(_c);
177 return lap_ < _c.lap_;
181 BaseIter::operator=(_c);
182 this->ref_handle_ = _c.ref_handle();
183 this->lap_ = _c.lap_;
184 this->max_laps_ = _c.max_laps_;
188 const IH& ref_handle()
const {
199 void max_laps(
int _max_laps) {
200 max_laps_ = _max_laps;
202 int max_laps()
const {
241 for(
int i = 0; i < _n; ++i) {
248 for(
int i = 0; i < _n; ++i) {
254 for(
int i = 0; i < _n; ++i) {
260 for(
int i = 0; i < _n; ++i) {
300 for(
int i = 0; i < _n; ++i) {
307 for(
int i = 0; i < _n; ++i) {
313 for(
int i = 0; i < _n; ++i) {
319 for(
int i = 0; i < _n; ++i) {
357 for(
int i = 0; i < _n; ++i) {
364 for(
int i = 0; i < _n; ++i) {
370 for(
int i = 0; i < _n; ++i) {
376 for(
int i = 0; i < _n; ++i) {
386 std::vector<CellHandle> cells_;
414 for(
int i = 0; i < _n; ++i) {
421 for(
int i = 0; i < _n; ++i) {
427 for(
int i = 0; i < _n; ++i) {
433 for(
int i = 0; i < _n; ++i) {
443 CellHandle getCellHandle(
int _cur_index)
const;
446 std::vector<CellHandle> cells_;
475 for(
int i = 0; i < _n; ++i) {
482 for(
int i = 0; i < _n; ++i) {
488 for(
int i = 0; i < _n; ++i) {
494 for(
int i = 0; i < _n; ++i) {
504 std::vector<VertexHandle> incident_vertices_;
533 for(
int i = 0; i < _n; ++i) {
540 for(
int i = 0; i < _n; ++i) {
546 for(
int i = 0; i < _n; ++i) {
552 for(
int i = 0; i < _n; ++i) {
562 std::vector<CellHandle> adjacent_cells_;
591 for(
int i = 0; i < _n; ++i) {
598 for(
int i = 0; i < _n; ++i) {
604 for(
int i = 0; i < _n; ++i) {
610 for(
int i = 0; i < _n; ++i) {
620 std::vector<VertexHandle> vertices_;
648 for(
int i = 0; i < _n; ++i) {
655 for(
int i = 0; i < _n; ++i) {
661 for(
int i = 0; i < _n; ++i) {
667 for(
int i = 0; i < _n; ++i) {
673 const EdgeHandle& common_edge()
const {
return common_edges_[cur_index_]; }
679 std::vector<HalfFaceHandle> neighbor_halffaces_;
680 std::vector<EdgeHandle> common_edges_;
706 for(
int i = 0; i < _n; ++i) {
713 for(
int i = 0; i < _n; ++i) {
719 for(
int i = 0; i < _n; ++i) {
725 for(
int i = 0; i < _n; ++i) {
760 for(
int i = 0; i < _n; ++i) {
767 for(
int i = 0; i < _n; ++i) {
773 for(
int i = 0; i < _n; ++i) {
779 for(
int i = 0; i < _n; ++i) {
814 for(
int i = 0; i < _n; ++i) {
821 for(
int i = 0; i < _n; ++i) {
827 for(
int i = 0; i < _n; ++i) {
833 for(
int i = 0; i < _n; ++i) {
868 for(
int i = 0; i < _n; ++i) {
875 for(
int i = 0; i < _n; ++i) {
881 for(
int i = 0; i < _n; ++i) {
887 for(
int i = 0; i < _n; ++i) {
922 for(
int i = 0; i < _n; ++i) {
929 for(
int i = 0; i < _n; ++i) {
935 for(
int i = 0; i < _n; ++i) {
941 for(
int i = 0; i < _n; ++i) {
976 for(
int i = 0; i < _n; ++i) {
983 for(
int i = 0; i < _n; ++i) {
989 for(
int i = 0; i < _n; ++i) {
995 for(
int i = 0; i < _n; ++i) {
1030 for(
int i = 0; i < _n; ++i) {
1037 for(
int i = 0; i < _n; ++i) {
1043 for(
int i = 0; i < _n; ++i) {
1049 for(
int i = 0; i < _n; ++i) {