Bug fix draw Nef_3 (#7388)

_Please use the following template to help us managing pull requests._

## Summary of Changes

Draw only halffacet if(fc.is_shalfedge()).
TODO: do we need to draw something if (fc.is_shalfloop()) ?

## Release Management

* Affected package(s): Nef_3
* Issue(s) solved (if any): fix #7377
This commit is contained in:
Laurent Rineau 2023-04-25 12:18:08 +02:00 committed by GitHub
commit d0478493a0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 14 additions and 12 deletions

View File

@ -131,21 +131,23 @@ protected:
++fc; ++fc;
while(fc!=f->facet_cycles_end()) while(fc!=f->facet_cycles_end())
{ {
se = SHalfedge_const_handle(fc); if(fc.is_shalfedge())
hc_start=se; {
hc_end=hc_start; se = SHalfedge_const_handle(fc);
CGAL_For_all(hc_start, hc_end) { hc_start=se;
Vertex_const_handle vh=hc_start->source()->center_vertex(); hc_end=hc_start;
viewer.add_point_in_face(vh->point(), CGAL_For_all(hc_start, hc_end) {
viewer.get_vertex_normal(vh)); Vertex_const_handle vh=hc_start->source()->center_vertex();
viewer.add_point_in_face(vh->point(),
viewer.get_vertex_normal(vh));
}
viewer.add_point_in_face(hc_start->source()->center_vertex()->point(),
viewer.get_vertex_normal(hc_start->source()->center_vertex()));
viewer.add_point_in_face(lastvh->point(),
viewer.get_vertex_normal(lastvh));
} }
viewer.add_point_in_face(hc_start->source()->center_vertex()->point(),
viewer.get_vertex_normal(hc_start->source()->center_vertex()));
viewer.add_point_in_face(lastvh->point(),
viewer.get_vertex_normal(lastvh));
++fc; ++fc;
} }
viewer.face_end(); viewer.face_end();
facets_done[f]=true; facets_done[f]=true;
n_faces++; n_faces++;