MeshLib C++ Docs
Loading...
Searching...
No Matches
MRGridSampling.h
Go to the documentation of this file.
1#pragma once
2
3#include "MRMeshFwd.h"
5#include "MRId.h"
6#include "MRPointCloudPart.h"
7#include "MRVector.h"
8#include <optional>
9
10namespace MR
11{
12
17MRMESH_API std::optional<VertBitSet> verticesGridSampling( const MeshPart& mp, float voxelSize, const ProgressCallback & cb = {} );
18
23MRMESH_API std::optional<VertBitSet> pointGridSampling( const PointCloudPart& pcp, float voxelSize, const ProgressCallback & cb = {} );
24
25
28{
30 const VertCoords* points{ nullptr };
32 const VertBitSet* validPoints{ nullptr };
34 const AffineXf3f* xf{ nullptr };
36 ObjId fakeObjId{};
37};
38
40{
41 ObjId objId;
42 VertId vId;
43
44 friend bool operator==( const ObjVertId&, const ObjVertId& ) = default;
45};
46
47using MultiObjsSamples = std::vector<ObjVertId>;
48
53MRMESH_API std::optional<MultiObjsSamples> multiModelGridSampling( const Vector<ModelPointsData, ObjId>& models, float voxelSize, const ProgressCallback& cb = {} );
54
55} //namespace MR
#define MRMESH_API
Definition MRMeshFwd.h:80
std::vector<T>-like container that requires specific indexing type,
Definition MRVector.h:19
std::function< bool(float)> ProgressCallback
Definition MRMeshFwd.h:742
Definition MRCameraOrientationPlugin.h:8
MRMESH_API std::optional< VertBitSet > verticesGridSampling(const MeshPart &mp, float voxelSize, const ProgressCallback &cb={})
MRMESH_API std::optional< VertBitSet > pointGridSampling(const PointCloudPart &pcp, float voxelSize, const ProgressCallback &cb={})
MRMESH_API std::optional< MultiObjsSamples > multiModelGridSampling(const Vector< ModelPointsData, ObjId > &models, float voxelSize, const ProgressCallback &cb={})
std::vector< ObjVertId > MultiObjsSamples
Definition MRGridSampling.h:47
structure to contain pointers to model data
Definition MRGridSampling.h:28
const VertBitSet * validPoints
bitset of valid points
Definition MRGridSampling.h:32
const VertCoords * points
all points of model
Definition MRGridSampling.h:30
const AffineXf3f * xf
model world xf
Definition MRGridSampling.h:34
ObjId fakeObjId
if present this value will override ObjId in result ObjVertId
Definition MRGridSampling.h:36
Definition MRGridSampling.h:40
ObjId objId
Definition MRGridSampling.h:41
VertId vId
Definition MRGridSampling.h:42
friend bool operator==(const ObjVertId &, const ObjVertId &)=default
represents full point cloud (if region is nullptr) or some portion of point cloud (if region pointer ...
Definition MRPointCloudPart.h:10