MeshLib C++ Docs
Loading...
Searching...
No Matches
MRMesh/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
16MRMESH_API std::optional<VertBitSet> verticesGridSampling( const MeshPart& mp, float voxelSize, const ProgressCallback & cb = {} );
17
21MRMESH_API std::optional<VertBitSet> pointGridSampling( const PointCloudPart& pcp, float voxelSize, const ProgressCallback & cb = {} );
22
23
26{
28 const VertCoords* points{ nullptr };
30 const VertBitSet* validPoints{ nullptr };
32 const AffineXf3f* xf{ nullptr };
34 ObjId fakeObjId{};
35};
36
38{
39 ObjId objId;
40 VertId vId;
41
42 friend bool operator==( const ObjVertId&, const ObjVertId& ) = default;
43};
44
45using MultiObjsSamples = std::vector<ObjVertId>;
46
50MRMESH_API std::optional<MultiObjsSamples> multiModelGridSampling( const Vector<ModelPointsData, ObjId>& models, float voxelSize, const ProgressCallback& cb = {} );
51
52} //namespace MR
#define MRMESH_API
Definition MRMesh/MRMeshFwd.h:80
std::vector<T>-like container that requires specific indexing type,
Definition MRMesh/MRVector.h:19
std::function< bool(float)> ProgressCallback
Definition MRMesh/MRMeshFwd.h:728
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 MRMesh/MRGridSampling.h:45
structure to contain pointers to model data
Definition MRMesh/MRGridSampling.h:26
const VertBitSet * validPoints
bitset of valid points
Definition MRMesh/MRGridSampling.h:30
const VertCoords * points
all points of model
Definition MRMesh/MRGridSampling.h:28
const AffineXf3f * xf
model world xf
Definition MRMesh/MRGridSampling.h:32
ObjId fakeObjId
if present this value will override ObjId in result ObjVertId
Definition MRMesh/MRGridSampling.h:34
Definition MRMesh/MRGridSampling.h:38
ObjId objId
Definition MRMesh/MRGridSampling.h:39
VertId vId
Definition MRMesh/MRGridSampling.h:40
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