surface mesh reconstruction

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

surface mesh reconstruction

Gian Diego Tipaldi
Hi guys,

we need to build a 3D mesh from point clouds. We have a running code
(see below) but we are not able to get decent reconstruction results.
The documentation seems to be down and we do not have a grasp on the
parameters.
Any comments on best practice for this problem are well appreciated.
We attached a screenshot of the reconstructed mesh to have a better
understanding of the problem.

Thanks,
Diego and Christoph


-------------------------------------------
CODE:

#include "pcl/io/pcd_io.h"
#include "pcl/io/vtk_io.h"
#include "pcl/point_types.h"
#include <pcl/registration/transforms.h>
#include <pcl/surface/gp3.h>
#include <iostream>
#include <pcl/features/normal_3d_omp.h>


typedef pcl::GreedyProjectionTriangulation<pcl::PointNormal> Mesher;

void meshCloud(const std::string& name);

/* ---[ */
int main (int argc, char** argv)
{
   meshCloud(argv[1]);
}


void meshCloud(const std::string& name){
   pcl::PointCloud<pcl::PointXYZ> cloud;
   if (pcl::io::loadPCDFile (name, cloud) == -1)
   {
     ROS_ERROR ("Couldn't read file test_pcd.pcd");
     exit (-1);
   }

   pcl::NormalEstimation<pcl::PointXYZ, pcl::PointNormal> n;
   pcl::PointCloud<pcl::PointNormal> normals;
   n.setInputCloud(boost::make_shared <const
pcl::PointCloud<pcl::PointXYZ> > (cloud));
   n.setSearchMethod(boost::make_shared<pcl::KdTreeFLANN<pcl::PointXYZ>
 >());
   n.setKSearch(40);    // Use k nearest neighbors to estimate the normals
   n.compute(normals);

   for (size_t i = 0; i < normals.points.size (); ++i) {
       normals.points[i].x = cloud.points[i].x;
       normals.points[i].y = cloud.points[i].y;
       normals.points[i].z = cloud.points[i].z;
   }

   pcl::PolygonMesh output;

   std::cout << "Meshing" << std::endl;
   Mesher mesher;
   mesher.setInputCloud(normals.makeShared());
   
mesher.setSearchMethod(boost::make_shared<pcl::KdTreeFLANN<pcl::PointNormal>
 >());
   mesher.setSearchRadius(10.5);
   mesher.setMu(1);
   mesher.setMaximumNearestNeighbors(10000);
   mesher.setMaximumAngle(0.666*M_PI);
   mesher.setMaximumSurfaceAgle(0.5);
   mesher.reconstruct(output);

   pcl::io::saveVTKFile ("test.vtk", output);
}




--
Dr. Gian Diego Tipaldi
Post-doctoral Research Assistant

Department of Computer Science
Albert-Ludwigs-Universität Freiburg
Georges-Köhler-Allee 79, D-79110 Freiburg, Germany
Email : [hidden email]
Phone : +49 (0) 761 203 8014


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

