Fixed the p2t2_find_conflicts example.

This commit is contained in:
Nico Kruithof 2013-01-15 21:55:21 +01:00
parent d625043083
commit 5a3f51dbe4
3 changed files with 10 additions and 15 deletions

View File

@ -39,7 +39,6 @@ int main()
// and a facet on the boundary of this hole in f.
std::vector<Face_handle> V;
// NGHK: was find_conflicts
T.get_conflicts(p,
std::back_inserter(V), // Conflict cells in V
f);

View File

@ -577,7 +577,7 @@ private:
std::pair<OutputItFaces,OutputItBoundaryEdges>
pit) const {
Face_handle fn = fh->neighbor(i);
if (! this->test_conflict(p,fn)) {
if (! test_conflict(p,fn)) {
*(pit.second)++ = Edge(fn, fn->index(fh));
} else {
*(pit.first)++ = fn;
@ -588,6 +588,10 @@ private:
return pit;
}
bool test_conflict(const Point &p, Face_handle fh) const {
return side_of_oriented_circle(fh, p, true) == ON_POSITIVE_SIDE;
}
/// NGHK: Not yet implemented
void restore_edges(Vertex_handle v)
{

View File

@ -568,8 +568,8 @@ public:
/// the circle through the vertices of f
///\n NGHK: Not yet implemented
Oriented_side
side_of_oriented_circle(Face_handle f, const Point & p, bool perturb =
false) const;
side_of_oriented_circle(Face_handle f,
const Point & p, bool perturb = false) const;
// \}
@ -1101,14 +1101,6 @@ protected:
}
}
/// Determines whether the point (p,o) lies on the (un-)bounded side of
/// the circle through the vertices of f
///\n NGHK: Not yet implemented
Oriented_side
side_of_oriented_circle(Face_handle f, const Point & p, const Offset &o,
bool perturb = false) const;
protected:
// Protected functions of Periodic_2_triangulation_2
@ -4157,9 +4149,9 @@ Oriented_side Periodic_2_triangulation_2<Gt, Tds>::side_of_oriented_circle(
// TODO: optimize which copies to check depending on the offsets in
// the cell.
while (os == ON_NEGATIVE_SIDE && i < 4) {
os = side_of_oriented_circle(f->vertex(0)->point(), f->vertex(1)->point(),
f->vertex(2)->point(), p, get_offset(f, 0), get_offset(f, 1),
get_offset(f, 2), combine_offsets(Offset(), int_to_off(i)), perturb);
os = side_of_oriented_circle(f->vertex(0)->point(), f->vertex(1)->point(), f->vertex(2)->point(), p,
get_offset(f, 0), get_offset(f, 1), get_offset(f, 2), combine_offsets(Offset(), int_to_off(i)),
perturb);
i++;
}