186 if ( fh1.is_valid() && mesh_.status( fh1 ).feature() )
188 if ( fh2.is_valid() && mesh_.status( fh2 ).feature() )
194 mesh_.property(is_active_, *v_it) = active;
199 if (continuity_ == C1)
201 typename Mesh::VVIter vv_it;
203 for (v_it=mesh_.vertices_begin(); v_it!=v_end; ++v_it)
204 if (mesh_.is_boundary(*v_it))
205 for (vv_it=mesh_.vv_iter(*v_it); vv_it.is_valid(); ++vv_it)
206 mesh_.property(is_active_, *vv_it) =
false;
211 if (continuity_ == C2)
213 typename Mesh::VVIter vv_it;
215 for (v_it=mesh_.vertices_begin(); v_it!=v_end; ++v_it)
217 mesh_.status(*v_it).set_tagged(
false);
218 mesh_.status(*v_it).set_tagged2(
false);
221 for (v_it=mesh_.vertices_begin(); v_it!=v_end; ++v_it)
222 if (mesh_.is_boundary(*v_it))
223 for (vv_it=mesh_.vv_iter(*v_it); vv_it.is_valid(); ++vv_it)
224 mesh_.status(*v_it).set_tagged(
true);
226 for (v_it=mesh_.vertices_begin(); v_it!=v_end; ++v_it)
227 if (mesh_.status(*v_it).tagged())
228 for (vv_it=mesh_.vv_iter(*v_it); vv_it.is_valid(); ++vv_it)
229 mesh_.status(*v_it).set_tagged2(
true);
231 for (v_it=mesh_.vertices_begin(); v_it!=v_end; ++v_it)
233 if (mesh_.status(*v_it).tagged2())
234 mesh_.property(is_active_, *vv_it) =
false;
235 mesh_.status(*v_it).set_tagged(
false);
236 mesh_.status(*v_it).set_tagged2(
false);
250 if (!mesh_.vertices_empty())
253 v_end(mesh_.vertices_end());
257 Point bb_min, bb_max;
258 bb_min = bb_max = mesh_.point(*v_it);
259 for (++v_it; v_it!=v_end; ++v_it)
261 minimize(bb_min, mesh_.point(*v_it));
262 maximize(bb_max, mesh_.point(*v_it));
267 set_absolute_local_error(norm(_err * (bb_max-bb_min)));