trianglemissing.png (179K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: surface mesh reconstruction

Zoltan-Csaba Marton
Hi Diego and Christoph,

the problem I see right away is that you set mu to 1, which means that you
consider only the nearest neighbors to each point for connecting.

Since the repository was moved a few days ago, there might be a problem
with the online documentation, but I just finished a tutorial on
triangulation that might be helpful:

http://www.ros.org/wiki/pcl/Tutorials/Fast%20triangulation%20of%20unordered%20point%20clouds

I included also a quite through the explanation of the parameters,
referenced the paper, and gave typical value ranges for them.

Cheers,
Zoltan

> Hi guys,
>
> we need to build a 3D mesh from point clouds. We have a running code
> (see below) but we are not able to get decent reconstruction results.
> The documentation seems to be down and we do not have a grasp on the
> parameters.
> Any comments on best practice for this problem are well appreciated.
> We attached a screenshot of the reconstructed mesh to have a better
> understanding of the problem.
>
> Thanks,
> Diego and Christoph
>
>
> -------------------------------------------
> CODE:
>
> #include "pcl/io/pcd_io.h"
> #include "pcl/io/vtk_io.h"
> #include "pcl/point_types.h"
> #include <pcl/registration/transforms.h>
> #include <pcl/surface/gp3.h>
> #include <iostream>
> #include <pcl/features/normal_3d_omp.h>
>
>
> typedef pcl::GreedyProjectionTriangulation<pcl::PointNormal> Mesher;
>
> void meshCloud(const std::string& name);
>
> /* ---[ */
> int main (int argc, char** argv)
> {
>    meshCloud(argv[1]);
> }
>
>
> void meshCloud(const std::string& name){
>    pcl::PointCloud<pcl::PointXYZ> cloud;
>    if (pcl::io::loadPCDFile (name, cloud) == -1)
>    {
>      ROS_ERROR ("Couldn't read file test_pcd.pcd");
>      exit (-1);
>    }
>
>    pcl::NormalEstimation<pcl::PointXYZ, pcl::PointNormal> n;
>    pcl::PointCloud<pcl::PointNormal> normals;
>    n.setInputCloud(boost::make_shared <const
> pcl::PointCloud<pcl::PointXYZ> > (cloud));
>    n.setSearchMethod(boost::make_shared<pcl::KdTreeFLANN<pcl::PointXYZ>
>  >());
>    n.setKSearch(40);    // Use k nearest neighbors to estimate the normals
>    n.compute(normals);
>
>    for (size_t i = 0; i < normals.points.size (); ++i) {
>        normals.points[i].x = cloud.points[i].x;
>        normals.points[i].y = cloud.points[i].y;
>        normals.points[i].z = cloud.points[i].z;
>    }
>
>    pcl::PolygonMesh output;
>
>    std::cout << "Meshing" << std::endl;
>    Mesher mesher;
>    mesher.setInputCloud(normals.makeShared());
>
> mesher.setSearchMethod(boost::make_shared<pcl::KdTreeFLANN<pcl::PointNormal>
>  >());
>    mesher.setSearchRadius(10.5);
>    mesher.setMu(1);
>    mesher.setMaximumNearestNeighbors(10000);
>    mesher.setMaximumAngle(0.666*M_PI);
>    mesher.setMaximumSurfaceAgle(0.5);
>    mesher.reconstruct(output);
>
>    pcl::io::saveVTKFile ("test.vtk", output);
> }
>
>
>
>
> --
> Dr. Gian Diego Tipaldi
> Post-doctoral Research Assistant
>
> Department of Computer Science
> Albert-Ludwigs-Universität Freiburg
> Georges-Köhler-Allee 79, D-79110 Freiburg, Germany
> Email : [hidden email]
> Phone : +49 (0) 761 203 8014
>
> _______________________________________________
> [hidden email] / http://pointclouds.org
> https://code.ros.org/mailman/listinfo/pcl-users
>


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

Re: surface mesh reconstruction

Gian Diego Tipaldi
Hi Zoltan,

thank you for the quick answer and for the tutorial.

Cheers,
Diego

On 03/06/2011 05:22 PM, Zoltan-Csaba Marton wrote:

> Hi Diego and Christoph,
>
> the problem I see right away is that you set mu to 1, which means that you
> consider only the nearest neighbors to each point for connecting.
>
> Since the repository was moved a few days ago, there might be a problem
> with the online documentation, but I just finished a tutorial on
> triangulation that might be helpful:
>
> http://www.ros.org/wiki/pcl/Tutorials/Fast%20triangulation%20of%20unordered%20point%20clouds
>
> I included also a quite through the explanation of the parameters,
> referenced the paper, and gave typical value ranges for them.
>
> Cheers,
> Zoltan
>
>> Hi guys,
>>
>> we need to build a 3D mesh from point clouds. We have a running code
>> (see below) but we are not able to get decent reconstruction results.
>> The documentation seems to be down and we do not have a grasp on the
>> parameters.
>> Any comments on best practice for this problem are well appreciated.
>> We attached a screenshot of the reconstructed mesh to have a better
>> understanding of the problem.
>>
>> Thanks,
>> Diego and Christoph
>>
>>
>> -------------------------------------------
>> CODE:
>>
>> #include "pcl/io/pcd_io.h"
>> #include "pcl/io/vtk_io.h"
>> #include "pcl/point_types.h"
>> #include<pcl/registration/transforms.h>
>> #include<pcl/surface/gp3.h>
>> #include<iostream>
>> #include<pcl/features/normal_3d_omp.h>
>>
>>
>> typedef pcl::GreedyProjectionTriangulation<pcl::PointNormal>  Mesher;
>>
>> void meshCloud(const std::string&  name);
>>
>> /* ---[ */
>> int main (int argc, char** argv)
>> {
>>     meshCloud(argv[1]);
>> }
>>
>>
>> void meshCloud(const std::string&  name){
>>     pcl::PointCloud<pcl::PointXYZ>  cloud;
>>     if (pcl::io::loadPCDFile (name, cloud) == -1)
>>     {
>>       ROS_ERROR ("Couldn't read file test_pcd.pcd");
>>       exit (-1);
>>     }
>>
>>     pcl::NormalEstimation<pcl::PointXYZ, pcl::PointNormal>  n;
>>     pcl::PointCloud<pcl::PointNormal>  normals;
>>     n.setInputCloud(boost::make_shared<const
>> pcl::PointCloud<pcl::PointXYZ>  >  (cloud));
>>     n.setSearchMethod(boost::make_shared<pcl::KdTreeFLANN<pcl::PointXYZ>
>>   >());
>>     n.setKSearch(40);    // Use k nearest neighbors to estimate the normals
>>     n.compute(normals);
>>
>>     for (size_t i = 0; i<  normals.points.size (); ++i) {
>>         normals.points[i].x = cloud.points[i].x;
>>         normals.points[i].y = cloud.points[i].y;
>>         normals.points[i].z = cloud.points[i].z;
>>     }
>>
>>     pcl::PolygonMesh output;
>>
>>     std::cout<<  "Meshing"<<  std::endl;
>>     Mesher mesher;
>>     mesher.setInputCloud(normals.makeShared());
>>
>> mesher.setSearchMethod(boost::make_shared<pcl::KdTreeFLANN<pcl::PointNormal>
>>   >());
>>     mesher.setSearchRadius(10.5);
>>     mesher.setMu(1);
>>     mesher.setMaximumNearestNeighbors(10000);
>>     mesher.setMaximumAngle(0.666*M_PI);
>>     mesher.setMaximumSurfaceAgle(0.5);
>>     mesher.reconstruct(output);
>>
>>     pcl::io::saveVTKFile ("test.vtk", output);
>> }
>>
>>
>>
>>
>> --
>> Dr. Gian Diego Tipaldi
>> Post-doctoral Research Assistant
>>
>> Department of Computer Science
>> Albert-Ludwigs-Universität Freiburg
>> Georges-Köhler-Allee 79, D-79110 Freiburg, Germany
>> Email : [hidden email]
>> Phone : +49 (0) 761 203 8014
>>
>> _______________________________________________
>> [hidden email] / http://pointclouds.org
>> https://code.ros.org/mailman/listinfo/pcl-users
>>
>
> _______________________________________________
> [hidden email] / http://pointclouds.org
> https://code.ros.org/mailman/listinfo/pcl-users


--
Dr. Gian Diego Tipaldi
Post-doctoral Research Assistant

Department of Computer Science
Albert-Ludwigs-Universität Freiburg
Georges-Köhler-Allee 79, D-79110 Freiburg, Germany
Email : [hidden email]
Phone : +49 (0) 761 203 8014

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

Re: surface mesh reconstruction

Gian Diego Tipaldi
In reply to this post by Zoltan-Csaba Marton
Hi Zoltan,

I just read the paper and it is quite interesting, especially the part
about the incremental update of the mesh.
Is there already a function in pcl that does that or should I implement
it myself?

Cheers,
Diego

On 03/06/2011 05:22 PM, Zoltan-Csaba Marton wrote:

> Hi Diego and Christoph,
>
> the problem I see right away is that you set mu to 1, which means that you
> consider only the nearest neighbors to each point for connecting.
>
> Since the repository was moved a few days ago, there might be a problem
> with the online documentation, but I just finished a tutorial on
> triangulation that might be helpful:
>
> http://www.ros.org/wiki/pcl/Tutorials/Fast%20triangulation%20of%20unordered%20point%20clouds
>
> I included also a quite through the explanation of the parameters,
> referenced the paper, and gave typical value ranges for them.
>
> Cheers,
> Zoltan
>
>> Hi guys,
>>
>> we need to build a 3D mesh from point clouds. We have a running code
>> (see below) but we are not able to get decent reconstruction results.
>> The documentation seems to be down and we do not have a grasp on the
>> parameters.
>> Any comments on best practice for this problem are well appreciated.
>> We attached a screenshot of the reconstructed mesh to have a better
>> understanding of the problem.
>>
>> Thanks,
>> Diego and Christoph
>>
>>
>> -------------------------------------------
>> CODE:
>>
>> #include "pcl/io/pcd_io.h"
>> #include "pcl/io/vtk_io.h"
>> #include "pcl/point_types.h"
>> #include<pcl/registration/transforms.h>
>> #include<pcl/surface/gp3.h>
>> #include<iostream>
>> #include<pcl/features/normal_3d_omp.h>
>>
>>
>> typedef pcl::GreedyProjectionTriangulation<pcl::PointNormal>  Mesher;
>>
>> void meshCloud(const std::string&  name);
>>
>> /* ---[ */
>> int main (int argc, char** argv)
>> {
>>     meshCloud(argv[1]);
>> }
>>
>>
>> void meshCloud(const std::string&  name){
>>     pcl::PointCloud<pcl::PointXYZ>  cloud;
>>     if (pcl::io::loadPCDFile (name, cloud) == -1)
>>     {
>>       ROS_ERROR ("Couldn't read file test_pcd.pcd");
>>       exit (-1);
>>     }
>>
>>     pcl::NormalEstimation<pcl::PointXYZ, pcl::PointNormal>  n;
>>     pcl::PointCloud<pcl::PointNormal>  normals;
>>     n.setInputCloud(boost::make_shared<const
>> pcl::PointCloud<pcl::PointXYZ>  >  (cloud));
>>     n.setSearchMethod(boost::make_shared<pcl::KdTreeFLANN<pcl::PointXYZ>
>>   >());
>>     n.setKSearch(40);    // Use k nearest neighbors to estimate the normals
>>     n.compute(normals);
>>
>>     for (size_t i = 0; i<  normals.points.size (); ++i) {
>>         normals.points[i].x = cloud.points[i].x;
>>         normals.points[i].y = cloud.points[i].y;
>>         normals.points[i].z = cloud.points[i].z;
>>     }
>>
>>     pcl::PolygonMesh output;
>>
>>     std::cout<<  "Meshing"<<  std::endl;
>>     Mesher mesher;
>>     mesher.setInputCloud(normals.makeShared());
>>
>> mesher.setSearchMethod(boost::make_shared<pcl::KdTreeFLANN<pcl::PointNormal>
>>   >());
>>     mesher.setSearchRadius(10.5);
>>     mesher.setMu(1);
>>     mesher.setMaximumNearestNeighbors(10000);
>>     mesher.setMaximumAngle(0.666*M_PI);
>>     mesher.setMaximumSurfaceAgle(0.5);
>>     mesher.reconstruct(output);
>>
>>     pcl::io::saveVTKFile ("test.vtk", output);
>> }
>>
>>
>>
>>
>> --
>> Dr. Gian Diego Tipaldi
>> Post-doctoral Research Assistant
>>
>> Department of Computer Science
>> Albert-Ludwigs-Universität Freiburg
>> Georges-Köhler-Allee 79, D-79110 Freiburg, Germany
>> Email : [hidden email]
>> Phone : +49 (0) 761 203 8014
>>
>> _______________________________________________
>> [hidden email] / http://pointclouds.org
>> https://code.ros.org/mailman/listinfo/pcl-users
>>
>
> _______________________________________________
> [hidden email] / http://pointclouds.org
> https://code.ros.org/mailman/listinfo/pcl-users


--
Dr. Gian Diego Tipaldi
Post-doctoral Research Assistant

Department of Computer Science
Albert-Ludwigs-Universität Freiburg
Georges-Köhler-Allee 79, D-79110 Freiburg, Germany
Email : [hidden email]
Phone : +49 (0) 761 203 8014

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

Re: surface mesh reconstruction

Zoltan-Csaba Marton
Hi Diego,

no, that is not in PCL, so if you could add it, it would be great!

I had a check to delete the triangles in the overlapping part, updated
the point states as free or fringe, and fed it back to the triangulation
loop. The reconstruction function in GreedyProjectionTriangulation has
to be split then in an initialization and triangulation part, so that
you can re-run the triangulation with the updated state.

If you are interested, we could discuss the details :)

Cheers,
Zoltan

On Mon, 2011-03-07 at 15:54 +0100, Gian Diego Tipaldi wrote:

> Hi Zoltan,
>
> I just read the paper and it is quite interesting, especially the part
> about the incremental update of the mesh.
> Is there already a function in pcl that does that or should I implement
> it myself?
>
> Cheers,
> Diego
>
> On 03/06/2011 05:22 PM, Zoltan-Csaba Marton wrote:
> > Hi Diego and Christoph,
> >
> > the problem I see right away is that you set mu to 1, which means that you
> > consider only the nearest neighbors to each point for connecting.
> >
> > Since the repository was moved a few days ago, there might be a problem
> > with the online documentation, but I just finished a tutorial on
> > triangulation that might be helpful:
> >
> > http://www.ros.org/wiki/pcl/Tutorials/Fast%20triangulation%20of%20unordered%20point%20clouds
> >
> > I included also a quite through the explanation of the parameters,
> > referenced the paper, and gave typical value ranges for them.
> >
> > Cheers,
> > Zoltan
> >
> >> Hi guys,
> >>
> >> we need to build a 3D mesh from point clouds. We have a running code
> >> (see below) but we are not able to get decent reconstruction results.
> >> The documentation seems to be down and we do not have a grasp on the
> >> parameters.
> >> Any comments on best practice for this problem are well appreciated.
> >> We attached a screenshot of the reconstructed mesh to have a better
> >> understanding of the problem.
> >>
> >> Thanks,
> >> Diego and Christoph
> >>
> >>
> >> -------------------------------------------
> >> CODE:
> >>
> >> #include "pcl/io/pcd_io.h"
> >> #include "pcl/io/vtk_io.h"
> >> #include "pcl/point_types.h"
> >> #include<pcl/registration/transforms.h>
> >> #include<pcl/surface/gp3.h>
> >> #include<iostream>
> >> #include<pcl/features/normal_3d_omp.h>
> >>
> >>
> >> typedef pcl::GreedyProjectionTriangulation<pcl::PointNormal>  Mesher;
> >>
> >> void meshCloud(const std::string&  name);
> >>
> >> /* ---[ */
> >> int main (int argc, char** argv)
> >> {
> >>     meshCloud(argv[1]);
> >> }
> >>
> >>
> >> void meshCloud(const std::string&  name){
> >>     pcl::PointCloud<pcl::PointXYZ>  cloud;
> >>     if (pcl::io::loadPCDFile (name, cloud) == -1)
> >>     {
> >>       ROS_ERROR ("Couldn't read file test_pcd.pcd");
> >>       exit (-1);
> >>     }
> >>
> >>     pcl::NormalEstimation<pcl::PointXYZ, pcl::PointNormal>  n;
> >>     pcl::PointCloud<pcl::PointNormal>  normals;
> >>     n.setInputCloud(boost::make_shared<const
> >> pcl::PointCloud<pcl::PointXYZ>  >  (cloud));
> >>     n.setSearchMethod(boost::make_shared<pcl::KdTreeFLANN<pcl::PointXYZ>
> >>   >());
> >>     n.setKSearch(40);    // Use k nearest neighbors to estimate the normals
> >>     n.compute(normals);
> >>
> >>     for (size_t i = 0; i<  normals.points.size (); ++i) {
> >>         normals.points[i].x = cloud.points[i].x;
> >>         normals.points[i].y = cloud.points[i].y;
> >>         normals.points[i].z = cloud.points[i].z;
> >>     }
> >>
> >>     pcl::PolygonMesh output;
> >>
> >>     std::cout<<  "Meshing"<<  std::endl;
> >>     Mesher mesher;
> >>     mesher.setInputCloud(normals.makeShared());
> >>
> >> mesher.setSearchMethod(boost::make_shared<pcl::KdTreeFLANN<pcl::PointNormal>
> >>   >());
> >>     mesher.setSearchRadius(10.5);
> >>     mesher.setMu(1);
> >>     mesher.setMaximumNearestNeighbors(10000);
> >>     mesher.setMaximumAngle(0.666*M_PI);
> >>     mesher.setMaximumSurfaceAgle(0.5);
> >>     mesher.reconstruct(output);
> >>
> >>     pcl::io::saveVTKFile ("test.vtk", output);
> >> }
> >>
> >>
> >>
> >>
> >> --
> >> Dr. Gian Diego Tipaldi
> >> Post-doctoral Research Assistant
> >>
> >> Department of Computer Science
> >> Albert-Ludwigs-Universität Freiburg
> >> Georges-Köhler-Allee 79, D-79110 Freiburg, Germany
> >> Email : [hidden email]
> >> Phone : +49 (0) 761 203 8014
> >>
> >> _______________________________________________
> >> [hidden email] / http://pointclouds.org
> >> https://code.ros.org/mailman/listinfo/pcl-users
> >>
> >
> > _______________________________________________
> > [hidden email] / http://pointclouds.org
> > https://code.ros.org/mailman/listinfo/pcl-users
>
>
> --
> Dr. Gian Diego Tipaldi
> Post-doctoral Research Assistant
>
> Department of Computer Science
> Albert-Ludwigs-Universität Freiburg
> Georges-Köhler-Allee 79, D-79110 Freiburg, Germany
> Email : [hidden email]
> Phone : +49 (0) 761 203 8014
>
> _______________________________________________
> [hidden email] / http://pointclouds.org
> https://code.ros.org/mailman/listinfo/pcl-users


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

