Meshing functions

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

Meshing functions

Yves Daoust

 

The documentation of the Surface module says “Meshing is a general way to create a surface out of points, and currently there are two algorithms provided: a very fast triangulation of the original points, and a slower meshing that does smoothing and hole filling as well.”

 

I can identify the first method as being the GreedyProjectionTriangulation, and there’s a tutorial about it.

 

But what is the second ?

 


_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users
Reply | Threaded
Open this post in threaded view
|

Re: Meshing functions

Stephen McDowell
I’m not sure, but I think that documentation may not be accurate anymore?  There are four subclasses.  When you visit the link here:


at the top there is a drop-down link saying “Inheritance diagram for pcl::MeshConstruction< PointInT >” which lists


(1) and (2) require qhull support was compiled for PCL, but maybe those are the “better” ones?  (4) requires organized point clouds (e.g. from a range image).

Don’t know if that helps, but I figured you didn’t see the drop-down showing the inheritance diagram.  I’m not sure whether the other common base classes can be used.  The pcl::SurfaceReconstruction classes such as MarchingCubes or Poisson all share a common base of pcl::PCLSurfaceBase, but I’m not familiar with these classes and how you would construct a mesh from them.

Somebody else probably knows, though, because getting a mesh from marching cubes or poisson is well defined…


_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users
Reply | Threaded
Open this post in threaded view
|

Re: Meshing functions

Yves Daoust

Probably, actually the documentation doesn’t name any method/class.

 

I tried the concave hull but got issues (thought my cloud is pretty clean, the generated surface is non-manifold and has no normal coherence).

 

The convex hull just can’t do.

 

The greedy projection triangulation works very poorly (lacunary surface, even after parameter tuning, bad normal coherence – even when enforced).

 

If I am right, the organized fast mesh is for organized clouds.

 

Thanks.

 

From: PCL-users [mailto:[hidden email]] On Behalf Of Stephen McDowell
Sent: Friday, February 9, 2018 11:48 AM
To: Point Cloud Library (PCL) users <[hidden email]>
Subject: Re: [PCL-users] Meshing functions

 

I’m not sure, but I think that documentation may not be accurate anymore?  There are four subclasses.  When you visit the link here:

 

 

at the top there is a drop-down link saying “Inheritance diagram for pcl::MeshConstruction< PointInT >” which lists

 

 

(1) and (2) require qhull support was compiled for PCL, but maybe those are the “better” ones?  (4) requires organized point clouds (e.g. from a range image).

 

Don’t know if that helps, but I figured you didn’t see the drop-down showing the inheritance diagram.  I’m not sure whether the other common base classes can be used.  The pcl::SurfaceReconstruction classes such as MarchingCubes or Poisson all share a common base of pcl::PCLSurfaceBase, but I’m not familiar with these classes and how you would construct a mesh from them.

 

Somebody else probably knows, though, because getting a mesh from marching cubes or poisson is well defined…

 

 

https://ipmcdn.avast.com/images/icons/icon-envelope-tick-green-avg-v1.png

Virus-free. www.avg.com

 


_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users
Reply | Threaded
Open this post in threaded view
|

Re: Meshing functions

Yves Daoust
In reply to this post by Stephen McDowell

Interestingly, I see no “Inheritance diagram” drop-down in my browser(s). That would indeed be pretty useful.

 

From: PCL-users [mailto:[hidden email]] On Behalf Of Stephen McDowell
Sent: Friday, February 9, 2018 11:48 AM
To: Point Cloud Library (PCL) users <[hidden email]>
Subject: Re: [PCL-users] Meshing functions

 

I’m not sure, but I think that documentation may not be accurate anymore?  There are four subclasses.  When you visit the link here:

 

 

at the top there is a drop-down link saying “Inheritance diagram for pcl::MeshConstruction< PointInT >” which lists

 

 

(1) and (2) require qhull support was compiled for PCL, but maybe those are the “better” ones?  (4) requires organized point clouds (e.g. from a range image).

 

Don’t know if that helps, but I figured you didn’t see the drop-down showing the inheritance diagram.  I’m not sure whether the other common base classes can be used.  The pcl::SurfaceReconstruction classes such as MarchingCubes or Poisson all share a common base of pcl::PCLSurfaceBase, but I’m not familiar with these classes and how you would construct a mesh from them.

 

Somebody else probably knows, though, because getting a mesh from marching cubes or poisson is well defined…

 

 

Virus-free. www.avg.com

 


_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users
Reply | Threaded
Open this post in threaded view
|

Re: Meshing functions

Sérgio Agostinho

It renders ok for me. It's probably a good idea to switch browser for this particular task.



Cheers


On 09-02-2018 11:39, Yves Gmail wrote:

Interestingly, I see no “Inheritance diagram” drop-down in my browser(s). That would indeed be pretty useful.

 

