Subject: CGAL users discussion list
List archive
- From: Claus Volko <>
- To:
- Subject: Re: [cgal-discuss] Removing faces from a polygon mesh
- Date: Fri, 8 Sep 2023 07:09:49 +0200
- Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None ; spf=Pass ; spf=None
- Ironport-data: A9a23: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 VUIqat4rI1XhKI//QuMu5KYJf3BgA7S8g==
- Ironport-hdrordr: A9a23:fqRWmaFnNwUfddqCpLqE0ceALOsnbusQ8zAXPiFKOGVom6mj/f xG885rsCMc5AxhOk3I3OrwW5VoIkm8yXcW2/h0AV7KZmCP01dAbrsD0WKI+UyGJ8SRzJ866U 6iScRD4R/LYGSSQfyU3OBwKbgd/OU=
- Ironport-phdr: A9a23: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 SrW6NVppgP/+gFq4jViWRtK7D1MgdDT1Xg=
- Ironport-sdr: 64faacaa_zFPr5Qnyy/pqDHSx+w1PuVUBlNldszsUZ2PmhgYCav8mpUo kWRHjpFbTofIsE1hBD8TTkRnKJRisjhZeszZQIg==
I've found out meanwhile that I can remove a face from a polygon mesh using this command:
CGAL::Euler::remove_face(f->halfedge(), polygon_mesh);
Am Do., 7. Sept. 2023 um 15:06 Uhr schrieb Claus Volko <>:
I would like to remove faces from a polygon mesh. How can this be done?Here is some code for you, which shows what I'm trying to do. In words, I try to remove faces that cannot be seen by the camera (the position of which is specified in camera_pos_x, camera_pos_y, camera_pos_z). These faces can be detected by computing the dot product of their vector to the camera and their normal vector. If it is close to zero, they are invisible and have to be removed.for (auto f : faces(polygon_mesh)){
auto v0 = f->halfedge()->vertex()->point();
auto v1 = f->halfedge()->next()->vertex()->point();
auto v2 = f->halfedge()->next()->next()->vertex()->point();
auto vmx = (v0.x() + v1.x() + v2.x()) / 3;
auto vmy = (v0.y() + v1.y() + v2.y()) / 3;
auto vmz = (v0.z() + v1.z() + v2.z()) / 3;
auto w = f->plane().orthogonal_vector();
auto wx = w.x() - camera_pos_x;
auto wy = w.y() - camera_pos_y;
auto wz = w.z() - camera_pos_z;
auto w1 = new CGAL::Vector_3<Kernel>(wx, wy, wz);
w1 = normalize(w1);
auto res = w1->x() * vmx + w1->y() * vmy + w1->z() * vmz;
if ((res > 0 && res < .75) || (res < 0 && res > -.75))
}Thank you in advance.
--
- [cgal-discuss] Removing faces from a polygon mesh, Claus Volko, 09/07/2023
- Re: [cgal-discuss] Removing faces from a polygon mesh, Claus Volko, 09/08/2023
Archive powered by MHonArc 2.6.19+.