MeshLib
 
Loading...
Searching...
No Matches
MRMeshC/MRPointCloud.h
Go to the documentation of this file.
1#pragma once
2
3#include "MRAffineXf.h"
4#include "MRBox.h"
5#include "MRMeshFwd.h"
6#include "MRId.h"
7
9
12
14MRMESHC_API MRPointCloud* mrPointCloudFromPoints( const MRVector3f* points, size_t pointsNum );
15
18
20
22
25
27
30
34
37
40
#define MR_EXTERN_C_BEGIN
Definition MRMeshC/MRMeshFwd.h:26
struct MRPointCloud MRPointCloud
Definition MRMeshC/MRMeshFwd.h:49
MRBitSet MRVertBitSet
Definition MRMeshC/MRMeshFwd.h:37
#define MR_EXTERN_C_END
Definition MRMeshC/MRMeshFwd.h:27
#define MRMESHC_API
Definition MRMeshC/MRMeshFwd.h:19
MRMESHC_API size_t mrPointCloudNormalsNum(const MRPointCloud *pc)
MRMESHC_API const MRVertBitSet * mrPointCloudValidPoints(const MRPointCloud *pc)
only points and normals corresponding to set bits here are valid
MRMESHC_API size_t mrPointCloudPointsNum(const MRPointCloud *pc)
MR_EXTERN_C_BEGIN MRMESHC_API MRPointCloud * mrPointCloudNew(void)
creates a new PointCloud object
MRMESHC_API MRPointCloud * mrPointCloudFromPoints(const MRVector3f *points, size_t pointsNum)
creates a new point cloud from existing points
MRMESHC_API MRBox3f mrPointCloudComputeBoundingBox(const MRPointCloud *pc, const MRAffineXf3f *toWorld)
MRMESHC_API void mrPointCloudFree(MRPointCloud *pc)
deallocates a PointCloud object
MRMESHC_API const MRVector3f * mrPointCloudPoints(const MRPointCloud *pc)
coordinates of points
MRMESHC_API MRVector3f * mrPointCloudPointsRef(MRPointCloud *pc)
MRMESHC_API MRVertId mrPointCloudAddPoint(MRPointCloud *pc, const MRVector3f *point_)
appends a point and returns its VertId
MRMESHC_API const MRVector3f * mrPointCloudNormals(const MRPointCloud *pc)
unit normal directions of points (can be empty if no normals are known)
affine transformation: y = A*x + b, where A in VxV, and b in V
Definition MRMeshC/MRAffineXf.h:10
Definition MRMeshC/MRBox.h:9
three-dimensional vector
Definition MRMeshC/MRVector3.h:9
vertex index
Definition MRMeshC/MRId.h:12