MeshLib Documentation
Loading...
Searching...
No Matches
MRPointCloud.h File Reference
#include "MRAffineXf.h"
#include "MRBox.h"
#include "MRMeshFwd.h"
#include "MRId.h"

Go to the source code of this file.

Functions

MR_EXTERN_C_BEGIN MRMESHC_API MRPointCloudmrPointCloudNew (void)
 creates a new PointCloud object
 
MRMESHC_API MRPointCloudmrPointCloudFromPoints (const MRVector3f *points, size_t pointsNum)
 creates a new point cloud from existing points
 
MRMESHC_API const MRVector3fmrPointCloudPoints (const MRPointCloud *pc)
 coordinates of points
 
MRMESHC_API MRVector3fmrPointCloudPointsRef (MRPointCloud *pc)
 
MRMESHC_API size_t mrPointCloudPointsNum (const MRPointCloud *pc)
 
MRMESHC_API const MRVector3fmrPointCloudNormals (const MRPointCloud *pc)
 unit normal directions of points (can be empty if no normals are known)
 
MRMESHC_API size_t mrPointCloudNormalsNum (const MRPointCloud *pc)
 
MRMESHC_API const MRVertBitSetmrPointCloudValidPoints (const MRPointCloud *pc)
 only points and normals corresponding to set bits here are valid
 
MRMESHC_API MRBox3f mrPointCloudComputeBoundingBox (const MRPointCloud *pc, const MRAffineXf3f *toWorld)
 
MRMESHC_API MRVertId mrPointCloudAddPoint (MRPointCloud *pc, const MRVector3f *point_)
 appends a point and returns its VertId
 
MRMESHC_API MRVertId mrPointCloudAddPointWithNormal (MRPointCloud *pc, const MRVector3f *point_, const MRVector3f *normal_)
 
MRMESHC_API void mrPointCloudFree (MRPointCloud *pc)
 deallocates a PointCloud object
 

Function Documentation

◆ mrPointCloudAddPoint()

MRMESHC_API MRVertId mrPointCloudAddPoint ( MRPointCloud * pc,
const MRVector3f * point_ )

appends a point and returns its VertId

◆ mrPointCloudAddPointWithNormal()

MRMESHC_API MRVertId mrPointCloudAddPointWithNormal ( MRPointCloud * pc,
const MRVector3f * point_,
const MRVector3f * normal_ )

◆ mrPointCloudComputeBoundingBox()

MRMESHC_API MRBox3f mrPointCloudComputeBoundingBox ( const MRPointCloud * pc,
const MRAffineXf3f * toWorld )

passes through all valid points and finds the minimal bounding box containing all of them; if toWorld transformation is given then returns minimal bounding box in world space

◆ mrPointCloudFree()

MRMESHC_API void mrPointCloudFree ( MRPointCloud * pc)

deallocates a PointCloud object

◆ mrPointCloudFromPoints()

MRMESHC_API MRPointCloud * mrPointCloudFromPoints ( const MRVector3f * points,
size_t pointsNum )

creates a new point cloud from existing points

◆ mrPointCloudNew()

MR_EXTERN_C_BEGIN MRMESHC_API MRPointCloud * mrPointCloudNew ( void )

creates a new PointCloud object

◆ mrPointCloudNormals()

MRMESHC_API const MRVector3f * mrPointCloudNormals ( const MRPointCloud * pc)

unit normal directions of points (can be empty if no normals are known)

◆ mrPointCloudNormalsNum()

MRMESHC_API size_t mrPointCloudNormalsNum ( const MRPointCloud * pc)

◆ mrPointCloudPoints()

MRMESHC_API const MRVector3f * mrPointCloudPoints ( const MRPointCloud * pc)

coordinates of points

◆ mrPointCloudPointsNum()

MRMESHC_API size_t mrPointCloudPointsNum ( const MRPointCloud * pc)

◆ mrPointCloudPointsRef()

MRMESHC_API MRVector3f * mrPointCloudPointsRef ( MRPointCloud * pc)

◆ mrPointCloudValidPoints()

MRMESHC_API const MRVertBitSet * mrPointCloudValidPoints ( const MRPointCloud * pc)

only points and normals corresponding to set bits here are valid