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
8#ifdef __cplusplus
9extern "C" {
10#endif
11
12typedef struct MR_AllLocalTriangulations MR_AllLocalTriangulations; // Defined in `#include <MRCMesh/MRLocalTriangulations.h>`.
13typedef struct MR_Buffer_MR_VertId MR_Buffer_MR_VertId; // Defined in `#include <MRCMesh/MRBuffer.h>`.
14typedef struct MR_PointCloud MR_PointCloud; // Defined in `#include <MRCMesh/MRPointCloud.h>`.
15typedef struct MR_VertCoords MR_VertCoords; // Defined in `#include <MRCMesh/MRVector.h>`.
16typedef struct MR_std_function_bool_from_float MR_std_function_bool_from_float; // Defined in `#include <MRCMisc/std_function_bool_from_float.h>`.
17typedef struct MR_std_optional_MR_VertCoords MR_std_optional_MR_VertCoords; // Defined in `#include <MRCMisc/std_optional_MR_VertCoords.h>`.
18
19
31
44
57
66MRC_API bool MR_orientNormals_4_float(const MR_PointCloud *pointCloud, MR_VertCoords *normals, float radius, const MR_std_function_bool_from_float *progress);
67
81
91MRC_API bool MR_orientNormals_5(const MR_PointCloud *pointCloud, MR_VertCoords *normals, const MR_Buffer_MR_VertId *closeVerts, int numNei, const MR_std_function_bool_from_float *progress);
92
102
113
116//[[deprecated( "use makeOrientedNormals(...) instead" )]]
121MRC_API MR_VertCoords *MR_makeNormals(const MR_PointCloud *pointCloud, const int *avgNeighborhoodSize);
122
123#ifdef __cplusplus
124} // extern "C"
125#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:21
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:83
struct MR_PointCloud MR_PointCloud
Definition MRCtm.h:14
MR_OrientNormals
the method how to choose between two opposite normal orientations
Definition MREnums.h:40
struct MR_AllLocalTriangulations MR_AllLocalTriangulations
Definition MRLocalTriangulations.h:52
struct MR_std_optional_MR_VertCoords MR_std_optional_MR_VertCoords
Definition MROffsetVerts.h:16
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 MR_std_optional_MR_VertCoords * MR_makeUnorientedNormals_5(const MR_PointCloud *pointCloud, const MR_Buffer_MR_VertId *closeVerts, int 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 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 MR_VertCoords * MR_makeNormals(const MR_PointCloud *pointCloud, const int *avgNeighborhoodSize)
Makes consistent normals for valid points of given point cloud.
MRC_API bool MR_orientNormals_5(const MR_PointCloud *pointCloud, MR_VertCoords *normals, const MR_Buffer_MR_VertId *closeVerts, int 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_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_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