#include <MRMeshOrPoints.h>
Classes | |
| struct | ProjectionResult |
Public Types | |
| using | LimitedProjectorFunc = std::function<bool( const Vector3f& p, ProjectionResult& res )> |
Public Member Functions | |
| MeshOrPoints (const MeshPart &mp) | |
| MeshOrPoints (const PointCloudPart &pcp) | |
| MeshOrPoints (const Mesh &mesh) | |
| these constructors are redundant for C++, but important for python bindings | |
| MeshOrPoints (const PointCloud &pc) | |
| const MeshPart * | asMeshPart () const |
| if this object holds a mesh part then returns pointer on it, otherwise returns nullptr | |
| const PointCloudPart * | asPointCloudPart () const |
| if this object holds a point cloud part then returns pointer on it, otherwise returns nullptr | |
| MRMESH_API Box3f | getObjBoundingBox () const |
| MRMESH_API void | cacheAABBTree () const |
| if AABBTree is already built does nothing otherwise builds and caches it | |
| MRMESH_API Box3f | computeBoundingBox (const AffineXf3f *toWorld=nullptr) const |
| MRMESH_API void | accumulate (PointAccumulator &accum, const AffineXf3f *xf=nullptr) const |
| Adds in existing PointAccumulator the elements of the contained object. | |
| MRMESH_API std::optional< VertBitSet > | pointsGridSampling (float voxelSize, size_t maxVoxels=500000, const ProgressCallback &cb={}) const |
| MRMESH_API const VertCoords & | points () const |
| gives access to points-vector (which can include invalid points as well) | |
| MRMESH_API const VertBitSet & | validPoints () const |
| gives access to bit set of valid points | |
| MRMESH_API std::function< Vector3f(VertId)> | normals () const |
| returns normals generating function: VertId->normal (or empty for point cloud without normals) | |
| MRMESH_API std::function< float(VertId)> | weights () const |
| MRMESH_API std::function< ProjectionResult(const Vector3f &)> | projector () const |
| returns a function that finds projection (closest) points on this: Vector3f->ProjectionResult | |
| MRMESH_API LimitedProjectorFunc | limitedProjector () const |
This class can hold either mesh part or point cloud. It is used for generic algorithms operating with either of them