MeshLib C Docs
Loading...
Searching...
No Matches
MRPointCloudMakeNormals.h
Go to the documentation of this file.
1#pragma once
2
3#include <MRCMesh/MREnums.h>
4#include <MRCMisc/exports.h>
5
6#include <stdbool.h>
7#include <stdint.h>
8
9#ifdef __cplusplus
10extern "C" {
11#endif
12
13typedef struct MR_AllLocalTriangulations MR_AllLocalTriangulations; // Defined in `#include <MRCMesh/MRLocalTriangulations.h>`.
14typedef struct MR_Buffer_MR_VertId MR_Buffer_MR_VertId; // Defined in `#include <MRCMesh/MRBuffer.h>`.
15typedef struct MR_PointCloud MR_PointCloud; // Defined in `#include <MRCMesh/MRPointCloud.h>`.
16typedef struct MR_VertCoords MR_VertCoords; // Defined in `#include <MRCMesh/MRVector.h>`.
17typedef struct MR_std_function_bool_from_float MR_std_function_bool_from_float; // Defined in `#include <MRCMisc/std_function_bool_from_float.h>`.
18typedef struct MR_std_optional_MR_VertCoords MR_std_optional_MR_VertCoords; // Defined in `#include <MRCMisc/std_optional_MR_VertCoords.h>`.
19
20
32
45
58
67MRC_API bool MR_orientNormals_4_float(const MR_PointCloud *pointCloud, MR_VertCoords *normals, float radius, const MR_std_function_bool_from_float *progress);
68
82
92MRC_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);
93
103
114
117//[[deprecated( "use makeOrientedNormals(...) instead" )]]
122MRC_API MR_VertCoords *MR_makeNormals(const MR_PointCloud *pointCloud, const int32_t *avgNeighborhoodSize);
123
124#ifdef __cplusplus
125} // extern "C"
126#endif
struct MR_std_function_bool_from_float MR_std_function_bool_from_float
Definition MR3mf.h:10
struct MR_VertCoords MR_VertCoords
Definition MRAABBTreePoints.h:22
struct MR_Buffer_MR_VertId MR_Buffer_MR_VertId
std::vector<V>-like container that is 1) resized without initialization of its elements,...
Definition MRBuffer.h:73
struct MR_PointCloud MR_PointCloud
Definition MRCtm.h:15
int32_t MR_OrientNormals
the method how to choose between two opposite normal orientations
Definition MREnums.h:42
struct MR_AllLocalTriangulations MR_AllLocalTriangulations
Definition MRLocalTriangulations.h:53
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 ...
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 b...
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 ...
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;.
struct MR_std_optional_MR_VertCoords MR_std_optional_MR_VertCoords
Definition MRPointCloudMakeNormals.h:18
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 co...
MRC_API MR_VertCoords * MR_makeNormals(const MR_PointCloud *pointCloud, const int32_t *avgNeighborhoodSize)
Makes consistent normals for valid points of given point cloud.
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 co...
#define MRC_API
Definition exports.h:11