Subject: CGAL users discussion list
List archive
Re: [cgal-discuss] Implementing tetrahedral mesh with cavities using Linear cell complex
Chronological Thread
- From: Guillaume Damiand <>
- To:
- Subject: Re: [cgal-discuss] Implementing tetrahedral mesh with cavities using Linear cell complex
- Date: Thu, 05 Jun 2014 12:55:29 +0200
Hi,
Le 04/06/2014 12:23, Pranav a écrit :
I want to create a tetrahedral mesh which can have hole/cavity inside it(at
intermediate stages of computation in an algorithm). For this I am trying to
use Linear cell complex(LCC)
<http://doc.cgal.org/latest/Linear_cell_complex/index.html> :
I want to perform the following:
1. Compute intersection between a triangle and all tetrahedrons in LCC.
2. Remove all intersecting tetrahedrons from LCC.(which forms a cavity)
3. Replace them with another set of tetrahedrons.(these must be exactly
aligned with the cavity boundary, to completely fill the hole)
*For task 1:*
I need to traverse through all tetrahedrons. I do not find any iterator sort
of functionality for LCC. Do I need to use a standard graph traversal
algorithm over /beta_3/ links of darts to traverse all tetrahedrons?
Do you need a specific order ? If not you can use One_dart_per_cell_range<3> range [1] which give you one dart per each volume (3-cell) of the lcc.
*For Task 2:*
Here, I think /remove_cell()/ function has to be used to remove the
intersecting 3-cells.
Yes.
Be-careful, you cannot use remove_cell during the One_dart_per_cell_range<3> range; you need to store in an external DS (for example a std::vector) the darts to remove, and in a second loop through this ds call the remove_cell<3> function.
*For Task 3:*
Although, I do find /make_tetrahedron()/ function that can be used to add a
new tetrahedron into LCC, but can it assure that these new tetrahedrons are
exactly aligned with the boundary of previously created cavity?
The main question here is how do you compute the set of tetrahedra required to fill the cavities ? (which could be a difficult problem...)
If you are able to compute these sets, and if they have the good geometry (i.e. the boundaries of the sets fill the cavities), you can call the undocumented method sew3_same_facets which will do the job (i.e. identify all the pairs of faces having the same geometry).
Regards
Guillaume
[1] http://doc.cgal.org/latest/Combinatorial_map/classCombinatorialMap.html#a5bf899ddc01ff5ae5ab10929cdd0086b
--
View this message in context:
http://cgal-discuss.949826.n4.nabble.com/Implementing-tetrahedral-mesh-with-cavities-using-Linear-cell-complex-tp4659399.html
Sent from the cgal-discuss mailing list archive at Nabble.com.
--
===================================================================
Guillaume DAMIAND
CNRS - LIRIS UMR 5205
Université Claude Bernard
Bâtiment Nautibus (710)
43 Boulevard du 11 Novembre 1918
69622 Villeurbanne Cedex (France)
-------------------------------------------------------------------
Tél: +33 (0)4.72.43.26.62 Fax: +33 (0)4.72.43.15.36
Mail:
Web: http://liris.cnrs.fr/guillaume.damiand/
===================================================================
Attachment:
smime.p7s
Description: Signature cryptographique S/MIME
- [cgal-discuss] Implementing tetrahedral mesh with cavities using Linear cell complex, Pranav, 06/04/2014
- Re: [cgal-discuss] Implementing tetrahedral mesh with cavities using Linear cell complex, Guillaume Damiand, 06/05/2014
Archive powered by MHonArc 2.6.18.