107 for (j = 0, p(1) = minp(1); j <= resy; ++j, p(1) += d(1)) {
108 for (i = 0, p(0) = minp(0); i <= resx; ++i, p(0) += d(0)) {
110 I[0]->set_flag(i, j, i < resx && j < resy && pred(func.
evaluate(p.
to_vec())));
112 bool need_vertex =
false;
113 need_vertex = need_vertex || (I[0]->flag(i, j) != I[1]->flag(i, j));
114 need_vertex = need_vertex || (I[0]->flag(i, j) != I[0]->flag(i, j - 1));
115 need_vertex = need_vertex || (I[1]->flag(i, j) != I[1]->flag(i, j - 1));
116 need_vertex = need_vertex || (I[0]->flag(i, j) != I[0]->flag(i - 1, j));
117 need_vertex = need_vertex || (I[1]->flag(i, j) != I[1]->flag(i - 1, j));
119 need_vertex = need_vertex || (I[0]->flag(i - 1, j) != I[1]->flag(i - 1, j));
120 need_vertex = need_vertex || (I[0]->flag(i - 1, j) != I[0]->flag(i - 1, j - 1));
121 need_vertex = need_vertex || (I[1]->flag(i - 1, j) != I[1]->flag(i - 1, j - 1));
123 need_vertex = need_vertex || (I[0]->flag(i - 1, j - 1) != I[1]->flag(i - 1, j - 1));
127 need_vertex = need_vertex || (I[0]->flag(i, j - 1) != I[1]->flag(i - 1, j));
128 need_vertex = need_vertex || (I[0]->flag(i, j - 1) != I[0]->flag(i - 1, j - 1));
129 need_vertex = need_vertex || (I[1]->flag(i, j - 1) != I[1]->flag(i - 1, j - 1));
133 I[0]->set_index(i, j,
new_vertex(p - T(0.5)*d));
137 for (j = 0, p(1) = minp(1); j <= resy; ++j, p(1) += d(1)) {
138 for (i = 0, p(0) = minp(0); i <= resx; ++i, p(0) += d(0)) {
139 if ((j < resy) && (I[1]->flag(i - 1, j) != I[1]->flag(i, j)))
140 generate_edge_quad(I[1]->index(i, j), I[1]->index(i, j + 1), I[0]->index(i, j + 1), I[0]->index(i, j), I[1]->flag(i, j));
141 if ((i < resx) && (I[1]->flag(i, j - 1) != I[1]->flag(i, j)))
142 generate_edge_quad(I[1]->index(i, j), I[0]->index(i, j), I[0]->index(i + 1, j), I[1]->index(i + 1, j), I[1]->flag(i, j));
143 if ((i < resx) && (j < resy) && (I[1]->flag(i, j) != I[0]->flag(i, j)))
144 generate_edge_quad(I[0]->index(i, j), I[0]->index(i + 1, j), I[0]->index(i + 1, j + 1), I[0]->index(i, j + 1), I[0]->flag(i, j));