MeshLib Documentation
Loading...
Searching...
No Matches
MRUniformSampling.h
Go to the documentation of this file.
1#pragma once
2
3#include "MRMeshFwd.h"
4#include "MRVector3.h"
6#include <optional>
7
8namespace MR
9{
10
12{
14 float distance = 0;
19 float minNormalDot = 0;
24 const VertNormals * pNormals = nullptr;
27};
28
32[[nodiscard]] MRMESH_API std::optional<VertBitSet> pointUniformSampling( const PointCloud& pointCloud, const UniformSamplingSettings & settings );
33
34
38[[nodiscard]] MRMESH_API std::optional<PointCloud> makeUniformSampledCloud( const PointCloud& pointCloud, const UniformSamplingSettings & settings );
39
40} //namespace MR
#define MRMESH_API
Definition MRMesh/MRMeshFwd.h:46
std::function< bool(float)> ProgressCallback
Definition MRMesh/MRMeshFwd.h:576
MRMESH_API std::optional< VertBitSet > pointUniformSampling(const PointCloud &pointCloud, const UniformSamplingSettings &settings)
MRMESH_API std::optional< PointCloud > makeUniformSampledCloud(const PointCloud &pointCloud, const UniformSamplingSettings &settings)
Definition MRCameraOrientationPlugin.h:8
Definition MRMesh/MRPointCloud.h:16
Definition MRUniformSampling.h:12
float distance
minimal distance between samples
Definition MRUniformSampling.h:14
const VertNormals * pNormals
if not nullptr then these normals will be used during sampling instead of normals in the cloud itself
Definition MRUniformSampling.h:24
float minNormalDot
Definition MRUniformSampling.h:19
ProgressCallback progress
to report progress and cancel processing
Definition MRUniformSampling.h:26
bool lexicographicalOrder
Definition MRUniformSampling.h:22