#include <MRMesh/MRPointsLoad.h>
#include <MRMesh/MRPointCloud.h>
#include "MRMesh/MRBox.h"
#include <MRMesh/MRMeshSave.h>
#include <MRMesh/MRMesh.h>
#include <iostream>
{
if ( !loadRes.has_value() )
{
std::cerr << loadRes.error() << "\n";
return 1;
}
params.voxelSize = loadRes->computeBoundingBox().diagonal() * 1e-2f;
params.minWeight = 1.0f;
if ( !fusionRes.has_value() )
{
std::cerr << fusionRes.error() << "\n";
return 1;
}
if ( !saveRes.has_value() )
{
std::cerr << saveRes.error() << "\n";
return 1;
}
return 0;
}
MRMESH_API Expected< PointCloud > fromAnySupportedFormat(const std::filesystem::path &file, const PointsLoadSettings &settings={})
MRMESH_API float findAvgPointsRadius(const PointCloud &pointCloud, int avgPoints, int samples=1024)
MRVOXELS_API Expected< Mesh > pointsToMeshFusion(const PointCloud &cloud, const PointsToMeshParameters ¶ms)