0

I am using VTK to generate a 3D Delaunay triangulation from a list of input points that are obtained using terrestrial laser scanner. So far, I successfully generated some 3D triangulations and saved them in .vtk or .vtu file formats. However, I need to save them as one of the popular formats such as .ply, .stl, .obj or .wrl. Could you please tell me how can I save 3d triangulation in one of these formats? My other question is about setAlpha and setTolerance parameters, could you please explain me these parameters in detail? Thanks in advance

int main( int argc, char* argv[] )
{
    //load the point cloud
    vtkSmartPointer<vtkSimplePointsReader> reader = vtkSmartPointer<vtkSimplePointsReader>::New();
    reader->SetFileName("kucuk50k.xyz");
    reader->Update();
    vtkPolyData* polydata = reader->GetOutput();
    std::cout << "The point cloud is loaded" << std::endl;
    //end of point cloud loading
    std::cout << "----------------------------------------------" << std::endl;
    // Generate a mesh from the input points. If Alpha is non-zero, then
    // tetrahedra, triangles, edges and vertices that lie within the
    // alpha radius are output.
    std::cout << "Start delaunay 3d triangulation" << std::endl;
    vtkSmartPointer<vtkDelaunay3D> delaunay3DAlpha = vtkSmartPointer<vtkDelaunay3D>::New();
    delaunay3DAlpha->SetInputConnection(reader->GetOutputPort());
    delaunay3DAlpha->SetAlpha(0.01);
    std::cout << "3d Delaunay computed" << std::endl;
    std::cout << "----------------------------------------------" << std::endl;
    std::cout << "Start writing the triangulation" << std::endl;
    vtkSmartPointer<vtkXMLUnstructuredGridWriter> ugWriter =    vtkSmartPointer<vtkXMLUnstructuredGridWriter>::New();
    ugWriter->SetInputConnection(delaunay3DAlpha->GetOutputPort());
    ugWriter->SetFileName("delaunayy_50k.vtk");
    ugWriter->Write();
    std::cout << "VTK file created" << std::endl;
    return EXIT_SUCCESS;
}
mozendi
  • 85
  • 1
  • 11

1 Answers1

0

You try to compute a triangular surface from a scanned terrain, right? Is there a good reason to use 3D Delaunay which creates tetrahedra instead of 2.5D Delaunay? You may have a look at my Fade2.5D library, there is a free student version. A limitation of 2.5D is however that you can't represent vertical walls and thus buildings are not directly supported.

enter image description here

Geom
  • 827
  • 4
  • 15