Re: surface mesh reconstruction

raphael favier
Hello,

I am interested in helping with the implementation of incremental data acquisition, density correction and noise reduction.
Is there any official way to organize such a thing?

Raph
Reply | Threaded
Open this post in threaded view
|

Re: surface mesh reconstruction

Zoltan-Csaba Marton
Hi Raph,

great! There wasn't anything organized, as I suppose the guys from
Freiburg are busy with all the deadlines next week as well :)

I don't know how official does the organization have to be, but Diego
brought up updating meshing so I guess we'll be doing that. There is
also a roadmap where anyone interested can put in ideas:

http://www.ros.org/wiki/pcl/Roadmap

Your point about density correction and noise reduction sounds like
something related to MLS. By density correction you mean setting the
dense cloud as the search surface and a down-sampled one as input?

All suggestions are welcome, on any channel :)

Cheers,
Zoltan

On Thu, 2011-03-10 at 04:23 -0800, raphael favier wrote:

> Hello,
>
> I am interested in helping with the implementation of incremental data
> acquisition, density correction and noise reduction.
> Is there any official way to organize such a thing?
>
> Raph
>
> --
> View this message in context: http://point-cloud-library-pcl-mailing-list.967500.n3.nabble.com/surface-mesh-reconstruction-tp2626476p2660196.html
> Sent from the Point Cloud Library (PCL) mailing list mailing list archive at Nabble.com.
> _______________________________________________
> [hidden email] / http://pointclouds.org
> https://code.ros.org/mailman/listinfo/pcl-users


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

Re: surface mesh reconstruction

shrutipoddar
Hi,

The link for the tutorial is currently not working. Could you please let me know if the link has been changed and provide the alternate link if there is any?

Also, if you could provide the name and the author of the paper you referenced here, it would be very helpful.

Thanks in advance.

Regards,
Shruti
Reply | Threaded
Open this post in threaded view
|

Re: surface mesh reconstruction

viorik
In reply to this post by Zoltan-Csaba Marton
Has the incremental triangulation been implemented in the end or not? I didn't find it in my pcl 1.8.

Thanks,
lena