MeshLib C++ Docs
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{
12
13
15{
17 float distance = 0;
22 float minNormalDot = 0;
27 const VertNormals * pNormals = nullptr;
29 ProgressCallback progress;
30};
31
35[[nodiscard]] MRMESH_API std::optional<VertBitSet> pointUniformSampling( const PointCloud& pointCloud, const UniformSamplingSettings & settings );
36
37
41[[nodiscard]] MRMESH_API std::optional<PointCloud> makeUniformSampledCloud( const PointCloud& pointCloud, const UniformSamplingSettings & settings );
42
43}
float distance
minimal distance between samples
Definition MRUniformSampling.h:17
const VertNormals * pNormals
if not nullptr then these normals will be used during sampling instead of normals in the cloud itself
Definition MRUniformSampling.h:27
float minNormalDot
Definition MRUniformSampling.h:22
ProgressCallback progress
to report progress and cancel processing
Definition MRUniformSampling.h:29
bool lexicographicalOrder
Definition MRUniformSampling.h:25
MRMESH_API std::optional< VertBitSet > pointUniformSampling(const PointCloud &pointCloud, const UniformSamplingSettings &settings)
MRMESH_API std::optional< PointCloud > makeUniformSampledCloud(const PointCloud &pointCloud, const UniformSamplingSettings &settings)
only for bindings generation
Definition MRCameraOrientationPlugin.h:8
Definition MRPointCloud.h:17
Definition MRUniformSampling.h:15