Subject: CGAL users discussion list
List archive
- From: Matthijs Sypkens Smit <>
- To: "" <>
- Subject: [cgal-discuss] Hole-filling in the presence of non-manifold vertices
- Date: Thu, 12 Dec 2024 09:11:35 +0000
- Accept-language: en-US
- Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=seequent.com; dmarc=pass action=none header.from=seequent.com; dkim=pass header.d=seequent.com; arc=none
- Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=QffkpHyo9eZ2zPAu7mfKeGk+Xyfxy3jXDt3XXI0dw48=; b=cLcr1WrqANCcg7WkSmcN3hzC/sCUAXQcHs+rEYuAIlOZeAYHrL4X/Z/m3NQYokQMI7WShaibh1lUn/Wj+n33OkleZ6xlIw+Y25MpxiAWmBA59WiWiAA30/LUFqdz/KdL9WOBW2AeD4sWqUmbbnBeYvhlY9HXdX9HLbzmmOedGxzc8vGXHzlzp7cRRCdszA0hk/IttZeUBT1fvjdvaXhVjH8+19Ryw8NVp6oxzw+YMA/5TVZ4YO5G9G9sZ2BpsHu5S4G/pxqhxl5dgY1GI+8lRUui0mK+IDjRJBRfyeCyV9j5UdGWMxfRHhXHD4KecDAd4gGivFih8j6Q1mrLSwnoHw==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=fBOaSNqu7liWvBa53RsfGxaOtAQwNfZM1qCpfyE4Fs5Sh3xc4fD9qSgXdJDzfSV8CQKLCuKlW0HyDvJwe/84jmhn/hUNz0wYMwDTGDP8PZZtZrhI1rodNhCYHjiZp7GUlyB2iKuanwW6mz8ijQNVRKC15+aI7HxvXADzzvsfr0WZv7pN3m7lLXJmk4L2pQvu2L+gFAk7bMowC4v7f1d/zruwxgeq2lbJMQeV3cP08BzAtZO3GdhCbPPgUayUBm8IasSTXzQ+FGVs8WqTmW4USLr1dOWE1fsEKgDXvhRtEJTsGUqmGhl4XyOMFXPeVmBLly9EYQ6tXGftuV8u3TnqIg==
- Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None ; spf=Pass ; spf=Pass
- Ironport-data: A9a23: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
- Ironport-hdrordr: A9a23:qR0PZ68yhvHr7oAEHrFuk+DiI+orL9Y04lQ7vn2ZKCYlFPBw8v rFoB11726XtN98YgBCpTniAsm9qBHnhPtICOAqVN/IYOCMghrNEGgN1/qE/xTQXwP7ssBSvJ 0OT0G8MrHN5JpB4PoSLDPXLz/o+ri6zJw=
- Ironport-phdr: A9a23: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
- Ironport-sdr: 675aa8cc_VaJswRrP5+M43KYAhZlstZ8Hn2xiRvbVDKov2LmFjE5iySg e7IwNE3diJLdnOP943LC/M5Y8D0RUDTFi/7rqmw==
- Msip_labels:
Hello all,
I'm wondering whether it is possible to use CGAL to perform hole-filling for a mesh as provided by
sawtooth.obj.
I have not been able to obtain a satisfactory result. In particular the attached example compiles, and runs, but produces more triangles than are expected.
Probably this is because 3 non-manifold vertices are duplicated. The documentation for 'triangulate_hole()' stipulates that there cannot be a non-manifold vertex in the boundary, which is achieved by duplication, but apparently such a case is not expected to work?
I have not been able to obtain a satisfactory result. In particular the attached example compiles, and runs, but produces more triangles than are expected.
Probably this is because 3 non-manifold vertices are duplicated. The documentation for 'triangulate_hole()' stipulates that there cannot be a non-manifold vertex in the boundary, which is achieved by duplication, but apparently such a case is not expected to work?
Is there a way to fill the holes of the sawtooth.obj input with CGAL?
Attached you find code to reproduce the hole-filling (main.cpp), the input file
sawtooth.obj, the generated output sawtooth_filled.obj and a screenshot that shows that there are more triangles than we would have expected. The input has 44 triangles, whereas the output has 54 triangles. For this example I would like the output
to have 44+4 = 48 triangles.
With regards,
With regards,
--
Matthijs Sypkens Smit
Attachment:
holes.zip
Description: holes.zip
- [cgal-discuss] Hole-filling in the presence of non-manifold vertices, Matthijs Sypkens Smit, 12/12/2024
- Re: [cgal-discuss] Hole-filling in the presence of non-manifold vertices, Sebastien Loriot (GeometryFactory), 12/12/2024
Archive powered by MHonArc 2.6.19+.