Go to the source code of this file.
Typedefs | |
typedef struct MR_AllLocalTriangulations | MR_AllLocalTriangulations |
typedef struct MR_Buffer_MR_VertId | MR_Buffer_MR_VertId |
typedef struct MR_PointCloud | MR_PointCloud |
typedef struct MR_VertCoords | MR_VertCoords |
typedef struct MR_std_function_bool_from_float | MR_std_function_bool_from_float |
typedef struct MR_std_optional_MR_VertCoords | MR_std_optional_MR_VertCoords |
Functions | |
MRC_API MR_std_optional_MR_VertCoords * | MR_makeUnorientedNormals_4_float (const MR_PointCloud *pointCloud, float radius, const MR_std_function_bool_from_float *progress, const MR_OrientNormals *orient) |
Makes normals for valid points of given point cloud by directing them along the normal of best plane through the neighbours. | |
MRC_API MR_std_optional_MR_VertCoords * | MR_makeUnorientedNormals_4_MR_AllLocalTriangulations (const MR_PointCloud *pointCloud, const MR_AllLocalTriangulations *triangs, const MR_std_function_bool_from_float *progress, const MR_OrientNormals *orient) |
Makes normals for valid points of given point cloud by averaging neighbor triangle normals weighted by triangle's angle \triangs triangulation neighbours of each point. | |
MRC_API MR_std_optional_MR_VertCoords * | MR_makeUnorientedNormals_5 (const MR_PointCloud *pointCloud, const MR_Buffer_MR_VertId *closeVerts, int32_t numNei, const MR_std_function_bool_from_float *progress, const MR_OrientNormals *orient) |
Makes normals for valid points of given point cloud by directing them along the normal of best plane through the neighbours. | |
MRC_API bool | MR_orientNormals_4_float (const MR_PointCloud *pointCloud, MR_VertCoords *normals, float radius, const MR_std_function_bool_from_float *progress) |
Select orientation of given normals to make directions of close points consistent;. | |
MRC_API bool | MR_orientNormals_4_MR_AllLocalTriangulations (const MR_PointCloud *pointCloud, MR_VertCoords *normals, const MR_AllLocalTriangulations *triangs, const MR_std_function_bool_from_float *progress) |
Select orientation of given normals to make directions of close points consistent;. | |
MRC_API bool | MR_orientNormals_5 (const MR_PointCloud *pointCloud, MR_VertCoords *normals, const MR_Buffer_MR_VertId *closeVerts, int32_t numNei, const MR_std_function_bool_from_float *progress) |
Select orientation of given normals to make directions of close points consistent;. | |
MRC_API MR_std_optional_MR_VertCoords * | MR_makeOrientedNormals_float (const MR_PointCloud *pointCloud, float radius, const MR_std_function_bool_from_float *progress) |
Makes normals for valid points of given point cloud; directions of close points are selected to be consistent;. | |
MRC_API MR_std_optional_MR_VertCoords * | MR_makeOrientedNormals_MR_AllLocalTriangulations (const MR_PointCloud *pointCloud, MR_AllLocalTriangulations *triangs, const MR_std_function_bool_from_float *progress) |
Makes normals for valid points of given point cloud; directions of close points are selected to be consistent; \triangs triangulation neighbours of each point, which are oriented during the call as well. | |
MRC_API MR_VertCoords * | MR_makeNormals (const MR_PointCloud *pointCloud, const int32_t *avgNeighborhoodSize) |
Makes consistent normals for valid points of given point cloud. | |
typedef struct MR_AllLocalTriangulations MR_AllLocalTriangulations |
typedef struct MR_Buffer_MR_VertId MR_Buffer_MR_VertId |
typedef struct MR_PointCloud MR_PointCloud |
typedef struct MR_std_function_bool_from_float MR_std_function_bool_from_float |
typedef struct MR_std_optional_MR_VertCoords MR_std_optional_MR_VertCoords |
typedef struct MR_VertCoords MR_VertCoords |
MRC_API MR_VertCoords * MR_makeNormals | ( | const MR_PointCloud * | pointCloud, |
const int32_t * | avgNeighborhoodSize ) |
Makes consistent normals for valid points of given point cloud.
avgNeighborhoodSize | avg num of neighbors of each individual point Generated from function MR::makeNormals . Parameter pointCloud can not be null. It is a single object. Parameter avgNeighborhoodSize has a default argument: 48 , pass a null pointer to use it. Never returns null. Returns an instance allocated on the heap! Must call MR_VertCoords_Destroy() to free it when you're done using it. |
MRC_API MR_std_optional_MR_VertCoords * MR_makeOrientedNormals_float | ( | const MR_PointCloud * | pointCloud, |
float | radius, | ||
const MR_std_function_bool_from_float * | progress ) |
Makes normals for valid points of given point cloud; directions of close points are selected to be consistent;.
radius | of neighborhood to consider |
MR::makeOrientedNormals
. Parameter pointCloud
can not be null. It is a single object. Parameter progress
is a single object. Parameter progress
has a default argument: {}
, pass a null pointer to use it. Never returns null. Returns an instance allocated on the heap! Must call MR_std_optional_MR_VertCoords_Destroy()
to free it when you're done using it. MRC_API MR_std_optional_MR_VertCoords * MR_makeOrientedNormals_MR_AllLocalTriangulations | ( | const MR_PointCloud * | pointCloud, |
MR_AllLocalTriangulations * | triangs, | ||
const MR_std_function_bool_from_float * | progress ) |
Makes normals for valid points of given point cloud; directions of close points are selected to be consistent; \triangs triangulation neighbours of each point, which are oriented during the call as well.
MR::makeOrientedNormals
. Parameter pointCloud
can not be null. It is a single object. Parameter triangs
can not be null. It is a single object. Parameter progress
is a single object. Parameter progress
has a default argument: {}
, pass a null pointer to use it. Never returns null. Returns an instance allocated on the heap! Must call MR_std_optional_MR_VertCoords_Destroy()
to free it when you're done using it. MRC_API MR_std_optional_MR_VertCoords * MR_makeUnorientedNormals_4_float | ( | const MR_PointCloud * | pointCloud, |
float | radius, | ||
const MR_std_function_bool_from_float * | progress, | ||
const MR_OrientNormals * | orient ) |
Makes normals for valid points of given point cloud by directing them along the normal of best plane through the neighbours.
radius | of neighborhood to consider |
orient | OrientNormals::Smart here means orientation from best fit plane |
MR::makeUnorientedNormals
. Parameter pointCloud
can not be null. It is a single object. Parameter progress
is a single object. Parameter progress
has a default argument: {}
, pass a null pointer to use it. Parameter orient
has a default argument: OrientNormals::Smart
, pass a null pointer to use it. Never returns null. Returns an instance allocated on the heap! Must call MR_std_optional_MR_VertCoords_Destroy()
to free it when you're done using it. MRC_API MR_std_optional_MR_VertCoords * MR_makeUnorientedNormals_4_MR_AllLocalTriangulations | ( | const MR_PointCloud * | pointCloud, |
const MR_AllLocalTriangulations * | triangs, | ||
const MR_std_function_bool_from_float * | progress, | ||
const MR_OrientNormals * | orient ) |
Makes normals for valid points of given point cloud by averaging neighbor triangle normals weighted by triangle's angle \triangs triangulation neighbours of each point.
orient | OrientNormals::Smart here means orientation from normals of neigbour triangles |
MR::makeUnorientedNormals
. Parameter pointCloud
can not be null. It is a single object. Parameter triangs
can not be null. It is a single object. Parameter progress
is a single object. Parameter progress
has a default argument: {}
, pass a null pointer to use it. Parameter orient
has a default argument: OrientNormals::Smart
, pass a null pointer to use it. Never returns null. Returns an instance allocated on the heap! Must call MR_std_optional_MR_VertCoords_Destroy()
to free it when you're done using it. MRC_API MR_std_optional_MR_VertCoords * MR_makeUnorientedNormals_5 | ( | const MR_PointCloud * | pointCloud, |
const MR_Buffer_MR_VertId * | closeVerts, | ||
int32_t | numNei, | ||
const MR_std_function_bool_from_float * | progress, | ||
const MR_OrientNormals * | orient ) |
Makes normals for valid points of given point cloud by directing them along the normal of best plane through the neighbours.
closeVerts | a buffer where for every valid point #i its neighbours are stored at indices [i*numNei; (i+1)*numNei) |
orient | OrientNormals::Smart here means orientation from best fit plane |
MR::makeUnorientedNormals
. Parameter pointCloud
can not be null. It is a single object. Parameter closeVerts
can not be null. It is a single object. Parameter progress
is a single object. Parameter progress
has a default argument: {}
, pass a null pointer to use it. Parameter orient
has a default argument: OrientNormals::Smart
, pass a null pointer to use it. Never returns null. Returns an instance allocated on the heap! Must call MR_std_optional_MR_VertCoords_Destroy()
to free it when you're done using it. MRC_API bool MR_orientNormals_4_float | ( | const MR_PointCloud * | pointCloud, |
MR_VertCoords * | normals, | ||
float | radius, | ||
const MR_std_function_bool_from_float * | progress ) |
Select orientation of given normals to make directions of close points consistent;.
radius | of neighborhood to consider |
MR::orientNormals
. Parameter pointCloud
can not be null. It is a single object. Parameter normals
can not be null. It is a single object. Parameter progress
is a single object. Parameter progress
has a default argument: {}
, pass a null pointer to use it. MRC_API bool MR_orientNormals_4_MR_AllLocalTriangulations | ( | const MR_PointCloud * | pointCloud, |
MR_VertCoords * | normals, | ||
const MR_AllLocalTriangulations * | triangs, | ||
const MR_std_function_bool_from_float * | progress ) |
Select orientation of given normals to make directions of close points consistent;.
radius | of neighborhood to consider |
MR::orientNormals
. Parameter pointCloud
can not be null. It is a single object. Parameter normals
can not be null. It is a single object. Parameter triangs
can not be null. It is a single object. Parameter progress
is a single object. Parameter progress
has a default argument: {}
, pass a null pointer to use it. MRC_API bool MR_orientNormals_5 | ( | const MR_PointCloud * | pointCloud, |
MR_VertCoords * | normals, | ||
const MR_Buffer_MR_VertId * | closeVerts, | ||
int32_t | numNei, | ||
const MR_std_function_bool_from_float * | progress ) |
Select orientation of given normals to make directions of close points consistent;.
closeVerts | a buffer where for every valid point #i its neighbours are stored at indices [i*numNei; (i+1)*numNei) |
MR::orientNormals
. Parameter pointCloud
can not be null. It is a single object. Parameter normals
can not be null. It is a single object. Parameter closeVerts
can not be null. It is a single object. Parameter progress
is a single object. Parameter progress
has a default argument: {}
, pass a null pointer to use it.