From: PCL-users [[hidden email]] On Behalf Of Stephen McDowell
Sent: Friday, February 9, 2018 11:48 AM
To: Point Cloud Library (PCL) users [hidden email]
Subject: Re: [PCL-users] Meshing functions

 

I’m not sure, but I think that documentation may not be accurate anymore?  There are four subclasses.  When you visit the link here:

 

 

at the top there is a drop-down link saying “Inheritance diagram for pcl::MeshConstruction< PointInT >” which lists

 

 

(1) and (2) require qhull support was compiled for PCL, but maybe those are the “better” ones?  (4) requires organized point clouds (e.g. from a range image).

 

Don’t know if that helps, but I figured you didn’t see the drop-down showing the inheritance diagram.  I’m not sure whether the other common base classes can be used.  The pcl::SurfaceReconstruction classes such as MarchingCubes or Poisson all share a common base of pcl::PCLSurfaceBase, but I’m not familiar with these classes and how you would construct a mesh from them.

 

Somebody else probably knows, though, because getting a mesh from marching cubes or poisson is well defined…

 

 

Virus-free. www.avg.com

 



_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users


_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users

signature.asc (836 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Meshing functions

Yves Daoust

Ok, I see it now. The link is just an arrow.

 

Thanks.

 

From: PCL-users [mailto:[hidden email]] On Behalf Of Sérgio Agostinho
Sent: Friday, February 9, 2018 12:43 PM
To: [hidden email]
Subject: Re: [PCL-users] Meshing functions

 

It renders ok for me. It's probably a good idea to switch browser for this particular task.


Cheers


On 09-02-2018 11:39, Yves Gmail wrote:

Interestingly, I see no “Inheritance diagram” drop-down in my browser(s). That would indeed be pretty useful.

 

From: PCL-users [[hidden email]] On Behalf Of Stephen McDowell
Sent: Friday, February 9, 2018 11:48 AM
To: Point Cloud Library (PCL) users [hidden email]
Subject: Re: [PCL-users] Meshing functions

 

I’m not sure, but I think that documentation may not be accurate anymore?  There are four subclasses.  When you visit the link here:

 

 

at the top there is a drop-down link saying “Inheritance diagram for pcl::MeshConstruction< PointInT >” which lists

 

 

(1) and (2) require qhull support was compiled for PCL, but maybe those are the “better” ones?  (4) requires organized point clouds (e.g. from a range image).

 

Don’t know if that helps, but I figured you didn’t see the drop-down showing the inheritance diagram.  I’m not sure whether the other common base classes can be used.  The pcl::SurfaceReconstruction classes such as MarchingCubes or Poisson all share a common base of pcl::PCLSurfaceBase, but I’m not familiar with these classes and how you would construct a mesh from them.

 

Somebody else probably knows, though, because getting a mesh from marching cubes or poisson is well defined…

 

 

Virus-free. www.avg.com

 




_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users

 


_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users
Reply | Threaded
Open this post in threaded view
|

Re: Meshing functions

Stephen McDowell
In reply to this post by Sérgio Agostinho
Haha yeah that’s how Doxygen does it.  Now that you’ve seen it once, though, you’ll never forget how to see that ;)

FWIW, if you can get a remotely reasonable mesh, assuming your end-game here is just getting a final mesh (as opposed to getting a new mesh many many times), you could try cleaning it up with instant meshes:


It’s a really cool tool, but be warned that the methodology does not work well for things generated from say marching cubes.  I don’t understand all of the math, but marching cubes is “too regular” so the mesh gets totally decimated (fun to see though).

Also, though it does support point clouds, they are not the point clouds you know.  See


That framework can be hooked into with C++ though, if you really want / need to.

Happy meshing

_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users
Reply | Threaded
Open this post in threaded view
|

Re: Meshing functions

Yves Daoust

Thanks, but my assignment is to code on top of PCL (there are several other tasks to be implemented).

 

From: PCL-users [mailto:[hidden email]] On Behalf Of Stephen McDowell
Sent: Friday, February 9, 2018 12:53 PM
To: Point Cloud Library (PCL) users <[hidden email]>
Subject: Re: [PCL-users] Meshing functions

 

Haha yeah that’s how Doxygen does it.  Now that you’ve seen it once, though, you’ll never forget how to see that ;)

 

FWIW, if you can get a remotely reasonable mesh, assuming your end-game here is just getting a final mesh (as opposed to getting a new mesh many many times), you could try cleaning it up with instant meshes:

 

 

It’s a really cool tool, but be warned that the methodology does not work well for things generated from say marching cubes.  I don’t understand all of the math, but marching cubes is “too regular” so the mesh gets totally decimated (fun to see though).

 

Also, though it does support point clouds, they are not the point clouds you know.  See

 

 

That framework can be hooked into with C++ though, if you really want / need to.

 

Happy meshing

 

Virus-free. www.avg.com

 


_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users