- eshBuilder& MeshBuilder::AddMarchingCubeOperation(vtkSmartPointer<vtkImageData> imageData,
- double isoValue)
- {
- if (!imageData)
- {
- mMarchingCubeOperation =
- std::make_shared<MarchingCubeOperation>(mImageData, isoValue);
- }
- else
- {
- mMarchingCubeOperation =
- std::make_shared<MarchingCubeOperation>(imageData, isoValue);
- }
- return *this;
- }
- vtkSmartPointer<vtkPolyData> MarchingCubeOperation::Exec(const vtkSmartPointer<vtkPolyData>& polyData)
- {
- ORTHO_LOG_INFO("MarchingCube - Start");
- const auto marchingCubes = vtkSmartPointer<vtkMarchingCubes>::New();
- marchingCubes->SetInputData(mImageData);
- marchingCubes->ComputeNormalsOff();
- marchingCubes->ComputeGradientsOff();
- marchingCubes->SetValue(0, mIsoValue);
- marchingCubes->Update();
- ORTHO_LOG_INFO("MarchingCube - End");
- Aramis::BasicImaging::Meshing::WriteMeshToStlFile(marchingCubes->GetOutput(), "C:\\temp\\marchingcube_vtk9TestSpacing.stl");
- return marchingCubes->GetOutput();
- }
[text] Marching cube
Viewer
Editor
You can edit this paste and save as new:
File Description
- Marching cube
- Paste Code
- 17 Feb-2023
- 1.06 Kb
You can Share it: