在加载stl文件的时候有些文件的mesh太多导致加载速度太慢需要进行下采样,以便提高加载速度,可以使用vtk提供的vtkDecimatePro进行下采样.
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include "logger/Logger.h"
int main(int argc, char *argv[]) {
std::string inputFilename = "large.stl";
vtkSmartPointer reader =
vtkSmartPointer::New();
reader->SetFileName(inputFilename.c_str());
reader->Update();
vtkSmartPointer stlData = reader->GetOutput();
LOG_INFO << stlData->GetNumberOfPoints();
//只保留2000个点
double d = 1-2000.0/stlData->GetNumberOfPoints();
vtkSmartPointer decimate =
vtkSmartPointer::New();
decimate->SetInputData(stlData);
decimate->PreserveTopol