Advancing Front Surface Reconstruction with initial mesh

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Advancing Front Surface Reconstruction with initial mesh

Florian Gawrilowicz

Hi,

Is it possible to use the “Advancing Front Surface Reconstruction” with an existing mesh and initialize the reconstruction with that, such that the (almost) all triangles of the initial mesh are contained in the triangulation.

 

Using the Hole Filling implementation does not work for me since:

  1. There are many islands in the mesh
  2. And points that are not part of a triangle

 

If possible a MWE would be extremely helpful, or details on how to modify one of the CGAL examples.

 

Thanks!

/F

Reply | Threaded
Open this post in threaded view
|

Re: Advancing Front Surface Reconstruction with initial mesh

Sebastien Loriot (GeometryFactory)
I'm afraid it is not going to be possible. The AFSR package is using the
3D Delaunay triangulation as search space for possible triangles.
As your input mesh is most likely not a subset of a Delaunay
triangulation, it would first require a modification of the code
to handle the general triangulation type. Then the seeding would also
need to be modified as well as the candidate queue.

So it is a lot of modifications and theoretically it is not even
guaranteed that you could get a valid result without adding extra
points (in 3D constrained triangulation does not always exists).

I agree this is an interesting problem but I don't have a working
solution off the shelf.

Would dropping the island be a solution?

Sebastien.

On 1/26/20 3:43 PM, Florian Gawrilowicz wrote:

> Hi,
>
> Is it possible to use the “Advancing Front Surface Reconstruction” with
> an existing mesh and initialize the reconstruction with that, such that
> the (almost) all triangles of the initial mesh are contained in the
> triangulation.
>
> Using the Hole Filling implementation does not work for me since:
>
>  1. There are many islands in the mesh
>  2. And points that are not part of a triangle
>
> If possible a MWE would be extremely helpful, or details on how to
> modify one of the CGAL examples.
>
> Thanks!
>
> /F
>

--
You are currently subscribed to cgal-discuss.
To unsubscribe or access the archives, go to
https://sympa.inria.fr/sympa/info/cgal-discuss


Reply | Threaded
Open this post in threaded view
|

Re: Advancing Front Surface Reconstruction with initial mesh

Simon Giraudot-2
In reply to this post by Florian Gawrilowicz

Hello,

As Sebastien pointed, there is not direct way to achieve what you want.

One option you could try is to use the Priority functor that you can pass to the ASFR function (see https://doc.cgal.org/latest/Advancing_front_surface_reconstruction/group__PkgAdvancingFrontSurfaceReconstructionRef.html#gabd089da9b1d8dedb05f6d292a9d9b874 ) to make the faces present in your initial mesh more likely to be used. What I would try is: in the functor, you get a candidate facet, so you can check if this facets corresponds to a face of your mesh. If it does, return 0 (the priority is more a "cost", so 0 means it's very likely to be chosen). Otherwise, return the usual priority (check the examples to see what I mean).

Of course, that will only work for faces of your mesh that are indeed faces of the 3D Delaunay triangulation (it's not guaranteed that all are), but it's possible that the result approaches what you are looking for.

Best,

-- 
Simon Giraudot, PhD
R&D Engineer
GeometryFactory - http://geometryfactory.com/
Le 26/01/2020 à 15:43, Florian Gawrilowicz a écrit :

Hi,

Is it possible to use the “Advancing Front Surface Reconstruction” with an existing mesh and initialize the reconstruction with that, such that the (almost) all triangles of the initial mesh are contained in the triangulation.

 

Using the Hole Filling implementation does not work for me since:

  1. There are many islands in the mesh
  2. And points that are not part of a triangle

 

If possible a MWE would be extremely helpful, or details on how to modify one of the CGAL examples.

 

Thanks!

/F